From b5bb4f21f293c36b2be51a4a215401352808ad03 Mon Sep 17 00:00:00 2001 From: Hiep Le <69354317+hieptl@users.noreply.github.com> Date: Fri, 25 Sep 2026 21:17:58 +0700 Subject: [PATCH] chore: consume SDK 1.49.6 and Automation 1.15.1 (#17702) --- .../skills/local-stack-runtime/references/guide.md | 4 ++-- __tests__/scripts/dev-safe.test.ts | 10 +++++----- config/defaults.json | 4 ++-- package-lock.json | 8 ++++---- package.json | 2 +- scripts/check-sdk-version-sync.mjs | 12 ++++++------ scripts/dev-safe.mjs | 2 +- 7 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.agents/skills/local-stack-runtime/references/guide.md b/.agents/skills/local-stack-runtime/references/guide.md index 559743d6fc..d2be961d9b 100644 --- a/.agents/skills/local-stack-runtime/references/guide.md +++ b/.agents/skills/local-stack-runtime/references/guide.md @@ -92,10 +92,10 @@ you are running inside of — NOT the automation backend. - `scripts/dev-safe.mjs` uses `uvx` for temporary agent-server installation — no permanent `uv tool install` needed. Environment variables (highest precedence first): - `OH_AGENT_SERVER_LOCAL_PATH` — absolute path to a local `software-agent-sdk` checkout. Runs the local checkout via `uvx` with `--with-editable` for `openhands-sdk`/`openhands-tools`/`openhands-workspace` and `--reinstall` for `openhands-agent-server`, so SDK edits are picked up on restart. Highest precedence. - `OH_AGENT_SERVER_GIT_REF` — git commit SHA or branch name (takes precedence over version) - - `OH_AGENT_SERVER_VERSION` — specific PyPI version (e.g., "1.49.5") + - `OH_AGENT_SERVER_VERSION` — specific PyPI version (e.g., "1.49.6") - `OH_SECRET_KEY` — secret key for settings encryption; auto-generated and persisted to `~/.openhands/agent-canvas/secret-key.txt` on first run (same file Docker uses), ensuring dev mode and Docker share the same key when both mount the same `~/.openhands` directory. Override with the env var to pin a specific key. - `SESSION_API_KEY` / `OH_SESSION_API_KEYS_0` / `VITE_SESSION_API_KEY` — session API key for agent-server authentication; auto-generated using `crypto.randomBytes(32)` if not set, passed to both agent-server (`OH_SESSION_API_KEYS_0`) and frontend (`VITE_SESSION_API_KEY`) - - Default: released PyPI version `1.49.5` for agent-server SDK libraries + - Default: released PyPI version `1.49.6` for agent-server SDK libraries - Security: launchers generate and persist a 64-character session API key at `~/.openhands/agent-canvas/session-api-key.txt` unless overridden. The agent-server and automation backend share that session key. `OH_SECRET_KEY` protects settings encryption and is persisted separately at `~/.openhands/agent-canvas/secret-key.txt`. - `scripts/dev-safe.mjs` should fail fast if `uvx` cannot be spawned (for example missing PATH entries). diff --git a/__tests__/scripts/dev-safe.test.ts b/__tests__/scripts/dev-safe.test.ts index 8f3be0e825..b2ab67c0a2 100644 --- a/__tests__/scripts/dev-safe.test.ts +++ b/__tests__/scripts/dev-safe.test.ts @@ -492,20 +492,20 @@ describe("buildAgentServerCommand", () => { // Defaults to the released PyPI version with all SDK packages pinned to same version expect(cmd.args).toEqual([ "--from", - "openhands-agent-server==1.49.5", + "openhands-agent-server==1.49.6", "--with", - "openhands-sdk==1.49.5", + "openhands-sdk==1.49.6", "--with", - "openhands-tools==1.49.5", + "openhands-tools==1.49.6", "--with", - "openhands-workspace==1.49.5", + "openhands-workspace==1.49.6", "--with", "posthog>=6,<7", "agent-server", "--import-modules", "canvas_ui_tool", ]); - expect(cmd.source).toBe("PyPI (1.49.5, default)"); + expect(cmd.source).toBe("PyPI (1.49.6, default)"); }); it("uses specific PyPI version when OH_AGENT_SERVER_VERSION is set with all packages pinned", () => { diff --git a/config/defaults.json b/config/defaults.json index 2272f6ef3a..aa77a1cca5 100644 --- a/config/defaults.json +++ b/config/defaults.json @@ -1,9 +1,9 @@ { "_comment": "Single source of truth for version pins, ports, paths, and defaults shared across the npm and Docker install paths. Read by scripts/dev-safe.mjs, scripts/dev-with-automation.mjs, docker/entrypoint.sh (via generated defaults.env), and .github/workflows/docker.yml.", "versions": { - "agentServer": "1.49.5", + "agentServer": "1.49.6", "agentCanvas": "1.23.0", - "automation": "1.15.0" + "automation": "1.15.1" }, "compatibility": { "minimumAgentServer": "1.28.0" diff --git a/package-lock.json b/package-lock.json index c144f1cd95..e7478ef856 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@microlink/react-json-view": "1.31.25", "@monaco-editor/react": "4.7.0", "@openhands/extensions": "0.22.1", - "@openhands/typescript-client": "1.49.5", + "@openhands/typescript-client": "1.49.6", "@react-router/node": "7.18.2", "@react-router/serve": "7.18.2", "@tailwindcss/vite": "4.3.3", @@ -4179,9 +4179,9 @@ } }, "node_modules/@openhands/typescript-client": { - "version": "1.49.5", - "resolved": "https://registry.npmjs.org/@openhands/typescript-client/-/typescript-client-1.49.5.tgz", - "integrity": "sha512-lal78MHVTG/QRmbH7/L78HKBuQWiyz0rqsf27yW3zANwHZ2RgfwE7ZrPUd24qcRHZyWP+D4h/BYcneb6Wt0vKw==", + "version": "1.49.6", + "resolved": "https://registry.npmjs.org/@openhands/typescript-client/-/typescript-client-1.49.6.tgz", + "integrity": "sha512-sMWjOgZGHXA+Qpu5qKnH2JTdkoLLn1AzCKxOClUrqTfdCs7tjpCZJS0HjgCq6+CWHurlku0nYnMBPB6UQBwNqA==", "license": "MIT", "dependencies": { "@openrouter/sdk": "^1.2.11", diff --git a/package.json b/package.json index 0972079c9f..f64e591664 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@microlink/react-json-view": "1.31.25", "@monaco-editor/react": "4.7.0", "@openhands/extensions": "0.22.1", - "@openhands/typescript-client": "1.49.5", + "@openhands/typescript-client": "1.49.6", "@react-router/node": "7.18.2", "@react-router/serve": "7.18.2", "@tailwindcss/vite": "4.3.3", diff --git a/scripts/check-sdk-version-sync.mjs b/scripts/check-sdk-version-sync.mjs index bef3f0f6fe..12b2b1758d 100644 --- a/scripts/check-sdk-version-sync.mjs +++ b/scripts/check-sdk-version-sync.mjs @@ -26,7 +26,7 @@ * * Usage: * node scripts/check-sdk-version-sync.mjs - * EXPECTED_SDK_VERSION=1.49.5 node scripts/check-sdk-version-sync.mjs + * EXPECTED_SDK_VERSION=1.49.6 node scripts/check-sdk-version-sync.mjs * node scripts/check-sdk-version-sync.mjs --check-pypi * * Environment variables: @@ -85,7 +85,7 @@ Triggering from other repos: -H "Authorization: token \$GITHUB_TOKEN" \\ -H "Accept: application/vnd.github.v3+json" \\ https://api.github.com/repos/OpenHands/OpenHands/dispatches \\ - -d '{"event_type": "sdk-version-check", "client_payload": {"version": "1.49.5"}}' + -d '{"event_type": "sdk-version-check", "client_payload": {"version": "1.49.6"}}' `); process.exit(0); } @@ -300,9 +300,9 @@ async function fetchPyPIDependencies(packageName, version) { * Parse PyPI requires_dist array and extract SDK package versions * * PyPI returns dependencies in PEP 508 format like: - * "openhands-sdk>=1.49.5,<2.0.0" - * "openhands-tools==1.49.5" - * "openhands-workspace (>=1.49.5)" + * "openhands-sdk>=1.49.6,<2.0.0" + * "openhands-tools==1.49.6" + * "openhands-workspace (>=1.49.6)" */ function parseSdkVersionsFromRequiresDist(requiresDist) { const versions = {}; @@ -316,7 +316,7 @@ function parseSdkVersionsFromRequiresDist(requiresDist) { } // Extract the version number - look for patterns like: - // ">=1.49.5", "==1.49.5", "(>=1.49.5)", "~=1.49.5" + // ">=1.49.6", "==1.49.6", "(>=1.49.6)", "~=1.49.6" // After the package name and before any comma or closing paren const versionPattern = /[><=~!]+\s*([0-9]+(?:\.[0-9]+)*)/; const match = dep.match(versionPattern); diff --git a/scripts/dev-safe.mjs b/scripts/dev-safe.mjs index 7f2f7190aa..3de19bf361 100644 --- a/scripts/dev-safe.mjs +++ b/scripts/dev-safe.mjs @@ -416,7 +416,7 @@ export const AGENT_SERVER_IMPORT_MODULES = "canvas_ui_tool"; * edits are picked up without a manual reinstall. The agent-server itself * is rebuilt from local source on each invocation (--reinstall). * - OH_AGENT_SERVER_GIT_REF: Git commit SHA or branch name - * - OH_AGENT_SERVER_VERSION: Specific PyPI version (e.g., "1.49.5") + * - OH_AGENT_SERVER_VERSION: Specific PyPI version (e.g., "1.49.6") * * If none are set, defaults to the released version specified by * DEFAULT_AGENT_SERVER_VERSION. Set OH_AGENT_SERVER_GIT_REF to use a