Releases: agbcloud/agbcloud-sdk
Releases · agbcloud/agbcloud-sdk
v0.12.0
New Features
- WebSocket: New websocket client module (
ws) with integration tests; session-level websocket client initialization and cleanup with improved logging on deletion. - MCP Tools: Add support for MCP tools in session — tool list parsing,
callMcpToolrouting, session URL handling, and additional session fields. - Screenshot (Python):
beta_take_screenshotmethod in Screen module with fixed import order. - Screenshot (TypeScript): Sync
betaTakeScreenshotAPI with unit and integration tests. - Execution Context: New documentation for execution context module.
Enhancements
- MCP Routing: MCP tool invocation smart routing pushed down to
BaseService, aligning Python and TypeScript implementations. - TypeScript Exceptions: Refactor exception classes with factory functions to eliminate duplicate code.
- TypeScript: Remove
enableBrowserReplayfeature; add union types for tool list and improve imports handling. - FileSystem Monitoring: Enhance directory monitoring logic with ready event, baseline establishment flag, and execution error handling.
- WebSocket: Update ws exceptions with extra params; simplify ws client logic and error creation pattern.
- API Consistency: Rename
run_codeto_run_codeand update related methods and docs across modules; update method calls for consistency across Python and TypeScript. - MIME Handling: Improve MIME type handling and add default stream target.
- Data Retrieval: Improve data retrieval logic and add helper functions for type safety.
- Testing: Update session creation params and image ID for testing consistency across languages.
Bug Fixes
- Dependencies:
websocketsis now a required dependency (was missing from install_requires). - Screenshot: Fix
screen.beta_take_screenshotintegration test error; fix unit and integration test errors in code and screenshot modules. - TypeScript: Add
callMcpToolto mock sessions forSessionLikeinterface compliance; fix API doc generation error; add ws dependency and improve logging in TypeScript modules. - Tool List: Handle empty tool list and improve content check logic.
- Timeout: Add timeout parameters to future results in sync client; improve exception handling in TypeScript modules.
- FileSystem: Correct parameter name for stop event in directory monitoring example.
- Scripts: Remove wrong option in CI script.
Documentation, Testing & Chore
- Release Automation: Add release SOP, automation scripts, unified CI release pipeline, and GitHub Actions auto-release workflow.
- Docs: Add real-time streaming and websocket documentation; use "remote browser" wording and document stealth option in TypeScript API.
- Docs Fixes: Fix documentation issues found during review (dead links, formatting).
- Testing: Add websockets dependency for testing.
- API Docs: Auto-generated API reference documentation updated.
- CI/CD: Add pipeline for SDK sync to GitHub; unified release pipeline, changelog generation, version bump, and doc-check automation scripts.
release_v0.11.0
[0.11.0] - 2026-03-16
Breaking Changes
- listMcpTools (Python): Explicit
imageIdis now required (no silent default). Callers must passimageIdwhen listing MCP tools.
New Features
- TypeScript SDK: Full TypeScript SDK for AGB (client, Session, Config, API layer, Command, Code, FileSystem, Browser, Computer, Extension, Context, exceptions, logger). API models split into 51 separate files.
- getCdpLink: New API in Python and TypeScript; sessionId as query parameter. Browser
get_endpoint_urluses getCdpLink in Python. - BrowserAgent (TypeScript):
act,observe,extract,navigate; async variants with time-based timeout; BrowserFingerprintGenerator and FingerprintFormat. - Session lifecycle: Idle release timeout (configurable); refresh session idle time API (keep-alive). Docs for lifecycle, keep-alive, and resource_url validity (30 min).
- Python:
call_mcp_tooldelegated to BaseService to remove duplication; Session uses_base_service. - Module parity (TypeScript): FileSystem upload/download via pre-signed URLs,
transferPath,watchDir; Computer.Window fullscreen/focusMode; Computer.AppstopByCmd/getVisible; BrowsergetOption/isInitialized; SessiongetAgb(); new file-transfer module for OSS and context sync. - CI/CD: TypeScript official release pipeline and script; npm build/publish pipeline; internal tnpm test publish; publish npm test to tnpm when patch is merged.
- Documentation: Single root README (Python + TypeScript quick start, docs, development); website and Discord URLs; TypeScript code examples in VitePress code-group tabs; API reference merged into
docs/api-referencewith python/ and typescript/; Session docs split (lifecycle, info, labels, list, mcp-tools); Context expanded (concepts, best practices, FAQ); call-for-use and captcha docs.
Enhancements
- Filesystem (Python): FileInfo type; FileChangeEvent eventType/pathType; readFile with
{ format: "bytes" }; writeFilecreate_newmode; watchDirectory with AbortSignal; sync fallback (awaitSync); waitForTask usesres.items ?? res.contextStatusData; OSS cleanup after upload/download. Unit tests aligned to DEFAULT_CHUNK_SIZE 50KB. - Computer (Python/TS): MouseButton.DOUBLE_LEFT, drag(button); getPosition/getSize return CursorPosition/ScreenSize; get_installed_apps uses
ignore_system_app. Browser: BrowserProxy managed type (user_id, isp, country, province, city). - TypeScript: Response models gained requestId and field parsing; getters (getTotalCount, getExpireTime, etc.);
toJSON()on Session, AGB, BaseService, ContextService, ContextManager, Computer to avoid circular serialization; Browser screenshot Playwright-only (MCP screenshot removed); interface signatures aligned with Python (Keyboard press/release, App start/listInstalled, FileSystem progressCallback, Extension cleanup).AGB.get()returnssession: nullwhen session is deleted or missing (typed asSession | null). - Project structure: Python SDK moved under
python/(agb/, tests/, pyproject.toml, etc.); CI, scripts, root README updated.
Bug Fixes
- MCP screenshot: CallMcpToolResponse now extracts
type="image"content when no text (screenshot tool returns image). - Extension upload (TS): Use
fetchinstead of axios to fix 403 OSS upload. - getCdpLink: TypeScript sends empty JSON body and capitalized Authorization header; Python/TS tests fail explicitly instead of silent skip.
- Extension upload message (TS): Use
errorMessageinstead ofurlon failure. - tsup (TS): Externalize playwright to fix ESM/CJS build (optional runtime dependency).
- Docs: VitePress angle bracket escaping for TS generics; dead links fixed (tutorial depth, Related Resources, quickstart, browser links); tutorial link path generation for absolute-style paths; CI copy logic so api-reference/python/ does not get nested subdirs.
- Python: mypy fixes (GetCdpLinkResponse, Browser/FileSystem init, Optional dicts, FileError duplicate, logging params, browser agent extract return types).
- CI: Subshell
(cd python && ...)to prevent path duplication; job outputs for pass/fail; summary decoupled from test jobs; correct image ID and AGB_ENDPOINT for TS integration tests; continue-on-error to avoid fast-fail cascade; clone retries and git HTTP tuning for push-docs-to-github.
Documentation, Testing & Chore
- Docs: TypeScript API docs auto-generation in pipeline (TypeDoc); doc-metadata and computer overview generation (sub-modules before container, exclude_methods). Removed session best-practices.md, troubleshooting.md; keep-alive folded into lifecycle.
- Testing: TypeScript unit tests (session, base-service, logger, api-response, command, code, filesystem, computer, browser, extension, context, context-manager, api models, http-client, client, file-transfer, agb, BrowserAgent, fingerprint); integration tests (all modules, browser, computer, file transfer, watchDir, MCP, advanced suites). Python unit coverage to ~83% (logger, code, computer submodules, file_system, context_manager); getCdpLink integration tests. Pre env uses agb-code-space-2; CICD script names optimized.
- Chore: Removed unused session management methods and models; trimmed keep-alive use-case examples; docs/dev/ in .gitignore; code formatting (agb, browser). Pause and resume was added then removed in this cycle and is not part of the release.
release_v0.10.0
Changelog
[0.10.0] - 2026-02-09
This release focuses on API Naming Simplification Phase 2 in the Computer module, the new policy_id parameter for session creation, and OpenClaw examples for Slack, Discord, and Telegram.
Breaking Changes
- API Naming Simplification Phase 2 (Computer Module): Interfaces previously flat in
session.computerare now organized by sub-module (mouse,keyboard,screen,window,app). The legacy singlecomputer.pyhas been removed. API mapping:session.computer.click_mouse(x, y)→session.computer.mouse.click(x, y)session.computer.move_mouse(x, y)→session.computer.mouse.move(x, y)session.computer.drag_mouse(x1, y1, x2, y2)→session.computer.mouse.drag(x1, y1, x2, y2)session.computer.scroll(x, y, direction, amount)→session.computer.mouse.scroll(x, y, direction, amount)session.computer.get_cursor_position()→session.computer.mouse.get_position()session.computer.input_text(text)→session.computer.keyboard.type(text)session.computer.press_keys(keys)→session.computer.keyboard.press(keys)session.computer.release_keys(keys)→session.computer.keyboard.release(keys)session.computer.list_root_windows()→session.computer.window.list_root_windows()session.computer.get_active_window()→session.computer.window.get_active_window()session.computer.activate_window(window_id)→session.computer.window.activate(window_id)session.computer.close_window(window_id)→session.computer.window.close(window_id)session.computer.maximize_window(window_id)→session.computer.window.maximize(window_id)session.computer.minimize_window(window_id)→session.computer.window.minimize(window_id)session.computer.restore_window(window_id)→session.computer.window.restore(window_id)session.computer.resize_window(window_id, w, h)→session.computer.window.resize(window_id, w, h)session.computer.fullscreen_window(window_id)→session.computer.window.fullscreen(window_id)session.computer.focus_mode(on=True)→session.computer.window.focus_mode(on=True)session.computer.get_installed_apps()→session.computer.app.list_installed()session.computer.list_visible_apps()→session.computer.app.get_visible()session.computer.start_app(name)→session.computer.app.start(name)session.computer.stop_app_by_pname(pname)→session.computer.app.stop_by_pname(pname)session.computer.stop_app_by_pid(pid)→session.computer.app.stop_by_pid(pid)session.computer.stop_app_by_cmd(stop_cmd)→session.computer.app.stop_by_cmd(stop_cmd)session.computer.get_screen_size()→session.computer.screen.get_size()session.computer.screenshot()→session.computer.screen.capture()
- Implementation aligned with original behavior: unified log operation names, restored return types, and corrected mouse button validation and screen capture return types.
New Features
- policy_id:
CreateSessionParamsaddspolicy_id; the create-session request supportsmcpPolicyIdfor policy-scoped sessions. - OpenClaw examples: Three example configurations for IM integrations:
- Slack – configuration and usage with OpenClaw
- Discord – configuration and usage with OpenClaw
- Telegram – configuration and usage with OpenClaw (including README mention)
Other Enhancements
- API call log level changed from info to debug
- aiohttp uses certifi for SSL context (macOS/Windows)
- Screenshot examples add retry and better SSL error handling
- Screen module: improved
result.dataparsing for string and dict - App/window error handling improved;
get_active_windowraisesRuntimeErroron failure; window JSON errors return None
Bug Fixes
- Added missing
request_idonAppOperationResult/ApplicationManager - Fixed example indentation and return types (
app.start(),screen.capture()) - Keyboard
comboletter keys normalized to lowercase - Fixed pytest imports (pythonpath, project root,
functional_helpers) - Integration test fixes for
list_installed, cursor validation, scroll API, andwindow_operations.pyapp selection
Documentation, Testing & Chore
- Docs auto-generated and aligned with 26 API specification; example formatting and comments updated.
- Browser fingerprint and computer integration tests improved; timeout test for 1s minimum; added Playwright connect test.
- Website host changed to agb.cloud.
release_v0.9.0
Breaking Changes
- API Naming Simplification: Major API renaming for consistency and simplicity:
session.code.run_code()→session.code.run()session.command.execute_command()→session.command.execute()session.file_system→session.file(backward compatibility alias maintained)session.file.watch()→session.file.watch_dir()session.file.get_file_transfer_context_path()→session.file.transfer_path()- File system methods simplified:
read_file()→read(),write_file()→write(),delete_file()→remove(),list_directory()→list(),get_file_info()→info(),create_directory()→mkdir(),move_file()→move(),edit_file()→edit(),read_multiple_files()→read_batch(),search_files()→search()
New Features
- Session Metrics: Added session metrics tracking functionality to retrieve resource usage and performance metrics
- MCP Tool Calling: Added MCP (Model Context Protocol) tool calling methods to Session class for direct tool invocation
- Multiple Results Support: Enhanced code execution to support multiple result types with comprehensive documentation
Enhancements
- Error Handling: Improved error handling for file transfer operations:
- Specific handling for
httpx.ConnectError(network connection issues) - Specific handling for
httpx.TimeoutException(timeout issues) - Clearer error messages for network-related failures
- Specific handling for
- File Transfer: Improved error handling in
transfer_path()method with better context initialization checks - Documentation:
- Added comprehensive MCP tool calling documentation and examples
- Updated API documentation to reflect new simplified method names
- Added session metrics documentation and examples
- Fixed code execution result field usage in documentation
- Updated MCP guide URLs to v2
Refactoring
- Session Class: Removed unnecessary
BaseServiceinheritance from Session class - Test Infrastructure: Optimized session creation in integration tests
- Code Cleanup: Removed temporary API rename verification scripts
Testing & CI/CD
- Test Coverage: Reached 80% unit test coverage gate
- Integration Tests:
- Enhanced integration test infrastructure and reliability
- Added CI skip logic for integration tests
- Fixed false-pass tests and improved test stability
- Added integration test for session metrics retrieval
- Refactored filesystem integration tests
- Test Compatibility: Made version_utils tests Python 3.10-compatible
- CI Improvements: Improved CI skip logic for browser fingerprint tests
Bug Fixes
- Fixed output log source to match result object structure in main.py
- Fixed Java result output log variable reference errors
- Fixed JavaScript execution result output logic errors
- Fixed default
image_idvalue forlist_mcp_tools(now usesagb-code-space-1) - Fixed
conftest.pybeing run as a test file - Fixed write_file on deleted session test and integration test issues
- Optimized docstring and fixed default value of
list_mcp_tools
release_v0.7.1
Full Changelog: v0.7.0...v0.7.1
[0.7.1] - 2025-12-23
Enhancements
- Default Parameters: Adjusted default parameter values for improved usability and performance
- API Documentation: Updated API documentation to reflect current functionality
Refactoring
- Code Cleanup: Removed deprecated session management methods and simplified API surface
- Documentation Updates: Cleaned up documentation references to align with current API
Testing & CI/CD
- Test Adjustments: Updated test cases to match current API behavior and improve test reliability
release_v0.7.0
Full Changelog: v0.6.1...v0.7.0
New Features
- Browser Fingerprint Enhancement: Comprehensive browser fingerprint management with persistence, local sync, and advanced configuration options
- Computer Automation Module: Full desktop automation capabilities including:
- Screenshot capture support for AGB sessions
- Keyboard input functionality with comprehensive key support
- Mouse operations with button and scroll direction enums
- Window listing and management functionality
- Application operations support
- File Transfer Function: Complete file transfer functionality for moving files between local and remote environments
- Async Session Deletion: Migrated session deletion API from
release_mcp_sessiontodelete_session_asyncwith polling support - Browser Type Configuration: Support for browser type and command arguments settings for enhanced browser control
- MCP Access Documentation: Comprehensive guide for MCP (Model Context Protocol) access and configuration
Enhancements
- Context Manager: Improved error handling by returning error results instead of raising exceptions in context sync validation
- Browser Agent: Enhanced browser agent with improved integration tests and better error handling
- API Documentation: Added fingerprint module to API documentation generation
- Code Examples: Optimized and improved code examples throughout documentation
Documentation
- Added MCP access guide with comprehensive configuration instructions
- Added examples for application and window operations
- Updated text input examples in documentation
- Corrected documentation regarding command execution instructions
- Standardized guides structure to match template
- Removed example code from ContextManager docstring
- Added file transfer guide markdown
Refactoring
- Removed unused
http_portandtokenfields from session response models - Improved context sync validation to return error results instead of exceptions
- Cleaned up unrelated files and code
Testing & CI/CD
- Optimized CI/CD pipeline summary with switch state for better visibility
- Enhanced test coverage for computer module, file transfer, and browser fingerprint features
- Fixed context manager sync tests to match new validation logic
release_v0.5.0
This release includes the following changes:
New Features:
- Context Clear API: Added clear_async, get_clear_status, and synchronous clear
methods with configurable timeout and state tracking
- SDK Telemetry: Session creation now records SDK version and release status
- Context Sync Enhancements: Introduced UploadMode and lifecycle enums for
flexible synchronization policies
- Session Parameters: Made image_id optional in CreateSessionParams
- Browser Module: Added variables parameter to ActOptions for parameterized
automation instructions
- Browser Module: Added use_vision parameter to ObserveOptions and ExtractOptions
API Changes:
- Added ClearContextRequest and ClearContextResponse models
- Enhanced ContextService with clear operations
- Updated ContextSync with new upload modes and lifecycle policies
- Added version_utils and _release modules for SDK versioning
Documentation:
- Updated API reference documentation for all modules
- Enhanced context usage guide and sync policy documentation
- Updated examples and guides to reflect new features
- Fixed documentation formatting issues
Testing:
- Added unit tests for Code, Command, FileSystem, ContextManager modules
- Added integration tests for context clear operations
- Added tests for recycle policy and file archive mode
Files Changed:
- 48 files modified, 1216 insertions(+), 511 deletions(-)
- New files: clear_context_request.py, clear_context_response.py,
version_utils.py, _release.py, and multiple test files
release_v0.4.0
Full Changelog: v0.3.0...v0.4.0
release_v0.3.0
Full Changelog: v0.2.0...v0.3.0
release_v0.2.2
Release version 0.2.2