From 37327bc54fc14fd6a9e3a9b11d0744cc25bc6c22 Mon Sep 17 00:00:00 2001 From: Alex Lavaee Date: Sun, 11 Oct 2026 09:08:43 -0700 Subject: [PATCH] Upgrade the Atomic harness to 0.9.34 Moves the Atomic harness to 0.9.34. It fixes extension widgets, footer, header and statuses that a new session sets in session_start being cleared after a session switch (/resume, new session, fork, ctx.switchSession) when the previous session's teardown finished after the new session had started (bastani-inc/atomic#3561). Chopin runs Atomic through its headless SDK, so the interactive UI part of the fix does not reach it. No Chopin code changes: the SDK and workflow type declarations Chopin imports compile unchanged. bun.lock moves @bastani/atomic, @bastani/atomic-natives (all eight platform packages) and @bastani/pi-ai to 0.9.34. Atomic's other dependencies, including the @earendil-works packages at 1.1.0, are unchanged. docs/self-hosting.md now says 0.9.34. Assistant-model: Claude Opus 5.5 (fast) Assistant-workflow: inline Assistant-verification: bun install passed: lockfile moves only the @bastani packages to 0.9.34 Assistant-verification: bun run types passed: all workspace checks and e2e Assistant-verification: bun test passed: 4849 pass, 4 skip, 0 fail (GIT_CONFIG_GLOBAL=/dev/null) Assistant-verification: bun run ci passed: dprint, oxlint, tokens, design contract, design record, Impeccable (no new findings) Co-authored-by: Alex Lavaee --- bun.lock | 24 ++++++++++++------------ docs/self-hosting.md | 2 +- package.json | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/bun.lock b/bun.lock index b2c802fd7..51fd9484c 100644 --- a/bun.lock +++ b/bun.lock @@ -313,7 +313,7 @@ "@ai-sdk/harness-pi": "1.0.148", "@ai-sdk/mcp": "2.0.72", "@ai-sdk/sandbox-just-bash": "1.0.146", - "@bastani/atomic": "0.9.33", + "@bastani/atomic": "0.9.34", "@earendil-works/pi-coding-agent": "0.85.1", "ai": "7.0.135", "typebox": "1.3.7", @@ -467,27 +467,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.33", "", { "dependencies": { "@bastani/atomic-natives": "0.9.33", "@bastani/pi-ai": "0.9.33", "@dbos-inc/dbos-sdk": "4.25.14", "@earendil-works/pi-agent-core": "1.1.0", "@earendil-works/pi-client": "1.1.0", "@earendil-works/pi-codemode": "1.1.0", "@earendil-works/pi-protocol": "1.1.0", "@earendil-works/pi-tui": "1.1.0", "@modelcontextprotocol/ext-apps": "^1.7.5", "@modelcontextprotocol/sdk": "1.32.1", "@mozilla/readability": "^0.6.0", "@silvia-odwyer/photon-node": "0.3.4", "@typesafe-ai/sdk": "0.6.0", "brace-expansion": "5.0.12", "chalk": "6.0.0", "cross-spawn": "7.0.6", "diff": "8.0.4", "embedded-postgres": "18.4.0-beta.17", "glob": "13.0.6", "grok-mermaid": "0.2.3", "highlight.js": "10.7.3", "hosted-git-info": "9.0.3", "ignore": "7.0.8", "jiti": "2.7.0", "linkedom": "^0.18.13", "lru-cache": "11.5.3", "markit-ai": "0.5.3", "minimatch": "10.2.6", "open": "^11.0.1", "p-limit": "^7.3.2", "pg": "8.23.0", "proper-lockfile": "4.1.2", "quickjs-wasi": "3.6.2", "semver": "7.8.5", "turndown": "^7.2.0", "typebox": "1.3.27", "undici": "8.10.2", "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-F62tKhHRfjsf1TXn+13/c7c+1+HxknxwYn0VaBu6B+X/ahC0vU/1o+TdtVck9noeGpIW4BekQqDzj8AhEDhjXg=="], + "@bastani/atomic": ["@bastani/atomic@0.9.34", "", { "dependencies": { "@bastani/atomic-natives": "0.9.34", "@bastani/pi-ai": "0.9.34", "@dbos-inc/dbos-sdk": "4.25.14", "@earendil-works/pi-agent-core": "1.1.0", "@earendil-works/pi-client": "1.1.0", "@earendil-works/pi-codemode": "1.1.0", "@earendil-works/pi-protocol": "1.1.0", "@earendil-works/pi-tui": "1.1.0", "@modelcontextprotocol/ext-apps": "^1.7.5", "@modelcontextprotocol/sdk": "1.32.1", "@mozilla/readability": "^0.6.0", "@silvia-odwyer/photon-node": "0.3.4", "@typesafe-ai/sdk": "0.6.0", "brace-expansion": "5.0.12", "chalk": "6.0.0", "cross-spawn": "7.0.6", "diff": "8.0.4", "embedded-postgres": "18.4.0-beta.17", "glob": "13.0.6", "grok-mermaid": "0.2.3", "highlight.js": "10.7.3", "hosted-git-info": "9.0.3", "ignore": "7.0.8", "jiti": "2.7.0", "linkedom": "^0.18.13", "lru-cache": "11.5.3", "markit-ai": "0.5.3", "minimatch": "10.2.6", "open": "^11.0.1", "p-limit": "^7.3.2", "pg": "8.23.0", "proper-lockfile": "4.1.2", "quickjs-wasi": "3.6.2", "semver": "7.8.5", "turndown": "^7.2.0", "typebox": "1.3.27", "undici": "8.10.2", "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-L6dZxTmddE32hsN5ZdX1NcB/NHfntAwzdkYCAzotit3hYVC+VGQE9dVUaJvhxS+kLz4l8H3LUopeWLsKQWRHvA=="], - "@bastani/atomic-natives": ["@bastani/atomic-natives@0.9.33", "", { "optionalDependencies": { "@bastani/atomic-natives-darwin-arm64": "0.9.33", "@bastani/atomic-natives-darwin-x64": "0.9.33", "@bastani/atomic-natives-linux-arm64-gnu": "0.9.33", "@bastani/atomic-natives-linux-arm64-musl": "0.9.33", "@bastani/atomic-natives-linux-x64-gnu": "0.9.33", "@bastani/atomic-natives-linux-x64-musl": "0.9.33", "@bastani/atomic-natives-win32-arm64-msvc": "0.9.33", "@bastani/atomic-natives-win32-x64-msvc": "0.9.33" } }, "sha512-LpUSn8htnreJJDDL/UkDPyMKtZkefZ7dQHDvaLGHHPcPFPePQm8ELrcgD/EPN366d5NnFwGF5ahK9FJ9p2KyyQ=="], + "@bastani/atomic-natives": ["@bastani/atomic-natives@0.9.34", "", { "optionalDependencies": { "@bastani/atomic-natives-darwin-arm64": "0.9.34", "@bastani/atomic-natives-darwin-x64": "0.9.34", "@bastani/atomic-natives-linux-arm64-gnu": "0.9.34", "@bastani/atomic-natives-linux-arm64-musl": "0.9.34", "@bastani/atomic-natives-linux-x64-gnu": "0.9.34", "@bastani/atomic-natives-linux-x64-musl": "0.9.34", "@bastani/atomic-natives-win32-arm64-msvc": "0.9.34", "@bastani/atomic-natives-win32-x64-msvc": "0.9.34" } }, "sha512-+97azzDqnkvZ2fizQAu07i4HaTyYvnj8vyJbz1eOEAGafh4NPpLERo3hUfmdkjf6viSuvB4FsyNBMzdpYRBueA=="], - "@bastani/atomic-natives-darwin-arm64": ["@bastani/atomic-natives-darwin-arm64@0.9.33", "", { "os": "darwin", "cpu": "arm64" }, "sha512-ycxbQXNyDXv+e19pNlQh04XsHT4tCs1Eudaky4j1d0UQCFz1PAdCUiHJwi58vLFKAk5WPXaJQ/50xi91bIr7Ww=="], + "@bastani/atomic-natives-darwin-arm64": ["@bastani/atomic-natives-darwin-arm64@0.9.34", "", { "os": "darwin", "cpu": "arm64" }, "sha512-QAuY/7LbAba3R5hr/WyuD0lo2L9EIjuvn861f1b4c+mXyVq24oWIvR4I9pMsI9vVlmP6qV8w3fjAjQMYSHOLXA=="], - "@bastani/atomic-natives-darwin-x64": ["@bastani/atomic-natives-darwin-x64@0.9.33", "", { "os": "darwin", "cpu": "x64" }, "sha512-vxn7KdujEKmLBhwTdpAWbHb0MvSs15d7zsYY1SysyIHxgwH3a8ZOn22rFp1OShsF/zNY+weGkgsGZqGaXuT+sQ=="], + "@bastani/atomic-natives-darwin-x64": ["@bastani/atomic-natives-darwin-x64@0.9.34", "", { "os": "darwin", "cpu": "x64" }, "sha512-cNX53O+8vZDBH76T2yCGtauCE3jMhJu+SDlT6tQwkzi+YGAk2M4crlGvz+hXdVTDY7WHsWERM47stJDc7u3A5w=="], - "@bastani/atomic-natives-linux-arm64-gnu": ["@bastani/atomic-natives-linux-arm64-gnu@0.9.33", "", { "os": "linux", "cpu": "arm64" }, "sha512-lhaTP9ninFj8ptpnb/nrICGP5fGCy7wXcPUGG+t8mEgzWwMFPyC45o7b8fUjun9hxFzxZTFdv84/TipNp1HGBQ=="], + "@bastani/atomic-natives-linux-arm64-gnu": ["@bastani/atomic-natives-linux-arm64-gnu@0.9.34", "", { "os": "linux", "cpu": "arm64" }, "sha512-WktoKw4Cb0bII5JmPZ0T/EnxnAap3v0Iy0jD0tSLOWzQTLv840ZpjvxDf/Mfx6lL2S1YvxdpgWrqhivIRvRSZA=="], - "@bastani/atomic-natives-linux-arm64-musl": ["@bastani/atomic-natives-linux-arm64-musl@0.9.33", "", { "os": "linux", "cpu": "arm64" }, "sha512-It2iR7pn8McDMnXYffKIXEay0gYSHep/HaWYGw7bgkovuDv2q/RrOIJJWRM6saJUWwC5QsspSodzo7DqzdANjA=="], + "@bastani/atomic-natives-linux-arm64-musl": ["@bastani/atomic-natives-linux-arm64-musl@0.9.34", "", { "os": "linux", "cpu": "arm64" }, "sha512-dqj0roP9jjPTk/6+YMRwju3mV9bTOgVI7YTbefGLFLtFmCC7iy1o1OIZrPewdNWnsVAJ++GTXnEjyqMADJGZNA=="], - "@bastani/atomic-natives-linux-x64-gnu": ["@bastani/atomic-natives-linux-x64-gnu@0.9.33", "", { "os": "linux", "cpu": "x64" }, "sha512-Kmt82QVo2fIIoA6BZJjHGB53wnSOd8IpSLDDw9UZ+ghqpOTAx7z1yFP71fJd9aKd8R5xf++vzghXNHJVubrFlg=="], + "@bastani/atomic-natives-linux-x64-gnu": ["@bastani/atomic-natives-linux-x64-gnu@0.9.34", "", { "os": "linux", "cpu": "x64" }, "sha512-k0Hc8lLhWSB6eTxRHjpbC7Bi/+ELkzbkcePZoHK6FTqEYZpZ5oTsj6tSQmdKDv1jsN5CGOR0eN05ak0xyPGC2w=="], - "@bastani/atomic-natives-linux-x64-musl": ["@bastani/atomic-natives-linux-x64-musl@0.9.33", "", { "os": "linux", "cpu": "x64" }, "sha512-hxvkVI1NQ7FN6Jc6MwRB8lySFEgweFruGMQSFZjNQsLB2ak/oUziM1dVltHFa7pZndVmsyQydlmUkh+Vwfhs+w=="], + "@bastani/atomic-natives-linux-x64-musl": ["@bastani/atomic-natives-linux-x64-musl@0.9.34", "", { "os": "linux", "cpu": "x64" }, "sha512-kqRgCNOVIZQGCjfS/Mafuo2bquGc06jGElr/cQCQP4R+gljhEvaET+tizGi+T9kwn9k4CWqkCe1EMkrf3wBq1w=="], - "@bastani/atomic-natives-win32-arm64-msvc": ["@bastani/atomic-natives-win32-arm64-msvc@0.9.33", "", { "os": "win32", "cpu": "arm64" }, "sha512-E2Uq2P09QJLqLppVq5GaT7nPPIkjS0qUTao3urtJtgBhWTBxdzwLQwMf6yw2IkE7b53G2yLOcouokALa5L1INg=="], + "@bastani/atomic-natives-win32-arm64-msvc": ["@bastani/atomic-natives-win32-arm64-msvc@0.9.34", "", { "os": "win32", "cpu": "arm64" }, "sha512-fPc5wGzFpbr+qn4BCMy//GeCxtUJu22M9Uj+kAy57CUheUcYKCQZSTB4m6MCcxF0qEGaQLNxAJUP/Kczn9F5xg=="], - "@bastani/atomic-natives-win32-x64-msvc": ["@bastani/atomic-natives-win32-x64-msvc@0.9.33", "", { "os": "win32", "cpu": "x64" }, "sha512-zPkqUlj37eh+bwzWv5iv3kYvILM7tSSk9yQ0keuKhZ99qWKvaERuHKafoVp5SrU78cpTByPm9NaCLiC3gFRAog=="], + "@bastani/atomic-natives-win32-x64-msvc": ["@bastani/atomic-natives-win32-x64-msvc@0.9.34", "", { "os": "win32", "cpu": "x64" }, "sha512-ptgXmCIvJ62a9rD1MW41MAA5kQsHxlsweRe7Qpl6S+OlM6rYfvHZ+E2sOm2TRrQln9XnRWVl2IDHNJ53LD2qjQ=="], - "@bastani/pi-ai": ["@bastani/pi-ai@0.9.33", "", { "dependencies": { "@anthropic-ai/sdk": "0.129.0", "@aws-sdk/client-bedrock-runtime": "3.1127.0", "@earendil-works/pi-telemetry": "1.1.0", "@google/genai": "2.21.0", "@smithy/node-http-handler": "4.12.1", "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-SbsqWLi68y/Dh8C3jUVcjH5TULAP4yzNiuLRO1okuUpm03TixTJOxxbRKd9R2KRlyQvEoaYbbniC6/kT3eFpSg=="], + "@bastani/pi-ai": ["@bastani/pi-ai@0.9.34", "", { "dependencies": { "@anthropic-ai/sdk": "0.129.0", "@aws-sdk/client-bedrock-runtime": "3.1127.0", "@earendil-works/pi-telemetry": "1.1.0", "@google/genai": "2.21.0", "@smithy/node-http-handler": "4.12.1", "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-BT1FL4mtQY30ZohQJxUVnxm0Zrwv31TrQHHj7fL31QiuD9YFmQVp4YuMeyHYUz9Nd2Z0vWHWlcri15fEMkYHiQ=="], "@borewit/text-codec": ["@borewit/text-codec@0.2.2", "", {}, "sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ=="], diff --git a/docs/self-hosting.md b/docs/self-hosting.md index 62da78f2c..6c31d706e 100644 --- a/docs/self-hosting.md +++ b/docs/self-hosting.md @@ -116,7 +116,7 @@ it. The Pi contract suite (`apps/server/src/harness/pi.contract.test.ts`) covers this against the real Pi agent loop; run it before bumping `@ai-sdk/harness-pi` or `@earendil-works/pi-coding-agent`. -`HARNESS=atomic` runs Atomic 0.9.33 in the Chopin server process through its +`HARNESS=atomic` runs Atomic 0.9.34 in the Chopin server process through its headless SDK (`createAgentSession()`). It does not spawn the `atomic` CLI, use RPC mode, or substitute Atomic for Pi's runtime. diff --git a/package.json b/package.json index 5ebb91e30..176c9219b 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "@ai-sdk/harness-pi": "1.0.148", "@ai-sdk/mcp": "2.0.72", "@ai-sdk/sandbox-just-bash": "1.0.146", - "@bastani/atomic": "0.9.33", + "@bastani/atomic": "0.9.34", "@earendil-works/pi-coding-agent": "0.85.1", "ai": "7.0.135", "typebox": "1.3.7",