@bastani/atomic 0.9.18 → 0.9.19-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +206 -0
- package/README.md +2 -2
- package/dist/builtin/intercom/CHANGELOG.md +51 -0
- package/dist/builtin/intercom/README.md +28 -18
- package/dist/builtin/intercom/broker/broker.ts +81 -9
- package/dist/builtin/intercom/broker/client.ts +45 -1
- package/dist/builtin/intercom/broker/framing.ts +5 -2
- package/dist/builtin/intercom/broker/group-membership.ts +4 -2
- package/dist/builtin/intercom/broker/presence-handler.ts +14 -0
- package/dist/builtin/intercom/broker/send-handler.ts +61 -6
- package/dist/builtin/intercom/broker/terminal-questions.ts +29 -0
- package/dist/builtin/intercom/index.bundle.mjs +1120 -783
- package/dist/builtin/intercom/package.json +2 -2
- package/dist/builtin/intercom/recipient-purpose.ts +9 -0
- package/dist/builtin/intercom/recoverable-disconnect.ts +2 -3
- package/dist/builtin/intercom/retry-policy.ts +4 -2
- package/dist/builtin/intercom/skills/intercom/SKILL.md +8 -7
- package/dist/builtin/intercom/types.ts +18 -3
- package/dist/builtin/mcp/CHANGELOG.md +6 -0
- package/dist/builtin/mcp/README.md +2 -0
- package/dist/builtin/mcp/index.bundle.mjs +2201 -12000
- package/dist/builtin/mcp/package.json +2 -2
- package/dist/builtin/subagents/CHANGELOG.md +57 -0
- package/dist/builtin/subagents/README.md +46 -23
- package/dist/builtin/subagents/agents/code-simplifier.md +1 -1
- package/dist/builtin/subagents/agents/codebase-analyzer.md +1 -1
- package/dist/builtin/subagents/agents/codebase-locator.md +2 -2
- package/dist/builtin/subagents/agents/codebase-online-researcher.md +8 -8
- package/dist/builtin/subagents/agents/codebase-pattern-finder.md +2 -2
- package/dist/builtin/subagents/agents/codebase-research-analyzer.md +1 -1
- package/dist/builtin/subagents/agents/codebase-research-locator.md +2 -2
- package/dist/builtin/subagents/agents/debugger.md +2 -2
- package/dist/builtin/subagents/agents/worker.md +1 -1
- package/dist/builtin/subagents/package.json +2 -2
- package/dist/builtin/subagents/skills/herdr/LICENSE +201 -0
- package/dist/builtin/subagents/skills/herdr/SKILL.md +202 -0
- package/dist/builtin/subagents/skills/subagent/SKILL.md +41 -35
- package/dist/builtin/subagents/skills/tmux/SKILL.md +1 -1
- package/dist/builtin/subagents/src/extension/index.bundle.mjs +1414 -656
- package/dist/builtin/web-access/CHANGELOG.md +19 -0
- package/dist/builtin/web-access/README.md +31 -24
- package/dist/builtin/web-access/index.bundle.mjs +42723 -26674
- package/dist/builtin/web-access/package.json +3 -2
- package/dist/builtin/workflows/CHANGELOG.md +131 -0
- package/dist/builtin/workflows/README.md +15 -16
- package/dist/builtin/workflows/builtin/adversarial-verification.js +5 -7
- package/dist/builtin/workflows/builtin/{chunk-hqpe2cyx.js → chunk-1jth021m.js} +85 -85
- package/dist/builtin/workflows/builtin/{chunk-7430zyas.js → chunk-2377r57g.js} +5 -3
- package/dist/builtin/workflows/builtin/{chunk-79fjkcvh.js → chunk-31j2gs7h.js} +18 -18
- package/dist/builtin/workflows/builtin/{chunk-wgccch41.js → chunk-6w6cvk6b.js} +16 -16
- package/dist/builtin/workflows/builtin/{chunk-zbekjqew.js → chunk-a2kdsqn8.js} +4 -4
- package/dist/builtin/workflows/builtin/{chunk-ze5x3d1r.js → chunk-fg9esgkj.js} +7 -7
- package/dist/builtin/workflows/builtin/{chunk-n8h4yyew.js → chunk-g0csgs7w.js} +11 -11
- package/dist/builtin/workflows/builtin/{chunk-b0v2xab1.js → chunk-ngkqkzej.js} +221 -23
- package/dist/builtin/workflows/builtin/{chunk-ed4jfn5t.js → chunk-nkrafh9s.js} +61 -61
- package/dist/builtin/workflows/builtin/{chunk-reqr3sr3.js → chunk-wf741bv3.js} +22 -22
- package/dist/builtin/workflows/builtin/{chunk-42s7sw0b.js → chunk-yeee2jrc.js} +19 -19
- package/dist/builtin/workflows/builtin/{chunk-6fqs7c01.js → chunk-z0d03ktm.js} +1 -1
- package/dist/builtin/workflows/builtin/{chunk-k3w87x8y.js → chunk-z29qbehr.js} +10 -10
- package/dist/builtin/workflows/builtin/classify-and-act.js +5 -6
- package/dist/builtin/workflows/builtin/fan-out-and-synthesize.js +3 -4
- package/dist/builtin/workflows/builtin/generate-and-filter.js +5 -6
- package/dist/builtin/workflows/builtin/goal.js +7 -8
- package/dist/builtin/workflows/builtin/index.js +20 -22
- package/dist/builtin/workflows/builtin/loop-until-done.js +5 -6
- package/dist/builtin/workflows/builtin/open-claude-design.js +3 -3
- package/dist/builtin/workflows/builtin/ralph.js +7 -8
- package/dist/builtin/workflows/builtin/steering-context.js +3 -3
- package/dist/builtin/workflows/builtin/tournament.js +5 -7
- package/dist/builtin/workflows/package.json +6 -6
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +57318 -25709
- package/dist/builtin/workflows/src/index.js +1413 -589
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +4 -1
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +1 -1
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/startup-ui.d.ts +1 -1
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-auto-compaction.js +6 -5
- package/dist/core/agent-session-auto-compaction.js.map +1 -1
- package/dist/core/agent-session-bash.d.ts +1 -1
- package/dist/core/agent-session-bash.d.ts.map +1 -1
- package/dist/core/agent-session-bash.js +5 -1
- package/dist/core/agent-session-bash.js.map +1 -1
- package/dist/core/agent-session-compaction.d.ts +1 -1
- package/dist/core/agent-session-compaction.js +1 -1
- package/dist/core/agent-session-compaction.js.map +1 -1
- package/dist/core/agent-session-custom-message-commit.d.ts +1 -1
- package/dist/core/agent-session-custom-message-commit.d.ts.map +1 -1
- package/dist/core/agent-session-custom-message-commit.js +33 -2
- package/dist/core/agent-session-custom-message-commit.js.map +1 -1
- package/dist/core/agent-session-delivery-forwarding.d.ts +1 -1
- package/dist/core/agent-session-delivery-forwarding.js.map +1 -1
- package/dist/core/agent-session-events.d.ts.map +1 -1
- package/dist/core/agent-session-events.js +5 -0
- package/dist/core/agent-session-events.js.map +1 -1
- package/dist/core/agent-session-export.d.ts +1 -1
- package/dist/core/agent-session-export.js.map +1 -1
- package/dist/core/agent-session-extension-bindings.d.ts +8 -1
- package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
- package/dist/core/agent-session-extension-bindings.js +45 -3
- package/dist/core/agent-session-extension-bindings.js.map +1 -1
- package/dist/core/agent-session-message-queue.d.ts +2 -2
- package/dist/core/agent-session-message-queue.d.ts.map +1 -1
- package/dist/core/agent-session-message-queue.js +22 -8
- package/dist/core/agent-session-message-queue.js.map +1 -1
- package/dist/core/agent-session-methods.d.ts +21 -8
- package/dist/core/agent-session-methods.d.ts.map +1 -1
- package/dist/core/agent-session-methods.js.map +1 -1
- package/dist/core/agent-session-persistent-custom-messages.d.ts +1 -1
- package/dist/core/agent-session-persistent-custom-messages.d.ts.map +1 -1
- package/dist/core/agent-session-persistent-custom-messages.js +13 -3
- package/dist/core/agent-session-persistent-custom-messages.js.map +1 -1
- package/dist/core/agent-session-post-tool-compaction.js +1 -1
- package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
- package/dist/core/agent-session-prompt.d.ts +2 -2
- package/dist/core/agent-session-prompt.d.ts.map +1 -1
- package/dist/core/agent-session-prompt.js +105 -18
- package/dist/core/agent-session-prompt.js.map +1 -1
- package/dist/core/agent-session-queue-pause.d.ts.map +1 -1
- package/dist/core/agent-session-queue-pause.js +11 -0
- package/dist/core/agent-session-queue-pause.js.map +1 -1
- package/dist/core/agent-session-runtime-auth.d.ts +1 -1
- package/dist/core/agent-session-runtime-auth.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts +13 -4
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +27 -4
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +5 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +44 -34
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session-state.d.ts +1 -1
- package/dist/core/agent-session-state.js.map +1 -1
- package/dist/core/agent-session-tasks.d.ts +14 -0
- package/dist/core/agent-session-tasks.d.ts.map +1 -0
- package/dist/core/agent-session-tasks.js +120 -0
- package/dist/core/agent-session-tasks.js.map +1 -0
- package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
- package/dist/core/agent-session-tool-hooks.js +2 -0
- package/dist/core/agent-session-tool-hooks.js.map +1 -1
- package/dist/core/agent-session-tool-registry.d.ts +1 -0
- package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
- package/dist/core/agent-session-tool-registry.js +52 -5
- package/dist/core/agent-session-tool-registry.js.map +1 -1
- package/dist/core/agent-session-transfer.d.ts.map +1 -1
- package/dist/core/agent-session-transfer.js +7 -0
- package/dist/core/agent-session-transfer.js.map +1 -1
- package/dist/core/agent-session-tree.d.ts.map +1 -1
- package/dist/core/agent-session-tree.js +3 -0
- package/dist/core/agent-session-tree.js.map +1 -1
- package/dist/core/agent-session-types.d.ts +4 -2
- package/dist/core/agent-session-types.d.ts.map +1 -1
- package/dist/core/agent-session-types.js +2 -0
- package/dist/core/agent-session-types.js.map +1 -1
- package/dist/core/agent-session.d.ts +8 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +29 -1
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/bash-executor.d.ts +1 -1
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/tool-renderer.d.ts +1 -1
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/extension-session-state.js.map +1 -1
- package/dist/core/extensions/agent-events.d.ts +4 -4
- package/dist/core/extensions/agent-events.d.ts.map +1 -1
- package/dist/core/extensions/agent-events.js.map +1 -1
- package/dist/core/extensions/api-types.d.ts +10 -2
- package/dist/core/extensions/api-types.d.ts.map +1 -1
- package/dist/core/extensions/api-types.js.map +1 -1
- package/dist/core/extensions/context-types.d.ts +15 -0
- package/dist/core/extensions/context-types.d.ts.map +1 -1
- package/dist/core/extensions/context-types.js.map +1 -1
- package/dist/core/extensions/event-results.d.ts +1 -1
- package/dist/core/extensions/event-results.js.map +1 -1
- package/dist/core/extensions/event-types.d.ts +2 -1
- package/dist/core/extensions/event-types.d.ts.map +1 -1
- package/dist/core/extensions/event-types.js.map +1 -1
- package/dist/core/extensions/index.d.ts +3 -2
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader-api.d.ts +1 -1
- package/dist/core/extensions/loader-api.d.ts.map +1 -1
- package/dist/core/extensions/loader-api.js +10 -0
- package/dist/core/extensions/loader-api.js.map +1 -1
- package/dist/core/extensions/loader-core.d.ts +1 -1
- package/dist/core/extensions/loader-core.js.map +1 -1
- package/dist/core/extensions/loader-discovery.d.ts +1 -1
- package/dist/core/extensions/loader-discovery.js.map +1 -1
- package/dist/core/extensions/loader-host-modules.d.ts +1 -1
- package/dist/core/extensions/loader-host-modules.d.ts.map +1 -1
- package/dist/core/extensions/loader-host-modules.js +5 -2
- package/dist/core/extensions/loader-host-modules.js.map +1 -1
- package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
- package/dist/core/extensions/loader-runtime.js +3 -0
- package/dist/core/extensions/loader-runtime.js.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.js +6 -1
- package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +1 -1
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/message-types.d.ts +1 -1
- package/dist/core/extensions/message-types.js.map +1 -1
- package/dist/core/extensions/reactive-widget.d.ts +6 -0
- package/dist/core/extensions/reactive-widget.d.ts.map +1 -1
- package/dist/core/extensions/reactive-widget.js +7 -1
- package/dist/core/extensions/reactive-widget.js.map +1 -1
- package/dist/core/extensions/runner-context.d.ts +12 -2
- package/dist/core/extensions/runner-context.d.ts.map +1 -1
- package/dist/core/extensions/runner-context.js +49 -4
- package/dist/core/extensions/runner-context.js.map +1 -1
- package/dist/core/extensions/runner-events.d.ts +1 -1
- package/dist/core/extensions/runner-events.d.ts.map +1 -1
- package/dist/core/extensions/runner-events.js +17 -2
- package/dist/core/extensions/runner-events.js.map +1 -1
- package/dist/core/extensions/runner-shortcuts.d.ts.map +1 -1
- package/dist/core/extensions/runner-shortcuts.js +32 -3
- package/dist/core/extensions/runner-shortcuts.js.map +1 -1
- package/dist/core/extensions/runner-ui.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +17 -2
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +69 -19
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/runtime-types.d.ts +8 -1
- package/dist/core/extensions/runtime-types.d.ts.map +1 -1
- package/dist/core/extensions/runtime-types.js.map +1 -1
- package/dist/core/extensions/tool-types.d.ts +1 -1
- package/dist/core/extensions/tool-types.js.map +1 -1
- package/dist/core/extensions/types.d.ts +1 -0
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/ui-types.d.ts +25 -1
- package/dist/core/extensions/ui-types.d.ts.map +1 -1
- package/dist/core/extensions/ui-types.js.map +1 -1
- package/dist/core/extensions/workflow-activity-hub.d.ts +25 -0
- package/dist/core/extensions/workflow-activity-hub.d.ts.map +1 -0
- package/dist/core/extensions/workflow-activity-hub.js +183 -0
- package/dist/core/extensions/workflow-activity-hub.js.map +1 -0
- package/dist/core/extensions/workflow-events.d.ts +118 -0
- package/dist/core/extensions/workflow-events.d.ts.map +1 -0
- package/dist/core/extensions/workflow-events.js +2 -0
- package/dist/core/extensions/workflow-events.js.map +1 -0
- package/dist/core/footer-data-provider.d.ts +8 -4
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +97 -11
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/index.d.ts +3 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/keybinding-identity.d.ts +4 -0
- package/dist/core/keybinding-identity.d.ts.map +1 -0
- package/dist/core/keybinding-identity.js +10 -0
- package/dist/core/keybinding-identity.js.map +1 -0
- package/dist/core/keybindings.d.ts +37 -2
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +9 -2
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/mandatory-runtime-tools.d.ts +1 -1
- package/dist/core/mandatory-runtime-tools.js.map +1 -1
- package/dist/core/model-fallback-failures.js +2 -2
- package/dist/core/model-fallback-failures.js.map +1 -1
- package/dist/core/model-registry.d.ts +5 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +8 -0
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver-defaults.js +1 -1
- package/dist/core/model-resolver-defaults.js.map +1 -1
- package/dist/core/resource-loader-assets.js.map +1 -1
- package/dist/core/resource-loader-core.d.ts +1 -1
- package/dist/core/resource-loader-core.js.map +1 -1
- package/dist/core/resource-loader-internals.d.ts +2 -2
- package/dist/core/resource-loader-internals.js.map +1 -1
- package/dist/core/resource-loader-reload.d.ts +2 -0
- package/dist/core/resource-loader-reload.d.ts.map +1 -1
- package/dist/core/resource-loader-reload.js +231 -191
- package/dist/core/resource-loader-reload.js.map +1 -1
- package/dist/core/resource-loader-types.d.ts +4 -2
- package/dist/core/resource-loader-types.d.ts.map +1 -1
- package/dist/core/resource-loader-types.js.map +1 -1
- package/dist/core/retry-policy.d.ts +1 -0
- package/dist/core/retry-policy.d.ts.map +1 -1
- package/dist/core/retry-policy.js +2 -1
- package/dist/core/retry-policy.js.map +1 -1
- package/dist/core/sdk-exports.d.ts +3 -3
- package/dist/core/sdk-exports.d.ts.map +1 -1
- package/dist/core/sdk-exports.js +1 -1
- package/dist/core/sdk-exports.js.map +1 -1
- package/dist/core/sdk-types.d.ts +2 -2
- package/dist/core/sdk-types.js.map +1 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/settings-manager-basic-accessors.d.ts +6 -3
- package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-basic-accessors.js +25 -8
- package/dist/core/settings-manager-basic-accessors.js.map +1 -1
- package/dist/core/settings-manager-core.d.ts.map +1 -1
- package/dist/core/settings-manager-core.js +10 -4
- package/dist/core/settings-manager-core.js.map +1 -1
- package/dist/core/settings-manager.d.ts +1 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/settings-storage.d.ts +1 -0
- package/dist/core/settings-storage.d.ts.map +1 -1
- package/dist/core/settings-storage.js +18 -0
- package/dist/core/settings-storage.js.map +1 -1
- package/dist/core/settings-types.d.ts +17 -0
- package/dist/core/settings-types.d.ts.map +1 -1
- package/dist/core/settings-types.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +6 -5
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +5 -6
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tasks/agent-adapter.d.ts +44 -0
- package/dist/core/tasks/agent-adapter.d.ts.map +1 -0
- package/dist/core/tasks/agent-adapter.js +112 -0
- package/dist/core/tasks/agent-adapter.js.map +1 -0
- package/dist/core/tasks/command-output.d.ts +15 -0
- package/dist/core/tasks/command-output.d.ts.map +1 -0
- package/dist/core/tasks/command-output.js +29 -0
- package/dist/core/tasks/command-output.js.map +1 -0
- package/dist/core/tasks/completion-ordering.d.ts +11 -0
- package/dist/core/tasks/completion-ordering.d.ts.map +1 -0
- package/dist/core/tasks/completion-ordering.js +19 -0
- package/dist/core/tasks/completion-ordering.js.map +1 -0
- package/dist/core/tasks/completion.d.ts +36 -0
- package/dist/core/tasks/completion.d.ts.map +1 -0
- package/dist/core/tasks/completion.js +119 -0
- package/dist/core/tasks/completion.js.map +1 -0
- package/dist/core/tasks/contracts.d.ts +404 -0
- package/dist/core/tasks/contracts.d.ts.map +1 -0
- package/dist/core/tasks/contracts.js +2 -0
- package/dist/core/tasks/contracts.js.map +1 -0
- package/dist/core/tasks/execution-scope.d.ts +10 -0
- package/dist/core/tasks/execution-scope.d.ts.map +1 -0
- package/dist/core/tasks/execution-scope.js +27 -0
- package/dist/core/tasks/execution-scope.js.map +1 -0
- package/dist/core/tasks/owner-store.d.ts +53 -0
- package/dist/core/tasks/owner-store.d.ts.map +1 -0
- package/dist/core/tasks/owner-store.js +155 -0
- package/dist/core/tasks/owner-store.js.map +1 -0
- package/dist/core/tasks/pause.d.ts +4 -0
- package/dist/core/tasks/pause.d.ts.map +1 -0
- package/dist/core/tasks/pause.js +49 -0
- package/dist/core/tasks/pause.js.map +1 -0
- package/dist/core/tasks/supervisor.d.ts +123 -0
- package/dist/core/tasks/supervisor.d.ts.map +1 -0
- package/dist/core/tasks/supervisor.js +942 -0
- package/dist/core/tasks/supervisor.js.map +1 -0
- package/dist/core/tasks/transcript.d.ts +23 -0
- package/dist/core/tasks/transcript.d.ts.map +1 -0
- package/dist/core/tasks/transcript.js +74 -0
- package/dist/core/tasks/transcript.js.map +1 -0
- package/dist/core/tools/ask-user-question/ask-user-question.d.ts +2 -2
- package/dist/core/tools/ask-user-question/ask-user-question.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/ask-user-question.js +8 -4
- package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts +1 -1
- package/dist/core/tools/ask-user-question/state/build-questionnaire.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts +1 -1
- package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/multi-select-view.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/components/multi-select-view.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/submit-picker.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/components/submit-picker.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/components/tab-bar.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/components/tab-bar.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/dialog-builder.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/dialog-builder.js.map +1 -1
- package/dist/core/tools/ask-user-question/view/tab-content-strategy.d.ts +1 -1
- package/dist/core/tools/ask-user-question/view/tab-content-strategy.js.map +1 -1
- package/dist/core/tools/bash-pty-native.d.ts +32 -3
- package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
- package/dist/core/tools/bash-pty-native.js +198 -1
- package/dist/core/tools/bash-pty-native.js.map +1 -1
- package/dist/core/tools/bash.d.ts +25 -5
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +100 -10
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit.d.ts +3 -0
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +92 -14
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/file-mutation-coordinator.d.ts +255 -0
- package/dist/core/tools/file-mutation-coordinator.d.ts.map +1 -0
- package/dist/core/tools/file-mutation-coordinator.js +300 -0
- package/dist/core/tools/file-mutation-coordinator.js.map +1 -0
- package/dist/core/tools/file-mutation-queue.d.ts +14 -1
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
- package/dist/core/tools/file-mutation-queue.js +15 -3
- package/dist/core/tools/file-mutation-queue.js.map +1 -1
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/hashline.d.ts +9 -0
- package/dist/core/tools/hashline.d.ts.map +1 -1
- package/dist/core/tools/hashline.js +12 -1
- package/dist/core/tools/hashline.js.map +1 -1
- package/dist/core/tools/index.d.ts +15 -4
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +79 -12
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/kill.d.ts +17 -0
- package/dist/core/tools/kill.d.ts.map +1 -0
- package/dist/core/tools/kill.js +49 -0
- package/dist/core/tools/kill.js.map +1 -0
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/non-minting-snapshot-store.d.ts +49 -0
- package/dist/core/tools/non-minting-snapshot-store.d.ts.map +1 -0
- package/dist/core/tools/non-minting-snapshot-store.js +64 -0
- package/dist/core/tools/non-minting-snapshot-store.js.map +1 -0
- package/dist/core/tools/powershell.d.ts +100 -34
- package/dist/core/tools/powershell.d.ts.map +1 -1
- package/dist/core/tools/powershell.js +41 -11
- package/dist/core/tools/powershell.js.map +1 -1
- package/dist/core/tools/read-document-extract.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +1 -2
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts +1 -1
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/resource-selectors.d.ts +1 -1
- package/dist/core/tools/resource-selectors.d.ts.map +1 -1
- package/dist/core/tools/resource-selectors.js +21 -10
- package/dist/core/tools/resource-selectors.js.map +1 -1
- package/dist/core/tools/search.js.map +1 -1
- package/dist/core/tools/todos-render.d.ts +1 -1
- package/dist/core/tools/todos-render.js.map +1 -1
- package/dist/core/tools/write.d.ts +30 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +98 -10
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/workflow-stage-admission.d.ts +24 -0
- package/dist/core/workflow-stage-admission.d.ts.map +1 -1
- package/dist/core/workflow-stage-admission.js +87 -3
- package/dist/core/workflow-stage-admission.js.map +1 -1
- package/dist/extensions/herdr/activity.d.ts +15 -0
- package/dist/extensions/herdr/activity.d.ts.map +1 -0
- package/dist/extensions/herdr/activity.js +24 -0
- package/dist/extensions/herdr/activity.js.map +1 -0
- package/dist/extensions/herdr/environment.d.ts +7 -0
- package/dist/extensions/herdr/environment.d.ts.map +1 -0
- package/dist/extensions/herdr/environment.js +6 -0
- package/dist/extensions/herdr/environment.js.map +1 -0
- package/dist/extensions/herdr/index.d.ts +9 -0
- package/dist/extensions/herdr/index.d.ts.map +1 -0
- package/dist/extensions/herdr/index.js +225 -0
- package/dist/extensions/herdr/index.js.map +1 -0
- package/dist/extensions/herdr/pane-owner.d.ts +30 -0
- package/dist/extensions/herdr/pane-owner.d.ts.map +1 -0
- package/dist/extensions/herdr/pane-owner.js +111 -0
- package/dist/extensions/herdr/pane-owner.js.map +1 -0
- package/dist/extensions/herdr/transport.d.ts +8 -0
- package/dist/extensions/herdr/transport.d.ts.map +1 -0
- package/dist/extensions/herdr/transport.js +28 -0
- package/dist/extensions/herdr/transport.js.map +1 -0
- package/dist/extensions/index.d.ts.map +1 -1
- package/dist/extensions/index.js +2 -0
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/llama/huggingface-ui.d.ts +1 -1
- package/dist/extensions/llama/huggingface-ui.js.map +1 -1
- package/dist/extensions/llama/ui.js.map +1 -1
- package/dist/index-extensions.d.ts +3 -2
- package/dist/index-extensions.d.ts.map +1 -1
- package/dist/index-extensions.js.map +1 -1
- package/dist/index.d.ts +14 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/main-session.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +149 -69
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/armin.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/atomic-banner.d.ts +1 -1
- package/dist/modes/interactive/components/atomic-banner.js.map +1 -1
- package/dist/modes/interactive/components/atomic-working-status.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/chat-message-renderer.d.ts +12 -0
- package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-message-renderer.js +44 -0
- package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-actions.d.ts +1 -1
- package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-actions.js +43 -8
- package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-editor.d.ts +1 -1
- package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-events.d.ts +2 -2
- package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.d.ts +2 -2
- package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.js +12 -3
- package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +4 -5
- package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-runtime.js +8 -6
- package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-state.d.ts +7 -2
- package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-state.js +1 -0
- package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.d.ts +1 -1
- package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-types.d.ts +8 -3
- package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-utils.d.ts +1 -1
- package/dist/modes/interactive/components/chat-session-host-utils.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-utils.js +2 -0
- package/dist/modes/interactive/components/chat-session-host-utils.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.d.ts +17 -2
- package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.js +100 -3
- package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
- package/dist/modes/interactive/components/chat-transcript.d.ts +1 -0
- package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-transcript.js +1 -1
- package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
- package/dist/modes/interactive/components/compaction-boundary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-entry.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +12 -0
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/daxnuts.js.map +1 -1
- package/dist/modes/interactive/components/diff.js.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.d.ts +1 -1
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +7 -6
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +27 -9
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/host-input-form-mount.js.map +1 -1
- package/dist/modes/interactive/components/host-input-form.d.ts +1 -1
- package/dist/modes/interactive/components/host-input-form.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +2 -2
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/mermaid.d.ts +1 -1
- package/dist/modes/interactive/components/mermaid.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/reserved-bottom-overlay.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/scroll-widget.d.ts +23 -0
- package/dist/modes/interactive/components/scroll-widget.d.ts.map +1 -0
- package/dist/modes/interactive/components/scroll-widget.js +61 -0
- package/dist/modes/interactive/components/scroll-widget.js.map +1 -0
- package/dist/modes/interactive/components/session-selector-header.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-submenus.d.ts +1 -1
- package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.d.ts +1 -1
- package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/task-completion-message.d.ts +13 -0
- package/dist/modes/interactive/components/task-completion-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-completion-message.js +65 -0
- package/dist/modes/interactive/components/task-completion-message.js.map +1 -0
- package/dist/modes/interactive/components/task-detail.d.ts +27 -0
- package/dist/modes/interactive/components/task-detail.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-detail.js +107 -0
- package/dist/modes/interactive/components/task-detail.js.map +1 -0
- package/dist/modes/interactive/components/task-inspector.d.ts +50 -0
- package/dist/modes/interactive/components/task-inspector.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-inspector.js +599 -0
- package/dist/modes/interactive/components/task-inspector.js.map +1 -0
- package/dist/modes/interactive/components/task-list.d.ts +18 -0
- package/dist/modes/interactive/components/task-list.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-list.js +59 -0
- package/dist/modes/interactive/components/task-list.js.map +1 -0
- package/dist/modes/interactive/components/task-live-transcript.d.ts +17 -0
- package/dist/modes/interactive/components/task-live-transcript.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-live-transcript.js +41 -0
- package/dist/modes/interactive/components/task-live-transcript.js.map +1 -0
- package/dist/modes/interactive/components/task-navigation.d.ts +38 -0
- package/dist/modes/interactive/components/task-navigation.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-navigation.js +93 -0
- package/dist/modes/interactive/components/task-navigation.js.map +1 -0
- package/dist/modes/interactive/components/task-row.d.ts +34 -0
- package/dist/modes/interactive/components/task-row.d.ts.map +1 -0
- package/dist/modes/interactive/components/task-row.js +165 -0
- package/dist/modes/interactive/components/task-row.js.map +1 -0
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/transcript-follow-indicator.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-component.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-content.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-help.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-label-input.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/trust-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/components/working-status.js.map +1 -1
- package/dist/modes/interactive/interactive-agent-events.js +8 -2
- package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-login.js +3 -1
- package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
- package/dist/modes/interactive/interactive-autocomplete.js +9 -30
- package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
- package/dist/modes/interactive/interactive-deferred-startup.js +2 -1
- package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-context.js +14 -4
- package/dist/modes/interactive/interactive-extension-context.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-custom-ui.js +52 -4
- package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-runtime.js +11 -3
- package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-widgets.js +9 -1
- package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.js +19 -0
- package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.d.ts +7 -1
- package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.js +10 -4
- package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-deps.d.ts +6 -6
- package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts +3 -2
- package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +3 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/interactive-process-lifecycle.js +4 -1
- package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
- package/dist/modes/interactive/interactive-render-chat.js +30 -4
- package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
- package/dist/modes/interactive/interactive-session-routing.js +33 -23
- package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-session-runtime.js +1 -0
- package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
- package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
- package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-startup.js +3 -0
- package/dist/modes/interactive/interactive-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-summarization-retry-events.js +2 -2
- package/dist/modes/interactive/interactive-summarization-retry-events.js.map +1 -1
- package/dist/modes/interactive/interactive-task-projection.d.ts +13 -0
- package/dist/modes/interactive/interactive-task-projection.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-task-projection.js +72 -0
- package/dist/modes/interactive/interactive-task-projection.js.map +1 -0
- package/dist/modes/interactive/interactive-tui.js.map +1 -1
- package/dist/modes/interactive/interactive-windows-subshell.d.ts +17 -0
- package/dist/modes/interactive/interactive-windows-subshell.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-windows-subshell.js +92 -0
- package/dist/modes/interactive/interactive-windows-subshell.js.map +1 -0
- package/dist/modes/interactive/skill-command-autocomplete.d.ts +12 -0
- package/dist/modes/interactive/skill-command-autocomplete.d.ts.map +1 -0
- package/dist/modes/interactive/skill-command-autocomplete.js +69 -0
- package/dist/modes/interactive/skill-command-autocomplete.js.map +1 -0
- package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-class.js +4 -1
- package/dist/modes/interactive/theme/theme-class.js.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts +1 -1
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive-engine/activity-watchdog.d.ts +2 -2
- package/dist/modes/interactive-engine/activity-watchdog.d.ts.map +1 -1
- package/dist/modes/interactive-engine/activity-watchdog.js.map +1 -1
- package/dist/modes/interactive-engine/create-isolated-runtime.d.ts +1 -1
- package/dist/modes/interactive-engine/create-isolated-runtime.js.map +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.d.ts +9 -10
- package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.js +29 -12
- package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
- package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts +3 -1
- package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-diagnostic-view.js +11 -0
- package/dist/modes/interactive-engine/engine-diagnostic-view.js.map +1 -1
- package/dist/modes/interactive-engine/engine-dialog-host.d.ts +2 -2
- package/dist/modes/interactive-engine/engine-dialog-host.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-dialog-host.js +4 -1
- package/dist/modes/interactive-engine/engine-dialog-host.js.map +1 -1
- package/dist/modes/interactive-engine/engine-project-trust.d.ts +10 -0
- package/dist/modes/interactive-engine/engine-project-trust.d.ts.map +1 -0
- package/dist/modes/interactive-engine/engine-project-trust.js +28 -0
- package/dist/modes/interactive-engine/engine-project-trust.js.map +1 -0
- package/dist/modes/interactive-engine/engine-render-service.d.ts +1 -1
- package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +3 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.js +7 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
- package/dist/modes/interactive-engine/input-form-host.d.ts +2 -2
- package/dist/modes/interactive-engine/input-form-host.js.map +1 -1
- package/dist/modes/interactive-engine/isolated-auth.d.ts +1 -1
- package/dist/modes/interactive-engine/isolated-auth.js.map +1 -1
- package/dist/modes/interactive-engine/isolated-runtime.d.ts +5 -2
- package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
- package/dist/modes/interactive-engine/isolated-runtime.js +42 -4
- package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
- package/dist/modes/interactive-engine/protocol.d.ts +21 -1
- package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
- package/dist/modes/interactive-engine/protocol.js +53 -2
- package/dist/modes/interactive-engine/protocol.js.map +1 -1
- package/dist/modes/interactive-engine/remote-component.d.ts +2 -2
- package/dist/modes/interactive-engine/remote-component.d.ts.map +1 -1
- package/dist/modes/interactive-engine/remote-component.js +19 -8
- package/dist/modes/interactive-engine/remote-component.js.map +1 -1
- package/dist/modes/interactive-engine/remote-model-catalog.d.ts +1 -1
- package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -1
- package/dist/modes/interactive-engine/remote-renderer.d.ts +1 -1
- package/dist/modes/interactive-engine/remote-renderer.js.map +1 -1
- package/dist/modes/interactive-engine/session-picker-host.d.ts +2 -2
- package/dist/modes/interactive-engine/session-picker-host.js.map +1 -1
- package/dist/modes/json-event.d.ts +1 -1
- package/dist/modes/json-event.js.map +1 -1
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-bash-request-owners.d.ts +2 -2
- package/dist/modes/rpc/rpc-bash-request-owners.js.map +1 -1
- package/dist/modes/rpc/rpc-client-api.d.ts +2 -2
- package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client-api.js +2 -2
- package/dist/modes/rpc/rpc-client-api.js.map +1 -1
- package/dist/modes/rpc/rpc-client-process.d.ts +2 -0
- package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client-process.js +23 -1
- package/dist/modes/rpc/rpc-client-process.js.map +1 -1
- package/dist/modes/rpc/rpc-client-waits.d.ts +1 -1
- package/dist/modes/rpc/rpc-client-waits.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +3 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +40 -3
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.d.ts +4 -2
- package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.js +12 -4
- package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
- package/dist/modes/rpc/rpc-extension-ui.d.ts +1 -1
- package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-extension-ui.js +2 -1
- package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +12 -2
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-provider-auth.d.ts +1 -1
- package/dist/modes/rpc/rpc-provider-auth.js.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.d.ts +4 -1
- package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.js +35 -1
- package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +17 -1
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/modes/rpc/task-ui-bridge.d.ts +9 -0
- package/dist/modes/rpc/task-ui-bridge.d.ts.map +1 -0
- package/dist/modes/rpc/task-ui-bridge.js +146 -0
- package/dist/modes/rpc/task-ui-bridge.js.map +1 -0
- package/dist/self-update-plan.js.map +1 -1
- package/dist/utils/markit.d.ts +2 -0
- package/dist/utils/markit.d.ts.map +1 -1
- package/dist/utils/markit.js +65 -5
- package/dist/utils/markit.js.map +1 -1
- package/docs/background-tasks.md +232 -0
- package/docs/build.md +51 -0
- package/docs/changelog.mdx +8 -8
- package/docs/compaction/reference.md +267 -0
- package/docs/compaction.md +39 -200
- package/docs/computer-use.md +425 -0
- package/docs/containerization.md +9 -5
- package/docs/custom-provider/api-reference.md +145 -0
- package/docs/custom-provider/oauth.md +131 -0
- package/docs/custom-provider/override.md +34 -0
- package/docs/custom-provider/registration.md +163 -0
- package/docs/custom-provider/streaming.md +214 -0
- package/docs/custom-provider.md +43 -607
- package/docs/development.md +68 -30
- package/docs/docs.json +199 -73
- package/docs/environment-variables.md +2 -2
- package/docs/extensions/api-reference.md +1003 -0
- package/docs/extensions/authoring.md +676 -0
- package/docs/extensions/events.md +793 -0
- package/docs/extensions/examples.md +94 -0
- package/docs/extensions/ui.md +470 -0
- package/docs/extensions.md +241 -2623
- package/docs/getting-started/authentication.md +55 -0
- package/docs/getting-started/first-session.md +172 -0
- package/docs/getting-started/installation.md +154 -0
- package/docs/getting-started/project-instructions.md +43 -0
- package/docs/guides/configuration.md +65 -0
- package/docs/guides/intercom.md +24 -0
- package/docs/guides/non-interactive.md +33 -0
- package/docs/guides/subagents.md +24 -0
- package/docs/guides/workflows.md +27 -0
- package/docs/guides.md +41 -0
- package/docs/herdr.md +55 -0
- package/docs/index.md +13 -44
- package/docs/intercom/operations.md +178 -0
- package/docs/intercom/reference.md +150 -0
- package/docs/intercom.md +61 -251
- package/docs/json.md +17 -0
- package/docs/keybindings.md +36 -2
- package/docs/llama-cpp.md +5 -0
- package/docs/models/artificial-analysis-index.md +89 -0
- package/docs/models/evals.md +225 -148
- package/docs/models/model-selection.md +30 -21
- package/docs/models/pareto-efficiency.md +4 -4
- package/docs/models/reference.md +601 -0
- package/docs/models.md +45 -550
- package/docs/packages/authoring.md +88 -0
- package/docs/packages/reference.md +43 -0
- package/docs/packages.md +28 -107
- package/docs/programmatic.md +29 -0
- package/docs/prompt-templates.md +11 -0
- package/docs/providers/reference.md +23 -0
- package/docs/providers.md +59 -62
- package/docs/quickstart.md +45 -239
- package/docs/reference/cli.md +252 -0
- package/docs/reference.md +52 -0
- package/docs/rpc/examples.md +64 -0
- package/docs/rpc/extension-ui.md +198 -0
- package/docs/rpc/protocol.md +1341 -0
- package/docs/rpc.md +109 -1346
- package/docs/sdk/reference.md +1090 -0
- package/docs/sdk.md +64 -756
- package/docs/session-format.md +2 -0
- package/docs/sessions.md +6 -10
- package/docs/settings.md +45 -48
- package/docs/skills/authoring.md +95 -0
- package/docs/skills/reference.md +60 -0
- package/docs/skills.md +37 -117
- package/docs/subagents/authoring.md +37 -0
- package/docs/subagents/reference.md +60 -0
- package/docs/subagents.md +90 -78
- package/docs/terminal-setup.md +1 -1
- package/docs/themes/reference.md +176 -0
- package/docs/themes.md +25 -135
- package/docs/tmux.md +7 -0
- package/docs/tools/edit.md +5 -0
- package/docs/tools.md +67 -1
- package/docs/tui/reference.md +343 -0
- package/docs/tui.md +83 -285
- package/docs/usage.md +31 -210
- package/docs/web-access.md +50 -0
- package/docs/windows.md +6 -5
- package/docs/workflows/api-reference.md +31 -12
- package/docs/workflows/authoring.md +7 -5
- package/docs/workflows/builtins.md +11 -8
- package/docs/workflows/operations.md +117 -39
- package/docs/workflows/reliable-design.md +59 -10
- package/docs/workflows/verification.md +116 -32
- package/docs/workflows.md +7 -3
- package/examples/extensions/gondolin/index.ts +116 -148
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/ssh.ts +56 -34
- package/npm-shrinkwrap.json +798 -678
- package/package.json +11 -11
- /package/dist/builtin/workflows/builtin/{chunk-cg9tmks0.js → chunk-n1910xc4.js} +0 -0
- /package/dist/builtin/workflows/builtin/{chunk-wpckd35c.js → chunk-rc5ec5xx.js} +0 -0
- /package/dist/builtin/workflows/builtin/{chunk-7at6dnkr.js → chunk-tgt0s5e5.js} +0 -0
- /package/dist/builtin/workflows/builtin/{chunk-bfkmzv9h.js → chunk-xtxcq5tj.js} +0 -0
package/docs/sdk.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "SDK"
|
|
3
|
+
description: "Embed Atomic in a Node.js application."
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
> Atomic can help you use the SDK. Ask it to build an integration for your use case.
|
|
2
7
|
|
|
3
8
|
# SDK
|
|
@@ -13,6 +18,14 @@ The SDK provides programmatic access to atomic's agent capabilities. Use it to e
|
|
|
13
18
|
|
|
14
19
|
See [examples/sdk/](https://github.com/bastani-inc/atomic/tree/main/packages/coding-agent/examples/sdk) for working examples from minimal to full control.
|
|
15
20
|
|
|
21
|
+
## On this page and its reference
|
|
22
|
+
|
|
23
|
+
This page covers the SDK quick start, its core concepts, and one complete example. Options, resource loaders, return types, run modes, and exports live in the [SDK API reference](/sdk/reference).
|
|
24
|
+
|
|
25
|
+
For a custom host that runs background work, see [Owner-bound task supervisor](/sdk/reference#owner-bound-task-supervisor-s1), [Supervised command SDK](/sdk/reference#supervised-command-sdk), and [Task transcript references](/sdk/reference#task-transcript-references).
|
|
26
|
+
|
|
27
|
+
Not sure the SDK is the right integration mode? Compare it with RPC and JSON mode on [Programmatic use](/programmatic).
|
|
28
|
+
|
|
16
29
|
## Quick Start
|
|
17
30
|
|
|
18
31
|
```typescript
|
|
@@ -46,7 +59,7 @@ const { session } = await createAgentSession({
|
|
|
46
59
|
});
|
|
47
60
|
```
|
|
48
61
|
|
|
49
|
-
`ModelRuntime.create()` accepts custom `authPath`, `modelsPath`, credential storage, and runtime auth overrides, plus the model-catalog options `allowModelNetwork`, `modelRefreshTimeoutMs`, `modelsStorePath`, and `modelsStore` (see [Model catalog persistence and refresh](#model-catalog-persistence-and-refresh)). `ModelRegistry` and `AuthStorage` remain available as Atomic's synchronous compatibility facades. Use `readStoredCredential(provider, authPath?)` for a lightweight read of one stored provider credential.
|
|
62
|
+
`ModelRuntime.create()` accepts custom `authPath`, `modelsPath`, credential storage, and runtime auth overrides, plus the model-catalog options `allowModelNetwork`, `modelRefreshTimeoutMs`, `modelsStorePath`, and `modelsStore` (see [Model catalog persistence and refresh](/sdk/reference#model-catalog-persistence-and-refresh)). `ModelRegistry` and `AuthStorage` remain available as Atomic's synchronous compatibility facades. Use `readStoredCredential(provider, authPath?)` for a lightweight read of one stored provider credential.
|
|
50
63
|
|
|
51
64
|
Extensions supplied directly to SDK sessions can use the exported `InlineExtension` type. Extension APIs and event types include native `registerProvider(Provider)`, `registerEntryRenderer`, `entry_appended`, `before_provider_headers`, and `agent_settled`.
|
|
52
65
|
|
|
@@ -82,6 +95,14 @@ The SDK is included in the main package. No separate SDK package is needed.
|
|
|
82
95
|
|
|
83
96
|
`@bastani/atomic/client` re-exports `@earendil-works/pi-client`. Pi 0.85 replaced the experimental `RemoteSession` lease API with its service-addressed Chord client; use the upstream client and agent service APIs for remote sessions.
|
|
84
97
|
|
|
98
|
+
## Experimental remote sessions
|
|
99
|
+
|
|
100
|
+
Use [Pi client](#pi-client) for the current remote-session API.
|
|
101
|
+
|
|
102
|
+
## Experimental Harness factory
|
|
103
|
+
|
|
104
|
+
For the current supported integration, start with [createAgentSession()](#createagentsession) and the [SDK API reference](/sdk/reference).
|
|
105
|
+
|
|
85
106
|
## Core Concepts
|
|
86
107
|
|
|
87
108
|
### createAgentSession()
|
|
@@ -161,6 +182,8 @@ interface AgentSession {
|
|
|
161
182
|
|
|
162
183
|
`compact()` serializes older context to numbered lines, asks the session model for JSON deleted ranges, validates them, and mechanically reconstructs a durable verbatim transcript string. It appends a `compaction` entry with `details.strategy: "verbatim-lines"`; the recent tail remains ordinary messages. The model never authors replacement context text.
|
|
163
184
|
|
|
185
|
+
`session.navigateTree()` rejects during streaming, compaction, or branch summarization rather than queueing the navigation. The active branch stays unchanged. Wait for the operation to finish before retrying.
|
|
186
|
+
|
|
164
187
|
Session replacement APIs such as new-session, resume, fork, and import live on `AgentSessionRuntime`, not on `AgentSession`.
|
|
165
188
|
|
|
166
189
|
### createAgentSessionRuntime() and AgentSessionRuntime
|
|
@@ -256,7 +279,7 @@ await session.prompt("What files are here?");
|
|
|
256
279
|
|
|
257
280
|
// With images
|
|
258
281
|
await session.prompt("What's in this image?", {
|
|
259
|
-
images: [{ type: "image",
|
|
282
|
+
images: [{ type: "image", data: "...", mimeType: "image/png" }]
|
|
260
283
|
});
|
|
261
284
|
|
|
262
285
|
// During streaming: must specify how to queue the message
|
|
@@ -393,660 +416,87 @@ streamed, if any.
|
|
|
393
416
|
|
|
394
417
|
## Options Reference
|
|
395
418
|
|
|
396
|
-
|
|
419
|
+
Moved to [SDK API reference](/sdk/reference#options-reference).
|
|
397
420
|
|
|
398
|
-
|
|
399
|
-
const { session } = await createAgentSession({
|
|
400
|
-
// Working directory for DefaultResourceLoader discovery
|
|
401
|
-
cwd: process.cwd(), // default
|
|
402
|
-
|
|
403
|
-
// Global config directory
|
|
404
|
-
agentDir: "~/.atomic/agent", // default (expands ~)
|
|
405
|
-
});
|
|
406
|
-
```
|
|
421
|
+
### Directories
|
|
407
422
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
`cwd` is used by `DefaultResourceLoader` for:
|
|
411
|
-
- Project extensions (`.atomic/extensions/`, then legacy `.pi/extensions/`)
|
|
412
|
-
- Project skills:
|
|
413
|
-
- `.atomic/skills/`, then legacy `.pi/skills/`
|
|
414
|
-
- `.agents/skills/` in `cwd` and ancestor directories (up to git repo root, or filesystem root when not in a repo)
|
|
415
|
-
- Project prompts (`.atomic/prompts/`, then legacy `.pi/prompts/`)
|
|
416
|
-
- Context files (`AGENTS.override.md`, `AGENTS.md`, or `CLAUDE.md` walking up from cwd)
|
|
417
|
-
- Session directory naming
|
|
418
|
-
|
|
419
|
-
`agentDir` is used by `DefaultResourceLoader` for:
|
|
420
|
-
- Global extensions (`extensions/`)
|
|
421
|
-
- Global skills:
|
|
422
|
-
- `skills/` under `agentDir` (for example `~/.atomic/agent/skills/`; legacy `~/.pi/agent/skills/` is also considered by default)
|
|
423
|
-
- `~/.agents/skills/`
|
|
424
|
-
- Global prompts (`prompts/`)
|
|
425
|
-
- Global context files (`AGENTS.override.md`, `AGENTS.md`, or `CLAUDE.md` under `agentDir`)
|
|
426
|
-
- Settings (`settings.json`)
|
|
427
|
-
- Custom models (`models.json`)
|
|
428
|
-
- Credentials (`auth.json`)
|
|
429
|
-
- Sessions (`sessions/`)
|
|
430
|
-
|
|
431
|
-
When you pass a custom `ResourceLoader`, `cwd` and `agentDir` no longer control resource discovery. They still influence session naming and tool path resolution.
|
|
423
|
+
Moved to [SDK API reference](/sdk/reference#directories).
|
|
432
424
|
|
|
433
425
|
### Model
|
|
434
426
|
|
|
435
|
-
|
|
436
|
-
import { getModel } from "@bastani/pi-ai/compat";
|
|
437
|
-
import { ModelRuntime } from "@bastani/atomic";
|
|
438
|
-
|
|
439
|
-
const modelRuntime = await ModelRuntime.create();
|
|
440
|
-
|
|
441
|
-
// Find specific built-in model (doesn't check if credentials exist)
|
|
442
|
-
const opus = getModel("anthropic", "claude-opus-4-5");
|
|
443
|
-
if (!opus) throw new Error("Model not found");
|
|
444
|
-
|
|
445
|
-
// Find any model by provider/id, including custom models from models.json
|
|
446
|
-
const customModel = modelRuntime.getModel("my-provider", "my-model");
|
|
447
|
-
|
|
448
|
-
// Get only models whose providers have configured authentication
|
|
449
|
-
const available = await modelRuntime.getAvailable();
|
|
450
|
-
|
|
451
|
-
const { session } = await createAgentSession({
|
|
452
|
-
model: opus,
|
|
453
|
-
thinkingLevel: "medium", // off, minimal, low, medium, high, xhigh, max (when supported by the model)
|
|
454
|
-
|
|
455
|
-
// Models for cycling (CTRL+P in interactive mode)
|
|
456
|
-
scopedModels: [
|
|
457
|
-
{ model: opus, thinkingLevel: "high" },
|
|
458
|
-
{ model: haiku, thinkingLevel: "off" },
|
|
459
|
-
],
|
|
460
|
-
|
|
461
|
-
modelRuntime,
|
|
462
|
-
});
|
|
463
|
-
```
|
|
464
|
-
|
|
465
|
-
`ModelRegistry` keeps synchronous reads for extension compatibility, while catalog refresh is asynchronous. Extensions should await `modelRegistry.refresh()` before synchronous `getAll()`, `find()`, or `getAvailable()` reads when a provider may update its catalog. New SDK integrations use `ModelRuntime`; `await modelRuntime.refresh()` reports `aborted` and per-provider `errors`, and failed providers retain their last-known models.
|
|
466
|
-
|
|
467
|
-
If no model is provided:
|
|
468
|
-
1. Tries to restore from session (if continuing)
|
|
469
|
-
2. Uses default from settings
|
|
470
|
-
3. Falls back to first available model
|
|
471
|
-
|
|
472
|
-
> See [examples/sdk/02-custom-model.ts](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/examples/sdk/02-custom-model.ts)
|
|
427
|
+
Moved to [SDK API reference](/sdk/reference#model).
|
|
473
428
|
|
|
474
429
|
#### Model catalog persistence and refresh
|
|
475
430
|
|
|
476
|
-
|
|
477
|
-
pi.dev unless you opt in. `allowModelNetwork` (default `false`) enables a create-time network
|
|
478
|
-
refresh, and `modelRefreshTimeoutMs` (default `15_000`) bounds how long that refresh may run
|
|
479
|
-
before it is aborted. Pass `refreshOnCreate: false` to skip the initial catalog and
|
|
480
|
-
availability refresh entirely; built-in models remain available.
|
|
481
|
-
|
|
482
|
-
```typescript
|
|
483
|
-
const refreshedRuntime = await ModelRuntime.create({
|
|
484
|
-
allowModelNetwork: true,
|
|
485
|
-
modelRefreshTimeoutMs: 15_000,
|
|
486
|
-
});
|
|
487
|
-
```
|
|
488
|
-
|
|
489
|
-
Remote catalogs are persisted locally so later runtimes can restore them without a network
|
|
490
|
-
request. The default file is `models-store.json` next to `models.json` — with the default
|
|
491
|
-
`modelsPath` that is `~/.atomic/agent/models-store.json`. Set `modelsStorePath` to choose
|
|
492
|
-
another location, or inject `modelsStore` to control persistence entirely; a runtime created
|
|
493
|
-
with `modelsPath: null` keeps its store in memory. Network refreshes are throttled to once
|
|
494
|
-
per provider every four hours unless forced. To force an immediate refresh, call
|
|
495
|
-
`await modelRuntime.refresh({ allowNetwork: true, force: true, signal })`. Setting
|
|
496
|
-
`ATOMIC_OFFLINE` (legacy alias `PI_OFFLINE`) disables model network access, and a
|
|
497
|
-
`refresh()` call that omits `allowNetwork` follows that same runtime network policy.
|
|
431
|
+
Moved to [SDK API reference](/sdk/reference#model-catalog-persistence-and-refresh).
|
|
498
432
|
|
|
499
433
|
### API Keys and OAuth
|
|
500
434
|
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
Credential resolution combines runtime API-key overrides, stored `auth.json` credentials, environment variables, and the active `models.json` provider configuration. OAuth acquisition is provider-owned and runs through `ModelRuntime.login()`.
|
|
504
|
-
|
|
505
|
-
```typescript
|
|
506
|
-
import { AuthStorage, ModelRuntime } from "@bastani/atomic";
|
|
507
|
-
|
|
508
|
-
const authStorage = AuthStorage.create();
|
|
509
|
-
const modelRuntime = await ModelRuntime.create({ credentials: authStorage });
|
|
510
|
-
|
|
511
|
-
const { session } = await createAgentSession({
|
|
512
|
-
sessionManager: SessionManager.inMemory(),
|
|
513
|
-
modelRuntime,
|
|
514
|
-
});
|
|
515
|
-
|
|
516
|
-
// Runtime API key override (not persisted to disk). Setting the key updates
|
|
517
|
-
// auth state; refresh the provider explicitly when its catalog must be current.
|
|
518
|
-
const providerId = "anthropic";
|
|
519
|
-
const authController = new AbortController();
|
|
520
|
-
await modelRuntime.setRuntimeApiKey(providerId, "sk-my-temp-key", { signal: authController.signal });
|
|
521
|
-
await modelRuntime.refresh({ providers: [providerId], signal: authController.signal });
|
|
522
|
-
|
|
523
|
-
// Custom credential and model configuration locations
|
|
524
|
-
const customRuntime = await ModelRuntime.create({
|
|
525
|
-
authPath: "/my/app/auth.json",
|
|
526
|
-
modelsPath: "/my/app/models.json",
|
|
527
|
-
});
|
|
528
|
-
|
|
529
|
-
const customSession = await createAgentSession({
|
|
530
|
-
sessionManager: SessionManager.inMemory(),
|
|
531
|
-
modelRuntime: customRuntime,
|
|
532
|
-
});
|
|
533
|
-
|
|
534
|
-
// Disable models.json while retaining built-in providers
|
|
535
|
-
const builtinsOnly = await ModelRuntime.create({ modelsPath: null });
|
|
536
|
-
```
|
|
537
|
-
|
|
538
|
-
> See the complete [`ModelRuntime` credential and model configuration example](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/examples/sdk/09-api-keys-and-oauth.ts).
|
|
435
|
+
Moved to [SDK API reference](/sdk/reference#api-keys-and-oauth).
|
|
539
436
|
|
|
540
437
|
### System Prompt
|
|
541
438
|
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
```typescript
|
|
545
|
-
import { createAgentSession, DefaultResourceLoader } from "@bastani/atomic";
|
|
546
|
-
|
|
547
|
-
const loader = new DefaultResourceLoader({
|
|
548
|
-
systemPromptOverride: () => "You are a helpful assistant.",
|
|
549
|
-
});
|
|
550
|
-
await loader.reload();
|
|
551
|
-
|
|
552
|
-
const { session } = await createAgentSession({ resourceLoader: loader });
|
|
553
|
-
```
|
|
554
|
-
|
|
555
|
-
> See [examples/sdk/03-custom-prompt.ts](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/examples/sdk/03-custom-prompt.ts)
|
|
439
|
+
Moved to [SDK API reference](/sdk/reference#system-prompt).
|
|
556
440
|
|
|
557
441
|
### Tools
|
|
558
442
|
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
- Built-in tool names enabled by default: `read`, `bash`, `edit`, `write`, `find`, `search`, `ask_user_question`, `todo`
|
|
562
|
-
- `find` discovers filesystem paths by glob; `search` searches file contents with regex patterns across files, directories, globs, and internal URLs.
|
|
563
|
-
- `tools` is an allowlist: when provided, only the listed built-in, extension, and custom tool names are exposed, plus mandatory ordinary `intercom`.
|
|
564
|
-
- `excludedTools` is a blocklist: matching built-in, extension, and custom tool names are omitted from the final registry and active tool set, except mandatory ordinary `intercom`. If both are provided, `tools` is applied first and `excludedTools` subtracts from it.
|
|
565
|
-
- `noTools: "all"` disables every tool except mandatory ordinary `intercom`
|
|
566
|
-
- `noTools: "builtin"` disables default built-ins while keeping extension and custom tools enabled, except names listed in `excludedTools`
|
|
567
|
-
|
|
568
|
-
```typescript
|
|
569
|
-
import { createAgentSession } from "@bastani/atomic";
|
|
570
|
-
|
|
571
|
-
// Read-only mode. `tools` selects optional tools; ordinary Intercom remains active.
|
|
572
|
-
const { session } = await createAgentSession({
|
|
573
|
-
tools: ["read", "search", "find", "ls"],
|
|
574
|
-
});
|
|
575
|
-
|
|
576
|
-
// Pick specific optional tools. Ordinary Intercom remains active even when omitted.
|
|
577
|
-
const { session } = await createAgentSession({
|
|
578
|
-
tools: ["read", "bash", "search"],
|
|
579
|
-
});
|
|
580
|
-
|
|
581
|
-
// Keep defaults but remove HITL prompts
|
|
582
|
-
const { session } = await createAgentSession({
|
|
583
|
-
excludedTools: ["ask_user_question"],
|
|
584
|
-
});
|
|
585
|
-
|
|
586
|
-
// Allowlist first, then subtract exclusions
|
|
587
|
-
const { session } = await createAgentSession({
|
|
588
|
-
tools: ["read", "bash", "ask_user_question"],
|
|
589
|
-
excludedTools: ["ask_user_question"], // optional tools: read, bash; ordinary Intercom remains active
|
|
590
|
-
});
|
|
591
|
-
```
|
|
443
|
+
Moved to [SDK API reference](/sdk/reference#tools).
|
|
592
444
|
|
|
593
445
|
#### Bash tool behavior
|
|
594
446
|
|
|
595
|
-
|
|
596
|
-
|
|
447
|
+
Moved to [SDK API reference](/sdk/reference#bash-tool-behavior).
|
|
597
448
|
|
|
598
|
-
####
|
|
449
|
+
#### Waiting for existing shell tasks
|
|
599
450
|
|
|
600
|
-
|
|
451
|
+
Moved to [SDK API reference](/sdk/reference#waiting-for-existing-shell-tasks).
|
|
601
452
|
|
|
602
|
-
|
|
603
|
-
import { createPowerShellTool } from "@bastani/atomic";
|
|
453
|
+
#### PowerShell tool behavior
|
|
604
454
|
|
|
605
|
-
|
|
606
|
-
```
|
|
455
|
+
Moved to [SDK API reference](/sdk/reference#powershell-tool-behavior).
|
|
607
456
|
|
|
608
457
|
#### Tools with Custom cwd
|
|
609
458
|
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
```typescript
|
|
613
|
-
import { createAgentSession, SessionManager } from "@bastani/atomic";
|
|
614
|
-
|
|
615
|
-
const cwd = "/path/to/project";
|
|
616
|
-
|
|
617
|
-
// Use default tools for custom cwd
|
|
618
|
-
const { session } = await createAgentSession({
|
|
619
|
-
cwd,
|
|
620
|
-
sessionManager: SessionManager.inMemory(cwd),
|
|
621
|
-
});
|
|
622
|
-
|
|
623
|
-
// Or pick specific tools for custom cwd
|
|
624
|
-
const { session } = await createAgentSession({
|
|
625
|
-
cwd,
|
|
626
|
-
tools: ["read", "bash", "search"],
|
|
627
|
-
sessionManager: SessionManager.inMemory(cwd),
|
|
628
|
-
});
|
|
629
|
-
```
|
|
630
|
-
|
|
631
|
-
> See [examples/sdk/05-tools.ts](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/examples/sdk/05-tools.ts)
|
|
459
|
+
Moved to [SDK API reference](/sdk/reference#tools-with-custom-cwd).
|
|
632
460
|
|
|
633
461
|
### Custom Tools
|
|
634
462
|
|
|
635
|
-
|
|
636
|
-
import { Type } from "typebox";
|
|
637
|
-
import { createAgentSession, defineTool } from "@bastani/atomic";
|
|
638
|
-
|
|
639
|
-
// Inline custom tool
|
|
640
|
-
const myTool = defineTool({
|
|
641
|
-
name: "my_tool",
|
|
642
|
-
label: "My Tool",
|
|
643
|
-
description: "Does something useful",
|
|
644
|
-
parameters: Type.Object({
|
|
645
|
-
input: Type.String({ description: "Input value" }),
|
|
646
|
-
}),
|
|
647
|
-
execute: async (_toolCallId, params) => ({
|
|
648
|
-
content: [{ type: "text", text: `Result: ${params.input}` }],
|
|
649
|
-
details: {},
|
|
650
|
-
}),
|
|
651
|
-
});
|
|
652
|
-
|
|
653
|
-
// Pass custom tools directly
|
|
654
|
-
const { session } = await createAgentSession({
|
|
655
|
-
customTools: [myTool],
|
|
656
|
-
});
|
|
657
|
-
```
|
|
658
|
-
|
|
659
|
-
Use `defineTool()` for standalone definitions and arrays like `customTools: [myTool]`. Inline `pi.registerTool({ ... })` already infers parameter types correctly.
|
|
660
|
-
|
|
661
|
-
Custom tools passed via `customTools` are combined with extension-registered tools. Extensions loaded by the ResourceLoader can also register tools via `pi.registerTool()`.
|
|
662
|
-
|
|
663
|
-
If you pass `tools`, include each custom or extension tool name you want enabled, for example `tools: ["read", "bash", "my_tool"]`. Use `excludedTools` to remove a custom or extension tool by name from the final exposed set.
|
|
664
|
-
|
|
665
|
-
`ToolDefinition.constrainedSampling` is part of the public SDK and survives `defineTool()`, `customTools`, tool wrappers, session/staged inspection, and isolated execution. Use `{ type: "json_schema", strict: "prefer" | "require" }`, `{ type: "grammar", variants: { openai_lark?: string, openai_regex?: string } }`, or `false`. `prefer` can fall back; `require` fails when the active model cannot enforce strict JSON Schema. Grammar constraints require one required string parameter and capable model metadata. Public inspection preserves optional-property identity exactly: an omitted key stays absent, an explicitly present `undefined` stays present, and `false` or a config object remains unchanged. The exported `ConstrainedSamplingConfig` type and [extension reference](/extensions#constrained-sampling) define the exact shape. Typed RPC clients receive the four model capability flags through optional `ModelInfo.compat`; see [RPC](/rpc#get_available_models).
|
|
666
|
-
|
|
667
|
-
Factory-created `createBashTool()` instances receive the same execution-time `ATOMIC_SESSION_*`/`PI_SESSION_*` model and session snapshot as the built-in bash tool. Set `exposeSessionEnvironment: false` only when the subprocess must not receive it. `MessageRenderOptions.outputPad` is likewise passed to normal and isolated custom message renderers.
|
|
463
|
+
Moved to [SDK API reference](/sdk/reference#custom-tools).
|
|
668
464
|
|
|
669
465
|
#### Structured output final results
|
|
670
466
|
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
```typescript
|
|
674
|
-
import { Type, type Static } from "typebox";
|
|
675
|
-
import {
|
|
676
|
-
createAgentSession,
|
|
677
|
-
createStructuredOutputTool,
|
|
678
|
-
type StructuredOutputCapture,
|
|
679
|
-
} from "@bastani/atomic";
|
|
680
|
-
|
|
681
|
-
const DecisionSchema = Type.Object({
|
|
682
|
-
approved: Type.Boolean(),
|
|
683
|
-
findings: Type.Array(Type.String()),
|
|
684
|
-
}, { additionalProperties: false });
|
|
685
|
-
|
|
686
|
-
type Decision = Static<typeof DecisionSchema>;
|
|
687
|
-
const capture: StructuredOutputCapture<Decision> = {
|
|
688
|
-
called: false,
|
|
689
|
-
value: undefined,
|
|
690
|
-
};
|
|
691
|
-
|
|
692
|
-
const structuredOutput = createStructuredOutputTool({
|
|
693
|
-
schema: DecisionSchema,
|
|
694
|
-
capture,
|
|
695
|
-
});
|
|
696
|
-
|
|
697
|
-
const { session } = await createAgentSession({
|
|
698
|
-
customTools: [structuredOutput],
|
|
699
|
-
});
|
|
700
|
-
```
|
|
701
|
-
|
|
702
|
-
The tool parameters are exactly the supplied schema: with `DecisionSchema`, the model calls `structured_output({ approved, findings })`. Array and primitive schemas are also accepted by the factory when the target provider/tool runtime supports them; the captured value is whatever JSON value matches the schema. A successful call stores the params in `capture.value`, returns them as pretty-printed JSON tool-result text for text print mode, keeps the flat value in tool `details`, writes the same JSON to the configured `output.outputPath` when an `output` file sink is configured, and sets `terminate: true` so there is no extra follow-up assistant turn. Atomic relies on the tool schema instead of extra structured-output parsing or sidecar validation. Structured-output tool definitions opt out of oversized-result persistence.
|
|
703
|
-
|
|
704
|
-
Custom tool names are supported, and the prompt metadata follows the configured name. If you use a custom name such as `final_decision`, include that name in any explicit `tools` allowlist. If the standard `structured_output` name is required, register the factory with its default name:
|
|
705
|
-
|
|
706
|
-
```typescript
|
|
707
|
-
const finalDecision = createStructuredOutputTool({
|
|
708
|
-
name: "final_decision",
|
|
709
|
-
schema: DecisionSchema,
|
|
710
|
-
capture,
|
|
711
|
-
});
|
|
712
|
-
// The model is prompted to call final_decision exactly once, not structured_output.
|
|
713
|
-
|
|
714
|
-
await createAgentSession({
|
|
715
|
-
customTools: [finalDecision],
|
|
716
|
-
tools: ["final_decision"], // only this tool is enabled
|
|
717
|
-
});
|
|
718
|
-
|
|
719
|
-
await createAgentSession({
|
|
720
|
-
customTools: [createStructuredOutputTool({ schema: DecisionSchema, capture })],
|
|
721
|
-
// Registers the standard structured_output tool for this session only.
|
|
722
|
-
});
|
|
723
|
-
```
|
|
724
|
-
|
|
725
|
-
> See [examples/sdk/05-tools.ts](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/examples/sdk/05-tools.ts)
|
|
467
|
+
Moved to [SDK API reference](/sdk/reference#structured-output-final-results).
|
|
726
468
|
|
|
727
469
|
### Extensions
|
|
728
470
|
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
```typescript
|
|
732
|
-
import { createAgentSession, DefaultResourceLoader } from "@bastani/atomic";
|
|
733
|
-
|
|
734
|
-
const loader = new DefaultResourceLoader({
|
|
735
|
-
additionalExtensionPaths: ["/path/to/my-extension.ts"],
|
|
736
|
-
extensionFactories: [
|
|
737
|
-
(pi) => {
|
|
738
|
-
pi.on("agent_start", () => {
|
|
739
|
-
console.log("[Inline Extension] Agent starting");
|
|
740
|
-
});
|
|
741
|
-
},
|
|
742
|
-
],
|
|
743
|
-
});
|
|
744
|
-
await loader.reload();
|
|
745
|
-
|
|
746
|
-
const { session } = await createAgentSession({ resourceLoader: loader });
|
|
747
|
-
```
|
|
748
|
-
|
|
749
|
-
`createAgentSession()` preserves resources from a supplied loader but restores Atomic's mandatory bundled Intercom extension after loader overrides, deferred reloads, and same-name extension or `customTools` collisions. The supplied loader still controls every optional extension.
|
|
750
|
-
|
|
751
|
-
Strict reloads (`failOnExtensionErrors: true`) require the loader's transactional `prepareReload()` support so a failed candidate cannot mutate live state before validation. `DefaultResourceLoader` provides that support. Custom loaders without it remain compatible with ordinary reloads, but strict reload fails before calling their mutating `reload()` method.
|
|
752
|
-
|
|
753
|
-
Extensions can register tools, subscribe to events, add commands, and more. See [Extensions](/extensions) for the full API.
|
|
754
|
-
|
|
755
|
-
**Event Bus:** Extensions can communicate via `pi.events`. Pass a shared `eventBus` to `DefaultResourceLoader` if you need to emit or listen from outside:
|
|
756
|
-
|
|
757
|
-
```typescript
|
|
758
|
-
import { createEventBus, DefaultResourceLoader } from "@bastani/atomic";
|
|
759
|
-
|
|
760
|
-
const eventBus = createEventBus();
|
|
761
|
-
const loader = new DefaultResourceLoader({
|
|
762
|
-
eventBus,
|
|
763
|
-
});
|
|
764
|
-
await loader.reload();
|
|
765
|
-
|
|
766
|
-
eventBus.on("my-extension:status", (data) => console.log(data));
|
|
767
|
-
```
|
|
768
|
-
|
|
769
|
-
> See [examples/sdk/06-extensions.ts](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/examples/sdk/06-extensions.ts) and [Extensions](/extensions)
|
|
471
|
+
Moved to [SDK API reference](/sdk/reference#extensions).
|
|
770
472
|
|
|
771
473
|
### Skills
|
|
772
474
|
|
|
773
|
-
|
|
774
|
-
import {
|
|
775
|
-
createAgentSession,
|
|
776
|
-
DefaultResourceLoader,
|
|
777
|
-
type Skill,
|
|
778
|
-
} from "@bastani/atomic";
|
|
779
|
-
|
|
780
|
-
const customSkill: Skill = {
|
|
781
|
-
name: "my-skill",
|
|
782
|
-
description: "Custom instructions",
|
|
783
|
-
filePath: "/path/to/SKILL.md",
|
|
784
|
-
baseDir: "/path/to",
|
|
785
|
-
source: "custom",
|
|
786
|
-
};
|
|
787
|
-
|
|
788
|
-
const loader = new DefaultResourceLoader({
|
|
789
|
-
skillsOverride: (current) => ({
|
|
790
|
-
skills: [...current.skills, customSkill],
|
|
791
|
-
diagnostics: current.diagnostics,
|
|
792
|
-
}),
|
|
793
|
-
});
|
|
794
|
-
await loader.reload();
|
|
795
|
-
|
|
796
|
-
const { session } = await createAgentSession({ resourceLoader: loader });
|
|
797
|
-
```
|
|
798
|
-
|
|
799
|
-
> See [examples/sdk/04-skills.ts](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/examples/sdk/04-skills.ts)
|
|
475
|
+
Moved to [SDK API reference](/sdk/reference#skills).
|
|
800
476
|
|
|
801
477
|
### Context Files
|
|
802
478
|
|
|
803
|
-
|
|
804
|
-
import { createAgentSession, DefaultResourceLoader } from "@bastani/atomic";
|
|
805
|
-
|
|
806
|
-
const loader = new DefaultResourceLoader({
|
|
807
|
-
agentsFilesOverride: (current) => ({
|
|
808
|
-
agentsFiles: [
|
|
809
|
-
...current.agentsFiles,
|
|
810
|
-
{ path: "/virtual/AGENTS.md", content: "# Guidelines\n\n- Be concise" },
|
|
811
|
-
],
|
|
812
|
-
}),
|
|
813
|
-
});
|
|
814
|
-
await loader.reload();
|
|
815
|
-
|
|
816
|
-
const { session } = await createAgentSession({ resourceLoader: loader });
|
|
817
|
-
```
|
|
818
|
-
|
|
819
|
-
> See [examples/sdk/07-context-files.ts](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/examples/sdk/07-context-files.ts)
|
|
479
|
+
Moved to [SDK API reference](/sdk/reference#context-files).
|
|
820
480
|
|
|
821
481
|
### Slash Commands
|
|
822
482
|
|
|
823
|
-
|
|
824
|
-
import {
|
|
825
|
-
createAgentSession,
|
|
826
|
-
DefaultResourceLoader,
|
|
827
|
-
type PromptTemplate,
|
|
828
|
-
} from "@bastani/atomic";
|
|
829
|
-
|
|
830
|
-
const customCommand: PromptTemplate = {
|
|
831
|
-
name: "deploy",
|
|
832
|
-
description: "Deploy the application",
|
|
833
|
-
source: "(custom)",
|
|
834
|
-
content: "# Deploy\n\n1. Build\n2. Test\n3. Deploy",
|
|
835
|
-
};
|
|
836
|
-
|
|
837
|
-
const loader = new DefaultResourceLoader({
|
|
838
|
-
promptsOverride: (current) => ({
|
|
839
|
-
prompts: [...current.prompts, customCommand],
|
|
840
|
-
diagnostics: current.diagnostics,
|
|
841
|
-
}),
|
|
842
|
-
});
|
|
843
|
-
await loader.reload();
|
|
844
|
-
|
|
845
|
-
const { session } = await createAgentSession({ resourceLoader: loader });
|
|
846
|
-
```
|
|
847
|
-
|
|
848
|
-
> See [examples/sdk/08-prompt-templates.ts](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/examples/sdk/08-prompt-templates.ts)
|
|
483
|
+
Moved to [SDK API reference](/sdk/reference#slash-commands).
|
|
849
484
|
|
|
850
485
|
### Session Management
|
|
851
486
|
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
```typescript
|
|
855
|
-
import {
|
|
856
|
-
type CreateAgentSessionRuntimeFactory,
|
|
857
|
-
createAgentSession,
|
|
858
|
-
createAgentSessionFromServices,
|
|
859
|
-
createAgentSessionRuntime,
|
|
860
|
-
createAgentSessionServices,
|
|
861
|
-
getAgentDir,
|
|
862
|
-
SessionManager,
|
|
863
|
-
} from "@bastani/atomic";
|
|
864
|
-
|
|
865
|
-
// In-memory (no persistence)
|
|
866
|
-
const { session } = await createAgentSession({
|
|
867
|
-
sessionManager: SessionManager.inMemory(),
|
|
868
|
-
});
|
|
869
|
-
|
|
870
|
-
// New persistent session
|
|
871
|
-
const { session: persisted } = await createAgentSession({
|
|
872
|
-
sessionManager: SessionManager.create(process.cwd()),
|
|
873
|
-
});
|
|
874
|
-
|
|
875
|
-
// Continue most recent
|
|
876
|
-
const { session: continued, modelFallbackMessage } = await createAgentSession({
|
|
877
|
-
sessionManager: SessionManager.continueRecent(process.cwd()),
|
|
878
|
-
});
|
|
879
|
-
if (modelFallbackMessage) {
|
|
880
|
-
console.log("Note:", modelFallbackMessage);
|
|
881
|
-
}
|
|
882
|
-
|
|
883
|
-
// Open specific file
|
|
884
|
-
const { session: opened } = await createAgentSession({
|
|
885
|
-
sessionManager: SessionManager.open("/path/to/session.jsonl"),
|
|
886
|
-
});
|
|
887
|
-
|
|
888
|
-
// List sessions
|
|
889
|
-
const currentProjectSessions = await SessionManager.list(process.cwd());
|
|
890
|
-
const allSessions = await SessionManager.listAll(process.cwd());
|
|
891
|
-
|
|
892
|
-
// Session replacement API for /new, /resume, /fork, /clone, and import flows.
|
|
893
|
-
const createRuntime: CreateAgentSessionRuntimeFactory = async ({ cwd, sessionManager, sessionStartEvent }) => {
|
|
894
|
-
const services = await createAgentSessionServices({ cwd });
|
|
895
|
-
return {
|
|
896
|
-
...(await createAgentSessionFromServices({
|
|
897
|
-
services,
|
|
898
|
-
sessionManager,
|
|
899
|
-
sessionStartEvent,
|
|
900
|
-
})),
|
|
901
|
-
services,
|
|
902
|
-
diagnostics: services.diagnostics,
|
|
903
|
-
};
|
|
904
|
-
};
|
|
905
|
-
|
|
906
|
-
const runtime = await createAgentSessionRuntime(createRuntime, {
|
|
907
|
-
cwd: process.cwd(),
|
|
908
|
-
agentDir: getAgentDir(),
|
|
909
|
-
sessionManager: SessionManager.create(process.cwd()),
|
|
910
|
-
});
|
|
911
|
-
|
|
912
|
-
// Replace the active session with a fresh one
|
|
913
|
-
await runtime.newSession();
|
|
914
|
-
|
|
915
|
-
// Replace the active session with another saved session
|
|
916
|
-
await runtime.switchSession("/path/to/session.jsonl");
|
|
917
|
-
|
|
918
|
-
// Replace the active session with a fork from a specific user entry
|
|
919
|
-
await runtime.fork("entry-id");
|
|
920
|
-
|
|
921
|
-
// Clone the active path through a specific entry
|
|
922
|
-
await runtime.fork("entry-id", { position: "at" });
|
|
923
|
-
```
|
|
924
|
-
|
|
925
|
-
**SessionManager tree API:**
|
|
926
|
-
|
|
927
|
-
```typescript
|
|
928
|
-
const sm = SessionManager.open("/path/to/session.jsonl");
|
|
929
|
-
|
|
930
|
-
// Session listing
|
|
931
|
-
const currentProjectSessions = await SessionManager.list(process.cwd());
|
|
932
|
-
const allSessions = await SessionManager.listAll(process.cwd());
|
|
933
|
-
|
|
934
|
-
// Tree traversal
|
|
935
|
-
const entries = sm.getEntries(); // All entries (excludes header)
|
|
936
|
-
const tree = sm.getTree(); // Full tree structure
|
|
937
|
-
const path = sm.getPath(); // Path from root to current leaf
|
|
938
|
-
const leaf = sm.getLeafEntry(); // Current leaf entry
|
|
939
|
-
const entry = sm.getEntry(id); // Get entry by ID
|
|
940
|
-
const children = sm.getChildren(id); // Direct children of entry
|
|
941
|
-
|
|
942
|
-
// Labels
|
|
943
|
-
const label = sm.getLabel(id); // Get label for entry
|
|
944
|
-
sm.appendLabelChange(id, "checkpoint"); // Set label
|
|
945
|
-
|
|
946
|
-
// Branching
|
|
947
|
-
sm.branch(entryId); // Move leaf to earlier entry
|
|
948
|
-
sm.branchWithSummary(id, "Summary..."); // Branch with context summary
|
|
949
|
-
sm.createBranchedSession(leafId); // Extract path to new file
|
|
950
|
-
```
|
|
951
|
-
|
|
952
|
-
> See [examples/sdk/11-sessions.ts](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/examples/sdk/11-sessions.ts) and [Session Format](/session-format)
|
|
487
|
+
Moved to [SDK API reference](/sdk/reference#session-management).
|
|
953
488
|
|
|
954
489
|
### Settings Management
|
|
955
490
|
|
|
956
|
-
|
|
957
|
-
import { createAgentSession, SettingsManager, SessionManager } from "@bastani/atomic";
|
|
958
|
-
|
|
959
|
-
// Default: loads from files (global + project merged)
|
|
960
|
-
const { session } = await createAgentSession({
|
|
961
|
-
settingsManager: SettingsManager.create(),
|
|
962
|
-
});
|
|
963
|
-
|
|
964
|
-
// With overrides
|
|
965
|
-
const settingsManager = SettingsManager.create();
|
|
966
|
-
settingsManager.applyOverrides({
|
|
967
|
-
compaction: { enabled: false },
|
|
968
|
-
retry: { enabled: true, maxRetries: 5 },
|
|
969
|
-
});
|
|
970
|
-
const { session } = await createAgentSession({ settingsManager });
|
|
971
|
-
|
|
972
|
-
// In-memory (no file I/O, for testing)
|
|
973
|
-
const { session } = await createAgentSession({
|
|
974
|
-
settingsManager: SettingsManager.inMemory({ compaction: { enabled: false } }),
|
|
975
|
-
sessionManager: SessionManager.inMemory(),
|
|
976
|
-
});
|
|
977
|
-
|
|
978
|
-
// Custom directories
|
|
979
|
-
const { session } = await createAgentSession({
|
|
980
|
-
settingsManager: SettingsManager.create("/custom/cwd", "/custom/agent"),
|
|
981
|
-
});
|
|
982
|
-
```
|
|
983
|
-
|
|
984
|
-
**Static factories:**
|
|
985
|
-
- `SettingsManager.create(cwd?, agentDir?)` - Load from files
|
|
986
|
-
- `SettingsManager.inMemory(settings?)` - No file I/O
|
|
987
|
-
|
|
988
|
-
**Project-specific settings:**
|
|
989
|
-
|
|
990
|
-
Settings load from Atomic-first locations and merge:
|
|
991
|
-
1. Global: `~/.atomic/agent/settings.json`, then legacy `~/.pi/agent/settings.json`
|
|
992
|
-
2. Project: `<cwd>/.atomic/settings.json`, then legacy `<cwd>/.pi/settings.json`
|
|
993
|
-
|
|
994
|
-
Project overrides global. Nested objects merge keys. Setters modify global settings by default.
|
|
995
|
-
|
|
996
|
-
**Persistence and error handling semantics:**
|
|
997
|
-
|
|
998
|
-
- Settings getters/setters are synchronous for in-memory state.
|
|
999
|
-
- Setters enqueue persistence writes asynchronously.
|
|
1000
|
-
- Call `await settingsManager.flush()` when you need a durability boundary (for example, before process exit or before asserting file contents in tests).
|
|
1001
|
-
- `SettingsManager` does not print settings I/O errors. Use `settingsManager.drainErrors()` and report them in your app layer.
|
|
1002
|
-
|
|
1003
|
-
> See [examples/sdk/10-settings.ts](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/examples/sdk/10-settings.ts)
|
|
491
|
+
Moved to [SDK API reference](/sdk/reference#settings-management).
|
|
1004
492
|
|
|
1005
493
|
## ResourceLoader
|
|
1006
494
|
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
```typescript
|
|
1010
|
-
import {
|
|
1011
|
-
DefaultResourceLoader,
|
|
1012
|
-
getAgentDir,
|
|
1013
|
-
} from "@bastani/atomic";
|
|
1014
|
-
|
|
1015
|
-
const loader = new DefaultResourceLoader({
|
|
1016
|
-
cwd,
|
|
1017
|
-
agentDir: getAgentDir(),
|
|
1018
|
-
});
|
|
1019
|
-
await loader.reload();
|
|
1020
|
-
|
|
1021
|
-
const extensions = loader.getExtensions();
|
|
1022
|
-
const skills = loader.getSkills();
|
|
1023
|
-
const prompts = loader.getPrompts();
|
|
1024
|
-
const themes = loader.getThemes();
|
|
1025
|
-
const contextFiles = loader.getAgentsFiles().agentsFiles;
|
|
1026
|
-
```
|
|
495
|
+
Moved to [SDK API reference](/sdk/reference#resourceloader).
|
|
1027
496
|
|
|
1028
497
|
## Return Value
|
|
1029
498
|
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
```typescript
|
|
1033
|
-
interface CreateAgentSessionResult {
|
|
1034
|
-
// The session
|
|
1035
|
-
session: AgentSession;
|
|
1036
|
-
|
|
1037
|
-
// Extensions result (for runner setup)
|
|
1038
|
-
extensionsResult: LoadExtensionsResult;
|
|
1039
|
-
|
|
1040
|
-
// Warning if session model couldn't be restored
|
|
1041
|
-
modelFallbackMessage?: string;
|
|
1042
|
-
}
|
|
1043
|
-
|
|
1044
|
-
interface LoadExtensionsResult {
|
|
1045
|
-
extensions: Extension[];
|
|
1046
|
-
errors: Array<{ path: string; error: string }>;
|
|
1047
|
-
runtime: ExtensionRuntime;
|
|
1048
|
-
}
|
|
1049
|
-
```
|
|
499
|
+
Moved to [SDK API reference](/sdk/reference#return-value).
|
|
1050
500
|
|
|
1051
501
|
## Complete Example
|
|
1052
502
|
|
|
@@ -1132,118 +582,19 @@ await session.prompt("Get status and list files.");
|
|
|
1132
582
|
|
|
1133
583
|
## Run Modes
|
|
1134
584
|
|
|
1135
|
-
|
|
585
|
+
Moved to [SDK API reference](/sdk/reference#run-modes).
|
|
1136
586
|
|
|
1137
587
|
### InteractiveMode
|
|
1138
588
|
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
```typescript
|
|
1142
|
-
import {
|
|
1143
|
-
type CreateAgentSessionRuntimeFactory,
|
|
1144
|
-
createAgentSessionFromServices,
|
|
1145
|
-
createAgentSessionRuntime,
|
|
1146
|
-
createAgentSessionServices,
|
|
1147
|
-
getAgentDir,
|
|
1148
|
-
InteractiveMode,
|
|
1149
|
-
SessionManager,
|
|
1150
|
-
} from "@bastani/atomic";
|
|
1151
|
-
|
|
1152
|
-
const createRuntime: CreateAgentSessionRuntimeFactory = async ({ cwd, sessionManager, sessionStartEvent }) => {
|
|
1153
|
-
const services = await createAgentSessionServices({ cwd });
|
|
1154
|
-
return {
|
|
1155
|
-
...(await createAgentSessionFromServices({ services, sessionManager, sessionStartEvent })),
|
|
1156
|
-
services,
|
|
1157
|
-
diagnostics: services.diagnostics,
|
|
1158
|
-
};
|
|
1159
|
-
};
|
|
1160
|
-
const runtime = await createAgentSessionRuntime(createRuntime, {
|
|
1161
|
-
cwd: process.cwd(),
|
|
1162
|
-
agentDir: getAgentDir(),
|
|
1163
|
-
sessionManager: SessionManager.create(process.cwd()),
|
|
1164
|
-
});
|
|
1165
|
-
|
|
1166
|
-
const mode = new InteractiveMode(runtime, {
|
|
1167
|
-
migratedProviders: [],
|
|
1168
|
-
modelFallbackMessage: undefined,
|
|
1169
|
-
initialMessage: "Hello",
|
|
1170
|
-
initialImages: [],
|
|
1171
|
-
initialMessages: [],
|
|
1172
|
-
});
|
|
1173
|
-
|
|
1174
|
-
await mode.run();
|
|
1175
|
-
```
|
|
589
|
+
Moved to [SDK API reference](/sdk/reference#interactivemode).
|
|
1176
590
|
|
|
1177
591
|
### runPrintMode
|
|
1178
592
|
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
```typescript
|
|
1182
|
-
import {
|
|
1183
|
-
type CreateAgentSessionRuntimeFactory,
|
|
1184
|
-
createAgentSessionFromServices,
|
|
1185
|
-
createAgentSessionRuntime,
|
|
1186
|
-
createAgentSessionServices,
|
|
1187
|
-
getAgentDir,
|
|
1188
|
-
runPrintMode,
|
|
1189
|
-
SessionManager,
|
|
1190
|
-
} from "@bastani/atomic";
|
|
1191
|
-
|
|
1192
|
-
const createRuntime: CreateAgentSessionRuntimeFactory = async ({ cwd, sessionManager, sessionStartEvent }) => {
|
|
1193
|
-
const services = await createAgentSessionServices({ cwd });
|
|
1194
|
-
return {
|
|
1195
|
-
...(await createAgentSessionFromServices({ services, sessionManager, sessionStartEvent })),
|
|
1196
|
-
services,
|
|
1197
|
-
diagnostics: services.diagnostics,
|
|
1198
|
-
};
|
|
1199
|
-
};
|
|
1200
|
-
const runtime = await createAgentSessionRuntime(createRuntime, {
|
|
1201
|
-
cwd: process.cwd(),
|
|
1202
|
-
agentDir: getAgentDir(),
|
|
1203
|
-
sessionManager: SessionManager.create(process.cwd()),
|
|
1204
|
-
});
|
|
1205
|
-
|
|
1206
|
-
await runPrintMode(runtime, {
|
|
1207
|
-
mode: "text",
|
|
1208
|
-
initialMessage: "Hello",
|
|
1209
|
-
initialImages: [],
|
|
1210
|
-
messages: ["Follow up"],
|
|
1211
|
-
});
|
|
1212
|
-
```
|
|
593
|
+
Moved to [SDK API reference](/sdk/reference#runprintmode).
|
|
1213
594
|
|
|
1214
595
|
### runRpcMode
|
|
1215
596
|
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
```typescript
|
|
1219
|
-
import {
|
|
1220
|
-
type CreateAgentSessionRuntimeFactory,
|
|
1221
|
-
createAgentSessionFromServices,
|
|
1222
|
-
createAgentSessionRuntime,
|
|
1223
|
-
createAgentSessionServices,
|
|
1224
|
-
getAgentDir,
|
|
1225
|
-
runRpcMode,
|
|
1226
|
-
SessionManager,
|
|
1227
|
-
} from "@bastani/atomic";
|
|
1228
|
-
|
|
1229
|
-
const createRuntime: CreateAgentSessionRuntimeFactory = async ({ cwd, sessionManager, sessionStartEvent }) => {
|
|
1230
|
-
const services = await createAgentSessionServices({ cwd });
|
|
1231
|
-
return {
|
|
1232
|
-
...(await createAgentSessionFromServices({ services, sessionManager, sessionStartEvent })),
|
|
1233
|
-
services,
|
|
1234
|
-
diagnostics: services.diagnostics,
|
|
1235
|
-
};
|
|
1236
|
-
};
|
|
1237
|
-
const runtime = await createAgentSessionRuntime(createRuntime, {
|
|
1238
|
-
cwd: process.cwd(),
|
|
1239
|
-
agentDir: getAgentDir(),
|
|
1240
|
-
sessionManager: SessionManager.create(process.cwd()),
|
|
1241
|
-
});
|
|
1242
|
-
|
|
1243
|
-
await runRpcMode(runtime);
|
|
1244
|
-
```
|
|
1245
|
-
|
|
1246
|
-
See [RPC documentation](/rpc) for the JSON protocol.
|
|
597
|
+
Moved to [SDK API reference](/sdk/reference#runrpcmode).
|
|
1247
598
|
|
|
1248
599
|
## RPC Mode Alternative
|
|
1249
600
|
|
|
@@ -1268,59 +619,16 @@ RPC mode is preferred when:
|
|
|
1268
619
|
|
|
1269
620
|
## Exports
|
|
1270
621
|
|
|
1271
|
-
|
|
622
|
+
Moved to [SDK API reference](/sdk/reference#exports).
|
|
1272
623
|
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
// Resource loading
|
|
1284
|
-
DefaultResourceLoader
|
|
1285
|
-
type ResourceLoader
|
|
1286
|
-
createEventBus
|
|
1287
|
-
|
|
1288
|
-
// Constants and helpers
|
|
1289
|
-
CONFIG_DIR_NAME
|
|
1290
|
-
defineTool
|
|
1291
|
-
STRUCTURED_OUTPUT_TOOL_NAME
|
|
1292
|
-
createStructuredOutputTool
|
|
1293
|
-
createStructuredOutputCapture
|
|
1294
|
-
getAgentDir
|
|
1295
|
-
getPackageDir
|
|
1296
|
-
getReadmePath
|
|
1297
|
-
getDocsPath
|
|
1298
|
-
getExamplesPath
|
|
1299
|
-
generateDiffString
|
|
1300
|
-
generateUnifiedPatch
|
|
1301
|
-
type EditDiffResult
|
|
1302
|
-
|
|
1303
|
-
// Session management
|
|
1304
|
-
SessionManager
|
|
1305
|
-
SettingsManager
|
|
1306
|
-
|
|
1307
|
-
// Tool factories
|
|
1308
|
-
createCodingTools
|
|
1309
|
-
createReadOnlyTools
|
|
1310
|
-
createReadTool, createBashTool, createEditTool, createWriteTool
|
|
1311
|
-
createGrepTool, createFindTool, createLsTool
|
|
1312
|
-
|
|
1313
|
-
// Types
|
|
1314
|
-
type CreateAgentSessionOptions
|
|
1315
|
-
type CreateAgentSessionResult
|
|
1316
|
-
type StructuredOutputCapture
|
|
1317
|
-
type StructuredOutputToolOptions
|
|
1318
|
-
type ExtensionFactory
|
|
1319
|
-
type ExtensionAPI
|
|
1320
|
-
type ToolDefinition
|
|
1321
|
-
type Skill
|
|
1322
|
-
type PromptTemplate
|
|
1323
|
-
type Tool
|
|
1324
|
-
```
|
|
624
|
+
## Owner-bound task supervisor (S1)
|
|
625
|
+
|
|
626
|
+
Moved to [SDK API reference](/sdk/reference#owner-bound-task-supervisor-s1).
|
|
627
|
+
|
|
628
|
+
### Supervised command SDK
|
|
629
|
+
|
|
630
|
+
Moved to [SDK API reference](/sdk/reference#supervised-command-sdk).
|
|
631
|
+
|
|
632
|
+
### Task transcript references
|
|
1325
633
|
|
|
1326
|
-
|
|
634
|
+
Moved to [SDK API reference](/sdk/reference#task-transcript-references).
|