@bastani/atomic 0.9.13-alpha.1 → 0.9.13-alpha.3
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 +144 -0
- package/README.md +36 -18
- package/dist/builtin/i-have-adhd/CHANGELOG.md +17 -0
- package/dist/builtin/i-have-adhd/LICENSE +21 -0
- package/dist/builtin/i-have-adhd/README.md +18 -0
- package/dist/builtin/i-have-adhd/index.ts +238 -0
- package/dist/builtin/i-have-adhd/package.json +56 -0
- package/dist/builtin/i-have-adhd/skills/i-have-adhd/SKILL.md +140 -0
- package/dist/builtin/intercom/CHANGELOG.md +33 -0
- package/dist/builtin/intercom/README.md +36 -15
- package/dist/builtin/intercom/broker/bounded-stderr-install.ts +18 -0
- package/dist/builtin/intercom/broker/bounded-stderr.ts +132 -0
- package/dist/builtin/intercom/broker/broker.ts +12 -23
- package/dist/builtin/intercom/broker/client.ts +70 -3
- package/dist/builtin/intercom/broker/paths.ts +9 -0
- package/dist/builtin/intercom/broker/presence-handler.ts +103 -0
- package/dist/builtin/intercom/broker/spawn.ts +128 -29
- package/dist/builtin/intercom/foreground-detach-handoff.ts +30 -14
- package/dist/builtin/intercom/group.ts +64 -25
- package/dist/builtin/intercom/incoming-message-delivery.ts +1 -1
- package/dist/builtin/intercom/index-heavy.ts +38 -5
- package/dist/builtin/intercom/index.ts +8 -4
- package/dist/builtin/intercom/intercom-tool.ts +83 -6
- package/dist/builtin/intercom/intercom-utils.ts +3 -6
- package/dist/builtin/intercom/lazy-subagent-ack.ts +11 -6
- package/dist/builtin/intercom/package.json +2 -3
- package/dist/builtin/intercom/result-renderers.ts +1 -1
- package/dist/builtin/intercom/runtime-group.ts +13 -0
- package/dist/builtin/intercom/session-target.ts +1 -15
- package/dist/builtin/intercom/skills/intercom/SKILL.md +35 -7
- package/dist/builtin/intercom/subagent-relay.ts +32 -16
- package/dist/builtin/intercom/terminal-ordering-barrier.ts +23 -6
- package/dist/builtin/intercom/types.ts +3 -1
- package/dist/builtin/intercom/ui/compose.ts +8 -6
- package/dist/builtin/intercom/ui/inline-message.ts +7 -5
- package/dist/builtin/intercom/ui/session-list.ts +30 -15
- package/dist/builtin/mcp/CHANGELOG.md +13 -0
- package/dist/builtin/mcp/glimpse-ui.ts +2 -1
- package/dist/builtin/mcp/index.ts +1 -11
- package/dist/builtin/mcp/mcp-panel.ts +35 -34
- package/dist/builtin/mcp/mcp-setup-panel.ts +35 -33
- package/dist/builtin/mcp/npx-resolver.ts +3 -2
- package/dist/builtin/mcp/package.json +3 -3
- package/dist/builtin/mcp/sampling-handler.ts +5 -1
- package/dist/builtin/mcp/server-manager.ts +4 -7
- package/dist/builtin/subagents/CHANGELOG.md +52 -0
- package/dist/builtin/subagents/README.md +140 -383
- package/dist/builtin/subagents/agents/worker.md +1 -1
- package/dist/builtin/subagents/package.json +5 -5
- package/dist/builtin/subagents/prompts/parallel-cleanup.md +1 -1
- package/dist/builtin/subagents/prompts/parallel-context-build.md +2 -2
- package/dist/builtin/subagents/prompts/parallel-handoff-plan.md +4 -4
- package/dist/builtin/subagents/prompts/parallel-review.md +1 -1
- package/dist/builtin/subagents/prompts/review-loop.md +2 -2
- package/dist/builtin/subagents/skills/subagent/SKILL.md +55 -154
- package/dist/builtin/subagents/skills/tmux/SKILL.md +1 -1
- package/dist/builtin/subagents/src/agents/agent-discovery.ts +1 -29
- package/dist/builtin/subagents/src/agents/agent-loaders.ts +1 -40
- package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +6 -135
- package/dist/builtin/subagents/src/agents/agent-management.ts +52 -282
- package/dist/builtin/subagents/src/agents/agent-paths.ts +0 -22
- package/dist/builtin/subagents/src/agents/agent-types.ts +0 -40
- package/dist/builtin/subagents/src/agents/agents.ts +0 -3
- package/dist/builtin/subagents/src/agents/identity.ts +2 -4
- package/dist/builtin/subagents/src/agents/skills-paths.ts +8 -1
- package/dist/builtin/subagents/src/extension/control-notices.ts +2 -3
- package/dist/builtin/subagents/src/extension/doctor.ts +4 -36
- package/dist/builtin/subagents/src/extension/fanout-child.ts +1 -17
- package/dist/builtin/subagents/src/extension/index.ts +18 -77
- package/dist/builtin/subagents/src/extension/notification-content.ts +1 -1
- package/dist/builtin/subagents/src/extension/prompt-guidance.ts +3 -3
- package/dist/builtin/subagents/src/extension/schemas.ts +3 -165
- package/dist/builtin/subagents/src/extension/startup-maintenance.ts +0 -2
- package/dist/builtin/subagents/src/extension/tool-description.ts +6 -16
- package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +7 -3
- package/dist/builtin/subagents/src/intercom/result-intercom.ts +25 -68
- package/dist/builtin/subagents/src/intercom/supervisor-authorization.ts +9 -2
- package/dist/builtin/subagents/src/runs/{background → foreground}/completion-notification.ts +10 -5
- package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +0 -5
- package/dist/builtin/subagents/src/runs/foreground/execution.ts +1 -4
- package/dist/builtin/subagents/src/runs/foreground/inprocess-run-sync.ts +119 -80
- package/dist/builtin/subagents/src/runs/{background → foreground}/notify.ts +58 -22
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +22 -50
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +10 -173
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +9 -4
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +11 -2
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +0 -5
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +39 -22
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +36 -16
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +2 -19
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +1 -14
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +150 -69
- package/dist/builtin/subagents/src/runs/inprocess/index.ts +1 -1
- package/dist/builtin/subagents/src/runs/inprocess/runner.ts +348 -94
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-api.ts +0 -7
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-core.ts +0 -10
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-projection.ts +3 -110
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-sanitize.ts +1 -7
- package/dist/builtin/subagents/src/runs/shared/intercom-group.ts +23 -7
- package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +0 -86
- package/dist/builtin/subagents/src/runs/shared/subagent-control.ts +1 -1
- package/dist/builtin/subagents/src/runs/shared/worktree.ts +7 -2
- package/dist/builtin/subagents/src/shared/formatters.ts +5 -61
- package/dist/builtin/subagents/src/shared/model-resolution.ts +78 -0
- package/dist/builtin/subagents/src/shared/settings.ts +14 -350
- package/dist/builtin/subagents/src/shared/status-format.ts +4 -11
- package/dist/builtin/subagents/src/shared/types-config.ts +30 -31
- package/dist/builtin/subagents/src/shared/types-depth.ts +30 -56
- package/dist/builtin/subagents/src/shared/types-nested.ts +127 -0
- package/dist/builtin/subagents/src/shared/types-results.ts +11 -66
- package/dist/builtin/subagents/src/shared/types-runtime.ts +0 -10
- package/dist/builtin/subagents/src/shared/types.ts +1 -1
- package/dist/builtin/subagents/src/shared/utils.ts +6 -109
- package/dist/builtin/subagents/src/slash/bridge-settlement.ts +87 -0
- package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +47 -7
- package/dist/builtin/subagents/src/slash/slash-bridge.ts +27 -7
- package/dist/builtin/subagents/src/slash/slash-commands.ts +44 -99
- package/dist/builtin/subagents/src/slash/slash-live-state.ts +1 -92
- package/dist/builtin/subagents/src/tui/render-event-formatting.ts +2 -285
- package/dist/builtin/subagents/src/tui/render-layout.ts +4 -4
- package/dist/builtin/subagents/src/tui/render-progress.ts +89 -0
- package/dist/builtin/subagents/src/tui/render-result-compact.ts +43 -71
- package/dist/builtin/subagents/src/tui/render-result.ts +41 -99
- package/dist/builtin/subagents/src/tui/render-stable-output.ts +1 -39
- package/dist/builtin/subagents/src/tui/render.ts +0 -2
- package/dist/builtin/web-access/CHANGELOG.md +14 -0
- package/dist/builtin/web-access/chrome-cookies.ts +3 -2
- package/dist/builtin/web-access/github-api.ts +7 -6
- package/dist/builtin/web-access/github-extract.ts +2 -1
- package/dist/builtin/web-access/package.json +3 -3
- package/dist/builtin/web-access/subprocess.ts +3 -1
- package/dist/builtin/web-access/summary-review.ts +2 -2
- package/dist/builtin/web-access/web-search-features.ts +38 -22
- package/dist/builtin/web-access/web-search-summary.ts +2 -2
- package/dist/builtin/workflows/CHANGELOG.md +57 -0
- package/dist/builtin/workflows/README.md +44 -4
- package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +3 -0
- package/dist/builtin/workflows/builtin/ralph-models.ts +25 -20
- package/dist/builtin/workflows/builtin/shared-prompts.ts +5 -2
- package/dist/builtin/workflows/package.json +2 -2
- package/dist/builtin/workflows/src/durable/backend.ts +29 -1
- package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +123 -28
- package/dist/builtin/workflows/src/durable/completed-catalog.ts +230 -23
- package/dist/builtin/workflows/src/durable/completed-subtree.ts +22 -7
- package/dist/builtin/workflows/src/durable/dbos-backend.ts +42 -24
- package/dist/builtin/workflows/src/durable/dbos-envelope.ts +2 -1
- package/dist/builtin/workflows/src/durable/dbos-metadata.ts +4 -0
- package/dist/builtin/workflows/src/durable/local-command.ts +2 -1
- package/dist/builtin/workflows/src/durable/run-timing.ts +28 -7
- package/dist/builtin/workflows/src/durable/scoped-backend.ts +4 -0
- package/dist/builtin/workflows/src/durable/targeted-inspection.ts +110 -0
- package/dist/builtin/workflows/src/durable/types.ts +17 -1
- package/dist/builtin/workflows/src/durable/workflow-child-result.ts +3 -1
- package/dist/builtin/workflows/src/engine/primitives/workflow.ts +1 -1
- package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +10 -2
- package/dist/builtin/workflows/src/engine/run-durable-stage-session.ts +2 -2
- package/dist/builtin/workflows/src/engine/run-durable-topology.ts +9 -2
- package/dist/builtin/workflows/src/engine/runtime.ts +19 -2
- package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +7 -1
- package/dist/builtin/workflows/src/extension/companions.ts +1 -1
- package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +3 -0
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +1624 -596
- package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +31 -3
- package/dist/builtin/workflows/src/extension/mcp.ts +13 -2
- package/dist/builtin/workflows/src/extension/render-result.ts +1 -0
- package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +6 -0
- package/dist/builtin/workflows/src/extension/ui-surface.ts +9 -20
- package/dist/builtin/workflows/src/extension/wiring.ts +33 -6
- package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +6 -1
- package/dist/builtin/workflows/src/extension/workflow-ports.ts +14 -6
- package/dist/builtin/workflows/src/extension/workflow-prompts.ts +11 -6
- package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +8 -0
- package/dist/builtin/workflows/src/extension/workflow-targets.ts +18 -10
- package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +2 -0
- package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +31 -16
- package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +75 -3
- package/dist/builtin/workflows/src/extension/workflow-tool.ts +53 -6
- package/dist/builtin/workflows/src/intercom/intercom-routing.ts +12 -6
- package/dist/builtin/workflows/src/intercom/result-intercom.ts +35 -4
- package/dist/builtin/workflows/src/runs/background/run-inspect.ts +5 -1
- package/dist/builtin/workflows/src/runs/background/status.ts +15 -0
- package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +11 -3
- package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +2 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +26 -2
- package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +3 -2
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +94 -60
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-context.ts +1 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +7 -7
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +25 -4
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +4 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +2 -0
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +142 -4
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +2 -0
- package/dist/builtin/workflows/src/runs/foreground/stage-session-heartbeat.ts +88 -0
- package/dist/builtin/workflows/src/runs/shared/worktree-git-runner.ts +5 -2
- package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +2 -0
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +5 -3
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +5 -3
- package/dist/builtin/workflows/src/shared/graph-store-snapshot.ts +34 -2
- package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +23 -6
- package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +10 -4
- package/dist/builtin/workflows/src/shared/store-public-types.ts +4 -2
- package/dist/builtin/workflows/src/shared/store-types.ts +1 -1
- package/dist/builtin/workflows/src/shared/workflow-artifact-env.ts +21 -0
- package/dist/builtin/workflows/src/shared/workflow-artifacts.ts +2 -5
- package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +37 -2
- package/dist/builtin/workflows/src/tui/graph-view-constants.ts +0 -15
- package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +38 -47
- package/dist/builtin/workflows/src/tui/graph-view-input.ts +48 -45
- package/dist/builtin/workflows/src/tui/graph-view-layout.ts +266 -0
- package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +1 -86
- package/dist/builtin/workflows/src/tui/graph-view-render.ts +209 -91
- package/dist/builtin/workflows/src/tui/graph-view-state.ts +5 -7
- package/dist/builtin/workflows/src/tui/graph-view-types.ts +13 -7
- package/dist/builtin/workflows/src/tui/inline-form-editor.ts +8 -6
- package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +2 -1
- package/dist/builtin/workflows/src/tui/inputs-overlay.ts +7 -4
- package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +66 -0
- package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +1 -0
- package/dist/builtin/workflows/src/tui/node-card.ts +1 -1
- package/dist/builtin/workflows/src/tui/overlay-adapter.ts +18 -46
- package/dist/builtin/workflows/src/tui/overlay-terminal-modes.ts +15 -26
- package/dist/builtin/workflows/src/tui/run-detail.ts +25 -12
- package/dist/builtin/workflows/src/tui/session-overlays.ts +5 -2
- package/dist/builtin/workflows/src/tui/session-picker.ts +27 -0
- package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +5 -14
- package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +8 -7
- package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +12 -3
- package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +1 -11
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +0 -8
- package/dist/builtin/workflows/src/tui/status-list.ts +1 -0
- package/dist/builtin/workflows/src/tui/store-widget-installer.ts +2 -6
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +0 -15
- package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +2 -26
- package/dist/builtin/workflows/src/tui/workflow-resume-selector.ts +1 -0
- package/dist/builtin/workflows/src/tui/workflow-status.ts +3 -3
- package/dist/bun/split-loader.js +2 -0
- package/dist/bun/split-loader.js.map +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +6 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/auth-check.d.ts +35 -0
- package/dist/cli/auth-check.d.ts.map +1 -0
- package/dist/cli/auth-check.js +100 -0
- package/dist/cli/auth-check.js.map +1 -0
- package/dist/cli/auth-command.d.ts +27 -0
- package/dist/cli/auth-command.d.ts.map +1 -0
- package/dist/cli/auth-command.js +150 -0
- package/dist/cli/auth-command.js.map +1 -0
- package/dist/cli/config-selector.js +2 -2
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/credential-print.d.ts +18 -23
- package/dist/cli/credential-print.d.ts.map +1 -1
- package/dist/cli/credential-print.js +42 -88
- package/dist/cli/credential-print.js.map +1 -1
- package/dist/cli/experimental/auth.d.ts +16 -0
- package/dist/cli/experimental/auth.d.ts.map +1 -0
- package/dist/cli/experimental/auth.js +13 -0
- package/dist/cli/experimental/auth.js.map +1 -0
- package/dist/cli/experimental/cli.d.ts +6 -0
- package/dist/cli/experimental/cli.d.ts.map +1 -0
- package/dist/cli/experimental/cli.js +5 -0
- package/dist/cli/experimental/cli.js.map +1 -0
- package/dist/cli/experimental/command-options.d.ts +17 -0
- package/dist/cli/experimental/command-options.d.ts.map +1 -0
- package/dist/cli/experimental/command-options.js +35 -0
- package/dist/cli/experimental/command-options.js.map +1 -0
- package/dist/cli/experimental/command.d.ts +63 -0
- package/dist/cli/experimental/command.d.ts.map +1 -0
- package/dist/cli/experimental/command.js +127 -0
- package/dist/cli/experimental/command.js.map +1 -0
- package/dist/cli/experimental/commands/client.d.ts +13 -0
- package/dist/cli/experimental/commands/client.d.ts.map +1 -0
- package/dist/cli/experimental/commands/client.js +25 -0
- package/dist/cli/experimental/commands/client.js.map +1 -0
- package/dist/cli/experimental/commands/pi.d.ts +15 -0
- package/dist/cli/experimental/commands/pi.d.ts.map +1 -0
- package/dist/cli/experimental/commands/pi.js +28 -0
- package/dist/cli/experimental/commands/pi.js.map +1 -0
- package/dist/cli/experimental/commands/server.d.ts +13 -0
- package/dist/cli/experimental/commands/server.d.ts.map +1 -0
- package/dist/cli/experimental/commands/server.js +25 -0
- package/dist/cli/experimental/commands/server.js.map +1 -0
- package/dist/cli/experimental/transport-address.d.ts +10 -0
- package/dist/cli/experimental/transport-address.d.ts.map +1 -0
- package/dist/cli/experimental/transport-address.js +38 -0
- package/dist/cli/experimental/transport-address.js.map +1 -0
- package/dist/cli/session-picker.js +2 -2
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js +4 -10
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/remote-session.d.ts +64 -0
- package/dist/client/remote-session.d.ts.map +1 -0
- package/dist/client/remote-session.js +351 -0
- package/dist/client/remote-session.js.map +1 -0
- package/dist/client/transcript.d.ts +12 -0
- package/dist/client/transcript.d.ts.map +1 -0
- package/dist/client/transcript.js +98 -0
- package/dist/client/transcript.js.map +1 -0
- package/dist/core/agent-session-auto-compaction.d.ts +17 -13
- package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-auto-compaction.js +146 -64
- package/dist/core/agent-session-auto-compaction.js.map +1 -1
- package/dist/core/agent-session-bash.d.ts.map +1 -1
- package/dist/core/agent-session-bash.js +2 -0
- package/dist/core/agent-session-bash.js.map +1 -1
- package/dist/core/agent-session-compaction.d.ts +3 -6
- package/dist/core/agent-session-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-compaction.js +64 -28
- package/dist/core/agent-session-compaction.js.map +1 -1
- package/dist/core/agent-session-events.d.ts +1 -11
- package/dist/core/agent-session-events.d.ts.map +1 -1
- package/dist/core/agent-session-events.js +28 -25
- package/dist/core/agent-session-events.js.map +1 -1
- package/dist/core/agent-session-export.d.ts.map +1 -1
- package/dist/core/agent-session-export.js +2 -1
- package/dist/core/agent-session-export.js.map +1 -1
- package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
- package/dist/core/agent-session-extension-bindings.js +4 -2
- package/dist/core/agent-session-extension-bindings.js.map +1 -1
- package/dist/core/agent-session-methods.d.ts +14 -6
- 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-models.d.ts +1 -0
- package/dist/core/agent-session-models.d.ts.map +1 -1
- package/dist/core/agent-session-models.js +11 -4
- package/dist/core/agent-session-models.js.map +1 -1
- package/dist/core/agent-session-post-tool-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-post-tool-compaction.js +22 -6
- package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
- package/dist/core/agent-session-prompt.d.ts.map +1 -1
- package/dist/core/agent-session-prompt.js +5 -0
- package/dist/core/agent-session-prompt.js.map +1 -1
- package/dist/core/agent-session-runtime-auth.d.ts.map +1 -1
- package/dist/core/agent-session-runtime-auth.js +3 -0
- package/dist/core/agent-session-runtime-auth.js.map +1 -1
- package/dist/core/agent-session-summary.d.ts +21 -0
- package/dist/core/agent-session-summary.d.ts.map +1 -0
- package/dist/core/agent-session-summary.js +156 -0
- package/dist/core/agent-session-summary.js.map +1 -0
- package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
- package/dist/core/agent-session-tool-hooks.js +25 -14
- package/dist/core/agent-session-tool-hooks.js.map +1 -1
- package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
- package/dist/core/agent-session-tool-registry.js +4 -4
- 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 +0 -2
- 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 +6 -0
- package/dist/core/agent-session-tree.js.map +1 -1
- package/dist/core/agent-session-types.d.ts +2 -0
- package/dist/core/agent-session-types.d.ts.map +1 -1
- package/dist/core/agent-session-types.js.map +1 -1
- package/dist/core/agent-session.d.ts +13 -3
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +38 -5
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/atomic-guide-command.d.ts.map +1 -1
- package/dist/core/atomic-guide-command.js +4 -5
- package/dist/core/atomic-guide-command.js.map +1 -1
- package/dist/core/auth-storage.d.ts +18 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +83 -0
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts +5 -0
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +43 -19
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/builtin-packages.d.ts.map +1 -1
- package/dist/core/builtin-packages.js +6 -0
- package/dist/core/builtin-packages.js.map +1 -1
- package/dist/core/codex-fast-mode.d.ts.map +1 -1
- package/dist/core/codex-fast-mode.js +8 -3
- package/dist/core/codex-fast-mode.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +1 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/index.d.ts +1 -0
- package/dist/core/compaction/index.d.ts.map +1 -1
- package/dist/core/compaction/index.js +1 -0
- package/dist/core/compaction/index.js.map +1 -1
- package/dist/core/compaction/session-summarization.d.ts +41 -0
- package/dist/core/compaction/session-summarization.d.ts.map +1 -0
- package/dist/core/compaction/session-summarization.js +97 -0
- package/dist/core/compaction/session-summarization.js.map +1 -0
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js +4 -3
- package/dist/core/exec.js.map +1 -1
- package/dist/core/extensions/agent-events.d.ts +0 -1
- 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 +5 -3
- 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 +5 -0
- package/dist/core/extensions/event-results.d.ts.map +1 -1
- package/dist/core/extensions/event-results.js.map +1 -1
- package/dist/core/extensions/index.d.ts +2 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js +1 -0
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader-api.d.ts.map +1 -1
- package/dist/core/extensions/loader-api.js +14 -1
- package/dist/core/extensions/loader-api.js.map +1 -1
- package/dist/core/extensions/loader-discovery.d.ts.map +1 -1
- package/dist/core/extensions/loader-discovery.js +3 -23
- package/dist/core/extensions/loader-discovery.js.map +1 -1
- package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
- package/dist/core/extensions/loader-runtime.js +20 -3
- 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 +7 -1
- package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
- package/dist/core/extensions/message-types.d.ts +6 -0
- package/dist/core/extensions/message-types.d.ts.map +1 -1
- package/dist/core/extensions/message-types.js.map +1 -1
- package/dist/core/extensions/provider-types.d.ts +9 -3
- package/dist/core/extensions/provider-types.d.ts.map +1 -1
- package/dist/core/extensions/provider-types.js.map +1 -1
- package/dist/core/extensions/runner-registries.d.ts +2 -1
- package/dist/core/extensions/runner-registries.d.ts.map +1 -1
- package/dist/core/extensions/runner-registries.js +3 -0
- package/dist/core/extensions/runner-registries.js.map +1 -1
- package/dist/core/extensions/runner-ui.d.ts.map +1 -1
- package/dist/core/extensions/runner-ui.js +1 -0
- package/dist/core/extensions/runner-ui.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +2 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +6 -2
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/runtime-types.d.ts +4 -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/stale-context.d.ts +5 -0
- package/dist/core/extensions/stale-context.d.ts.map +1 -0
- package/dist/core/extensions/stale-context.js +11 -0
- package/dist/core/extensions/stale-context.js.map +1 -0
- package/dist/core/extensions/ui-types.d.ts +16 -11
- package/dist/core/extensions/ui-types.d.ts.map +1 -1
- package/dist/core/extensions/ui-types.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +3 -2
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/intercom-runtime-group.d.ts +13 -0
- package/dist/core/intercom-runtime-group.d.ts.map +1 -0
- package/dist/core/intercom-runtime-group.js +23 -0
- package/dist/core/intercom-runtime-group.js.map +1 -0
- package/dist/core/keybindings.d.ts +44 -4
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/model-config.d.ts +39 -5
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +6 -0
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-registry.d.ts +12 -5
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +20 -12
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver-cli.d.ts.map +1 -1
- package/dist/core/model-resolver-cli.js +46 -14
- package/dist/core/model-resolver-cli.js.map +1 -1
- package/dist/core/model-resolver-defaults.d.ts.map +1 -1
- package/dist/core/model-resolver-defaults.js +2 -0
- package/dist/core/model-resolver-defaults.js.map +1 -1
- package/dist/core/model-resolver-scope.d.ts +2 -0
- package/dist/core/model-resolver-scope.d.ts.map +1 -1
- package/dist/core/model-resolver-scope.js +12 -9
- package/dist/core/model-resolver-scope.js.map +1 -1
- package/dist/core/model-resolver.d.ts +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +1 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime-snapshot.d.ts +10 -0
- package/dist/core/model-runtime-snapshot.d.ts.map +1 -1
- package/dist/core/model-runtime-snapshot.js +14 -1
- package/dist/core/model-runtime-snapshot.js.map +1 -1
- package/dist/core/model-runtime-streaming.d.ts +3 -1
- package/dist/core/model-runtime-streaming.d.ts.map +1 -1
- package/dist/core/model-runtime-streaming.js +16 -0
- package/dist/core/model-runtime-streaming.js.map +1 -1
- package/dist/core/model-runtime-types.d.ts +2 -0
- package/dist/core/model-runtime-types.d.ts.map +1 -1
- package/dist/core/model-runtime-types.js.map +1 -1
- package/dist/core/model-runtime.d.ts +37 -10
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +312 -113
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/oauth-login.d.ts.map +1 -1
- package/dist/core/oauth-login.js +2 -1
- package/dist/core/oauth-login.js.map +1 -1
- package/dist/core/openai-responses-payload-sanitizer.d.ts.map +1 -1
- package/dist/core/openai-responses-payload-sanitizer.js +18 -2
- package/dist/core/openai-responses-payload-sanitizer.js.map +1 -1
- package/dist/core/package-manager-git.d.ts.map +1 -1
- package/dist/core/package-manager-git.js +56 -10
- package/dist/core/package-manager-git.js.map +1 -1
- package/dist/core/package-manager-manifest.d.ts +1 -1
- package/dist/core/package-manager-manifest.d.ts.map +1 -1
- package/dist/core/package-manager-manifest.js +19 -9
- package/dist/core/package-manager-manifest.js.map +1 -1
- package/dist/core/package-manager-resource-collector.js.map +1 -1
- package/dist/core/package-manager-resource-files.d.ts.map +1 -1
- package/dist/core/package-manager-resource-files.js +1 -2
- package/dist/core/package-manager-resource-files.js.map +1 -1
- package/dist/core/provider-composer-internal.d.ts +10 -2
- package/dist/core/provider-composer-internal.d.ts.map +1 -1
- package/dist/core/provider-composer-internal.js +7 -3
- package/dist/core/provider-composer-internal.js.map +1 -1
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js +19 -12
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/provider-display-names.d.ts.map +1 -1
- package/dist/core/provider-display-names.js +2 -0
- package/dist/core/provider-display-names.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +77 -67
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js +3 -0
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/resource-loader-context-files.d.ts.map +1 -1
- package/dist/core/resource-loader-context-files.js +13 -5
- package/dist/core/resource-loader-context-files.js.map +1 -1
- package/dist/core/runtime-credentials.d.ts +5 -5
- package/dist/core/runtime-credentials.d.ts.map +1 -1
- package/dist/core/runtime-credentials.js +8 -8
- package/dist/core/runtime-credentials.js.map +1 -1
- package/dist/core/session-manager-core.d.ts +3 -1
- package/dist/core/session-manager-core.d.ts.map +1 -1
- package/dist/core/session-manager-core.js +9 -1
- package/dist/core/session-manager-core.js.map +1 -1
- package/dist/core/session-manager-entries.d.ts +24 -1
- package/dist/core/session-manager-entries.d.ts.map +1 -1
- package/dist/core/session-manager-entries.js +48 -0
- package/dist/core/session-manager-entries.js.map +1 -1
- package/dist/core/session-manager-list.d.ts.map +1 -1
- package/dist/core/session-manager-list.js +13 -1
- package/dist/core/session-manager-list.js.map +1 -1
- package/dist/core/session-manager-types.d.ts +10 -1
- package/dist/core/session-manager-types.d.ts.map +1 -1
- package/dist/core/session-manager-types.js.map +1 -1
- package/dist/core/settings-manager-basic-accessors.d.ts +3 -0
- package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-basic-accessors.js +5 -0
- package/dist/core/settings-manager-basic-accessors.js.map +1 -1
- package/dist/core/settings-manager-ui-accessors.d.ts +8 -1
- package/dist/core/settings-manager-ui-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-ui-accessors.js +31 -0
- package/dist/core/settings-manager-ui-accessors.js.map +1 -1
- package/dist/core/settings-manager.d.ts +2 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/settings-merge.d.ts.map +1 -1
- package/dist/core/settings-merge.js +13 -16
- package/dist/core/settings-merge.js.map +1 -1
- package/dist/core/settings-types.d.ts +9 -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 +2 -4
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts +2 -2
- package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/state/questionnaire-session.js +39 -2
- package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
- package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
- package/dist/core/tools/bash-pty-native.js +2 -1
- package/dist/core/tools/bash-pty-native.js.map +1 -1
- package/dist/core/tools/bash.d.ts +9 -15
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +36 -96
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/directory-tree.d.ts +11 -0
- package/dist/core/tools/directory-tree.d.ts.map +1 -1
- package/dist/core/tools/directory-tree.js +26 -0
- package/dist/core/tools/directory-tree.js.map +1 -1
- package/dist/core/tools/edit.d.ts +4 -0
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +12 -8
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/errno.d.ts +25 -0
- package/dist/core/tools/errno.d.ts.map +1 -0
- package/dist/core/tools/errno.js +29 -0
- package/dist/core/tools/errno.js.map +1 -0
- package/dist/core/tools/fetch-url.d.ts +12 -0
- package/dist/core/tools/fetch-url.d.ts.map +1 -1
- package/dist/core/tools/fetch-url.js +76 -10
- package/dist/core/tools/fetch-url.js.map +1 -1
- package/dist/core/tools/find.d.ts +8 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +20 -15
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +5 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts +7 -7
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +11 -11
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/ls.d.ts +4 -0
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +5 -1
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts +8 -1
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +50 -28
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/oversized-tool-result.d.ts.map +1 -1
- package/dist/core/tools/oversized-tool-result.js +129 -22
- package/dist/core/tools/oversized-tool-result.js.map +1 -1
- package/dist/core/tools/persisted-output-file.d.ts +80 -0
- package/dist/core/tools/persisted-output-file.d.ts.map +1 -0
- package/dist/core/tools/persisted-output-file.js +284 -0
- package/dist/core/tools/persisted-output-file.js.map +1 -0
- package/dist/core/tools/read.d.ts +10 -0
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +20 -8
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/search.d.ts +4 -0
- package/dist/core/tools/search.d.ts.map +1 -1
- package/dist/core/tools/search.js +5 -1
- package/dist/core/tools/search.js.map +1 -1
- package/dist/core/tools/session-temp-cleanup.d.ts +133 -0
- package/dist/core/tools/session-temp-cleanup.d.ts.map +1 -0
- package/dist/core/tools/session-temp-cleanup.js +669 -0
- package/dist/core/tools/session-temp-cleanup.js.map +1 -0
- package/dist/core/tools/session-temp-dir.d.ts +116 -0
- package/dist/core/tools/session-temp-dir.d.ts.map +1 -0
- package/dist/core/tools/session-temp-dir.js +408 -0
- package/dist/core/tools/session-temp-dir.js.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js +2 -0
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/core/tools/tool-limits.d.ts +11 -0
- package/dist/core/tools/tool-limits.d.ts.map +1 -1
- package/dist/core/tools/tool-limits.js +11 -0
- package/dist/core/tools/tool-limits.js.map +1 -1
- package/dist/core/tools/windows-directory-security.d.ts +82 -0
- package/dist/core/tools/windows-directory-security.d.ts.map +1 -0
- package/dist/core/tools/windows-directory-security.js +238 -0
- package/dist/core/tools/windows-directory-security.js.map +1 -0
- package/dist/core/tools/write.d.ts +4 -0
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +8 -4
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/trust-manager.js +1 -1
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/core/usage-totals.js +1 -1
- package/dist/core/usage-totals.js.map +1 -1
- package/dist/extensions/llama/huggingface-ui.d.ts +1 -1
- package/dist/extensions/llama/huggingface-ui.d.ts.map +1 -1
- package/dist/extensions/llama/huggingface-ui.js +6 -5
- package/dist/extensions/llama/huggingface-ui.js.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js +11 -2
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +24 -8
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/extensions/llama/ui.d.ts.map +1 -1
- package/dist/extensions/llama/ui.js +5 -2
- package/dist/extensions/llama/ui.js.map +1 -1
- package/dist/index-extensions.d.ts +2 -2
- package/dist/index-extensions.d.ts.map +1 -1
- package/dist/index-extensions.js +1 -1
- package/dist/index-extensions.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/main-runtime-api-key.d.ts +2 -2
- package/dist/main-runtime-api-key.d.ts.map +1 -1
- package/dist/main-runtime-api-key.js +7 -2
- package/dist/main-runtime-api-key.js.map +1 -1
- package/dist/main-session.js +2 -2
- package/dist/main-session.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +130 -26
- package/dist/main.js.map +1 -1
- package/dist/modes/index.d.ts +1 -0
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +6 -2
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +18 -5
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js +5 -4
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts +2 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +3 -2
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/chat-message-renderer.d.ts +17 -7
- package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-message-renderer.js +35 -69
- package/dist/modes/interactive/components/chat-message-renderer.js.map +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 +11 -3
- package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-events.js +25 -15
- package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.js +9 -4
- package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-state.d.ts +2 -0
- package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-state.js +2 -0
- package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.d.ts +9 -0
- package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.js +14 -0
- package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
- package/dist/modes/interactive/components/chat-transcript.d.ts +32 -0
- package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-transcript.js +173 -5
- package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
- package/dist/modes/interactive/components/config-selector-list.d.ts +1 -1
- package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector-list.js +9 -8
- package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +32 -10
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts +2 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +3 -2
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +3 -2
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js +1 -0
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js +4 -0
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/fast-mode-selector.d.ts +1 -1
- package/dist/modes/interactive/components/fast-mode-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/fast-mode-selector.js +7 -5
- package/dist/modes/interactive/components/fast-mode-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.d.ts.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.js +3 -0
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
- package/dist/modes/interactive/components/footer.js +2 -2
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/host-input-form.d.ts +1 -1
- package/dist/modes/interactive/components/host-input-form.d.ts.map +1 -1
- package/dist/modes/interactive/components/host-input-form.js +6 -5
- package/dist/modes/interactive/components/host-input-form.js.map +1 -1
- package/dist/modes/interactive/components/host-session-picker.d.ts.map +1 -1
- package/dist/modes/interactive/components/host-session-picker.js +1 -0
- package/dist/modes/interactive/components/host-session-picker.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +1 -1
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +2 -1
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.d.ts +3 -0
- package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
- package/dist/modes/interactive/components/markdown-transform.js +19 -0
- package/dist/modes/interactive/components/markdown-transform.js.map +1 -0
- package/dist/modes/interactive/components/mermaid.d.ts +11 -0
- package/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
- package/dist/modes/interactive/components/mermaid.js +81 -0
- package/dist/modes/interactive/components/mermaid.js.map +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts +2 -2
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +9 -6
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +3 -2
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +6 -2
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +39 -13
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-delete.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-delete.js +2 -1
- package/dist/modes/interactive/components/session-selector-delete.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-list.d.ts +1 -1
- package/dist/modes/interactive/components/session-selector-list.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-list.js +41 -15
- package/dist/modes/interactive/components/session-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.js +1 -1
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +3 -3
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-handlers.js +9 -0
- package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.js +21 -0
- package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-submenus.d.ts +3 -3
- package/dist/modes/interactive/components/settings-selector-submenus.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-submenus.js +6 -1
- package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.d.ts +8 -1
- package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +2 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +3 -2
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts +2 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +50 -27
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-component.d.ts +1 -1
- package/dist/modes/interactive/components/tree-selector-component.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-component.js +2 -3
- package/dist/modes/interactive/components/tree-selector-component.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-content.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-content.js +6 -0
- package/dist/modes/interactive/components/tree-selector-content.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-help.d.ts +1 -1
- package/dist/modes/interactive/components/tree-selector-help.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-help.js +3 -1
- package/dist/modes/interactive/components/tree-selector-help.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-label-input.d.ts +1 -1
- package/dist/modes/interactive/components/tree-selector-label-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-label-input.js +1 -0
- package/dist/modes/interactive/components/tree-selector-label-input.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-list.d.ts +1 -1
- package/dist/modes/interactive/components/tree-selector-list.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-list.js +3 -0
- package/dist/modes/interactive/components/tree-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/trust-selector.d.ts +1 -1
- package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/trust-selector.js +4 -0
- package/dist/modes/interactive/components/trust-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js +4 -0
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts +4 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +10 -2
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +2 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-agent-events.js +36 -18
- package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-login.js +9 -2
- package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-auth-routing.js +5 -1
- package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-bash-compact.js +16 -4
- package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
- package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-deferred-startup.js +3 -0
- package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-editor-actions.js +2 -0
- package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-context.js +12 -7
- package/dist/modes/interactive/interactive-extension-context.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-custom-ui.js +1 -0
- package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-dialogs.js +7 -0
- package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-widgets.js +7 -24
- 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 +9 -8
- package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.d.ts +52 -3
- package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.js +143 -5
- package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-deps.d.ts +2 -2
- package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-deps.js +2 -2
- package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts +9 -3
- 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 +1 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/interactive-model-routing.js +107 -41
- package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-process-lifecycle.js +1 -1
- package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
- package/dist/modes/interactive/interactive-render-chat.js +24 -6
- package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
- package/dist/modes/interactive/interactive-selectors.js +44 -5
- package/dist/modes/interactive/interactive-selectors.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 +9 -4
- 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 +37 -18
- package/dist/modes/interactive/interactive-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-tui.d.ts +21 -0
- package/dist/modes/interactive/interactive-tui.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-tui.js +279 -0
- package/dist/modes/interactive/interactive-tui.js.map +1 -0
- package/dist/modes/interactive/streaming-assistant-message.d.ts +34 -0
- package/dist/modes/interactive/streaming-assistant-message.d.ts.map +1 -0
- package/dist/modes/interactive/streaming-assistant-message.js +76 -0
- package/dist/modes/interactive/streaming-assistant-message.js.map +1 -0
- package/dist/modes/interactive/theme/catppuccin-frappe.json +1 -0
- package/dist/modes/interactive/theme/catppuccin-latte.json +1 -0
- package/dist/modes/interactive/theme/catppuccin-macchiato.json +1 -0
- package/dist/modes/interactive/theme/catppuccin-mocha.json +1 -0
- package/dist/modes/interactive/theme/dark.json +1 -0
- package/dist/modes/interactive/theme/light.json +1 -0
- package/dist/modes/interactive/theme/terminal-detection.d.ts +10 -0
- package/dist/modes/interactive/theme/terminal-detection.d.ts.map +1 -1
- package/dist/modes/interactive/theme/terminal-detection.js +19 -0
- package/dist/modes/interactive/theme/terminal-detection.js.map +1 -1
- package/dist/modes/interactive/theme/theme-class.d.ts +2 -2
- package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-class.js +5 -1
- package/dist/modes/interactive/theme/theme-class.js.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts +3 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js +10 -13
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-loading.js +1 -0
- package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.d.ts +4 -0
- package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.js +2 -1
- package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.json +5 -1
- package/dist/modes/interactive/theme/theme.d.ts +1 -1
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +1 -1
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.d.ts +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.js +28 -11
- package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
- package/dist/modes/interactive-engine/engine-render-service.js +3 -3
- package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +2 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.js +2 -2
- package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
- package/dist/modes/interactive-engine/isolated-runtime.d.ts +7 -0
- package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
- package/dist/modes/interactive-engine/isolated-runtime.js +7 -0
- package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
- package/dist/modes/interactive-engine/protocol.d.ts +12 -10
- package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
- package/dist/modes/interactive-engine/protocol.js +18 -12
- package/dist/modes/interactive-engine/protocol.js.map +1 -1
- package/dist/modes/interactive-engine/remote-component.d.ts +11 -1
- package/dist/modes/interactive-engine/remote-component.d.ts.map +1 -1
- package/dist/modes/interactive-engine/remote-component.js +48 -8
- package/dist/modes/interactive-engine/remote-component.js.map +1 -1
- package/dist/modes/interactive-engine/terminal-mode-controller.d.ts +19 -12
- package/dist/modes/interactive-engine/terminal-mode-controller.d.ts.map +1 -1
- package/dist/modes/interactive-engine/terminal-mode-controller.js +54 -35
- package/dist/modes/interactive-engine/terminal-mode-controller.js.map +1 -1
- package/dist/modes/json-event.d.ts +28 -0
- package/dist/modes/json-event.d.ts.map +1 -0
- package/dist/modes/json-event.js +12 -0
- package/dist/modes/json-event.js.map +1 -0
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +2 -1
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client-process.d.ts +1 -0
- package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client-process.js +5 -1
- package/dist/modes/rpc/rpc-client-process.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +7 -2
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.js +1 -1
- package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
- package/dist/modes/rpc/rpc-event-buffer.d.ts +9 -0
- package/dist/modes/rpc/rpc-event-buffer.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-event-buffer.js +10 -5
- package/dist/modes/rpc/rpc-event-buffer.js.map +1 -1
- package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-extension-ui.js +3 -0
- package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
- package/dist/modes/rpc/rpc-input.js +1 -1
- package/dist/modes/rpc/rpc-input.js.map +1 -1
- package/dist/modes/rpc/rpc-output-buffer.d.ts +9 -0
- package/dist/modes/rpc/rpc-output-buffer.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-output-buffer.js +10 -5
- package/dist/modes/rpc/rpc-output-buffer.js.map +1 -1
- package/dist/modes/rpc/rpc-provider-auth.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-provider-auth.js +3 -0
- package/dist/modes/rpc/rpc-provider-auth.js.map +1 -1
- package/dist/modes/rpc/rpc-responses.d.ts +1 -1
- package/dist/modes/rpc/rpc-responses.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-responses.js +13 -1
- package/dist/modes/rpc/rpc-responses.js.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.js +2 -1
- package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +9 -2
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/rpc-entry.js +2 -0
- package/dist/rpc-entry.js.map +1 -1
- package/dist/self-update-plan.d.ts.map +1 -1
- package/dist/self-update-plan.js +5 -4
- package/dist/self-update-plan.js.map +1 -1
- package/dist/server/create-harness.d.ts +53 -0
- package/dist/server/create-harness.d.ts.map +1 -0
- package/dist/server/create-harness.js +349 -0
- package/dist/server/create-harness.js.map +1 -0
- package/dist/utils/agent-attribution.d.ts +2 -0
- package/dist/utils/agent-attribution.d.ts.map +1 -0
- package/dist/utils/agent-attribution.js +2 -0
- package/dist/utils/agent-attribution.js.map +1 -0
- package/dist/utils/child-process.d.ts +3 -1
- package/dist/utils/child-process.d.ts.map +1 -1
- package/dist/utils/child-process.js +24 -4
- package/dist/utils/child-process.js.map +1 -1
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js +2 -1
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +12 -3
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/management-http.d.ts +23 -0
- package/dist/utils/management-http.d.ts.map +1 -0
- package/dist/utils/management-http.js +50 -0
- package/dist/utils/management-http.js.map +1 -0
- package/dist/utils/open-browser.d.ts.map +1 -1
- package/dist/utils/open-browser.js +2 -1
- package/dist/utils/open-browser.js.map +1 -1
- package/dist/utils/paths.d.ts +2 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +13 -0
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +17 -4
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/tool-result-images.d.ts +17 -0
- package/dist/utils/tool-result-images.d.ts.map +1 -0
- package/dist/utils/tool-result-images.js +41 -0
- package/dist/utils/tool-result-images.js.map +1 -0
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +7 -8
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts +4 -0
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +20 -2
- package/dist/utils/version-check.js.map +1 -1
- package/docs/compaction.md +2 -1
- package/docs/custom-provider.md +15 -7
- package/docs/development.md +1 -0
- package/docs/docs.json +1 -0
- package/docs/environment-variables.md +5 -1
- package/docs/extensions.md +102 -18
- package/docs/i-have-adhd.md +36 -0
- package/docs/intercom.md +45 -26
- package/docs/json.md +2 -2
- package/docs/keybindings.md +55 -12
- package/docs/models/model-selection.md +34 -8
- package/docs/models.md +28 -3
- package/docs/providers.md +20 -2
- package/docs/quickstart.md +10 -6
- package/docs/rpc.md +18 -12
- package/docs/sdk.md +44 -8
- package/docs/security.md +10 -10
- package/docs/session-format.md +15 -0
- package/docs/sessions.md +10 -0
- package/docs/settings.md +31 -5
- package/docs/subagents.md +27 -54
- package/docs/themes.md +5 -3
- package/docs/tools.md +23 -5
- package/docs/tui.md +41 -24
- package/docs/usage.md +41 -15
- package/docs/windows.md +3 -1
- package/docs/workflows.md +262 -38
- package/examples/extensions/custom-provider-anthropic/index.ts +9 -2
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +9 -2
- package/examples/extensions/modal-editor.ts +8 -10
- package/examples/extensions/rainbow-editor.ts +3 -2
- package/examples/extensions/subagent/README.md +16 -45
- package/examples/extensions/subagent/index.ts +6 -96
- package/examples/extensions/subagent/render.ts +0 -78
- package/examples/extensions/subagent/runner.ts +0 -3
- package/examples/extensions/subagent/schemas.ts +0 -13
- package/examples/extensions/subagent/types.ts +1 -2
- package/examples/sdk/09-api-keys-and-oauth.ts +6 -2
- package/examples/sdk/12-full-control.ts +8 -2
- package/examples/sdk/README.md +4 -1
- package/npm-shrinkwrap.json +191 -634
- package/package.json +14 -7
- package/dist/builtin/subagents/src/agents/chain-serializer.ts +0 -257
- package/dist/builtin/subagents/src/runs/background/async-job-tracker.ts +0 -250
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-details.ts +0 -38
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +0 -280
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +0 -217
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +0 -271
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +0 -271
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +0 -200
- package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +0 -184
- package/dist/builtin/subagents/src/runs/foreground/execution-structured-retries.ts +0 -19
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +0 -190
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +0 -109
- package/dist/builtin/subagents/src/runs/inprocess/background-single.ts +0 -179
- package/dist/builtin/subagents/src/runs/inprocess/background.ts +0 -89
- package/dist/builtin/subagents/src/runs/shared/chain-outputs.ts +0 -126
- package/dist/builtin/subagents/src/runs/shared/dynamic-fanout.ts +0 -393
- package/dist/builtin/subagents/src/runs/shared/structured-output.ts +0 -150
- package/dist/builtin/subagents/src/runs/shared/workflow-graph.ts +0 -232
- package/dist/builtin/subagents/src/shared/types-async.ts +0 -270
- package/dist/builtin/subagents/src/slash/saved-chain-mapping.ts +0 -60
- package/dist/builtin/subagents/src/tui/render-chain-graph.ts +0 -341
- package/dist/builtin/subagents/src/tui/render-widget-graph.ts +0 -266
- package/dist/builtin/subagents/src/tui/render-widget.ts +0 -366
- package/dist/core/async/format.d.ts +0 -3
- package/dist/core/async/format.d.ts.map +0 -1
- package/dist/core/async/format.js +0 -52
- package/dist/core/async/format.js.map +0 -1
- package/dist/core/async/job-manager.d.ts +0 -40
- package/dist/core/async/job-manager.d.ts.map +0 -1
- package/dist/core/async/job-manager.js +0 -293
- package/dist/core/async/job-manager.js.map +0 -1
- package/dist/core/async/session-manager.d.ts +0 -16
- package/dist/core/async/session-manager.d.ts.map +0 -1
- package/dist/core/async/session-manager.js +0 -34
- package/dist/core/async/session-manager.js.map +0 -1
- package/dist/core/async/types.d.ts +0 -23
- package/dist/core/async/types.d.ts.map +0 -1
- package/dist/core/async/types.js +0 -2
- package/dist/core/async/types.js.map +0 -1
- package/dist/core/tools/bash-async-execution.d.ts +0 -25
- package/dist/core/tools/bash-async-execution.d.ts.map +0 -1
- package/dist/core/tools/bash-async-execution.js +0 -78
- package/dist/core/tools/bash-async-execution.js.map +0 -1
- package/dist/core/tools/bash-async-jobs.d.ts +0 -30
- package/dist/core/tools/bash-async-jobs.d.ts.map +0 -1
- package/dist/core/tools/bash-async-jobs.js +0 -87
- package/dist/core/tools/bash-async-jobs.js.map +0 -1
- package/dist/core/tools/bash-async-output.d.ts +0 -12
- package/dist/core/tools/bash-async-output.d.ts.map +0 -1
- package/dist/core/tools/bash-async-output.js +0 -87
- package/dist/core/tools/bash-async-output.js.map +0 -1
- package/examples/extensions/subagent/prompts/implement-and-review.md +0 -10
- package/examples/extensions/subagent/prompts/implement.md +0 -10
- package/examples/extensions/subagent/prompts/scout-and-plan.md +0 -9
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
# @bastani/subagents
|
|
6
6
|
|
|
7
|
-
`@bastani/subagents` lets Atomic delegate work to focused child agents. It is Atomic's bundled adaptation of upstream `pi-subagents`; use it for code review, scouting, implementation, parallel audits,
|
|
7
|
+
`@bastani/subagents` lets Atomic delegate work to focused child agents. It is Atomic's bundled adaptation of upstream `pi-subagents`; use it for code review, scouting, implementation, parallel audits, and anything else that benefits from a second or third set of model eyes.
|
|
8
8
|
|
|
9
|
-
Use subagents selectively for bounded specialist delegation while the parent remains in control: one focused agent
|
|
9
|
+
Use subagents selectively for bounded specialist delegation while the parent remains in control: one focused agent or parallel independent tasks. Keep interactive, exploratory, conceptual, and conversation-led work inline. Multiple steps, files, tests, validation, or parallelism alone do not require a workflow. For clearly delegated autonomous jobs that need durable stages, checkpoints, resumability, HIL, gates, retries, or bounded loops, use an appropriate workflow instead. Subagent calls always run in the foreground and return their results to the parent.
|
|
10
10
|
|
|
11
11
|
https://github.com/user-attachments/assets/702554ec-faaf-4635-80aa-fb5d6e292fd1
|
|
12
12
|
|
|
@@ -27,19 +27,19 @@ You can add optional pieces later.
|
|
|
27
27
|
You do not need to create agents, write config, or learn slash commands. Ask Atomic for delegation in plain language:
|
|
28
28
|
|
|
29
29
|
```text
|
|
30
|
-
Use
|
|
30
|
+
Use codebase-analyzer to check what this diff actually changes.
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
```text
|
|
34
|
-
|
|
34
|
+
Use codebase-locator to find the files behind the auth flow, then ask me clarification questions.
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
```text
|
|
38
|
-
|
|
38
|
+
Ask codebase-research-analyzer what we already decided about retries, and why.
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
```text
|
|
42
|
-
Run parallel reviewers:
|
|
42
|
+
Run parallel reviewers on this diff: codebase-analyzer for correctness, debugger for failure modes, and code-simplifier for unnecessary complexity.
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
That is enough to start.
|
|
@@ -48,12 +48,12 @@ That is enough to start.
|
|
|
48
48
|
|
|
49
49
|
Pi is the parent session. A subagent is a focused child Pi session with its own job.
|
|
50
50
|
|
|
51
|
-
When you ask for a subagent, Pi starts the child, gives it the task, and brings the result back.
|
|
51
|
+
When you ask for a subagent, Pi starts the child, gives it the task, and brings the result back. Single and parallel runs stream progress in the conversation and return their results before the call completes.
|
|
52
52
|
|
|
53
|
-
Installing the extension does not start an automatic
|
|
53
|
+
Installing the extension does not start an automatic review. It gives Pi a delegation tool. If you want every implementation reviewed, say that in your prompt or put it in your project instructions:
|
|
54
54
|
|
|
55
55
|
```text
|
|
56
|
-
When you finish implementing, run
|
|
56
|
+
When you finish implementing, run codebase-analyzer over the diff before summarizing.
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
## Good first prompts
|
|
@@ -61,15 +61,15 @@ When you finish implementing, run a reviewer subagent before summarizing.
|
|
|
61
61
|
These cover most day-to-day use:
|
|
62
62
|
|
|
63
63
|
```text
|
|
64
|
-
|
|
64
|
+
Use codebase-analyzer to explain how this actually behaves before we change it.
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
```text
|
|
68
|
-
Use
|
|
68
|
+
Use debugger to investigate this failure and propose the smallest fix before we edit anything.
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
```text
|
|
72
|
-
Run parallel reviewers on this diff. I want one focused on correctness, one on
|
|
72
|
+
Run parallel reviewers on this diff. I want one focused on correctness, one on failure modes, and one on unnecessary complexity.
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
```text
|
|
@@ -81,27 +81,28 @@ Run a review loop on this change until reviewers stop finding fixes worth doing,
|
|
|
81
81
|
```
|
|
82
82
|
|
|
83
83
|
```text
|
|
84
|
-
Use
|
|
84
|
+
Use codebase-locator to map the auth flow, then codebase-analyzer to explain how it works today.
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
Those are ordinary Pi requests. Pi decides whether to call `subagent`, which agent to use, and whether a
|
|
87
|
+
Those are ordinary Pi requests. Pi decides whether to call `subagent`, which agent to use, and whether a single or parallel run makes sense.
|
|
88
88
|
|
|
89
89
|
## Common workflows
|
|
90
90
|
|
|
91
91
|
| Want | Ask naturally |
|
|
92
92
|
|------|---------------|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
|
96
|
-
|
|
|
93
|
+
| Understand unfamiliar code | “Use codebase-locator to find the auth files, then codebase-analyzer to explain them.” |
|
|
94
|
+
| Recover a past decision | “Use codebase-research-analyzer to tell me what we decided about retries.” |
|
|
95
|
+
| Check an external fact | “Use codebase-online-researcher to confirm this API's current contract.” |
|
|
96
|
+
| Review a diff | “Use codebase-analyzer to review this diff for correctness.” |
|
|
97
|
+
| Run parallel reviewers | “Run reviewers for correctness, failure modes, and cleanup.” |
|
|
97
98
|
| Implement then review | “Implement this, then review it.” |
|
|
98
99
|
| Review until clean | “Run a review loop on this change with a max of 3 rounds.” |
|
|
99
100
|
| Execute a plan carefully | “Have worker implement this approved plan, then run reviewers and apply the feedback.” |
|
|
100
|
-
|
|
|
101
|
-
|
|
|
101
|
+
| Diagnose a failure | “Use debugger to reproduce this test failure and fix it.” |
|
|
102
|
+
| Simplify after it lands | “Use code-simplifier to clean up the change.” |
|
|
103
|
+
| Run a delegated task | “Have worker implement this plan and return the result.” |
|
|
102
104
|
| Browse agents | “Show me the available subagents.” |
|
|
103
|
-
|
|
|
104
|
-
| See running work | “Show active async runs.” |
|
|
105
|
+
| See current status | “Show the current subagent status.” |
|
|
105
106
|
| Check setup | “Check whether subagents are configured correctly.” |
|
|
106
107
|
|
|
107
108
|
The extension ships with builtin agents you can use immediately.
|
|
@@ -110,17 +111,17 @@ The extension ships with builtin agents you can use immediately.
|
|
|
110
111
|
|
|
111
112
|
| Agent | Use it when you want... |
|
|
112
113
|
|-------|--------------------------|
|
|
113
|
-
| `
|
|
114
|
-
| `
|
|
115
|
-
| `
|
|
116
|
-
| `
|
|
117
|
-
| `
|
|
118
|
-
| `
|
|
119
|
-
| `
|
|
120
|
-
| `
|
|
121
|
-
| `
|
|
122
|
-
|
|
123
|
-
|
|
114
|
+
| `codebase-locator` | Find the files, directories, and components behind a feature. A fast “super find/ls” pass that tells another agent where to start. |
|
|
115
|
+
| `codebase-analyzer` | Explain how the code behaves today, with `file:line` references. The default choice for a correctness review. |
|
|
116
|
+
| `codebase-pattern-finder` | Find existing implementations, usage examples, and patterns worth modeling a change on. |
|
|
117
|
+
| `codebase-research-locator` | Discover prior docs, tickets, notes, and specs under `research/` and `specs/`. |
|
|
118
|
+
| `codebase-research-analyzer` | Pull the decisions, constraints, and trade-offs back out of those documents. |
|
|
119
|
+
| `codebase-online-researcher` | Authoritative external evidence: official docs, specs, release notes, benchmarks, and library source. |
|
|
120
|
+
| `worker` | Implementation work and approved orchestrator handoffs. It edits files, validates, and escalates unapproved decisions instead of guessing. |
|
|
121
|
+
| `debugger` | Reproduction, root-cause diagnosis, and the smallest validated fix. Write-capable, and it reruns the failing scenario. |
|
|
122
|
+
| `code-simplifier` | Cleanup, refinement, and simplification once behavior is settled. |
|
|
123
|
+
|
|
124
|
+
There is no generic `reviewer` or `planner` agent; pick the specialist whose angle matches the question. Use `codebase-locator` before you know where the code lives, `codebase-analyzer` before you trust how it behaves, `codebase-online-researcher` before you trust an external fact, `worker` to implement, `debugger` to diagnose a failure, and `code-simplifier` to clean up afterward.
|
|
124
125
|
|
|
125
126
|
## Changing a builtin agent's model
|
|
126
127
|
|
|
@@ -129,16 +130,16 @@ Builtin agents inherit your current Pi default model by default. This keeps new
|
|
|
129
130
|
For one run, put the override in the command:
|
|
130
131
|
|
|
131
132
|
```text
|
|
132
|
-
/run
|
|
133
|
+
/run codebase-analyzer[model=anthropic/claude-sonnet-4:high] "Review this diff"
|
|
133
134
|
```
|
|
134
135
|
|
|
135
|
-
For a persistent override, edit settings. This example pins the
|
|
136
|
+
For a persistent override, edit settings. This example pins the codebase-analyzer everywhere, adds a backup model for provider failures, and keeps the other builtins on your normal default model:
|
|
136
137
|
|
|
137
138
|
```json
|
|
138
139
|
{
|
|
139
140
|
"subagents": {
|
|
140
141
|
"agentOverrides": {
|
|
141
|
-
"
|
|
142
|
+
"codebase-analyzer": {
|
|
142
143
|
"model": "anthropic/claude-sonnet-4",
|
|
143
144
|
"thinking": "high",
|
|
144
145
|
"fallbackModels": ["openai/gpt-5-mini"]
|
|
@@ -156,20 +157,16 @@ Any parent chat or workflow stage that orchestrates subagents should omit the ex
|
|
|
156
157
|
|
|
157
158
|
When an agent declares no model or fallback policy, consult `packages/coding-agent/docs/models/model-selection.md`, then call `workflow({ action: "models" })` when available. Use only a catalog-returned `fullId` and only a thinking level listed for that entry. If the catalog tool is unavailable, returns no models, or has no recommended model for the role, leave the child unpinned and report the limitation instead of inventing a model or inspecting credentials.
|
|
158
159
|
|
|
159
|
-
Workflow invocations receive a stable, non-`default` Intercom group automatically. Their stages and delegated children inherit it across single, parallel,
|
|
160
|
+
Workflow invocations receive a stable, non-`default` Intercom group automatically. Their stages and delegated children inherit it across single, parallel, and follow-up calls, so omit `group` unless you intend to create a different coordination subgroup. Outside a workflow, children inherit the launching session's group. `contact_supervisor` remains available across group boundaries.
|
|
160
161
|
|
|
161
162
|
## Where running subagents show up
|
|
162
163
|
|
|
163
|
-
Foreground runs stream progress in the conversation while they run.
|
|
164
|
+
Foreground runs stream progress in the conversation while they run. Parallel calls keep their grouped task shape in progress and results, and status/control actions can inspect or interrupt retained foreground children.
|
|
164
165
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
The jobs widget shows the live status-watch state and sends one terminal completion notification. Parallel background runs show per-agent progress, and chains with parallel groups keep their grouped shape in progress and results. There is no detached runner process or PID polling loop.
|
|
168
|
-
|
|
169
|
-
You can also ask naturally:
|
|
166
|
+
You can ask naturally:
|
|
170
167
|
|
|
171
168
|
```text
|
|
172
|
-
Show me the current
|
|
169
|
+
Show me the current subagent status.
|
|
173
170
|
```
|
|
174
171
|
|
|
175
172
|
If something feels misconfigured, run:
|
|
@@ -189,14 +186,14 @@ Check whether subagents and intercom are set up correctly.
|
|
|
189
186
|
Use orchestration as parent-agent guidance, not as a runtime workflow mode. For implementation work, the recommended loop is:
|
|
190
187
|
|
|
191
188
|
```text
|
|
192
|
-
clarify →
|
|
189
|
+
clarify → gather context → worker → fresh reviewers → worker
|
|
193
190
|
```
|
|
194
191
|
|
|
195
192
|
Use the optional prompt shortcuts below when you want the pattern to be repeatable.
|
|
196
193
|
|
|
197
|
-
Packaged `
|
|
194
|
+
Packaged `worker` defaults to forked context when a launch omits `context`; every other builtin runs fresh. Pass `context: "fresh"` when you intentionally want a fresh `worker` run.
|
|
198
195
|
|
|
199
|
-
Child-safety boundaries are enforced at runtime.
|
|
196
|
+
Child-safety boundaries are enforced at runtime by typed admission policy. In-process child sessions load bundled extensions through normal discovery. The `subagent` tool may therefore be registered when the child's active tool selection permits it, including the default no-allowlist case; an explicit allowlist may omit it. Tool presence does not grant fanout: fanout is authorized only when the resolved builtin `tools` list includes `subagent`. Typed admission policy lets a non-fanout child use only `list`, `get`, `status`, and `doctor`; delegation, `resume`, and `interrupt` receive the fanout refusal. A management-restricted child is also refused `create`, `update`, and `delete`. The bundled `pi-subagents` skill remains parent-only and is stripped from child prompts, including fanout-authorized children. Non-fanout children receive boundary instructions that they are not the parent orchestrator and must not propose or run subagents; authorized fanout children get a narrower boundary that limits nested delegation to the assigned fanout. Forked child context filtering also removes parent-only subagent artifacts (including old hidden orchestration-instruction messages, slash/status/control messages, and prior parent `subagent` tool-call/tool-result history) while preserving ordinary prose and unrelated tool calls/results.
|
|
200
197
|
|
|
201
198
|
## Optional shortcuts
|
|
202
199
|
|
|
@@ -205,11 +202,11 @@ The package includes reusable prompt templates for common workflows. You do not
|
|
|
205
202
|
| Prompt | Use it for |
|
|
206
203
|
|--------|------------|
|
|
207
204
|
| `/parallel-review` | Launch fresh-context reviewers with distinct angles, then synthesize what to fix. |
|
|
208
|
-
| `/review-loop` | Run parent-controlled
|
|
209
|
-
| `/parallel-research` | Combine `researcher`
|
|
210
|
-
| `/parallel-context-build` | Run
|
|
211
|
-
| `/parallel-handoff-plan` | Combine external research
|
|
212
|
-
| `/gather-context-and-clarify` |
|
|
205
|
+
| `/review-loop` | Run parent-controlled write, review, and fix cycles until clean or capped. `debugger` writes fixes for bugs, `code-simplifier` for cleanup. |
|
|
206
|
+
| `/parallel-research` | Combine `codebase-online-researcher` with local code specialists for external evidence, local context, and practical tradeoffs. |
|
|
207
|
+
| `/parallel-context-build` | Run local code and research specialists in parallel to produce handoff context and meta-prompts. |
|
|
208
|
+
| `/parallel-handoff-plan` | Combine external research with local context passes into an implementation handoff plan and meta-prompt. |
|
|
209
|
+
| `/gather-context-and-clarify` | Locate and analyze first, then ask the user the clarification questions that matter. |
|
|
213
210
|
| `/parallel-cleanup` | Run review-only cleanup passes after implementation. |
|
|
214
211
|
|
|
215
212
|
Add `autofix` to `/parallel-review` or `/parallel-cleanup` to apply only the synthesized fixes worth doing now after reviewers return.
|
|
@@ -227,21 +224,21 @@ Most users do not call `intercom` directly. When the intercom companion is avail
|
|
|
227
224
|
Use it for work where the child might need a decision instead of guessing:
|
|
228
225
|
|
|
229
226
|
```text
|
|
230
|
-
Run this implementation
|
|
227
|
+
Run this implementation. If the worker gets blocked or needs a product decision, have it ask me through intercom.
|
|
231
228
|
```
|
|
232
229
|
|
|
233
230
|
```text
|
|
234
|
-
Ask
|
|
231
|
+
Ask codebase-analyzer to review this plan. If it sees a decision I need to make, have it ask me instead of assuming.
|
|
235
232
|
```
|
|
236
233
|
|
|
237
234
|
The child can use one dedicated coordination tool:
|
|
238
235
|
|
|
239
236
|
- `contact_supervisor`: the child contacts the parent/supervisor session that delegated the task. Use `reason: "need_decision"` for blocking decisions or clarification, and `reason: "progress_update"` for short non-blocking updates when a discovery changes the plan. Do not ask for clarification when the only conflict is review-only/no-edit versus progress-writing or artifact-writing instructions; no-edit wins.
|
|
240
237
|
|
|
241
|
-
Child-side routine completion handoffs are still not expected. With the intercom bridge active, parent-side Atomic sends grouped completion results through `pi-intercom`: one grouped message per foreground parent `subagent` run and one per
|
|
242
|
-
When the companion is enabled and available, the bridge gives eligible children deterministic Intercom identities and coordination tools without connecting them automatically. Parent and child connections remain tool-driven: if a child may need live coordination, the parent model should invoke `intercom({ action: "status" })` before launch, and the child connects when it invokes `contact_supervisor` or `intercom`. Foreground
|
|
238
|
+
Child-side routine completion handoffs are still not expected. With the intercom bridge active, parent-side Atomic sends grouped completion results through `pi-intercom`: one grouped message per foreground parent `subagent` run and one per detached child completion. Intercom-confirmed delivery returns a compact receipt with artifact/session paths; without that confirmation, the normal full output is preserved. Grouped messages include child intercom targets and full child summaries.
|
|
239
|
+
When the companion is enabled and available, the bridge gives eligible children deterministic Intercom identities and coordination tools without connecting them automatically. Parent and child connections remain tool-driven: if a child may need live coordination, the parent model should invoke `intercom({ action: "status" })` before launch, and the child connects when it invokes `contact_supervisor` or `intercom`. Foreground launches and management-only actions do not force Intercom loading or broker startup.
|
|
243
240
|
|
|
244
|
-
For foreground runs, Intercom uses a targeted probe/reservation before delivery: only the exact live child can claim its message. Atomic then commits detach for that child and waits for its acknowledgement before placing claimed asks, sends, decisions, interviews, and progress updates in the parent's model-visible steering queue, so cancellation between phases cannot surface an orphaned request. Blocking calls remain alive for an exact threaded reply and then resume; fire-and-forget calls create no waiter. The retained child later replaces its detached status and artifacts with the real result. Cancellation/replacement invalidates stale handshakes, duplicate delivery cannot recommit, and
|
|
241
|
+
For foreground runs, Intercom uses a targeted probe/reservation before delivery: only the exact live child can claim its message. Atomic then commits detach for that child and waits for its acknowledgement before placing claimed asks, sends, decisions, interviews, and progress updates in the parent's model-visible steering queue, so cancellation between phases cannot surface an orphaned request. Blocking calls remain alive for an exact threaded reply and then resume; fire-and-forget calls create no waiter. The retained child later replaces its detached status and artifacts with the real result. Cancellation/replacement invalidates stale handshakes, duplicate delivery cannot recommit, and unmatched messages retain queued-until-idle behavior.
|
|
245
242
|
|
|
246
243
|
If a child appears stalled, needs-attention notices can show up in the parent session with useful next actions, such as checking `subagent({ action: "status" })`, interrupting the run, or nudging the child.
|
|
247
244
|
|
|
@@ -253,7 +250,7 @@ If messages do not show up, run:
|
|
|
253
250
|
|
|
254
251
|
For normal use, you do not need to configure anything. Advanced users can tune the bridge with `intercomBridge` in the configuration section below.
|
|
255
252
|
|
|
256
|
-
At this point, you know enough to use the plugin. The rest of this README is reference material for exact command syntax, custom agents,
|
|
253
|
+
At this point, you know enough to use the plugin. The rest of this README is reference material for exact command syntax, custom agents, worktrees, and configuration.
|
|
257
254
|
|
|
258
255
|
## Direct commands
|
|
259
256
|
|
|
@@ -262,99 +259,63 @@ Skip this section until you want exact syntax.
|
|
|
262
259
|
| Command | Description |
|
|
263
260
|
|---------|-------------|
|
|
264
261
|
| `/run <agent> [task]` | Run one agent; omit the task for self-contained agents |
|
|
265
|
-
| `/chain agent1 "task1" -> agent2 "task2"` | Run agents in sequence |
|
|
266
262
|
| `/parallel agent1 "task1" -> agent2 "task2"` | Run agents in parallel |
|
|
267
|
-
| `/run-chain <chainName> -- <task>` | Launch a saved `.chain.md` or `.chain.json` workflow |
|
|
268
263
|
| `/subagents-doctor` | Show read-only setup diagnostics |
|
|
269
264
|
|
|
270
265
|
Commands validate agent names locally, support tab completion, and send results back into the conversation.
|
|
271
266
|
|
|
272
|
-
###
|
|
267
|
+
### Parallel tasks
|
|
273
268
|
|
|
274
|
-
Use `->` to separate
|
|
269
|
+
Use `->` to separate tasks and give each task its own prompt:
|
|
275
270
|
|
|
276
271
|
```text
|
|
277
|
-
/
|
|
278
|
-
/parallel scanner "find security issues" -> reviewer "check code style"
|
|
272
|
+
/parallel codebase-pattern-finder "find security issues" -> codebase-analyzer "check code style"
|
|
279
273
|
```
|
|
280
274
|
|
|
281
275
|
Both double and single quotes work. You can also use `--` as a delimiter:
|
|
282
276
|
|
|
283
277
|
```text
|
|
284
|
-
/
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
Steps without a task inherit behavior from the execution mode. Chain steps get `{previous}`, the prior step’s output. Parallel steps use the first available task as a fallback.
|
|
288
|
-
|
|
289
|
-
```text
|
|
290
|
-
/chain scout "analyze auth" -> planner -> worker
|
|
291
|
-
# scout gets "analyze auth"; planner gets scout output; worker gets planner output
|
|
278
|
+
/parallel codebase-locator codebase-analyzer -- check for security issues
|
|
292
279
|
```
|
|
293
280
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
```text
|
|
297
|
-
/chain scout planner -- analyze the auth system
|
|
298
|
-
/parallel scout reviewer -- check for security issues
|
|
299
|
-
```
|
|
281
|
+
Tasks without a prompt use the first available task as a fallback.
|
|
300
282
|
|
|
301
283
|
### Inline per-step config
|
|
302
284
|
|
|
303
285
|
Append `[key=value,...]` to an agent name to override defaults for that step:
|
|
304
286
|
|
|
305
287
|
```text
|
|
306
|
-
/
|
|
307
|
-
/
|
|
308
|
-
/parallel reviewer[skills=code-review+security] "review backend" -> reviewer[model=openai/gpt-5-mini] "review frontend"
|
|
288
|
+
/run codebase-locator[model=anthropic/claude-sonnet-4] summarize this codebase
|
|
289
|
+
/parallel codebase-analyzer[skills=code-review+security] "review backend" -> codebase-analyzer[model=openai/gpt-5-mini] "review frontend"
|
|
309
290
|
```
|
|
310
291
|
|
|
311
292
|
| Key | Example | Description |
|
|
312
293
|
|-----|---------|-------------|
|
|
313
|
-
| `output` | `output=context.md` | Write results to a file. For `/
|
|
294
|
+
| `output` | `output=context.md` | Write results to a file. For `/parallel`, relative paths resolve against the child working directory; for `/run`, relative paths resolve against cwd. |
|
|
314
295
|
| `outputMode` | `outputMode=file-only` | Return only a concise file reference for saved output instead of the full saved content. Requires `output`; default is `inline`. |
|
|
315
|
-
| `reads` | `reads=a.md+b.md` | Read files before executing. `+` separates multiple paths. `/run` forwards these through the same resolver as tool-based foreground
|
|
296
|
+
| `reads` | `reads=a.md+b.md` | Read files before executing. `+` separates multiple paths. `/run` forwards these through the same resolver as tool-based foreground launches, so relative paths use the effective child working directory. |
|
|
316
297
|
| `model` | `model=anthropic/claude-sonnet-4` | Override model for this step. |
|
|
317
298
|
| `skills` | `skills=planning+review` | Override injected skills. `+` separates multiple skills. |
|
|
318
299
|
| `progress` | `progress` | Enable progress tracking. |
|
|
319
300
|
|
|
320
301
|
Set `output=false`, `reads=false`, or `skills=false` to disable that behavior explicitly. Do not use `output=false` for file-only returns; use `outputMode=file-only` with an `output` path.
|
|
321
302
|
|
|
322
|
-
###
|
|
323
|
-
|
|
324
|
-
Add `--bg` to run in the background:
|
|
325
|
-
|
|
326
|
-
```text
|
|
327
|
-
/run scout "audit the codebase" --bg
|
|
328
|
-
/chain scout "analyze auth" -> planner "design refactor" -> worker --bg
|
|
329
|
-
/parallel scout "scan frontend" -> scout "scan backend" --bg
|
|
330
|
-
```
|
|
303
|
+
### Forked runs
|
|
331
304
|
|
|
332
305
|
Add `--fork` to start each child from a real branched session created from the parent’s current leaf:
|
|
333
306
|
|
|
334
307
|
```text
|
|
335
|
-
/run
|
|
336
|
-
/
|
|
337
|
-
/parallel scout "audit frontend" -> reviewer "audit backend" --fork
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
You can combine them in either order:
|
|
341
|
-
|
|
342
|
-
```text
|
|
343
|
-
/run reviewer "review this diff" --fork --bg
|
|
344
|
-
/run reviewer "review this diff" --bg --fork
|
|
308
|
+
/run codebase-analyzer "review this diff" --fork
|
|
309
|
+
/parallel codebase-locator "audit frontend" -> codebase-analyzer "audit backend" --fork
|
|
345
310
|
```
|
|
346
311
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
The `oracle` and `worker` builtins are designed for an explicit decision loop. A typical pattern is to ask `oracle` for diagnosis and a recommended execution prompt, then only run `worker` after the main agent approves that direction.
|
|
312
|
+
`worker` is designed for an explicit decision loop. A typical pattern is to ask a read-only specialist such as `codebase-analyzer` or `debugger` for diagnosis and a recommended execution prompt, then only run `worker` after the main agent approves that direction.
|
|
350
313
|
|
|
351
314
|
## Non-interactive execution
|
|
352
315
|
|
|
353
|
-
Every supported subagent launch starts immediately without opening a preview/editor prompt or waiting for terminal input. This applies to single, parallel,
|
|
354
|
-
|
|
355
|
-
The human slash commands remain on their separate parsing and event-bridge path, including background and fork flags.
|
|
316
|
+
Every supported subagent launch starts immediately without opening a preview/editor prompt or waiting for terminal input. This applies to single, parallel, forked, fanout, prompt-template, and human-entered `/run` and `/parallel` execution. Gather any needed context and ask the user questions in the parent conversation before launching.
|
|
356
317
|
|
|
357
|
-
## Agents
|
|
318
|
+
## Agents
|
|
358
319
|
|
|
359
320
|
Agents are markdown files with YAML frontmatter and a system prompt body. They define the specialist that will run in a child Atomic session.
|
|
360
321
|
|
|
@@ -366,11 +327,11 @@ Agent locations, lowest to highest priority:
|
|
|
366
327
|
| User | `~/.atomic/agent/agents/**/*.md` |
|
|
367
328
|
| Project | `.atomic/agents/**/*.md` |
|
|
368
329
|
|
|
369
|
-
Project discovery also reads legacy `.agents/**/*.md` and `.pi/agents/**/*.md` files. Nested subdirectories are discovered recursively.
|
|
330
|
+
Project discovery also reads legacy `.agents/**/*.md` and `.pi/agents/**/*.md` files. Nested subdirectories are discovered recursively. If primary Atomic and legacy paths define the same parsed runtime agent name, the primary `.atomic/agents/` definition wins. Use `agentScope: "user" | "project" | "both"` to control discovery; `both` is the default and project definitions win runtime-name collisions.
|
|
370
331
|
|
|
371
|
-
Builtin agents load at the lowest priority, so a user or project agent with the same name overrides them. They do not pin a provider model; they inherit your current Atomic default model unless you set `subagents.agentOverrides.<name>.model`. `
|
|
332
|
+
Builtin agents load at the lowest priority, so a user or project agent with the same name overrides them. They do not pin a provider model; they inherit your current Atomic default model unless you set `subagents.agentOverrides.<name>.model`. `worker` is the implementation agent for normal tasks and approved orchestrator handoffs.
|
|
372
333
|
|
|
373
|
-
The `researcher` builtin uses `web_search`, `fetch_content`, and `get_search_content`; those require [pi-web-access](https://github.com/nicobailon/pi-web-access):
|
|
334
|
+
The `codebase-online-researcher` builtin uses `web_search`, `fetch_content`, and `get_search_content`; those require [pi-web-access](https://github.com/nicobailon/pi-web-access):
|
|
374
335
|
|
|
375
336
|
```bash
|
|
376
337
|
pi install npm:pi-web-access
|
|
@@ -389,7 +350,7 @@ Example:
|
|
|
389
350
|
{
|
|
390
351
|
"subagents": {
|
|
391
352
|
"agentOverrides": {
|
|
392
|
-
"
|
|
353
|
+
"codebase-analyzer": {
|
|
393
354
|
"inheritProjectContext": false
|
|
394
355
|
}
|
|
395
356
|
}
|
|
@@ -414,7 +375,7 @@ Use these fields when an agent should see more:
|
|
|
414
375
|
| `inheritSkills: true` | Let the child see Pi’s discovered skills catalog. |
|
|
415
376
|
| `defaultContext: fork` | Use forked session context when a launch omits `context`; explicit `context: "fresh"` still wins. |
|
|
416
377
|
|
|
417
|
-
Builtin agents opt into project instruction inheritance by default so they follow repo-specific rules out of the box.
|
|
378
|
+
Builtin agents opt into project instruction inheritance by default so they follow repo-specific rules out of the box.
|
|
418
379
|
|
|
419
380
|
### Agent frontmatter
|
|
420
381
|
|
|
@@ -422,8 +383,8 @@ A typical agent looks like this:
|
|
|
422
383
|
|
|
423
384
|
```yaml
|
|
424
385
|
---
|
|
425
|
-
name:
|
|
426
|
-
# Optional: registers this as code-analysis.
|
|
386
|
+
name: api-auditor
|
|
387
|
+
# Optional: registers this as code-analysis.api-auditor while preserving name: api-auditor
|
|
427
388
|
package: code-analysis
|
|
428
389
|
description: Fast codebase recon
|
|
429
390
|
tools: read, search, find, ls, bash, mcp:chrome-devtools
|
|
@@ -449,7 +410,7 @@ Important fields:
|
|
|
449
410
|
|
|
450
411
|
| Field | Notes |
|
|
451
412
|
|-------|-------|
|
|
452
|
-
| `package` | Optional package identifier. A file with `name:
|
|
413
|
+
| `package` | Optional package identifier. A file with `name: api-auditor` and `package: code-analysis` registers as `code-analysis.api-auditor`; serialization keeps `name` and `package` separate. |
|
|
453
414
|
| `tools` | Builtin tool allowlist. `mcp:` entries select direct MCP tools when `pi-mcp-adapter` is installed. |
|
|
454
415
|
| `extensions` | Omitted means normal extensions; empty means no extensions; comma-separated values allowlist specific extensions. |
|
|
455
416
|
| `model` | Default model. Bare ids prefer the current provider when possible, then unique registry matches. |
|
|
@@ -461,14 +422,14 @@ Important fields:
|
|
|
461
422
|
| `defaultContext` | Optional `fresh` or `fork` launch context default for this agent. |
|
|
462
423
|
| `skills` | Injects specific skills directly, regardless of `inheritSkills`. |
|
|
463
424
|
| `output` | Default single-agent output file. |
|
|
464
|
-
| `defaultReads` | Files to read before running in
|
|
425
|
+
| `defaultReads` | Files to read before running in single or parallel behavior. |
|
|
465
426
|
| `defaultProgress` | Maintain `progress.md`. |
|
|
466
427
|
| `interactive` | Parsed for compatibility but not enforced in v1. |
|
|
467
428
|
| `maxSubagentDepth` | Tightens nested delegation for this agent’s children. |
|
|
468
429
|
|
|
469
430
|
### Tool and extension selection
|
|
470
431
|
|
|
471
|
-
If `tools` is omitted, `pi-subagents` does not pass `--tools`, so the child gets Pi’s normal builtin tools. If `tools` is present, regular tool names become an explicit allowlist. `mcp:` entries are split out and forwarded as direct MCP selections. Path-like `tools` entries, such as extension paths or `.ts`/`.js` files, are treated as tool-extension paths rather than builtin tool names.
|
|
432
|
+
If `tools` is omitted, `pi-subagents` does not pass `--tools`, so the child gets Pi’s normal builtin tools. If `tools` is present, regular tool names become an explicit allowlist. `mcp:` entries are split out and forwarded as direct MCP selections. Path-like `tools` entries, such as extension paths or `.ts`/`.js` files, are treated as tool-extension paths rather than builtin tool names. Path-only extension entries remain extensions and do not trigger a builtin allowlist by themselves. The child prompt-runtime extension is always listed before user/tool extensions.
|
|
472
433
|
|
|
473
434
|
Examples:
|
|
474
435
|
|
|
@@ -492,116 +453,6 @@ extensions: /abs/path/to/ext-a.ts, /abs/path/to/ext-b.ts
|
|
|
492
453
|
|
|
493
454
|
When `extensions` is present, it takes precedence over extension paths implied by `tools` entries.
|
|
494
455
|
|
|
495
|
-
## Chain files
|
|
496
|
-
|
|
497
|
-
Chains are reusable workflows stored separately from agent files. Use `.chain.md` for simple sequential saved chains. Use `.chain.json` when a chain needs dynamic fanout.
|
|
498
|
-
|
|
499
|
-
| Scope | Path |
|
|
500
|
-
|-------|------|
|
|
501
|
-
| User | `~/.atomic/agent/chains/**/*.chain.md`, `~/.atomic/agent/chains/**/*.chain.json` |
|
|
502
|
-
| Project | `.atomic/chains/**/*.chain.md`, `.atomic/chains/**/*.chain.json` |
|
|
503
|
-
|
|
504
|
-
Nested subdirectories are discovered recursively. If both `.chain.md` and `.chain.json` define the same parsed runtime chain name in the same scope, `.chain.json` wins. If user and project scopes define the same parsed runtime chain name, the project chain wins. Chains support the same optional `package` frontmatter as agents; `name: review-flow` plus `package: code-analysis` runs as `code-analysis.review-flow`.
|
|
505
|
-
|
|
506
|
-
Example:
|
|
507
|
-
|
|
508
|
-
```md
|
|
509
|
-
---
|
|
510
|
-
name: scout-planner
|
|
511
|
-
description: Gather context then plan implementation
|
|
512
|
-
---
|
|
513
|
-
|
|
514
|
-
## scout
|
|
515
|
-
phase: Context
|
|
516
|
-
label: Map auth flow
|
|
517
|
-
as: context
|
|
518
|
-
output: context.md
|
|
519
|
-
|
|
520
|
-
Analyze the codebase for {task}
|
|
521
|
-
|
|
522
|
-
## planner
|
|
523
|
-
phase: Planning
|
|
524
|
-
label: Implementation plan
|
|
525
|
-
reads: context.md
|
|
526
|
-
model: anthropic/claude-sonnet-4-5:high
|
|
527
|
-
progress: true
|
|
528
|
-
|
|
529
|
-
Create an implementation plan based on {outputs.context}
|
|
530
|
-
```
|
|
531
|
-
|
|
532
|
-
Each `.chain.md` `## agent-name` section is a step. Config lines such as `phase`, `label`, `as`, `outputSchema`, `output`, `outputMode`, `reads`, `model`, `skills`, and `progress` go immediately after the header. A blank line separates config from task text. In saved `.chain.md` files, `outputSchema` is a path to a JSON Schema file; direct tool calls and `.chain.json` files can pass the schema object inline.
|
|
533
|
-
|
|
534
|
-
When `outputSchema` is present, the child receives a schema-specific `structured_output` tool backed by Atomic's shared factory. The schema is passed directly to the tool. The child writes the tool arguments to `output.json`, and the parent validates that JSON against the schema before reading it back as `structuredOutput`; Atomic no longer adds object-root restrictions, sidecar metadata, transcript-finality checks, or duplicate-call guards. If the child finishes without calling `structured_output`, or the captured JSON fails schema validation, Atomic retries up to three times with a corrective prompt that includes the exact contract/validation error and reminds the child to call `structured_output` rather than returning plain JSON.
|
|
535
|
-
|
|
536
|
-
Children without `outputSchema` do not receive `structured_output` from Atomic's default tool registry. They can still use a custom extension-provided terminating tool if you explicitly add one.
|
|
537
|
-
|
|
538
|
-
For `output`, `reads`, `skills`, and `progress`, chain behavior is three-state: omitted inherits from the agent, a value overrides, and `false` disables.
|
|
539
|
-
|
|
540
|
-
Use `phase` to group related work in status output, `label` for a readable step name, and `as` to store a successful step or parallel task result for later `{outputs.name}` references. Duplicate `as` names, invalid identifiers, and unknown output references fail before child execution.
|
|
541
|
-
|
|
542
|
-
Dynamic fanout is available only through direct `subagent({ chain: [...] })` JSON or saved `.chain.json` files. It expands an array from a prior structured named output, runs one child template per item, and stores the ordered collection under `collect.as`. The source must be structured output; prose is never parsed. `expand.maxItems` is required, over-limit arrays fail, nested fanout and arbitrary expressions are not supported, and `.chain.md` has no dynamic syntax in this release. `collect.outputSchema` validates the collected array after child execution.
|
|
543
|
-
|
|
544
|
-
```json
|
|
545
|
-
{
|
|
546
|
-
"name": "dynamic-review",
|
|
547
|
-
"description": "Find review targets, fan out reviewers, then synthesize.",
|
|
548
|
-
"chain": [
|
|
549
|
-
{
|
|
550
|
-
"agent": "scout",
|
|
551
|
-
"task": "Return {\"items\":[{\"path\":\"...\",\"reason\":\"...\"}]} via structured_output.",
|
|
552
|
-
"as": "targets",
|
|
553
|
-
"outputSchema": { "type": "object" }
|
|
554
|
-
},
|
|
555
|
-
{
|
|
556
|
-
"expand": {
|
|
557
|
-
"from": { "output": "targets", "path": "/items" },
|
|
558
|
-
"item": "target",
|
|
559
|
-
"key": "/path",
|
|
560
|
-
"maxItems": 12
|
|
561
|
-
},
|
|
562
|
-
"parallel": {
|
|
563
|
-
"agent": "reviewer",
|
|
564
|
-
"label": "Review {target.path}",
|
|
565
|
-
"task": "Review {target.path}. Reason: {target.reason}",
|
|
566
|
-
"outputSchema": { "type": "object" }
|
|
567
|
-
},
|
|
568
|
-
"collect": { "as": "reviews" },
|
|
569
|
-
"concurrency": 4
|
|
570
|
-
},
|
|
571
|
-
{
|
|
572
|
-
"agent": "worker",
|
|
573
|
-
"task": "Synthesize fixes from {outputs.reviews}"
|
|
574
|
-
}
|
|
575
|
-
]
|
|
576
|
-
}
|
|
577
|
-
```
|
|
578
|
-
|
|
579
|
-
Create simple `.chain.md` chains by writing files directly or with the `subagent({ action: "create", config: ... })` management action. Create dynamic `.chain.json` chains by writing the JSON file directly. Run saved chains with natural language or:
|
|
580
|
-
|
|
581
|
-
```text
|
|
582
|
-
/run-chain scout-planner -- refactor authentication
|
|
583
|
-
```
|
|
584
|
-
|
|
585
|
-
## Chain variables
|
|
586
|
-
|
|
587
|
-
Task templates support:
|
|
588
|
-
|
|
589
|
-
| Variable | Description |
|
|
590
|
-
|----------|-------------|
|
|
591
|
-
| `{task}` | Original task from the first step. |
|
|
592
|
-
| `{previous}` | Output from the prior step, or aggregated output from a parallel step. |
|
|
593
|
-
| `{chain_dir}` | Path to the chain artifact directory. |
|
|
594
|
-
| `{outputs.name}` | Text value from a prior step or completed parallel task with `as: "name"`. |
|
|
595
|
-
|
|
596
|
-
Parallel outputs are aggregated with clear separators before being passed to the next step:
|
|
597
|
-
|
|
598
|
-
```text
|
|
599
|
-
=== Parallel Task 1 (worker) ===
|
|
600
|
-
...
|
|
601
|
-
|
|
602
|
-
=== Parallel Task 2 (worker) ===
|
|
603
|
-
...
|
|
604
|
-
```
|
|
605
456
|
|
|
606
457
|
## Skills
|
|
607
458
|
|
|
@@ -622,12 +473,12 @@ Legacy `.pi` and `~/.pi/agent` skill/settings paths are also checked for compati
|
|
|
622
473
|
Use agent defaults, override them at runtime, or disable them:
|
|
623
474
|
|
|
624
475
|
```ts
|
|
625
|
-
{ agent: "
|
|
626
|
-
{ agent: "
|
|
627
|
-
{ agent: "
|
|
476
|
+
{ agent: "codebase-locator", task: "..." }
|
|
477
|
+
{ agent: "codebase-locator", task: "...", skill: "tmux, safe-bash" }
|
|
478
|
+
{ agent: "codebase-locator", task: "...", skill: false }
|
|
628
479
|
```
|
|
629
480
|
|
|
630
|
-
For
|
|
481
|
+
For subagent calls, `skill` overrides the agent default; `false` disables skills for that call.
|
|
631
482
|
|
|
632
483
|
Injected skills use this shape:
|
|
633
484
|
|
|
@@ -641,10 +492,10 @@ Missing skills do not fail execution. The result summary shows a warning.
|
|
|
641
492
|
|
|
642
493
|
### Bundled skill
|
|
643
494
|
|
|
644
|
-
The package bundles a `subagent` skill that is automatically available to the parent agent when the extension is installed. It is for the orchestrating parent only:
|
|
495
|
+
The package bundles a `subagent` skill that is automatically available to the parent agent when the extension is installed. It is for the orchestrating parent only: it is stripped from every child prompt, including fanout-authorized children, and child context is filtered to strip parent-only orchestration instructions. A child may still have the `subagent` tool registered; typed admission policy, not the skill, decides which of its actions are allowed.
|
|
645
496
|
|
|
646
497
|
What the bundled skill covers:
|
|
647
|
-
- **Delegation patterns**: when to launch which agent, whether to use single
|
|
498
|
+
- **Delegation patterns**: when to launch which agent, whether to use single or parallel mode, and whether to use fresh or forked context
|
|
648
499
|
- **Prompt workflow recipes**: how to apply the packaged techniques directly with `subagent(...)` when the user describes the workflow in natural language instead of invoking a slash command. This includes parallel review, review-loop, parallel research, parallel context-build, parallel handoff-plan, gather-context-and-clarify, and parallel cleanup
|
|
649
500
|
- **Role-agent prompting guidance**: compact contract prompts instead of long scripts, what to include in role-specific meta prompts, and retrieval budgets for researchers
|
|
650
501
|
- **Safety boundaries**: child agents must not run subagents, must not invent intercom targets, and must escalate unapproved decisions
|
|
@@ -662,11 +513,11 @@ These are the parameters the LLM passes when it calls the `subagent` tool. Most
|
|
|
662
513
|
```ts
|
|
663
514
|
// Single agent
|
|
664
515
|
{ agent: "worker", task: "refactor auth" }
|
|
665
|
-
{ agent: "
|
|
666
|
-
{ agent: "
|
|
667
|
-
{ agent: "
|
|
516
|
+
{ agent: "codebase-locator", task: "find todos", maxOutput: { lines: 1000 } }
|
|
517
|
+
{ agent: "codebase-locator", task: "investigate", output: false }
|
|
518
|
+
{ agent: "codebase-locator", task: "write a large report", output: "reports/codebase-locator.md", outputMode: "file-only" }
|
|
668
519
|
|
|
669
|
-
{ agent: "
|
|
520
|
+
{ agent: "codebase-locator", task: "review the design", cwd: "packages/api", reads: ["docs/design.md", "../shared.md"] }
|
|
670
521
|
// Forked context
|
|
671
522
|
{ agent: "worker", task: "continue this thread", context: "fork" }
|
|
672
523
|
// Maintain a run-scoped progress.md under isolated artifact storage
|
|
@@ -674,65 +525,10 @@ These are the parameters the LLM passes when it calls the `subagent` tool. Most
|
|
|
674
525
|
|
|
675
526
|
|
|
676
527
|
// Parallel
|
|
677
|
-
{ tasks: [{ agent: "
|
|
678
|
-
{ tasks: [{ agent: "
|
|
679
|
-
{ tasks: [{ agent: "
|
|
680
|
-
|
|
681
|
-
// Chain
|
|
682
|
-
{ chain: [
|
|
683
|
-
{ agent: "scout", task: "Gather context for auth refactor" },
|
|
684
|
-
{ agent: "planner" },
|
|
685
|
-
{ agent: "worker" },
|
|
686
|
-
{ agent: "reviewer" }
|
|
687
|
-
]}
|
|
688
|
-
|
|
689
|
-
// Chain in the background, suitable for unblocking the main chat
|
|
690
|
-
{ chain: [...], async: true }
|
|
691
|
-
|
|
692
|
-
// Chain with fan-out/fan-in
|
|
693
|
-
{ chain: [
|
|
694
|
-
{ agent: "scout", task: "Gather context", phase: "Context", label: "Map code", as: "context" },
|
|
695
|
-
{ parallel: [
|
|
696
|
-
{ agent: "worker", task: "Implement feature A from {outputs.context}", label: "Feature A", as: "featureA" },
|
|
697
|
-
{ agent: "worker", task: "Implement feature B from {outputs.context}", label: "Feature B", as: "featureB" }
|
|
698
|
-
], concurrency: 2, failFast: true },
|
|
699
|
-
{ agent: "reviewer", task: "Review {outputs.featureA} and {outputs.featureB}" }
|
|
700
|
-
]}
|
|
701
|
-
|
|
702
|
-
// Dynamic fanout from structured output
|
|
703
|
-
{ chain: [
|
|
704
|
-
{
|
|
705
|
-
agent: "scout",
|
|
706
|
-
task: "Return review targets as structured_output: { items: [{ path, reason }] }",
|
|
707
|
-
as: "targets",
|
|
708
|
-
outputSchema: { type: "object" }
|
|
709
|
-
},
|
|
710
|
-
{
|
|
711
|
-
expand: { from: { output: "targets", path: "/items" }, item: "target", key: "/path", maxItems: 12 },
|
|
712
|
-
parallel: { agent: "reviewer", task: "Review {target.path}. Reason: {target.reason}", outputSchema: { type: "object" } },
|
|
713
|
-
collect: { as: "reviews" },
|
|
714
|
-
concurrency: 4
|
|
715
|
-
},
|
|
716
|
-
{ agent: "worker", task: "Synthesize fixes from {outputs.reviews}" }
|
|
717
|
-
] }
|
|
718
|
-
|
|
719
|
-
// Strict structured output for reliable handoff data
|
|
720
|
-
{ chain: [
|
|
721
|
-
{
|
|
722
|
-
agent: "scout",
|
|
723
|
-
task: "Return the key files and risks for {task}",
|
|
724
|
-
as: "scan",
|
|
725
|
-
outputSchema: {
|
|
726
|
-
type: "object",
|
|
727
|
-
required: ["files", "risks"],
|
|
728
|
-
properties: {
|
|
729
|
-
files: { type: "array", items: { type: "string" } },
|
|
730
|
-
risks: { type: "array", items: { type: "string" } }
|
|
731
|
-
}
|
|
732
|
-
}
|
|
733
|
-
},
|
|
734
|
-
{ agent: "planner", task: "Plan from this scan: {outputs.scan}" }
|
|
735
|
-
] }
|
|
528
|
+
{ tasks: [{ agent: "codebase-locator", task: "a" }, { agent: "codebase-analyzer", task: "b" }] }
|
|
529
|
+
{ tasks: [{ agent: "codebase-locator", task: "audit auth", count: 3 }] }
|
|
530
|
+
{ tasks: [{ agent: "codebase-locator", task: "audit frontend" }, { agent: "codebase-analyzer", task: "audit backend" }], context: "fork" }
|
|
531
|
+
|
|
736
532
|
|
|
737
533
|
// Worktree isolation
|
|
738
534
|
{ tasks: [
|
|
@@ -743,21 +539,20 @@ These are the parameters the LLM passes when it calls the `subagent` tool. Most
|
|
|
743
539
|
|
|
744
540
|
### Management actions
|
|
745
541
|
|
|
746
|
-
Agent definitions are not loaded into context by default. Management actions let the LLM discover, inspect, create, update, and delete agents
|
|
542
|
+
Agent definitions are not loaded into context by default. Management actions let the LLM discover, inspect, create, update, and delete agents at runtime.
|
|
747
543
|
|
|
748
544
|
```ts
|
|
749
545
|
{ action: "list" }
|
|
750
546
|
{ action: "list", agentScope: "project" }
|
|
751
|
-
{ action: "get", agent: "
|
|
752
|
-
{ action: "get", agent: "code-analysis.
|
|
753
|
-
{ action: "get", chainName: "review-pipeline" }
|
|
547
|
+
{ action: "get", agent: "codebase-locator" }
|
|
548
|
+
{ action: "get", agent: "code-analysis.api-auditor" }
|
|
754
549
|
|
|
755
550
|
{ action: "create", config: {
|
|
756
551
|
name: "Code Scout",
|
|
757
552
|
package: "code-analysis",
|
|
758
553
|
description: "Scans codebases for patterns and issues",
|
|
759
554
|
scope: "user",
|
|
760
|
-
systemPrompt: "You are a code
|
|
555
|
+
systemPrompt: "You are a code codebase-locator...",
|
|
761
556
|
systemPromptMode: "replace",
|
|
762
557
|
inheritProjectContext: false,
|
|
763
558
|
inheritSkills: false,
|
|
@@ -765,27 +560,16 @@ Agent definitions are not loaded into context by default. Management actions let
|
|
|
765
560
|
fallbackModels: ["openai/gpt-5-mini", "anthropic/claude-haiku-4-5"],
|
|
766
561
|
tools: "read, bash, mcp:github/search_repositories",
|
|
767
562
|
extensions: "",
|
|
768
|
-
skills: "parallel-
|
|
563
|
+
skills: "parallel-codebase-locator",
|
|
769
564
|
thinking: "high",
|
|
770
565
|
output: "context.md",
|
|
771
566
|
reads: "shared-context.md",
|
|
772
567
|
progress: true
|
|
773
568
|
}}
|
|
774
569
|
|
|
775
|
-
{ action: "create", config: {
|
|
776
|
-
name: "review-pipeline",
|
|
777
|
-
description: "Scout then review",
|
|
778
|
-
scope: "project",
|
|
779
|
-
steps: [
|
|
780
|
-
{ agent: "scout", task: "Scan {task}", output: "context.md" },
|
|
781
|
-
{ agent: "reviewer", task: "Review {previous}", reads: ["context.md"] }
|
|
782
|
-
]
|
|
783
|
-
}}
|
|
784
570
|
|
|
785
|
-
{ action: "update", agent: "code-analysis.
|
|
786
|
-
{ action: "
|
|
787
|
-
{ action: "delete", agent: "scout" }
|
|
788
|
-
{ action: "delete", chainName: "review-pipeline" }
|
|
571
|
+
{ action: "update", agent: "code-analysis.api-auditor", config: { model: "openai/gpt-4o" } }
|
|
572
|
+
{ action: "delete", agent: "codebase-locator" }
|
|
789
573
|
```
|
|
790
574
|
|
|
791
575
|
`create` uses `config.scope`, not `agentScope`. `config.name` is the local frontmatter name; optional `config.package` registers the runtime name as `{package}.{name}` and is saved as separate `name` and `package` frontmatter. `update` and `delete` use the runtime name and `agentScope` only when the same runtime name exists in multiple scopes. To clear optional string fields, including `package`, set them to `false` or `""`.
|
|
@@ -797,8 +581,7 @@ Agent definitions are not loaded into context by default. Management actions let
|
|
|
797
581
|
| `agent` | string | - | Agent name for single mode, or target for management actions. |
|
|
798
582
|
| `task` | string | - | Task string for single mode. |
|
|
799
583
|
| `action` | string | - | `list`, `get`, `create`, `update`, `delete`, `status`, `interrupt`, `resume`, or `doctor`. |
|
|
800
|
-
| `
|
|
801
|
-
| `config` | object/string | - | Agent or chain config for create/update. |
|
|
584
|
+
| `config` | object/string | - | Agent config for create/update. |
|
|
802
585
|
| `output` | `string \| false` | agent default | Override single-agent output file. |
|
|
803
586
|
| `outputMode` | `"inline" \| "file-only"` | `inline` | Return saved output inline or as a concise saved-file reference. `file-only` requires an `output` path. |
|
|
804
587
|
| `reads` | `string[] \| false` | - | Single-agent files to read before execution, or `false` to disable. Relative paths resolve against the effective child `cwd`; absolute paths pass through. |
|
|
@@ -808,11 +591,8 @@ Agent definitions are not loaded into context by default. Management actions let
|
|
|
808
591
|
| `tasks` | array | - | Top-level parallel tasks. Supports `agent`, `task`, `cwd`, `count`, `output`, `outputMode`, `reads`, `progress`, `skill`, and `model`. |
|
|
809
592
|
| `concurrency` | number | config or `4` | Top-level parallel concurrency. |
|
|
810
593
|
| `worktree` | boolean | false | Create isolated git worktrees for parallel tasks. |
|
|
811
|
-
| `
|
|
812
|
-
| `context` | `fresh \| fork` | agent default or `fresh` | `fork` creates real branched sessions from the parent leaf. Packaged `planner`, `worker`, and `oracle` default to `fork`. |
|
|
813
|
-
| `chainDir` | string | temp chain dir | Persistent directory for chain artifacts. |
|
|
594
|
+
| `context` | `fresh \| fork` | agent default or `fresh` | `fork` creates real branched sessions from the parent leaf. Packaged `worker` defaults to `fork`; every other builtin runs fresh. |
|
|
814
595
|
| `agentScope` | `user \| project \| both` | `both` | Agent discovery scope. Project wins on collisions. |
|
|
815
|
-
| `async` | boolean | false | Background execution. Programmatic calls start without prompting in either foreground or background mode. |
|
|
816
596
|
| `cwd` | string | runtime cwd | Override working directory. |
|
|
817
597
|
| `maxOutput` | object | 200KB, 5000 lines | Final output truncation limits. |
|
|
818
598
|
| `artifacts` | boolean | true | Write debug artifacts. |
|
|
@@ -822,9 +602,8 @@ Agent definitions are not loaded into context by default. Management actions let
|
|
|
822
602
|
|
|
823
603
|
`context: "fork"` fails fast when the parent session is not persisted, the current leaf is missing, or the branched child session cannot be created. It never silently downgrades to `fresh`. In multi-agent runs, if any requested agent has `defaultContext: fork` and the launch omits `context`, the whole invocation uses forked context; pass `context: "fresh"` when you intentionally want a fresh run.
|
|
824
604
|
|
|
825
|
-
Use `outputMode: "file-only"` when a saved output may be large and the parent only needs a pointer. The returned text is a compact reference like `Output saved to: /abs/report.md (48.2 KB, 2847 lines). Read this file if needed.` Failed runs and save errors still return normal inline output for debugging.
|
|
605
|
+
Use `outputMode: "file-only"` when a saved output may be large and the parent only needs a pointer. The returned text is a compact reference like `Output saved to: /abs/report.md (48.2 KB, 2847 lines). Read this file if needed.` Failed runs and save errors still return normal inline output for debugging.
|
|
826
606
|
|
|
827
|
-
Sequential and parallel chain tasks accept `agent`, `task`, `phase`, `label`, `as`, `outputSchema`, `cwd`, `output`, `outputMode`, `reads`, `progress`, `skill`, and `model`. Parallel tasks also accept `count`. Parallel step groups accept `parallel`, `concurrency`, `failFast`, and `worktree`. If child `outputSchema` is present, Atomic injects `structured_output`, writes the child tool arguments to `output.json`, and preserves the parsed value on the step result; `as` also exposes a compact text representation through `{outputs.name}`. Without `outputSchema`, Atomic does not inject `structured_output` into the child.
|
|
828
607
|
|
|
829
608
|
Status and control actions:
|
|
830
609
|
|
|
@@ -837,7 +616,7 @@ subagent({ action: "resume", id: "<run-id>", index: 1, message: "follow-up for c
|
|
|
837
616
|
subagent({ action: "doctor" })
|
|
838
617
|
```
|
|
839
618
|
|
|
840
|
-
`resume` sends the follow-up directly when a child is still reachable. After completion or eviction, it cold-reloads the same canonical child identity from the stored session file.
|
|
619
|
+
`resume` sends the follow-up directly when a child is still reachable. After completion or eviction, it cold-reloads the same canonical child identity from the stored session file. Remembered foreground single or parallel runs can be revived by passing `index` to choose the child; no new OS process is created.
|
|
841
620
|
|
|
842
621
|
## Worktree isolation
|
|
843
622
|
|
|
@@ -849,15 +628,6 @@ Parallel agents can clobber each other if they edit the same checkout. `worktree
|
|
|
849
628
|
{ agent: "worker", task: "Implement API" }
|
|
850
629
|
], worktree: true }
|
|
851
630
|
|
|
852
|
-
{ chain: [
|
|
853
|
-
{ agent: "scout", task: "Gather context" },
|
|
854
|
-
{ parallel: [
|
|
855
|
-
{ agent: "worker", task: "Implement feature A from {previous}" },
|
|
856
|
-
{ agent: "worker", task: "Implement feature B from {previous}" }
|
|
857
|
-
], worktree: true },
|
|
858
|
-
{ agent: "reviewer", task: "Review all changes from {previous}" }
|
|
859
|
-
]}
|
|
860
|
-
```
|
|
861
631
|
|
|
862
632
|
Requirements:
|
|
863
633
|
|
|
@@ -876,21 +646,7 @@ After a worktree parallel step completes, per-agent diff stats are appended to t
|
|
|
876
646
|
|
|
877
647
|
Atomic subagents read optional JSON config from `~/.atomic/agent/extensions/subagent/config.json` and still check the legacy `~/.pi/agent/extensions/subagent/config.json` path for compatibility.
|
|
878
648
|
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
```json
|
|
882
|
-
{ "asyncByDefault": true }
|
|
883
|
-
```
|
|
884
|
-
|
|
885
|
-
Makes top-level calls use background execution when the request does not explicitly set `async`. Callers can still force foreground with `async: false` unless `forceTopLevelAsync` is enabled.
|
|
886
|
-
|
|
887
|
-
### `forceTopLevelAsync`
|
|
888
|
-
|
|
889
|
-
```json
|
|
890
|
-
{ "forceTopLevelAsync": true }
|
|
891
|
-
```
|
|
892
|
-
|
|
893
|
-
Forces depth-0 single, parallel, and chain runs into background mode. Calls remain non-interactive in both foreground and background mode; nested calls keep their own inherited settings.
|
|
649
|
+
Subagent configuration controls discovery, parallel limits, session storage, depth, control notices, and intercom delivery. There are no execution-mode toggles; every execution request is foreground.
|
|
894
650
|
|
|
895
651
|
### `parallel`
|
|
896
652
|
|
|
@@ -964,13 +720,6 @@ stdin is a JSON object with `repoRoot`, `worktreePath`, `agentCwd`, `branch`, `i
|
|
|
964
720
|
|
|
965
721
|
## Files, logs, and observability
|
|
966
722
|
|
|
967
|
-
Each chain run creates a user-scoped temp directory like:
|
|
968
|
-
|
|
969
|
-
```text
|
|
970
|
-
<tmpdir>/atomic-subagents-<scope>/chain-runs/{runId}/
|
|
971
|
-
```
|
|
972
|
-
|
|
973
|
-
It may contain files such as `context.md`, `plan.md`, `progress.md`, and `parallel-{stepIndex}/.../output.md`. Directories older than 24 hours are cleaned up on extension startup.
|
|
974
723
|
|
|
975
724
|
Debug artifacts live under `{sessionDir}/subagent-artifacts/` or a user-scoped temp artifact directory. Per task you may see:
|
|
976
725
|
|
|
@@ -983,9 +732,9 @@ Metadata records timing, usage, typed status, termination cause, final model, at
|
|
|
983
732
|
|
|
984
733
|
Session files are stored under a per-run session directory. With `context: "fork"`, each child starts from the parent’s current leaf through the session manager; this is a real session fork, not an injected summary.
|
|
985
734
|
|
|
986
|
-
|
|
735
|
+
Foreground completions notify the originating session. The in-process status watch emits live lifecycle updates, and the extension consumes the terminal event to render completion notifications.
|
|
987
736
|
|
|
988
|
-
|
|
737
|
+
Foreground runs persist their session and user-facing artifacts beside the parent session:
|
|
989
738
|
|
|
990
739
|
```text
|
|
991
740
|
{parent-session-dir}/subagent-artifacts/
|
|
@@ -996,7 +745,7 @@ Async runs persist their durable session and user-facing artifacts beside the pa
|
|
|
996
745
|
run-history.jsonl
|
|
997
746
|
```
|
|
998
747
|
|
|
999
|
-
The Rust registry and status watch power
|
|
748
|
+
The Rust registry and status watch power `subagent({ action: "status" })` output. Terminal delivery is an in-memory bounded envelope persisted once with typed `status`, `cause`, and `stats`; there is no `status.json`, `events.jsonl`, PID reconciler, result watcher, or claim pipeline.
|
|
1000
749
|
|
|
1001
750
|
## Completion and output
|
|
1002
751
|
|
|
@@ -1004,28 +753,27 @@ Subagent runs no longer inject acceptance gate prompts, infer task policies from
|
|
|
1004
753
|
|
|
1005
754
|
### Migration from acceptance gates
|
|
1006
755
|
|
|
1007
|
-
For existing subagent integrations and
|
|
756
|
+
For existing subagent integrations and agent definitions:
|
|
1008
757
|
|
|
1009
|
-
- Remove `acceptance` properties from `subagent()` calls, top-level `tasks` items,
|
|
758
|
+
- Remove `acceptance` properties from `subagent()` calls, top-level `tasks` items, and parallel task items. The fields are no longer read.
|
|
1010
759
|
- Remove `completionGuard: false` from agent frontmatter or custom agent definitions. The completion guard no longer exists, so the override has no effect and management rewrites strip it.
|
|
1011
760
|
- Put validation, command, evidence, review, or residual-risk requirements directly in the task text you pass to the parent or child agent.
|
|
1012
761
|
|
|
1013
762
|
## Live progress
|
|
1014
763
|
|
|
1015
|
-
Foreground runs show compact live progress for single
|
|
764
|
+
Foreground runs show compact live progress for single and parallel modes: current tool, recent output, token counts, duration, activity freshness, current-tool duration, and artifact paths when available.
|
|
1016
765
|
|
|
1017
|
-
File-based tracking and returned telemetry are separate. On a single-agent call, `progress: true` creates a run-scoped `progress.md` under isolated subagent artifact storage and asks the child to maintain it
|
|
766
|
+
File-based tracking and returned telemetry are separate. On a single-agent call, `progress: true` creates a run-scoped `progress.md` under isolated subagent artifact storage and asks the child to maintain it without writing `progress.md` into the child working directory. `progress: false` disables an agent's `defaultProgress`. `includeProgress: true` only adds detailed runtime progress data to the final foreground tool result; it does not enable the file.
|
|
1018
767
|
|
|
1019
768
|
Press `CTRL+O` to expand the full streaming view with complete output per step.
|
|
1020
769
|
|
|
1021
|
-
Sequential chains show a flow line like `done scout → running planner`. Chains with parallel steps show per-step cards instead. Chain status uses `label` and `phase` metadata when present, while falling back to agent names for older chains.
|
|
1022
770
|
|
|
1023
771
|
## Session sharing
|
|
1024
772
|
|
|
1025
773
|
Pass `share: true` to export a full session to HTML, upload it to a secret GitHub Gist through your `gh` credentials, and return a `https://shittycodingagent.ai/session/?<gistId>` URL.
|
|
1026
774
|
|
|
1027
775
|
```ts
|
|
1028
|
-
{ agent: "
|
|
776
|
+
{ agent: "codebase-locator", task: "...", share: true }
|
|
1029
777
|
```
|
|
1030
778
|
|
|
1031
779
|
This is disabled by default. Session data may contain source code, paths, environment variables, credentials, or other sensitive output. You need `gh` installed and authenticated.
|
|
@@ -1043,23 +791,34 @@ Configure a lower or equal limit with:
|
|
|
1043
791
|
|
|
1044
792
|
The depth policy is typed admission state and is not inherited through an environment variable.
|
|
1045
793
|
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
Async events:
|
|
1049
|
-
|
|
1050
|
-
- `subagent:async-started`
|
|
1051
|
-
- `subagent:async-complete`
|
|
1052
|
-
|
|
1053
|
-
Intercom delivery events:
|
|
794
|
+
Completion and intercom events:
|
|
1054
795
|
|
|
796
|
+
- `subagent:complete`
|
|
1055
797
|
- `subagent:control-intercom`
|
|
1056
798
|
- `subagent:result-intercom`
|
|
1057
799
|
|
|
1058
|
-
|
|
800
|
+
Foreground status/control events are surfaced as visible parent notices, and typed terminal records carry the canonical path, status, cause, and session statistics. With `pi-intercom`, needs-attention notices and grouped parent-side subagent result deliveries can reach the orchestrator over intercom.
|
|
1059
801
|
|
|
1060
802
|
## Prompt-template integration
|
|
1061
803
|
|
|
1062
804
|
`pi-subagents` works standalone through natural language, the `subagent` tool, slash commands, and the packaged prompt shortcuts listed near the top of this README. If you use [pi-prompt-template-model](https://github.com/nicobailon/pi-prompt-template-model), you can also wrap subagent delegation in your own reusable prompt templates.
|
|
805
|
+
The request emitter is the separately installed `pi-prompt-template-model` extension (`requestDelegatedRun` in its `subagent-step.ts`), not this package. A caller that keeps a request alive across reloads must register its rejection path before emitting the request:
|
|
806
|
+
|
|
807
|
+
```ts
|
|
808
|
+
import { registerPromptTemplateBridgeRequestSettlement } from "@bastani/subagents";
|
|
809
|
+
|
|
810
|
+
const unregister = registerPromptTemplateBridgeRequestSettlement(request.requestId, reject);
|
|
811
|
+
try {
|
|
812
|
+
pi.events.emit("prompt-template:subagent:request", request);
|
|
813
|
+
} catch (error) {
|
|
814
|
+
unregister();
|
|
815
|
+
reject(error);
|
|
816
|
+
}
|
|
817
|
+
// Call unregister() from the caller's response, cancellation, or abort path.
|
|
818
|
+
```
|
|
819
|
+
|
|
820
|
+
The hook rejects only when Atomic drops a bridge emit because the captured extension runtime is stale. Continue listening for `prompt-template:subagent:response` for normal completion. This opt-in is needed because the external emitter and the reloaded bridge do not share the same runtime lifetime; Atomic cannot register it on the caller's behalf.
|
|
821
|
+
|
|
1063
822
|
|
|
1064
823
|
Example:
|
|
1065
824
|
|
|
@@ -1075,7 +834,7 @@ Use url in the prompt to take screenshot: $@
|
|
|
1075
834
|
|
|
1076
835
|
Then `/take-screenshot https://example.com` switches to Sonnet, delegates to `browser-screenshoter` with `/tmp/screenshots` as cwd, and restores your model when done. Runtime overrides like `--cwd=<path>` and `--subagent=<name>` work too.
|
|
1077
836
|
|
|
1078
|
-
For more reusable workflows on top of subagents,
|
|
837
|
+
For more reusable prompt-template workflows on top of subagents, install `pi-prompt-template-model` separately and copy the examples you want into `~/.pi/agent/prompts/`.
|
|
1079
838
|
|
|
1080
839
|
## Runtime files
|
|
1081
840
|
|
|
@@ -1084,14 +843,12 @@ The main runtime files are:
|
|
|
1084
843
|
| File | Purpose |
|
|
1085
844
|
|------|---------|
|
|
1086
845
|
| `src/extension/index.ts` | Extension registration, tool registration, message/render wiring. |
|
|
1087
|
-
| `src/agents/agents.ts` | Agent and
|
|
1088
|
-
| `src/runs/foreground/subagent-executor.ts` | Main execution routing for single, parallel,
|
|
846
|
+
| `src/agents/agents.ts` | Agent discovery and frontmatter parsing. |
|
|
847
|
+
| `src/runs/foreground/subagent-executor.ts` | Main execution routing for single, parallel, management, status, interrupt, and doctor actions. |
|
|
1089
848
|
| `src/runs/foreground/execution.ts` | Core foreground `runSync` handling. |
|
|
1090
|
-
| `src/runs/
|
|
1091
|
-
| `src/runs/
|
|
1092
|
-
| `src/
|
|
1093
|
-
| `src/runs/foreground/chain-execution.ts` / `src/agents/chain-serializer.ts` | Chain orchestration and `.chain.md` parsing. |
|
|
1094
|
-
| `src/shared/settings.ts` | Chain behavior, instructions, and config helpers. |
|
|
849
|
+
| `src/runs/foreground/notify.ts` | Completion-notification delivery for a detached Intercom child. |
|
|
850
|
+
| `src/runs/foreground/completion-notification.ts` | Local completion acknowledgement and ordering barrier for detached children. |
|
|
851
|
+
| `src/shared/settings.ts` | Shared task behavior, instructions, and config helpers. |
|
|
1095
852
|
| `src/runs/shared/worktree.ts` | Git worktree isolation. |
|
|
1096
853
|
| `src/intercom/intercom-bridge.ts` | Runtime intercom bridge instructions and diagnostics. |
|
|
1097
854
|
| `src/extension/schemas.ts` / `src/shared/types.ts` | Tool schemas, shared types, and event constants. |
|