From 1fba5220c2e2b340cf9ab2797b2e511bf2a4df2e Mon Sep 17 00:00:00 2001 From: Alex Lavaee Date: Thu, 12 Nov 2026 19:31:14 -0800 Subject: [PATCH] Upgrade Atomic to the stable 0.9.81 release Moves the Atomic harness from 0.9.80 to the stable 0.9.81 release. Versions. catalog:harness pins `@bastani/atomic` 0.9.81. The lockfile resolves `@bastani/atomic`, `@bastani/atomic-natives` with its platform packages, and `@bastani/pi-ai` at 0.9.81, with no older `@bastani` package left; the `@earendil-works/pi-*` packages stay at 1.5.2, which Atomic still pins. `@bastani/pi-ai` now takes `@google/genai` 2.32.0, while `@earendil-works/pi-ai` 1.5.2 still pins 2.21.0 exactly, so the lockfile keeps that copy nested under it. Re-resolving the whole lockfile moved the rest of Atomic's tree to its newest in-range patch: `ws` 8.23.0, `encodeurl` 2.0.3, `graceful-fs` 4.2.12 and `@hono/node-server` 2.1.8. Outside Atomic's tree it moved `baseline-browser-mapping` 2.11.37, `electron-to-chromium` 1.5.485 and `enhanced-resolve` 5.27.0. `@modelcontextprotocol/ext-apps` and `get-intrinsic` stay on the version their `latest` tag names. The self-hosting guide names the new version. Nothing in 0.9.81 needed a code change. Chopin's host tools and its structured result tool set no `constrainedSampling`, so the strict-schema fallback for typeless nodes does not reach them; the only effect on them is that a non-strict Anthropic request now keeps a schema's root `additionalProperties`, which Anthropic accepts. No Chopin code reads the `bash` tool's truncation footer, calls `pi.exec`, configures a Google provider's `fetch`, or matches a provider's "Connection closed." error (the remote link's "The agent connection closed." is Chopin's own, not a provider error). `model: "auto"` routing, `parallelSlot`, the footer, queued-message rows, `/resume` and `find` globs are in Atomic's router, workflows and terminal interface, which Chopin's Planner does not use. Assistant-model: Claude Opus 5.5 Assistant-workflow: inline (subagent) Assistant-verification: bun install --frozen-lockfile passed Assistant-verification: typecheck and lint passed: bun run types and bun run ci Assistant-verification: harness unit tests passed: GIT_CONFIG_GLOBAL=/dev/null bun test apps/server/src/harness, 596 pass, 0 fail Assistant-verification: conversation-plan unit tests passed: GIT_CONFIG_GLOBAL=/dev/null bun test apps/server/src/conversation-plan, 1059 pass, 0 fail, 1 skip Assistant-verification: harness browser specs passed: bun run e2e --project=harness --workers=2, 78 passed Assistant-verification: Planner browser specs: bun run e2e --project=chromium --workers=2 e2e/planner-picker.e2e.ts e2e/planner-attachment.e2e.ts, 62 passed, 1 failed (planner-picker.e2e.ts:2388, which also fails on origin/main eec9491c3 with 0.9.80) Assistant-verification: build passed: bun run build, initial JavaScript 259,958 B raw / 82,471 B gzip (budget 260,500 / 83,450), initial stylesheet 184,420 B raw / 32,675 B gzip (budget 185,000 / 33,000) User-preference: Keep everything on the latest Atomic, transitive dependencies included, and redeploy as new versions come out Co-authored-by: Alex Lavaee --- bun.lock | 42 ++++++++++++++++++++++-------------------- docs/self-hosting.md | 2 +- package.json | 2 +- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/bun.lock b/bun.lock index 34f5062ff..5deebff3e 100644 --- a/bun.lock +++ b/bun.lock @@ -339,7 +339,7 @@ "@ai-sdk/harness": "1.0.146", "@ai-sdk/mcp": "2.0.72", "@ai-sdk/sandbox-just-bash": "1.0.146", - "@bastani/atomic": "0.9.80", + "@bastani/atomic": "0.9.81", "ai": "7.0.135", "typebox": "1.3.7", "zod": "4.4.3", @@ -481,27 +481,27 @@ "@base-ui/utils": ["@base-ui/utils@0.3.2", "", { "dependencies": { "@babel/runtime": "^7.29.2", "@floating-ui/utils": "^0.2.12", "reselect": "^5.2.0", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "@types/react": "^17 || ^18 || ^19", "react": "^17 || ^18 || ^19", "react-dom": "^17 || ^18 || ^19" }, "optionalPeers": ["@types/react"] }, "sha512-oWy1aq/I2GmYjpl4PhEAhzflF8VPGKgZeq0xAWTbfD5KBWyxcN0ZP2+WHSUm/5Z6lVMBDLReLcoXwSYoRc/zNQ=="], - "@bastani/atomic": ["@bastani/atomic@0.9.80", "", { "dependencies": { "@bastani/atomic-natives": "0.9.80", "@bastani/pi-ai": "0.9.80", "@earendil-works/pi-agent-core": "1.5.2", "@earendil-works/pi-codemode": "1.5.2", "@earendil-works/pi-tui": "1.5.2", "@modelcontextprotocol/ext-apps": "^2.0.4", "@modelcontextprotocol/sdk": "1.32.2", "@mozilla/readability": "^0.6.0", "@silvia-odwyer/photon-node": "0.3.4", "@typesafe-ai/sdk": "0.7.0", "brace-expansion": "5.0.12", "chalk": "6.0.0", "cross-spawn": "7.0.6", "diff": "8.0.4", "glob": "14.0.4", "highlight.js": "10.7.3", "hosted-git-info": "9.0.3", "ignore": "7.0.8", "jiti": "2.7.0", "linkedom": "^0.18.15", "lovely-mermaid": "0.3.3", "lru-cache": "11.5.3", "markit-ai": "0.5.3", "minimatch": "11.0.4", "open": "^11.0.4", "p-limit": "^7.3.2", "proper-lockfile": "4.1.2", "quickjs-wasi": "3.6.3", "semver": "7.8.5", "turndown": "^7.2.5", "typebox": "1.3.27", "undici": "8.12.3", "unpdf": "1.8.1", "yaml": "2.9.0", "zod": "^3.25.0 || ^4.0.0" }, "optionalDependencies": { "@mariozechner/clipboard": "0.3.9" }, "bin": { "atomic": "dist/cli.js" } }, "sha512-8fojzBymUFzfbwSYvKWd5e1mmgLhmj46zcXH4IabeXa4vUefPH/Mtwd88KcEgPo9hR7AMB1AcVmv7gIvk7Omjg=="], + "@bastani/atomic": ["@bastani/atomic@0.9.81", "", { "dependencies": { "@bastani/atomic-natives": "0.9.81", "@bastani/pi-ai": "0.9.81", "@earendil-works/pi-agent-core": "1.5.2", "@earendil-works/pi-codemode": "1.5.2", "@earendil-works/pi-tui": "1.5.2", "@modelcontextprotocol/ext-apps": "^2.0.4", "@modelcontextprotocol/sdk": "1.32.2", "@mozilla/readability": "^0.6.0", "@silvia-odwyer/photon-node": "0.3.4", "@typesafe-ai/sdk": "0.7.0", "brace-expansion": "5.0.12", "chalk": "6.0.0", "cross-spawn": "7.0.6", "diff": "8.0.4", "glob": "14.0.4", "highlight.js": "10.7.3", "hosted-git-info": "9.0.3", "ignore": "7.0.8", "jiti": "2.7.0", "linkedom": "^0.18.15", "lovely-mermaid": "0.3.3", "lru-cache": "11.5.3", "markit-ai": "0.5.3", "minimatch": "11.0.4", "open": "^11.0.4", "p-limit": "^7.3.2", "proper-lockfile": "4.1.2", "quickjs-wasi": "3.6.3", "semver": "7.8.5", "turndown": "^7.2.5", "typebox": "1.3.27", "undici": "8.12.3", "unpdf": "1.8.1", "yaml": "2.9.0", "zod": "^3.25.0 || ^4.0.0" }, "optionalDependencies": { "@mariozechner/clipboard": "0.3.9" }, "bin": { "atomic": "dist/cli.js" } }, "sha512-kOcaf4IcPKUK96tLk9pmIaOcPtV7afWK9u+u13zZUiE9G3oAtGAvmdZ1oQom3yqTRi9E8R3iLx8MiArQ+Lj67Q=="], - "@bastani/atomic-natives": ["@bastani/atomic-natives@0.9.80", "", { "optionalDependencies": { "@bastani/atomic-natives-darwin-arm64": "0.9.80", "@bastani/atomic-natives-darwin-x64": "0.9.80", "@bastani/atomic-natives-linux-arm64-gnu": "0.9.80", "@bastani/atomic-natives-linux-arm64-musl": "0.9.80", "@bastani/atomic-natives-linux-x64-gnu": "0.9.80", "@bastani/atomic-natives-linux-x64-musl": "0.9.80", "@bastani/atomic-natives-win32-arm64-msvc": "0.9.80", "@bastani/atomic-natives-win32-x64-msvc": "0.9.80" } }, "sha512-OkCU6Z/NZCnpFIgcBo0cka0PhFXfQY0rZlrEswYjBIPyK8ZH9wlYfgXA5a8FnMGo1AYIjLSfjnDsuSDNLGpTlg=="], + "@bastani/atomic-natives": ["@bastani/atomic-natives@0.9.81", "", { "optionalDependencies": { "@bastani/atomic-natives-darwin-arm64": "0.9.81", "@bastani/atomic-natives-darwin-x64": "0.9.81", "@bastani/atomic-natives-linux-arm64-gnu": "0.9.81", "@bastani/atomic-natives-linux-arm64-musl": "0.9.81", "@bastani/atomic-natives-linux-x64-gnu": "0.9.81", "@bastani/atomic-natives-linux-x64-musl": "0.9.81", "@bastani/atomic-natives-win32-arm64-msvc": "0.9.81", "@bastani/atomic-natives-win32-x64-msvc": "0.9.81" } }, "sha512-6CGfVg82AyzOvB4p3XsWQDIP1o5yfcaJ1Aj6pNfGNJbARpiQu6ZJKapyP3I7s9GuGqFYDp7uzcfZYZZKrC40EA=="], - "@bastani/atomic-natives-darwin-arm64": ["@bastani/atomic-natives-darwin-arm64@0.9.80", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5GuIxd44WOMVhEHiknkNocGcHxe0gYYV27ZFXvreFqh00qO4x0wY4zVR4wbxbFBKGaEnRaVCB2QaS0diZtm4Dw=="], + "@bastani/atomic-natives-darwin-arm64": ["@bastani/atomic-natives-darwin-arm64@0.9.81", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VhWDbf9Wmq/iMDfy2UW0gOFmjgU9o/jwef3hg6RlucXPz7PvuStSoxbbGhzq4Wyu1nUJMLccAsmuuNf/0PoiiQ=="], - "@bastani/atomic-natives-darwin-x64": ["@bastani/atomic-natives-darwin-x64@0.9.80", "", { "os": "darwin", "cpu": "x64" }, "sha512-k/CQ0rN7Phm6DJ1gt6ZkKkaR8gpK3691syFsq+7JVnCrSzImTSdH4tGnSVDIe0FPi6L9WcmgR5caRwvRCLkJog=="], + "@bastani/atomic-natives-darwin-x64": ["@bastani/atomic-natives-darwin-x64@0.9.81", "", { "os": "darwin", "cpu": "x64" }, "sha512-9B442A5vYU+WNcFEYqt2LJsoYYW2Icnxmbvq0SMX7c31N4gZX0Z1s0w5yEMDhFt/YDWaBAV8Ef2M2X9bF3UDbQ=="], - "@bastani/atomic-natives-linux-arm64-gnu": ["@bastani/atomic-natives-linux-arm64-gnu@0.9.80", "", { "os": "linux", "cpu": "arm64", "libc": "glibc" }, "sha512-4V3xT4mF7WV56ld343FKVyvz2Nr9HPEWbrgWb5+qh6YyNeO5VhVHn/tlRbTSUgc73tNZKduM4wKuWr6/X+UM1Q=="], + "@bastani/atomic-natives-linux-arm64-gnu": ["@bastani/atomic-natives-linux-arm64-gnu@0.9.81", "", { "os": "linux", "cpu": "arm64", "libc": "glibc" }, "sha512-hrUC6oiRS3k1uh1myai3rvbfAH3yMirXxA69KDAd9xGRVLiXhrtFD5Pv5CJYor84bz1S39jsBzHmaAjUNRLuQg=="], - "@bastani/atomic-natives-linux-arm64-musl": ["@bastani/atomic-natives-linux-arm64-musl@0.9.80", "", { "os": "linux", "cpu": "arm64", "libc": "musl" }, "sha512-Xr5x3NuBDYS4DSmn3y89VYnCrlK6V48f14gzobwQamKvys44cwpvNdlSHGa8P8cU/RdLBhH00fOGrlxqk1pZQg=="], + "@bastani/atomic-natives-linux-arm64-musl": ["@bastani/atomic-natives-linux-arm64-musl@0.9.81", "", { "os": "linux", "cpu": "arm64", "libc": "musl" }, "sha512-XtXcs6ElFO23fjWIFFjEly728pQlRu3iWAgrndItUdX9xMUZeK86zFm7S4O44TvC8BQW9ocNwf/e8i6U9DzDDw=="], - "@bastani/atomic-natives-linux-x64-gnu": ["@bastani/atomic-natives-linux-x64-gnu@0.9.80", "", { "os": "linux", "cpu": "x64", "libc": "glibc" }, "sha512-gZtwWMwJ8SVMQtYTecxnIV8UsyMC1kPDYp3qwZ6FI/m9icJGfsl2Sw6cqzmznjw/qdN3JD3A0PByKOUIHDWtJg=="], + "@bastani/atomic-natives-linux-x64-gnu": ["@bastani/atomic-natives-linux-x64-gnu@0.9.81", "", { "os": "linux", "cpu": "x64", "libc": "glibc" }, "sha512-pB0LgNGnO1eaiyB0DKPbSUhZ+Wej5LUmsptifmOIqTJLaepZj5lm7+X8FdOsbMshp3FYuhFFqwmb5eHTQkQ3qQ=="], - "@bastani/atomic-natives-linux-x64-musl": ["@bastani/atomic-natives-linux-x64-musl@0.9.80", "", { "os": "linux", "cpu": "x64", "libc": "musl" }, "sha512-zM2z4Ug/k8nqlBSEWSJxJ8SVgZ/zHofKnQPaf7nDv15blNTJb2zP9Z1mWtMl6pSC1wqO0hWNQmUaS7nrz0j+RA=="], + "@bastani/atomic-natives-linux-x64-musl": ["@bastani/atomic-natives-linux-x64-musl@0.9.81", "", { "os": "linux", "cpu": "x64", "libc": "musl" }, "sha512-r2HlU2IrpUInF7+WmLiAzjfCxwpBCtt+TdX384576uy6O7IDWuI4hYTvue6aCMYFNSIDiDjAJS6TpxOC7pvKoA=="], - "@bastani/atomic-natives-win32-arm64-msvc": ["@bastani/atomic-natives-win32-arm64-msvc@0.9.80", "", { "os": "win32", "cpu": "arm64" }, "sha512-/EpU4kE9yuKgBG8nD6O2iJJJX4XbUYw5mEAtcUkv0YcJtK+RFK/+lHMrIpVoAb9rl42Hm5VOWhcR69k32Fh+yQ=="], + "@bastani/atomic-natives-win32-arm64-msvc": ["@bastani/atomic-natives-win32-arm64-msvc@0.9.81", "", { "os": "win32", "cpu": "arm64" }, "sha512-98MKtHvPcp2piBJOBYmObmbihY3aYB1zZtrn4UdTaRpl7/QtL7FPys/BubBZP0nPm1LkOHK8Z280oeCMVe0Ugw=="], - "@bastani/atomic-natives-win32-x64-msvc": ["@bastani/atomic-natives-win32-x64-msvc@0.9.80", "", { "os": "win32", "cpu": "x64" }, "sha512-0IQN1Tl7Q0/4aWPH4p4ygXTKhPC0Ey6GH/rZ+JuibZBToPFZFhFqe3iDCY1sXmwErEYioCJVgaHuo1S8oCNB7Q=="], + "@bastani/atomic-natives-win32-x64-msvc": ["@bastani/atomic-natives-win32-x64-msvc@0.9.81", "", { "os": "win32", "cpu": "x64" }, "sha512-YaParS1FNn58qR/h2wuEGkSQ9/aygp6SphEEBqUulbyOMUK+DuIO2015iCRsRUhVucY1FmlAiRz7sY3EpjVn7A=="], - "@bastani/pi-ai": ["@bastani/pi-ai@0.9.80", "", { "dependencies": { "@anthropic-ai/sdk": "0.129.0", "@aws-sdk/client-bedrock-runtime": "3.1127.0", "@earendil-works/pi-schema": "1.5.2", "@earendil-works/pi-telemetry": "1.5.2", "@google/genai": "2.21.0", "@smithy/node-http-handler": "4.13.0", "http-proxy-agent": "9.1.0", "https-proxy-agent": "9.1.0", "openai": "7.19.0", "partial-json": "0.1.7", "typebox": "1.3.27" }, "bin": { "pi-ai": "dist/cli.js" } }, "sha512-jT0FQnn5dlUiEJ9cnYVSExMBgKzO2AfmPjQ3jTgJYdJqCYmSgxByCceQGf/csHqaXqXhsqe4firIEOpmQQABkQ=="], + "@bastani/pi-ai": ["@bastani/pi-ai@0.9.81", "", { "dependencies": { "@anthropic-ai/sdk": "0.129.0", "@aws-sdk/client-bedrock-runtime": "3.1127.0", "@earendil-works/pi-schema": "1.5.2", "@earendil-works/pi-telemetry": "1.5.2", "@google/genai": "2.32.0", "@smithy/node-http-handler": "4.13.0", "http-proxy-agent": "9.1.0", "https-proxy-agent": "9.1.0", "openai": "7.19.0", "partial-json": "0.1.7", "typebox": "1.3.27" }, "bin": { "pi-ai": "dist/cli.js" } }, "sha512-x1xEc/wJeUqIqKAGJaHq6LK+EktNszjHukTRxWbB1qhWLM0/FVuEcHd4MSj6TVOTaoRrEITE2Vo9A2UFby+ZVA=="], "@borewit/text-codec": ["@borewit/text-codec@0.2.3", "", {}, "sha512-49CycTz1aAZmvFcwkeFyhud1HUmRIB5Tabf7ALV+VA4Iu85MTfz2cUwzPagMFAdVBvrWdkCxG67I30tUwwpKsw=="], @@ -717,9 +717,9 @@ "@github/copilot-win32-x64": ["@github/copilot-win32-x64@1.0.80", "", { "os": "win32", "cpu": "x64", "bin": { "copilot-win32-x64": "copilot.exe" } }, "sha512-PO0kPqhRTWQfsqGaj4UN3cj8ttkcJYy4wmXiArtFm+03AIFu8xTvuhQDPn2xEOsUome7m7t2XomKoavcrCcRsw=="], - "@google/genai": ["@google/genai@2.21.0", "", { "dependencies": { "google-auth-library": "^10.3.0", "p-retry": "^4.6.2", "protobufjs": "^7.5.4", "ws": "^8.18.0" }, "peerDependencies": { "@modelcontextprotocol/sdk": "^1.25.2" }, "optionalPeers": ["@modelcontextprotocol/sdk"], "hasInstallScript": true }, "sha512-+PDtco2/Z0ONdzCGekCoCT+O1VJS9xJQNN4XzQpXG/t3El/SWWMkCWlFRO1KmivOHPa4Q0VjUYu1HBKCZ/v33Q=="], + "@google/genai": ["@google/genai@2.32.0", "", { "dependencies": { "google-auth-library": "^10.3.0", "p-retry": "^4.6.2", "protobufjs": "^7.5.4", "ws": "^8.18.0" }, "peerDependencies": { "@modelcontextprotocol/sdk": "^1.25.2" }, "optionalPeers": ["@modelcontextprotocol/sdk"], "hasInstallScript": true }, "sha512-60c79uXpR0a47bmGqDxbXEBuQUalNmwo5mx5kqb91jIW4FoqpsLSt86DeVhRhtH5+s/16Wqxt3sXzFQn2U1OHQ=="], - "@hono/node-server": ["@hono/node-server@2.1.7", "", { "peerDependencies": { "hono": "^4 || ^5.0.0-0" } }, "sha512-Wr0E6S+v2Bw9FkpGNP5BQ5QbJvclUa06UVehd65WFZe6XeJwbrKQQ5wPDevc0IC+QyzbO7v3Llh5uo45IZcSnA=="], + "@hono/node-server": ["@hono/node-server@2.1.8", "", { "peerDependencies": { "hono": "^4 || ^5.0.0-0" } }, "sha512-jdf7FHh6A1lzjpHHQUgxsg2GeER2vMetnAOfeActzcoli6jamlK+NAwL6Dsr5Fl3BS3tYUQzCdtZjU8Qxv7bEA=="], "@iconify/types": ["@iconify/types@2.0.0", "", {}, "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg=="], @@ -1375,7 +1375,7 @@ "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], - "baseline-browser-mapping": ["baseline-browser-mapping@2.11.36", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-AbPFGS4K9S3meMRCLTM0Zas+e9X7b5ygUBOboDT5zevCZt9ByKSbMtKhwyVqW+oL8WemPVsbP7X3rdZcIyOa0w=="], + "baseline-browser-mapping": ["baseline-browser-mapping@2.11.37", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-QYph+vfurmaxhNwi9FprfmtkT5cx2Keg8FzZ0vnjO8ukscIybVyZGMFwdllKGlTI6qyU8ck43OM9UXh+IFJihQ=="], "bignumber.js": ["bignumber.js@9.3.1", "", {}, "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ=="], @@ -1603,17 +1603,17 @@ "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], - "electron-to-chromium": ["electron-to-chromium@1.5.483", "", {}, "sha512-zkGOvf625oaZgK+mhTF4hl3aTAfIOOnR7Jey0e7fUktdJWrB/wsLnzPKvWaqZkMCJ1yzUkAh6IqDJ9GMr3pR2Q=="], + "electron-to-chromium": ["electron-to-chromium@1.5.485", "", {}, "sha512-m3uadzR0Z+sR19HGWgfxoZcKv9hE/edVM9OZ+FJ4wNRyfuFtkwZJIDoehEty5sisYVwmge8lKV1tenWOyClVgw=="], "emojibase": ["emojibase@18.0.0", "", {}, "sha512-5PG+EEt5zQ9qvqdHZw61+T9iz96g+r621QS/w8jEzPg+3mjzAdjl8LPLc+e9ABv/yboNfMwEair7aK9qKnwAbQ=="], "emojibase-data": ["emojibase-data@17.0.0", "", { "peerDependencies": { "emojibase": "*" } }, "sha512-Yvgb5AWoHViHV/gq1qr5ZAarcBip+B27/ZLRsUJkbgAEaLlZ/fof9g882LTpmEpyhBNEC0m2SEmItljHsTygjA=="], - "encodeurl": ["encodeurl@2.0.2", "", {}, "sha512-ddmxiyS6ETq/v5/+mdA4fykK7JgEmqcShrGmQFTaKf5o43tL8XLuMzNLLsspuIC3/qGupS7Ci2TF+feJRkYY0w=="], + "encodeurl": ["encodeurl@2.0.3", "", {}, "sha512-mIteYONiEfc4xWf2F1WXovh1c8npzS00vNeiUPdwFF+QlVJni+gNvpQltLMQhob8rew/bWWc/bGTuUr0EUGt0w=="], "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="], - "enhanced-resolve": ["enhanced-resolve@5.26.1", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.3.3" } }, "sha512-PPnnSJq3azKOIewXR/uppBV/6h98dprBJ/WaQ9Qgj10xX1lJLNfg+XShpbsrSqcDSy2yYYyhfXM1wWhftqgyzw=="], + "enhanced-resolve": ["enhanced-resolve@5.27.0", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.3.3" } }, "sha512-Do6BB2xzlcc/odFg+XEYyneAx4T/WfywO71yw9ePS2tVfRsf7JVR4mUeELadIeHzixkzbG5DpluiEFPi2WGfYQ=="], "entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], @@ -1719,7 +1719,7 @@ "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], - "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + "graceful-fs": ["graceful-fs@4.2.12", "", {}, "sha512-iuyGF2E4oafQfPsRrG2wtY2ILupMhvtdrhzrxB+0VcjsPpSPttpfYdjnGFGsTi5MaJFjI1jOKHPQ6UTbTj9TAw=="], "hachure-fill": ["hachure-fill@0.5.2", "", {}, "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg=="], @@ -2461,7 +2461,7 @@ "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], - "ws": ["ws@8.22.2", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-/rEZ2ejown2N5gxVTHUu9bVVC7ttu0/Tgzf5hbTOixR3Fs7mbbXgn2DbdbcKgJOmpQMtrIUWivtYuVMnp/W/yA=="], + "ws": ["ws@8.23.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-wCkmX8QMOrKjgO8HW2WyDbTSGeqkocxgDzS9iR79rEAexty6/2qzilx3Ag8Tqf9ykop3irLKle0MtVn5qjVnoQ=="], "wsl-utils": ["wsl-utils@1.0.1", "", { "dependencies": { "is-wsl": "^3.1.0", "powershell-utils": "^0.2.0" } }, "sha512-c16PKLIRxBYpR3jSWsdS7SFp0COm5SOQdiFjY818dYFHJbMGuLBszpF07LBWmOS1uzrHa9VGdynsEgoeKy0oOQ=="], @@ -2517,6 +2517,8 @@ "@bastani/pi-ai/typebox": ["typebox@1.3.27", "", {}, "sha512-zu+jc1pcy4UiNThxikUr36f0Rybk9PEeCg/NE6adeWr/SKsdNO4EzZHYRDlv2YCVAfj3Odq3dESSo/jNyoBXzA=="], + "@earendil-works/pi-ai/@google/genai": ["@google/genai@2.21.0", "", { "dependencies": { "google-auth-library": "^10.3.0", "p-retry": "^4.6.2", "protobufjs": "^7.5.4", "ws": "^8.18.0" }, "peerDependencies": { "@modelcontextprotocol/sdk": "^1.25.2" }, "optionalPeers": ["@modelcontextprotocol/sdk"], "hasInstallScript": true }, "sha512-+PDtco2/Z0ONdzCGekCoCT+O1VJS9xJQNN4XzQpXG/t3El/SWWMkCWlFRO1KmivOHPa4Q0VjUYu1HBKCZ/v33Q=="], + "@earendil-works/pi-ai/@smithy/node-http-handler": ["@smithy/node-http-handler@4.12.1", "", { "dependencies": { "@smithy/core": "^3.33.3", "@smithy/types": "^4.18.0", "tslib": "^2.6.2" } }, "sha512-ThMkboGeONWXAelq9FvGsuJC4rOi+qyC4/zhUF58xYpxUg5sQKx2VXZYJmtNjr4dSuBJ1HeJXETQILCz3wOHvw=="], "@earendil-works/pi-codemode/quickjs-wasi": ["quickjs-wasi@3.6.2", "", {}, "sha512-FCqGtGOrMgzUiIrMNMA2YnsOxCNwo31dzqXvclXUC6xeT35NJLKXQJsvbeCTjvoFAwZgEAPg8U6+KAPDGXn8Mg=="], diff --git a/docs/self-hosting.md b/docs/self-hosting.md index 03d271924..3afb18e0f 100644 --- a/docs/self-hosting.md +++ b/docs/self-hosting.md @@ -95,7 +95,7 @@ proxy that the server learns some other way, such as a system setting, set these variables on the server process too: otherwise the CLI connects directly, and a Planner turn fails with "The Planner stream failed." -`HARNESS=atomic` runs Atomic 0.9.80 in the Chopin server process through its +`HARNESS=atomic` runs Atomic 0.9.81 in the Chopin server process through its headless SDK (`createAgentSession()`). It does not spawn the `atomic` CLI or use RPC mode. diff --git a/package.json b/package.json index 553fdc738..b2d56f301 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@ai-sdk/harness": "1.0.146", "@ai-sdk/mcp": "2.0.72", "@ai-sdk/sandbox-just-bash": "1.0.146", - "@bastani/atomic": "0.9.80", + "@bastani/atomic": "0.9.81", "ai": "7.0.135", "typebox": "1.3.7", "zod": "4.4.3"