chore: consume SDK 1.49.6 and Automation 1.15.1 (#17702)

This commit is contained in:
Hiep Le
2026-09-25 21:17:58 +07:00
committed by GitHub
parent 7fa364f4a6
commit b5bb4f21f2
7 changed files with 21 additions and 21 deletions
@@ -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).
+5 -5
View File
@@ -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", () => {
+2 -2
View File
@@ -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"
+4 -4
View File
@@ -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",
+1 -1
View File
@@ -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",
+6 -6
View File
@@ -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);
+1 -1
View File
@@ -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