From 1d9ee33aa1a419f62b95534f2271fba6f1174589 Mon Sep 17 00:00:00 2001 From: Ilyas Salikhov Date: Thu, 17 Sep 2026 00:19:13 +0300 Subject: [PATCH] fix(js): derive direct sandbox host from shared URL for v0.1.6 --- packages/cli/package.json | 2 +- packages/code-interpreter-js/package.json | 2 +- packages/code-interpreter-python/package.json | 2 +- .../code-interpreter-python/pyproject.toml | 2 +- packages/code-interpreter-python/uv.lock | 4 +-- packages/go-sdk/README.md | 4 +-- packages/go-sdk/version.go | 2 +- packages/js-sdk/package.json | 2 +- packages/js-sdk/src/connectionConfig.ts | 6 ++++- .../js-sdk/tests/connectionConfig.test.ts | 25 +++++++++++++++++++ packages/python-sdk/package.json | 2 +- packages/python-sdk/pyproject.toml | 2 +- packages/python-sdk/uv.lock | 2 +- reference/manifest.json | 14 +++++------ reference/sdk/go/core.md | 2 +- 15 files changed, 51 insertions(+), 22 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 790305e4..1614aac5 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@abox-dev/cli", - "version": "0.1.5", + "version": "0.1.6", "description": "CLI for AgentBox sandboxes and templates", "homepage": "https://docs.agentbox.ru/en/cli/", "license": "MIT", diff --git a/packages/code-interpreter-js/package.json b/packages/code-interpreter-js/package.json index ffa3f29b..93e72d64 100644 --- a/packages/code-interpreter-js/package.json +++ b/packages/code-interpreter-js/package.json @@ -1,6 +1,6 @@ { "name": "@abox-dev/code-interpreter", - "version": "0.1.5", + "version": "0.1.6", "packageManager": "pnpm@10.34.5", "description": "AgentBox Code Interpreter - Stateful code execution", "homepage": "https://docs.agentbox.ru/en/sdk/code-interpreter/", diff --git a/packages/code-interpreter-python/package.json b/packages/code-interpreter-python/package.json index a9f2b717..8b0bf526 100644 --- a/packages/code-interpreter-python/package.json +++ b/packages/code-interpreter-python/package.json @@ -1,7 +1,7 @@ { "name": "@abox-dev/code-interpreter-python", "private": true, - "version": "0.1.5", + "version": "0.1.6", "scripts": { "test": "uv run pytest -n 2 --verbose -x tests/test_sandbox_url.py", "test:integration": "uv run pytest -n 2 --verbose -x", diff --git a/packages/code-interpreter-python/pyproject.toml b/packages/code-interpreter-python/pyproject.toml index f27ca9f7..795faeb1 100644 --- a/packages/code-interpreter-python/pyproject.toml +++ b/packages/code-interpreter-python/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "abox-code-interpreter" -version = "0.1.5" +version = "0.1.6" description = "AgentBox Code Interpreter - Stateful code execution" authors = [{ name = "RetailDriver LLC" }] license = "MIT" diff --git a/packages/code-interpreter-python/uv.lock b/packages/code-interpreter-python/uv.lock index f3501d7c..79cc89ce 100644 --- a/packages/code-interpreter-python/uv.lock +++ b/packages/code-interpreter-python/uv.lock @@ -16,7 +16,7 @@ members = [ [[package]] name = "abox-code-interpreter" -version = "0.1.5" +version = "0.1.6" source = { editable = "." } dependencies = [ { name = "abox-sdk" }, @@ -58,7 +58,7 @@ dev = [ [[package]] name = "abox-sdk" -version = "0.1.5" +version = "0.1.6" source = { editable = "../python-sdk" } dependencies = [ { name = "attrs" }, diff --git a/packages/go-sdk/README.md b/packages/go-sdk/README.md index 2b9a648b..0658dd59 100644 --- a/packages/go-sdk/README.md +++ b/packages/go-sdk/README.md @@ -44,8 +44,8 @@ func main() { Code Interpreter is available from `github.com/abox-dev/sdk/packages/go-sdk/codeinterpreter`. -API reference for this release: [core SDK on pkg.go.dev](https://pkg.go.dev/github.com/abox-dev/sdk/packages/go-sdk@v0.1.5) and -[Code Interpreter on pkg.go.dev](https://pkg.go.dev/github.com/abox-dev/sdk/packages/go-sdk/codeinterpreter@v0.1.5). +API reference for this release: [core SDK on pkg.go.dev](https://pkg.go.dev/github.com/abox-dev/sdk/packages/go-sdk@v0.1.6) and +[Code Interpreter on pkg.go.dev](https://pkg.go.dev/github.com/abox-dev/sdk/packages/go-sdk/codeinterpreter@v0.1.6). Documentation: [core SDK](https://docs.agentbox.ru/en/sdk/), [sandboxes](https://docs.agentbox.ru/en/sdk/sandboxes/), diff --git a/packages/go-sdk/version.go b/packages/go-sdk/version.go index c5983de5..1213401f 100644 --- a/packages/go-sdk/version.go +++ b/packages/go-sdk/version.go @@ -1,4 +1,4 @@ package agentbox // Version is the AgentBox SDK release version. -const Version = "0.1.5" +const Version = "0.1.6" diff --git a/packages/js-sdk/package.json b/packages/js-sdk/package.json index b3f5fd45..fea96e22 100644 --- a/packages/js-sdk/package.json +++ b/packages/js-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@abox-dev/sdk", - "version": "0.1.5", + "version": "0.1.6", "description": "AgentBox SDK for secure cloud sandboxes", "homepage": "https://docs.agentbox.ru/en/sdk/", "license": "MIT", diff --git a/packages/js-sdk/src/connectionConfig.ts b/packages/js-sdk/src/connectionConfig.ts index 949ede01..7da55dc5 100644 --- a/packages/js-sdk/src/connectionConfig.ts +++ b/packages/js-sdk/src/connectionConfig.ts @@ -506,7 +506,11 @@ export class ConnectionConfig { if (this.sandboxUrl) { const proxyUrl = this.parseSandboxUrl() const proxyPort = proxyUrl.port ? `:${proxyUrl.port}` : '' - return `${port}-${sandboxId}.${proxyUrl.hostname}${proxyPort}` + const host = + proxyUrl.hostname === `sandbox.${sandboxDomain}` + ? sandboxDomain + : proxyUrl.hostname + return `${port}-${sandboxId}.${host}${proxyPort}` } if (this.debug) { diff --git a/packages/js-sdk/tests/connectionConfig.test.ts b/packages/js-sdk/tests/connectionConfig.test.ts index 9fbb8791..b0315082 100644 --- a/packages/js-sdk/tests/connectionConfig.test.ts +++ b/packages/js-sdk/tests/connectionConfig.test.ts @@ -191,6 +191,31 @@ test('sandbox URL routing preserves the configured protocol', () => { ) }) +test('shared sandbox URL derives direct hosts from the runtime domain', () => { + const config = new ConnectionConfig({ + sandboxUrl: 'https://sandbox.agentbox-runtime.ru', + }) + + assert.equal( + config.getSandboxUrl('sbx-test', { + sandboxDomain: 'agentbox-runtime.ru', + envdPort: 49983, + }), + 'https://sandbox.agentbox-runtime.ru' + ) + assert.equal( + config.getHost('sbx-test', 8080, 'agentbox-runtime.ru'), + '8080-sbx-test.agentbox-runtime.ru' + ) + assert.equal( + config.getSandboxDirectUrl('sbx-test', { + sandboxDomain: 'agentbox-runtime.ru', + envdPort: 49983, + }), + 'https://49983-sbx-test.agentbox-runtime.ru' + ) +}) + test('sandbox URL routing rejects an invalid URL', () => { const config = new ConnectionConfig({ debug: false, diff --git a/packages/python-sdk/package.json b/packages/python-sdk/package.json index 0ca08e10..e92c08ff 100644 --- a/packages/python-sdk/package.json +++ b/packages/python-sdk/package.json @@ -1,7 +1,7 @@ { "name": "@abox-dev/python-sdk", "private": true, - "version": "0.1.5", + "version": "0.1.6", "scripts": { "test": "uv run pytest -n 4 --verbose -x tests/test_*.py tests/shared", "test:integration": "uv run pytest -n 4 --verbose -x tests/sync tests/async", diff --git a/packages/python-sdk/pyproject.toml b/packages/python-sdk/pyproject.toml index 02ea6825..93c95931 100644 --- a/packages/python-sdk/pyproject.toml +++ b/packages/python-sdk/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "abox-sdk" -version = "0.1.5" +version = "0.1.6" description = "AgentBox SDK for secure cloud sandboxes" authors = [{ name = "RetailDriver LLC" }] license = "MIT" diff --git a/packages/python-sdk/uv.lock b/packages/python-sdk/uv.lock index 3d49ed27..4b0ce643 100644 --- a/packages/python-sdk/uv.lock +++ b/packages/python-sdk/uv.lock @@ -8,7 +8,7 @@ resolution-markers = [ [[package]] name = "abox-sdk" -version = "0.1.5" +version = "0.1.6" source = { editable = "." } dependencies = [ { name = "attrs" }, diff --git a/reference/manifest.json b/reference/manifest.json index f3672bda..b96b703e 100644 --- a/reference/manifest.json +++ b/reference/manifest.json @@ -45,7 +45,7 @@ "sdk/cli/sandbox.md": "16b64c5a4e932eca2452e400e0faf154eba1d3c7373513aa7cd9744e02908313", "sdk/cli/template.md": "f270b22b9ee10a9b954a14f24e04c5449b4d5823bb28002ffde3ed682594cfc5", "sdk/go/code-interpreter.md": "9c56333b8181878d656baa27a4b56b768a0cb01c9d764f7ac8d52d32d8faa70c", - "sdk/go/core.md": "bfef1b73c0df94691e918838117ef2892baed56ffb2d1f12171898133265f09a", + "sdk/go/core.md": "4753f87bfb08f0462964d72780feb338a147be5de5a0bd97a32121ac87916d2b", "sdk/javascript/code-interpreter/README.md": "a787206eb86f81fc306b373ce20bc6c91464b0ab3c3ec7650eccbb6be5f676c5", "sdk/javascript/code-interpreter/classes/Sandbox.md": "19d9f1f1e8847606a54d93c5a6e5d4c89f936a745866e8d6a2aa06758b605e60", "sdk/javascript/code-interpreter/enumerations/ChartType.md": "cf1ba00cd3258cc88814b7215e101b0d775ceb15dd833636d58ae538d8107ec1", @@ -184,12 +184,12 @@ }, "monoRevision": "a7d59d50e3dd84faee59aca08df1b5bb175266e6", "packages": { - "@abox-dev/cli": "0.1.5", - "@abox-dev/code-interpreter": "0.1.5", - "@abox-dev/sdk": "0.1.5", - "abox-code-interpreter": "0.1.5", - "abox-sdk": "0.1.5", - "github.com/abox-dev/sdk/packages/go-sdk": "0.1.5" + "@abox-dev/cli": "0.1.6", + "@abox-dev/code-interpreter": "0.1.6", + "@abox-dev/sdk": "0.1.6", + "abox-code-interpreter": "0.1.6", + "abox-sdk": "0.1.6", + "github.com/abox-dev/sdk/packages/go-sdk": "0.1.6" }, "schemaVersion": 1 } diff --git a/reference/sdk/go/core.md b/reference/sdk/go/core.md index fe0fef2e..f1e3804c 100644 --- a/reference/sdk/go/core.md +++ b/reference/sdk/go/core.md @@ -261,7 +261,7 @@ Create a client, start a sandbox, and run a command: Version is the AgentBox SDK release version. - const Version = "0.1.5" + const Version = "0.1.6" ## func IAMTokenPlaceholder