diff --git a/CLAUDE.md b/CLAUDE.md
index 2bbeea5c..04c8f47d 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -1,6 +1,7 @@
Use pnpm for JavaScript packages, uv for Python packages, and Go modules for Go packages.
Use English exclusively in source code, comments, documentation, commit messages, and GitHub pull request titles and descriptions.
Keep the JavaScript, Python sync/async, and Go SDKs behaviorally aligned, including their Code Interpreter APIs.
+Describe current SDK and envd behavior in public documentation and exported API comments. Avoid historical version qualifiers and migration narratives; retain exact versions in installation commands, reference links, and dependency pins.
Use only Go syntax and runtime dependencies compatible with the `go` directive in `packages/go-sdk/go.mod`.
Run format checks, lint, type checks, unit tests, deterministic generation, builds, package-install checks, the exported GoDoc gate, and the Go race and coverage checks before committing. Handwritten Go code must keep at least 90% statement coverage; generated packages are excluded from the threshold.
The API and envd snapshots under spec/ are generated from mono/infra. Do not edit them manually. Update them with `make sync-specs MONO_DIR=/path/to/mono`, then run `make generate`.
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 519c8e5e..04824632 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@abox-dev/cli",
- "version": "0.2.0",
+ "version": "0.2.1",
"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 21c95a98..fcd6c678 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.2.0",
+ "version": "0.2.1",
"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 eaad4e01..b07421ed 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.2.0",
+ "version": "0.2.1",
"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 2ae21f77..f7ae3e76 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.2.0"
+version = "0.2.1"
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 bdefa622..b6c6fb26 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.2.0"
+version = "0.2.1"
source = { editable = "." }
dependencies = [
{ name = "abox-sdk" },
@@ -58,7 +58,7 @@ dev = [
[[package]]
name = "abox-sdk"
-version = "0.2.0"
+version = "0.2.1"
source = { editable = "../python-sdk" }
dependencies = [
{ name = "attrs" },
diff --git a/packages/go-sdk/README.md b/packages/go-sdk/README.md
index e1bab974..8f7884cd 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.2.0) and
-[Code Interpreter on pkg.go.dev](https://pkg.go.dev/github.com/abox-dev/sdk/packages/go-sdk/codeinterpreter@v0.2.0).
+API reference for this release: [core SDK on pkg.go.dev](https://pkg.go.dev/github.com/abox-dev/sdk/packages/go-sdk@v0.2.1) and
+[Code Interpreter on pkg.go.dev](https://pkg.go.dev/github.com/abox-dev/sdk/packages/go-sdk/codeinterpreter@v0.2.1).
Documentation: [core SDK](https://docs.agentbox.ru/en/sdk/),
[sandboxes](https://docs.agentbox.ru/en/sdk/sandboxes/),
@@ -57,8 +57,8 @@ Documentation: [core SDK](https://docs.agentbox.ru/en/sdk/),
## Execution user and filesystem options
Set `User` in `CommandOptions`, `PTYOptions`, or filesystem options to select a
-sandbox user. Empty `User` uses the template default (or `user` on envd older
-than 0.4.0). The selection belongs to each operation and works with streaming.
+sandbox user. Empty `User` uses the template default. The selection belongs to
+each operation and works with streaming.
Existing-process operations retain the user selected at launch.
```go
@@ -78,8 +78,8 @@ defaults. `FileOptions` covers reads and simple filesystem operations;
`ListFilesOptions`, `WriteFileOptions`, `WatchOptions`, and `FileURLOptions`
cover listing, uploads (including batches), watches, and signed URLs.
Filesystem users affect path resolution and ownership of created objects, not
-OS permission isolation. See the [user-selection guide](../../docs/go-envd-user-selection.md)
-for semantics and the signature changes introduced in v0.2.0.
+OS permission isolation. See the [filesystem guide](https://docs.agentbox.ru/en/filesystem/)
+for usage examples.
## Command output
diff --git a/packages/go-sdk/commands.go b/packages/go-sdk/commands.go
index a34f8519..3a96784f 100644
--- a/packages/go-sdk/commands.go
+++ b/packages/go-sdk/commands.go
@@ -19,7 +19,7 @@ import (
// CommandOptions configures a command process.
type CommandOptions struct {
- // User selects the process owner. Empty uses the template default (user on envd < 0.4.0).
+ // User selects the process owner. Empty uses the template default.
User string
Args []string
Env map[string]string
diff --git a/packages/go-sdk/filesystem.go b/packages/go-sdk/filesystem.go
index 040d0a8f..a15a4d09 100644
--- a/packages/go-sdk/filesystem.go
+++ b/packages/go-sdk/filesystem.go
@@ -60,7 +60,7 @@ type WriteFile struct {
// FileOptions selects the user for a filesystem operation. User affects relative
// path resolution and ownership of created objects, not OS permission isolation.
-// Empty User uses the template default, or user on envd older than 0.4.0.
+// Empty User uses the template default.
type FileOptions struct {
User string
}
diff --git a/packages/go-sdk/pty.go b/packages/go-sdk/pty.go
index 8922b09f..b96962fd 100644
--- a/packages/go-sdk/pty.go
+++ b/packages/go-sdk/pty.go
@@ -9,7 +9,7 @@ import (
// PTYOptions configures an interactive terminal.
type PTYOptions struct {
- // User selects the process owner. Empty uses the template default (user on envd < 0.4.0).
+ // User selects the process owner. Empty uses the template default.
User string
Args []string
Env map[string]string
diff --git a/packages/go-sdk/version.go b/packages/go-sdk/version.go
index 91656afe..88e2956d 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.2.0"
+const Version = "0.2.1"
diff --git a/packages/js-sdk/package.json b/packages/js-sdk/package.json
index 9cde8041..15d20a84 100644
--- a/packages/js-sdk/package.json
+++ b/packages/js-sdk/package.json
@@ -1,6 +1,6 @@
{
"name": "@abox-dev/sdk",
- "version": "0.2.0",
+ "version": "0.2.1",
"description": "AgentBox SDK for secure cloud sandboxes",
"homepage": "https://docs.agentbox.ru/en/sdk/",
"license": "MIT",
diff --git a/packages/python-sdk/package.json b/packages/python-sdk/package.json
index 9fbcfc53..0682c763 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.2.0",
+ "version": "0.2.1",
"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 b3ef1898..5e6a5f2d 100644
--- a/packages/python-sdk/pyproject.toml
+++ b/packages/python-sdk/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "abox-sdk"
-version = "0.2.0"
+version = "0.2.1"
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 7924acb1..a6f64226 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.2.0"
+version = "0.2.1"
source = { editable = "." }
dependencies = [
{ name = "attrs" },
diff --git a/reference/manifest.json b/reference/manifest.json
index ba83a016..e8947ce9 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": "6da3d84150f2c1695f64cd8694800679fe55005720e7c52d7657546e8efb1d6a",
+ "sdk/go/core.md": "d76b6f369be3b119c7bfd2e048cc4d51dbec32b7ca13764c0f537e59f96f2b44",
"sdk/javascript/code-interpreter/README.md": "a787206eb86f81fc306b373ce20bc6c91464b0ab3c3ec7650eccbb6be5f676c5",
"sdk/javascript/code-interpreter/classes/Sandbox.md": "19d9f1f1e8847606a54d93c5a6e5d4c89f936a745866e8d6a2aa06758b605e60",
"sdk/javascript/code-interpreter/enumerations/ChartType.md": "cf1ba00cd3258cc88814b7215e101b0d775ceb15dd833636d58ae538d8107ec1",
@@ -185,12 +185,12 @@
},
"monoRevision": "a7d59d50e3dd84faee59aca08df1b5bb175266e6",
"packages": {
- "@abox-dev/cli": "0.2.0",
- "@abox-dev/code-interpreter": "0.2.0",
- "@abox-dev/sdk": "0.2.0",
- "abox-code-interpreter": "0.2.0",
- "abox-sdk": "0.2.0",
- "github.com/abox-dev/sdk/packages/go-sdk": "0.2.0"
+ "@abox-dev/cli": "0.2.1",
+ "@abox-dev/code-interpreter": "0.2.1",
+ "@abox-dev/sdk": "0.2.1",
+ "abox-code-interpreter": "0.2.1",
+ "abox-sdk": "0.2.1",
+ "github.com/abox-dev/sdk/packages/go-sdk": "0.2.1"
},
"schemaVersion": 1
}
diff --git a/reference/sdk/go/core.md b/reference/sdk/go/core.md
index 1aafb5db..2251b091 100644
--- a/reference/sdk/go/core.md
+++ b/reference/sdk/go/core.md
@@ -269,7 +269,7 @@ Create a client, start a sandbox, and run a command:
Version is the AgentBox SDK release version.
- const Version = "0.2.0"
+ const Version = "0.2.1"
## func IAMTokenPlaceholder
@@ -633,7 +633,7 @@ Write writes bytes to process stdin.
CommandOptions configures a command process.
type CommandOptions struct {
- // User selects the process owner. Empty uses the template default (user on envd < 0.4.0).
+ // User selects the process owner. Empty uses the template default.
User string
Args []string
Env map[string]string
@@ -872,7 +872,7 @@ Unwrap returns the underlying missing\-file error, if any.
## type FileOptions
-FileOptions selects the user for a filesystem operation. User affects relative path resolution and ownership of created objects, not OS permission isolation. Empty User uses the template default, or user on envd older than 0.4.0.
+FileOptions selects the user for a filesystem operation. User affects relative path resolution and ownership of created objects, not OS permission isolation. Empty User uses the template default.
type FileOptions struct {
User string
@@ -1223,7 +1223,7 @@ Unwrap returns the underlying storage error, if any.
PTYOptions configures an interactive terminal.
type PTYOptions struct {
- // User selects the process owner. Empty uses the template default (user on envd < 0.4.0).
+ // User selects the process owner. Empty uses the template default.
User string
Args []string
Env map[string]string