mirror of
https://github.com/OpenHands/OpenHands.git
synced 2026-09-28 05:54:50 +08:00
chore: consume SDK 1.49.6 and Automation 1.15.1 (#17702)
This commit is contained in:
@@ -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).
|
||||
|
||||
@@ -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", () => {
|
||||
|
||||
@@ -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"
|
||||
|
||||
Generated
+4
-4
@@ -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
@@ -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",
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user