diff --git a/bun.lock b/bun.lock index 0874eae83..b36716b74 100644 --- a/bun.lock +++ b/bun.lock @@ -315,7 +315,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.44", + "@bastani/atomic": "0.9.45", "ai": "7.0.135", "typebox": "1.3.7", "zod": "4.4.3", @@ -456,27 +456,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.44", "", { "dependencies": { "@bastani/atomic-natives": "0.9.44", "@bastani/pi-ai": "0.9.44", "@earendil-works/pi-agent-core": "1.4.0", "@earendil-works/pi-codemode": "1.4.0", "@earendil-works/pi-tui": "1.4.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.7.0", "brace-expansion": "5.0.12", "chalk": "6.0.0", "cross-spawn": "7.0.6", "diff": "8.0.4", "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", "proper-lockfile": "4.1.2", "quickjs-wasi": "3.6.2", "semver": "7.8.5", "turndown": "^7.2.0", "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-+djpJFpwapmahpi0azu0P3upWx1Ho1ZvxRw05vqQCqhZGtp2mHu+ADYjkUweAzKUsG8NCtCIg6WFt+V6lcqG6g=="], + "@bastani/atomic": ["@bastani/atomic@0.9.45", "", { "dependencies": { "@bastani/atomic-natives": "0.9.45", "@bastani/pi-ai": "0.9.45", "@earendil-works/pi-agent-core": "1.4.0", "@earendil-works/pi-codemode": "1.4.0", "@earendil-works/pi-tui": "1.4.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.7.0", "brace-expansion": "5.0.12", "chalk": "6.0.0", "cross-spawn": "7.0.6", "diff": "8.0.4", "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", "proper-lockfile": "4.1.2", "quickjs-wasi": "3.6.2", "semver": "7.8.5", "turndown": "^7.2.0", "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-zCGm9eQS7+xXjsWfTOiPMUGFfCVlQlRBYTONDVkmegsrpLOgcPxUlQl7Uc0N1/LNo4RXGl1pq7V6t49K/Lxqxg=="], - "@bastani/atomic-natives": ["@bastani/atomic-natives@0.9.44", "", { "optionalDependencies": { "@bastani/atomic-natives-darwin-arm64": "0.9.44", "@bastani/atomic-natives-darwin-x64": "0.9.44", "@bastani/atomic-natives-linux-arm64-gnu": "0.9.44", "@bastani/atomic-natives-linux-arm64-musl": "0.9.44", "@bastani/atomic-natives-linux-x64-gnu": "0.9.44", "@bastani/atomic-natives-linux-x64-musl": "0.9.44", "@bastani/atomic-natives-win32-arm64-msvc": "0.9.44", "@bastani/atomic-natives-win32-x64-msvc": "0.9.44" } }, "sha512-SAsOiJt1jdh5DtVa7mkyyhVWqWzWyWzhQU+RLzDX9xKz5jg8bMj7jCuVJcdQerRO7XR+uyB5B6ZnR0b2XveFRQ=="], + "@bastani/atomic-natives": ["@bastani/atomic-natives@0.9.45", "", { "optionalDependencies": { "@bastani/atomic-natives-darwin-arm64": "0.9.45", "@bastani/atomic-natives-darwin-x64": "0.9.45", "@bastani/atomic-natives-linux-arm64-gnu": "0.9.45", "@bastani/atomic-natives-linux-arm64-musl": "0.9.45", "@bastani/atomic-natives-linux-x64-gnu": "0.9.45", "@bastani/atomic-natives-linux-x64-musl": "0.9.45", "@bastani/atomic-natives-win32-arm64-msvc": "0.9.45", "@bastani/atomic-natives-win32-x64-msvc": "0.9.45" } }, "sha512-FQYWd/tqZvjrh9xURWkBCgL51LTRTgvEa+86j4WbrfaCz3U7Ffq1VFhM+pi5Qn2rd6ZRMQn/Vy0osZPT6VNbLQ=="], - "@bastani/atomic-natives-darwin-arm64": ["@bastani/atomic-natives-darwin-arm64@0.9.44", "", { "os": "darwin", "cpu": "arm64" }, "sha512-JOeo8W0wB7EH/Kt5wJK+07gBwIMnnnJ8XhS6NVH0QylSkEMQjDKY3N3z+1QZaqzeArr4Uu/aM8bykDOFCd4BXw=="], + "@bastani/atomic-natives-darwin-arm64": ["@bastani/atomic-natives-darwin-arm64@0.9.45", "", { "os": "darwin", "cpu": "arm64" }, "sha512-WNwEZ1/esCO5+eyIcvlX3dcdpyqvguGjLu2N04ecxoHkefyADGjDPx4xiHlVyrpZ+ygIQS8MCvf42b+iBgvT7w=="], - "@bastani/atomic-natives-darwin-x64": ["@bastani/atomic-natives-darwin-x64@0.9.44", "", { "os": "darwin", "cpu": "x64" }, "sha512-CnZxuPzMYfNMWApzY8GHfhlY17lRVcNBkUEh2Ymf70xIZgxv6XE5LAfF1P2ibIn+SuFtpZnjv2UXZADo25+qoQ=="], + "@bastani/atomic-natives-darwin-x64": ["@bastani/atomic-natives-darwin-x64@0.9.45", "", { "os": "darwin", "cpu": "x64" }, "sha512-aYZT5pYiuYdDUTtBrCOGYIcbQSKBS+4zp3kjXPBZfCr+CC6Un4EF399wo2khxI+fmNHzi09djyaQMhzTs46GyQ=="], - "@bastani/atomic-natives-linux-arm64-gnu": ["@bastani/atomic-natives-linux-arm64-gnu@0.9.44", "", { "os": "linux", "cpu": "arm64", "libc": "glibc" }, "sha512-DLiruji4I/ZgNpDVyrGf8lsauaOLahFZezBFCqh/JpWPt+lyGl7U/S+QCBYziXeXk/86uEdYWJ8uBr6xWjJa0g=="], + "@bastani/atomic-natives-linux-arm64-gnu": ["@bastani/atomic-natives-linux-arm64-gnu@0.9.45", "", { "os": "linux", "cpu": "arm64", "libc": "glibc" }, "sha512-FAs/t8KKBV8vHibbMtRvNLaOwnQPUO0rNPxSxpKynp4Qja34Ou+JYoKsrYsEesoMi+yPhcDTe2EyXsocBJ6bAg=="], - "@bastani/atomic-natives-linux-arm64-musl": ["@bastani/atomic-natives-linux-arm64-musl@0.9.44", "", { "os": "linux", "cpu": "arm64", "libc": "musl" }, "sha512-+UYmuRO7+Rf/vc8wvdjXxy9uu2MEYno+5q38nU8PC7e56PTGFucPQVY45zPNBiBI+2DkTdsGz9+5Iw+8kRGY5g=="], + "@bastani/atomic-natives-linux-arm64-musl": ["@bastani/atomic-natives-linux-arm64-musl@0.9.45", "", { "os": "linux", "cpu": "arm64", "libc": "musl" }, "sha512-xBUgIGYbZ9XlfO6CqultfRwmAZF5dd3GLIAXQJUw8Xx8pU6jm2XnBR8r8fGflx1LwR9HMcAbSR09lXZ15HwjVQ=="], - "@bastani/atomic-natives-linux-x64-gnu": ["@bastani/atomic-natives-linux-x64-gnu@0.9.44", "", { "os": "linux", "cpu": "x64", "libc": "glibc" }, "sha512-+tKW1fiqP3ORV2FAYvuo5KGY8B+j0hCjZ/uCvbwdvP40osxZ8F+wyrdUaaKL5L5ePo7GBoFoWQnSZfCVzJQd0A=="], + "@bastani/atomic-natives-linux-x64-gnu": ["@bastani/atomic-natives-linux-x64-gnu@0.9.45", "", { "os": "linux", "cpu": "x64", "libc": "glibc" }, "sha512-r84HLGuEUcl+x9PpzYxdSzxr4xJyeSHGXkLGJr4kN0+OKrAbNQFt1Sdtf6AXn5PYefrNHwveO42Mo5UY3guFQw=="], - "@bastani/atomic-natives-linux-x64-musl": ["@bastani/atomic-natives-linux-x64-musl@0.9.44", "", { "os": "linux", "cpu": "x64", "libc": "musl" }, "sha512-FW7jvmV3MPMa8QqXFhX/XeDAmX/Gak7N+OH/RFgqLATWT4mfnIwxkVSplFpdvyzDZtRmnpqx10Fh2p2suwDenA=="], + "@bastani/atomic-natives-linux-x64-musl": ["@bastani/atomic-natives-linux-x64-musl@0.9.45", "", { "os": "linux", "cpu": "x64", "libc": "musl" }, "sha512-WEox1R5mskF8o6+Ilg9Ir03pcbqR+upWvHKaspr1h4RdmfZBI1S7NMJw+MDmp7wGe4edN56EK5S+XEh460UmPQ=="], - "@bastani/atomic-natives-win32-arm64-msvc": ["@bastani/atomic-natives-win32-arm64-msvc@0.9.44", "", { "os": "win32", "cpu": "arm64" }, "sha512-nfX6hVxQFbyoPZK0n3YcHZOBXFzEK/RdPLJTmGiHOkBIyB6wGqgX1FvXHyAATkn/K8FKp5VVoDlvIRrcfWoffA=="], + "@bastani/atomic-natives-win32-arm64-msvc": ["@bastani/atomic-natives-win32-arm64-msvc@0.9.45", "", { "os": "win32", "cpu": "arm64" }, "sha512-x4Nj9Vvmw0wV00h9zGvbkXUt3pOjNFOsPoVwZDRRiWRftiDNa0P30OHd/TKwA28tDF0AbDUOjP+SGuJhmt0mog=="], - "@bastani/atomic-natives-win32-x64-msvc": ["@bastani/atomic-natives-win32-x64-msvc@0.9.44", "", { "os": "win32", "cpu": "x64" }, "sha512-F3w02hmhwWDxaOr/jYWBzsUMjTEdEA9gjhsM3g2Hn+Nr0wYyrzrzBbA+TIGtV1KaK0COrs0OYEQTQLMU7zAbQw=="], + "@bastani/atomic-natives-win32-x64-msvc": ["@bastani/atomic-natives-win32-x64-msvc@0.9.45", "", { "os": "win32", "cpu": "x64" }, "sha512-gaNeZqBKgN7zrfRRPrG2XCPyravfwr9/B/WTot0S39uBcJqXscQH6WVXW7ldiVNU8GdtJXH+ikOsJ94Dz6eYUQ=="], - "@bastani/pi-ai": ["@bastani/pi-ai@0.9.44", "", { "dependencies": { "@anthropic-ai/sdk": "0.129.0", "@aws-sdk/client-bedrock-runtime": "3.1127.0", "@earendil-works/pi-telemetry": "1.4.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-ZokOT6jdtax/lI9sIrsJO/Cf1XucR5Q0Yg5Of2wg7YHzA4GuB9WM/GI1y7yaNC+n9p6I1E79Oa4+sUGr2qTMEg=="], + "@bastani/pi-ai": ["@bastani/pi-ai@0.9.45", "", { "dependencies": { "@anthropic-ai/sdk": "0.129.0", "@aws-sdk/client-bedrock-runtime": "3.1127.0", "@earendil-works/pi-telemetry": "1.4.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-kgdkQdmCru3edq7x+bGK5TomRQpqoPuDeKknKmujimbzm6Xk9p52fMbrqZgJ0qJYs/tqRjELmttJyfxGdsi+Sg=="], "@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 2799e843b..60f4d9855 100644 --- a/docs/self-hosting.md +++ b/docs/self-hosting.md @@ -75,7 +75,7 @@ each owner's GitHub App user token and does not consume `HARNESS_AUTH`; setting `auto` on loopback passes the startup guard but does not enable host login in that adapter. -`HARNESS=atomic` runs Atomic 0.9.44 in the Chopin server process through its +`HARNESS=atomic` runs Atomic 0.9.45 in the Chopin server process through its headless SDK (`createAgentSession()`). It does not spawn the `atomic` CLI or use RPC mode. @@ -178,7 +178,14 @@ Atomic caveats: replayed on a new worker, up to three attempts; after that the run fails and its card in Chat says so. The settings `workflows.localWorkers.startupTimeoutMs` and `leaseMs` set how long a worker may take to start and how long an - unresponsive one keeps its child. + unresponsive one keeps its child; Chopin sets neither. A pool runs children + once one worker is ready and fails to start only when none is. Since Atomic + 0.9.45 an unset `startupTimeoutMs` is no longer a flat 30 seconds: it is 30 + seconds times the worker count plus the one-minute load average, divided by + the CPU cores, at least 30 seconds and at most 10 minutes, so a large pool on + a busy Chopin host waits longer. A run whose workers still miss it fails with + `Local worker startup timed out`, and its card in Chat says so; raise the + setting or use fewer workers. - Since Atomic 0.9.44 a workflow runs up to 1000 of its stages at once unless it says otherwise (`defaultConcurrency`, 3 before), nests child workflows at most three levels deep (`maxDepth`, 4 before), and a stage's `subagent` tool diff --git a/package.json b/package.json index 53fb94d69..9053e96f3 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.44", + "@bastani/atomic": "0.9.45", "ai": "7.0.135", "typebox": "1.3.7", "zod": "4.4.3"