@selesai/code 0.8.3 → 0.8.5
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 +15 -0
- package/README.md +7 -1
- package/dist/core/slash-commands.js +1 -0
- package/dist/defaults/models.json +41 -55
- package/dist/defaults/settings.json +7 -8
- package/dist/extensions/handoff-new.ts +1 -1
- package/dist/extensions/inline-skills.test.ts +1 -0
- package/dist/extensions/inline-skills.ts +1 -1
- package/dist/extensions/pi-intercom/CHANGELOG.md +25 -3
- package/dist/extensions/pi-intercom/README.md +34 -15
- package/dist/extensions/pi-intercom/broker/broker.ts +38 -141
- package/dist/extensions/pi-intercom/broker/client-liveness.test.ts +173 -0
- package/dist/extensions/pi-intercom/broker/client.ts +78 -150
- package/dist/extensions/pi-intercom/broker/extension-state.ts +18 -7
- package/dist/extensions/pi-intercom/broker/framing.ts +1 -1
- package/dist/extensions/pi-intercom/broker/protocol.ts +182 -0
- package/dist/extensions/pi-intercom/broker/spawn.test.ts +106 -7
- package/dist/extensions/pi-intercom/broker/spawn.ts +37 -11
- package/dist/extensions/pi-intercom/config.test.ts +8 -10
- package/dist/extensions/pi-intercom/config.ts +3 -3
- package/dist/extensions/pi-intercom/index.ts +218 -147
- package/dist/extensions/pi-intercom/intercom.integration.test.ts +891 -103
- package/dist/extensions/pi-intercom/package.json +3 -2
- package/dist/extensions/pi-intercom/project-agent.test.ts +145 -0
- package/dist/extensions/pi-intercom/project-agent.ts +324 -0
- package/dist/extensions/pi-intercom/reply-tracker.test.ts +86 -1
- package/dist/extensions/pi-intercom/reply-tracker.ts +41 -9
- package/dist/extensions/pi-intercom/skills/pi-intercom/SKILL.md +49 -9
- package/dist/extensions/pi-intercom/test/inline-message.test.ts +9 -9
- package/dist/extensions/pi-intercom/types.ts +3 -1
- package/dist/extensions/pi-intercom/ui/inline-message.ts +7 -7
- package/dist/extensions/pi-powerline-footer/.github/workflows/test.yml +2 -2
- package/dist/extensions/pi-powerline-footer/CHANGELOG.md +14 -1
- package/dist/extensions/pi-powerline-footer/README.md +20 -37
- package/dist/extensions/pi-powerline-footer/bash-mode/completion.ts +40 -25
- package/dist/extensions/pi-powerline-footer/bash-mode/editor.ts +149 -18
- package/dist/extensions/pi-powerline-footer/bash-mode/types.ts +1 -0
- package/dist/extensions/pi-powerline-footer/editor-performance.ts +99 -0
- package/dist/extensions/pi-powerline-footer/git-status.ts +15 -0
- package/dist/extensions/pi-powerline-footer/index.ts +394 -317
- package/dist/extensions/pi-powerline-footer/package.json +1 -1
- package/dist/extensions/pi-powerline-footer/powerline-config.ts +0 -12
- package/dist/extensions/pi-powerline-footer/queue/store.ts +8 -56
- package/dist/extensions/pi-powerline-footer/queue/types.ts +1 -2
- package/dist/extensions/pi-powerline-footer/segments.ts +0 -3
- package/dist/extensions/pi-powerline-footer/tests/bash-mode.test.ts +231 -1
- package/dist/extensions/pi-powerline-footer/tests/custom-items.test.ts +5 -19
- package/dist/extensions/pi-powerline-footer/tests/editor-performance.test.ts +43 -0
- package/dist/extensions/pi-powerline-footer/tests/git-optional-locks.test.ts +64 -0
- package/dist/extensions/pi-powerline-footer/tests/jump-shortcuts.test.ts +116 -0
- package/dist/extensions/pi-powerline-footer/tests/queue-store.test.ts +19 -149
- package/dist/extensions/pi-powerline-footer/tests/remaining-regressions.test.ts +6 -0
- package/dist/extensions/pi-powerline-footer/tests/usage-display.test.ts +5 -5
- package/dist/extensions/pi-powerline-footer/types.ts +1 -2
- package/dist/extensions/pi-subagents/CHANGELOG.md +225 -14
- package/dist/extensions/pi-subagents/README.md +66 -1613
- package/dist/extensions/pi-subagents/agents/builder.md +0 -1
- package/dist/extensions/pi-subagents/agents/delegate.md +14 -0
- package/dist/extensions/pi-subagents/agents/oracle.md +74 -0
- package/dist/extensions/pi-subagents/agents/reviewer.md +78 -0
- package/dist/extensions/pi-subagents/agents/scout.md +50 -0
- package/dist/extensions/pi-subagents/agents/worker.md +58 -0
- package/dist/extensions/pi-subagents/docs/configuration.md +372 -0
- package/dist/extensions/pi-subagents/docs/extension-api.md +308 -0
- package/dist/extensions/pi-subagents/docs/missions.md +119 -0
- package/dist/extensions/pi-subagents/docs/models.md +192 -0
- package/dist/extensions/pi-subagents/docs/observability.md +174 -0
- package/dist/extensions/pi-subagents/docs/tool-reference.md +343 -0
- package/dist/extensions/pi-subagents/docs/watchdog.md +176 -0
- package/dist/extensions/pi-subagents/docs/workflows.md +163 -0
- package/dist/extensions/pi-subagents/inspector-runner.mjs +11 -0
- package/dist/extensions/pi-subagents/package-lock.json +152 -194
- package/dist/extensions/pi-subagents/package.json +9 -10
- package/dist/extensions/pi-subagents/prompts/gather-context-and-clarify.md +1 -1
- package/dist/extensions/pi-subagents/prompts/parallel-cleanup.md +9 -9
- package/dist/extensions/pi-subagents/prompts/parallel-research.md +6 -6
- package/dist/extensions/pi-subagents/prompts/parallel-review.md +8 -8
- package/dist/extensions/pi-subagents/prompts/review-loop.md +12 -12
- package/dist/extensions/pi-subagents/skills/pi-subagents/SKILL.md +22 -17
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/constraints-and-recipes.md +77 -72
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/execution-controls.md +177 -69
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/management-authoring-rpc.md +28 -8
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/prompting-and-roles.md +88 -66
- package/dist/extensions/pi-subagents/src/agents/agent-management.ts +3 -3
- package/dist/extensions/pi-subagents/src/agents/agent-refinements.ts +624 -0
- package/dist/extensions/pi-subagents/src/agents/agents.ts +38 -19
- package/dist/extensions/pi-subagents/src/agents/frontmatter.ts +7 -3
- package/dist/extensions/pi-subagents/src/agents/proactive-skills.ts +2 -2
- package/dist/extensions/pi-subagents/src/agents/skills.ts +2 -9
- package/dist/extensions/pi-subagents/src/api/delegation.ts +1 -2
- package/dist/extensions/pi-subagents/src/api/project-panes.ts +30 -0
- package/dist/extensions/pi-subagents/src/extension/config.ts +62 -8
- package/dist/extensions/pi-subagents/src/extension/control-notices.ts +2 -2
- package/dist/extensions/pi-subagents/src/extension/doctor.ts +40 -0
- package/dist/extensions/pi-subagents/src/extension/fanout-child.ts +51 -26
- package/dist/extensions/pi-subagents/src/extension/index.ts +140 -50
- package/dist/extensions/pi-subagents/src/extension/public-execution.ts +77 -0
- package/dist/extensions/pi-subagents/src/extension/rpc.ts +18 -24
- package/dist/extensions/pi-subagents/src/extension/schemas.ts +58 -21
- package/dist/extensions/pi-subagents/src/extension/subagent-guide.ts +39 -0
- package/dist/extensions/pi-subagents/src/extension/tool-description.ts +47 -25
- package/dist/extensions/pi-subagents/src/inspectors/herdr/actions.ts +3 -3
- package/dist/extensions/pi-subagents/src/inspectors/herdr/project-panes.ts +460 -64
- package/dist/extensions/pi-subagents/src/intercom/intercom-bridge.ts +4 -1
- package/dist/extensions/pi-subagents/src/intercom/native-supervisor-channel.ts +102 -4
- package/dist/extensions/pi-subagents/src/missions/actions.ts +77 -16
- package/dist/extensions/pi-subagents/src/missions/goal-driver.ts +162 -0
- package/dist/extensions/pi-subagents/src/missions/lifecycle.ts +65 -17
- package/dist/extensions/pi-subagents/src/missions/store.ts +151 -9
- package/dist/extensions/pi-subagents/src/missions/types.ts +58 -3
- package/dist/extensions/pi-subagents/src/missions/workflow-state.ts +260 -0
- package/dist/extensions/pi-subagents/src/profiles/profiles.ts +8 -8
- package/dist/extensions/pi-subagents/src/runs/background/active-async-capacity.ts +374 -0
- package/dist/extensions/pi-subagents/src/runs/background/active-run-index.ts +46 -0
- package/dist/extensions/pi-subagents/src/runs/background/async-execution.ts +158 -36
- package/dist/extensions/pi-subagents/src/runs/background/async-job-tracker.ts +294 -134
- package/dist/extensions/pi-subagents/src/runs/background/async-resume.ts +26 -4
- package/dist/extensions/pi-subagents/src/runs/background/async-status.ts +45 -6
- package/dist/extensions/pi-subagents/src/runs/background/chain-append.ts +33 -15
- package/dist/extensions/pi-subagents/src/runs/background/completion-replay.ts +267 -0
- package/dist/extensions/pi-subagents/src/runs/background/control-channel.ts +145 -60
- package/dist/extensions/pi-subagents/src/runs/background/owned-process-tree.ts +104 -0
- package/dist/extensions/pi-subagents/src/runs/background/process-terminal.ts +17 -3
- package/dist/extensions/pi-subagents/src/runs/background/result-watcher.ts +114 -6
- package/dist/extensions/pi-subagents/src/runs/background/resume-guidance.ts +33 -0
- package/dist/extensions/pi-subagents/src/runs/background/retained-children.ts +68 -0
- package/dist/extensions/pi-subagents/src/runs/background/run-id-resolver.ts +71 -0
- package/dist/extensions/pi-subagents/src/runs/background/run-status.ts +26 -3
- package/dist/extensions/pi-subagents/src/runs/background/scheduled-runs.ts +42 -14
- package/dist/extensions/pi-subagents/src/runs/background/stale-run-reconciler.ts +12 -24
- package/dist/extensions/pi-subagents/src/runs/background/steering.ts +7 -5
- package/dist/extensions/pi-subagents/src/runs/background/subagent-runner.ts +233 -101
- package/dist/extensions/pi-subagents/src/runs/background/subagent-wait.ts +17 -4
- package/dist/extensions/pi-subagents/src/runs/background/wait-completions.ts +146 -0
- package/dist/extensions/pi-subagents/src/runs/background/wait-subscriptions.ts +21 -5
- package/dist/extensions/pi-subagents/src/runs/foreground/async-dismiss-action.ts +85 -0
- package/dist/extensions/pi-subagents/src/runs/foreground/async-steering-action.ts +43 -18
- package/dist/extensions/pi-subagents/src/runs/foreground/chain-clarify.ts +20 -19
- package/dist/extensions/pi-subagents/src/runs/foreground/chain-execution.ts +40 -2
- package/dist/extensions/pi-subagents/src/runs/foreground/execution.ts +188 -46
- package/dist/extensions/pi-subagents/src/runs/foreground/foreground-control.ts +12 -0
- package/dist/extensions/pi-subagents/src/runs/foreground/foreground-history.ts +137 -0
- package/dist/extensions/pi-subagents/src/runs/foreground/prompt-audit.ts +171 -0
- package/dist/extensions/pi-subagents/src/runs/foreground/subagent-executor.ts +1365 -252
- package/dist/extensions/pi-subagents/src/runs/foreground/workflow-foreground-steering.ts +187 -0
- package/dist/extensions/pi-subagents/src/runs/shared/acceptance.ts +178 -26
- package/dist/extensions/pi-subagents/src/runs/shared/dynamic-fanout.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/llm-intent-arbiter.ts +286 -0
- package/dist/extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +2 -0
- package/dist/extensions/pi-subagents/src/runs/shared/model-fallback.ts +32 -5
- package/dist/extensions/pi-subagents/src/runs/shared/model-scope.ts +12 -2
- package/dist/extensions/pi-subagents/src/runs/shared/parallel-utils.ts +3 -0
- package/dist/extensions/pi-subagents/src/runs/shared/pi-args.ts +509 -117
- package/dist/extensions/pi-subagents/src/runs/shared/pi-spawn.ts +10 -10
- package/dist/extensions/pi-subagents/src/runs/shared/run-fanout-budget.ts +280 -0
- package/dist/extensions/pi-subagents/src/runs/shared/single-output.ts +4 -2
- package/dist/extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.ts +189 -32
- package/dist/extensions/pi-subagents/src/runs/shared/task-intent.ts +21 -5
- package/dist/extensions/pi-subagents/src/runs/shared/worktree.ts +20 -8
- package/dist/extensions/pi-subagents/src/shared/artifacts.ts +128 -3
- package/dist/extensions/pi-subagents/src/shared/display-text.ts +100 -0
- package/dist/extensions/pi-subagents/src/shared/file-coalescer.ts +9 -0
- package/dist/extensions/pi-subagents/src/shared/fork-context.ts +13 -0
- package/dist/extensions/pi-subagents/src/shared/formatters.ts +4 -6
- package/dist/extensions/pi-subagents/src/shared/prompt-resources.ts +51 -0
- package/dist/extensions/pi-subagents/src/shared/settings.ts +41 -11
- package/dist/extensions/pi-subagents/src/shared/types.ts +192 -3
- package/dist/extensions/pi-subagents/src/shared/utf8.ts +11 -0
- package/dist/extensions/pi-subagents/src/shared/utils.ts +46 -34
- package/dist/extensions/pi-subagents/src/slash/delegation-adapters.ts +1 -14
- package/dist/extensions/pi-subagents/src/slash/inline-subagents.ts +1 -1
- package/dist/extensions/pi-subagents/src/slash/prompt-template-bridge.ts +14 -12
- package/dist/extensions/pi-subagents/src/slash/prompt-workflows.ts +176 -21
- package/dist/extensions/pi-subagents/src/slash/slash-bridge.ts +12 -6
- package/dist/extensions/pi-subagents/src/slash/slash-commands.ts +52 -18
- package/dist/extensions/pi-subagents/src/slash/slash-live-state.ts +36 -5
- package/dist/extensions/pi-subagents/src/tui/fleet-status.ts +37 -21
- package/dist/extensions/pi-subagents/src/tui/fleet.ts +375 -42
- package/dist/extensions/pi-subagents/src/tui/render.ts +201 -68
- package/dist/extensions/pi-subagents/src/types/pi-runtime-compat.d.ts +0 -6
- package/dist/extensions/pi-subagents/src/watchdog/change-signature.ts +5 -4
- package/dist/extensions/pi-subagents/src/watchdog/lsp-diagnostics.ts +0 -1
- package/dist/extensions/pi-subagents/src/workflows/scripted-workflow.ts +332 -27
- package/dist/extensions/pi-subagents/test/e2e/real-session-subagent.test.ts +15 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/cli.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/register-bedrock.d.ts +2 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/restore-sandbox-env.d.ts +17 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/args.d.ts +57 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/config-selector.d.ts +16 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/file-processor.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/initial-message.d.ts +18 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/list-models.d.ts +9 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/project-trust.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/session-picker.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/startup-ui.d.ts +20 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/config.d.ts +96 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-runtime.d.ts +119 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-services.d.ts +85 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session.d.ts +620 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-guidance.d.ts +5 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-storage.d.ts +56 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/bash-executor.d.ts +32 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/cache-stats.d.ts +49 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/branch-summarization.d.ts +93 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/compaction.d.ts +128 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/index.d.ts +7 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/utils.d.ts +38 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/defaults.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/diagnostics.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/event-bus.d.ts +9 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/exec.d.ts +29 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/experimental.d.ts +2 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/ansi-to-html.d.ts +22 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/index.d.ts +37 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/tool-renderer.d.ts +34 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/index.d.ts +12 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/loader.d.ts +23 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/runner.d.ts +171 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/types.d.ts +1261 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/wrapper.d.ts +20 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/footer-data-provider.d.ts +54 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/http-dispatcher.d.ts +22 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/index.d.ts +13 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/keybindings.d.ts +358 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/messages.d.ts +77 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-config.d.ts +512 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-registry.d.ts +43 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-resolver.d.ts +121 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-runtime.d.ts +82 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/models-store.d.ts +17 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/output-guard.d.ts +7 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/package-manager.d.ts +210 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/project-trust.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/prompt-templates.d.ts +54 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-attribution.d.ts +4 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-composer.d.ts +55 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/radius.d.ts +2 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/remote-catalog-provider.d.ts +5 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resolve-config-value.d.ts +30 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resource-loader.d.ts +206 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/runtime-credentials.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/sdk.d.ts +106 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-cwd.d.ts +19 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-manager.d.ts +356 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/settings-manager.d.ts +297 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/skills.d.ts +60 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/slash-commands.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/source-info.d.ts +18 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/system-prompt.d.ts +28 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/telemetry.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/timings.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/bash.d.ts +68 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit-diff.d.ts +106 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit.d.ts +51 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/file-mutation-queue.d.ts +6 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/find.d.ts +35 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/grep.d.ts +37 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/index.d.ts +40 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/ls.d.ts +37 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/output-accumulator.d.ts +52 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/path-utils.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/read.d.ts +35 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/render-utils.d.ts +24 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/truncate.d.ts +70 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/write.d.ts +26 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/trust-manager.d.ts +36 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/usage-totals.d.ts +19 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/index.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/client.d.ts +61 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/huggingface.d.ts +23 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/index.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/provider.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/ui.d.ts +42 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/index.d.ts +35 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/main.d.ts +12 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/migrations.d.ts +33 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/index.d.ts +9 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/armin.d.ts +34 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/assistant-message.d.ts +22 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bash-execution.d.ts +34 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/config-selector.d.ts +102 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-editor.d.ts +21 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-entry.d.ts +19 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-message.d.ts +20 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/daxnuts.d.ts +23 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/diff.d.ts +12 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-editor.d.ts +22 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-input.d.ts +23 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-selector.d.ts +26 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/footer.d.ts +32 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/index.d.ts +34 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/login-dialog.d.ts +52 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/model-selector.d.ts +54 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector.d.ts +95 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/settings-selector.d.ts +77 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/status-indicator.d.ts +28 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/theme-selector.d.ts +11 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tool-execution.d.ts +63 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tree-selector.d.ts +94 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/trust-selector.d.ts +23 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message.d.ts +14 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/interactive-mode.d.ts +394 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/model-search.d.ts +12 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme-controller.d.ts +29 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme.d.ts +120 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/print-mode.d.ts +28 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/jsonl.d.ts +17 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-client.d.ts +246 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-mode.d.ts +20 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-types.d.ts +457 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/package-manager-cli.d.ts +8 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/rpc-entry.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/ansi.d.ts +2 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/changelog.d.ts +22 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/child-process.d.ts +18 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-image.d.ts +11 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-native.d.ts +11 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard.d.ts +4 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/deprecation.d.ts +4 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/exif-orientation.d.ts +5 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/frontmatter.d.ts +8 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/fs-watch.d.ts +5 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/git.d.ts +26 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/html.d.ts +7 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-convert.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-process.d.ts +18 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-core.d.ts +30 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-worker.d.ts +2 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize.d.ts +16 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/json.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/mime.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/open-browser.d.ts +9 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/paths.d.ts +31 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/photon.d.ts +21 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/pi-user-agent.d.ts +2 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/shell.d.ts +31 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/sleep.d.ts +5 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/syntax-highlight.d.ts +12 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/tools-manager.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/version-check.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/windows-self-update.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/index.mjs +84 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/package.json +14 -0
- package/dist/extensions/pi-subagents/test/integration/acceptance-file-report.test.ts +102 -15
- package/dist/extensions/pi-subagents/test/integration/async-execution.test.ts +507 -306
- package/dist/extensions/pi-subagents/test/integration/async-job-tracker.test.ts +309 -123
- package/dist/extensions/pi-subagents/test/integration/async-status.test.ts +124 -58
- package/dist/extensions/pi-subagents/test/integration/chain-clarify.test.ts +62 -16
- package/dist/extensions/pi-subagents/test/integration/chain-execution.test.ts +167 -113
- package/dist/extensions/pi-subagents/test/integration/detect-error.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/integration/external-cli-runner.test.ts +4 -2
- package/dist/extensions/pi-subagents/test/integration/fork-context-execution.test.ts +139 -58
- package/dist/extensions/pi-subagents/test/integration/intercom-result-delivery.test.ts +324 -59
- package/dist/extensions/pi-subagents/test/integration/parallel-execution.test.ts +98 -22
- package/dist/extensions/pi-subagents/test/integration/render-fork-badge.test.ts +106 -106
- package/dist/extensions/pi-subagents/test/integration/render-widget.test.ts +416 -106
- package/dist/extensions/pi-subagents/test/integration/result-watcher.test.ts +287 -17
- package/dist/extensions/pi-subagents/test/integration/single-execution.test.ts +1122 -96
- package/dist/extensions/pi-subagents/test/integration/slash-commands.test.ts +107 -20
- package/dist/extensions/pi-subagents/test/integration/slash-live-state.test.ts +9 -9
- package/dist/extensions/pi-subagents/test/integration/template-resolution.test.ts +26 -6
- package/dist/extensions/pi-subagents/test/integration/top-level-async.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/support/helpers.ts +2 -0
- package/dist/extensions/pi-subagents/test/support/mock-pi-script.mjs +1 -1
- package/dist/extensions/pi-subagents/test/support/ts-loader.mjs +0 -8
- package/dist/extensions/pi-subagents/test/unit/acceptance.test.ts +194 -59
- package/dist/extensions/pi-subagents/test/unit/active-async-capacity.test.ts +317 -0
- package/dist/extensions/pi-subagents/test/unit/agent-disabled.test.ts +15 -15
- package/dist/extensions/pi-subagents/test/unit/agent-eject-disable.test.ts +66 -66
- package/dist/extensions/pi-subagents/test/unit/agent-frontmatter.test.ts +334 -248
- package/dist/extensions/pi-subagents/test/unit/agent-management.test.ts +52 -52
- package/dist/extensions/pi-subagents/test/unit/agent-memory.test.ts +26 -26
- package/dist/extensions/pi-subagents/test/unit/agent-overrides.test.ts +118 -99
- package/dist/extensions/pi-subagents/test/unit/agent-refinements.test.ts +160 -0
- package/dist/extensions/pi-subagents/test/unit/agent-selection.test.ts +9 -9
- package/dist/extensions/pi-subagents/test/unit/artifacts.test.ts +43 -1
- package/dist/extensions/pi-subagents/test/unit/async-execution.test.ts +36 -10
- package/dist/extensions/pi-subagents/test/unit/async-interrupt-action.test.ts +387 -30
- package/dist/extensions/pi-subagents/test/unit/async-permission-session.test.ts +9 -9
- package/dist/extensions/pi-subagents/test/unit/async-recovery-descriptor.test.ts +18 -3
- package/dist/extensions/pi-subagents/test/unit/async-resume.test.ts +99 -40
- package/dist/extensions/pi-subagents/test/unit/background-work.test.ts +5 -3
- package/dist/extensions/pi-subagents/test/unit/builtin-agent-documentation.test.ts +7 -7
- package/dist/extensions/pi-subagents/test/unit/capability-ceiling-agent-allowlist.test.ts +19 -19
- package/dist/extensions/pi-subagents/test/unit/chain-append.test.ts +94 -23
- package/dist/extensions/pi-subagents/test/unit/chain-root-attachment.test.ts +9 -9
- package/dist/extensions/pi-subagents/test/unit/chain-serializer.test.ts +20 -20
- package/dist/extensions/pi-subagents/test/unit/child-transcript.test.ts +9 -9
- package/dist/extensions/pi-subagents/test/unit/compaction-resume.test.ts +35 -5
- package/dist/extensions/pi-subagents/test/unit/completion-dedupe.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/completion-guard.test.ts +70 -52
- package/dist/extensions/pi-subagents/test/unit/completion-replay.test.ts +187 -0
- package/dist/extensions/pi-subagents/test/unit/control-channel.test.ts +125 -71
- package/dist/extensions/pi-subagents/test/unit/control-notices.test.ts +18 -3
- package/dist/extensions/pi-subagents/test/unit/default-extensions.test.ts +12 -12
- package/dist/extensions/pi-subagents/test/unit/delegation-api.test.ts +17 -23
- package/dist/extensions/pi-subagents/test/unit/doctor.test.ts +30 -2
- package/dist/extensions/pi-subagents/test/unit/dynamic-fanout.test.ts +25 -25
- package/dist/extensions/pi-subagents/test/unit/extra-agent-dirs.test.ts +3 -3
- package/dist/extensions/pi-subagents/test/unit/file-coalescer.test.ts +15 -0
- package/dist/extensions/pi-subagents/test/unit/fleet-status.test.ts +91 -47
- package/dist/extensions/pi-subagents/test/unit/fleet.test.ts +468 -38
- package/dist/extensions/pi-subagents/test/unit/foreground-control.test.ts +14 -4
- package/dist/extensions/pi-subagents/test/unit/foreground-tool-call-compaction.test.ts +37 -0
- package/dist/extensions/pi-subagents/test/unit/herdr-inspector-bootstrap.test.ts +69 -0
- package/dist/extensions/pi-subagents/test/unit/herdr-inspector.test.ts +79 -2
- package/dist/extensions/pi-subagents/test/unit/herdr-status-bridge.test.ts +102 -49
- package/dist/extensions/pi-subagents/test/unit/index-child-registration.test.ts +98 -32
- package/dist/extensions/pi-subagents/test/unit/intercom-bridge.test.ts +7 -6
- package/dist/extensions/pi-subagents/test/unit/llm-intent-arbiter.test.ts +171 -0
- package/dist/extensions/pi-subagents/test/unit/mission-goal-driver.test.ts +116 -0
- package/dist/extensions/pi-subagents/test/unit/mission-lifecycle.test.ts +81 -7
- package/dist/extensions/pi-subagents/test/unit/mission-store.test.ts +289 -13
- package/dist/extensions/pi-subagents/test/unit/model-fallback.test.ts +42 -1
- package/dist/extensions/pi-subagents/test/unit/model-scope-settings.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/model-scope.test.ts +11 -2
- package/dist/extensions/pi-subagents/test/unit/native-supervisor-channel.test.ts +84 -10
- package/dist/extensions/pi-subagents/test/unit/nested-control.test.ts +122 -8
- package/dist/extensions/pi-subagents/test/unit/nested-events.test.ts +8 -8
- package/dist/extensions/pi-subagents/test/unit/notify.test.ts +24 -24
- package/dist/extensions/pi-subagents/test/unit/owned-process-tree.test.ts +69 -0
- package/dist/extensions/pi-subagents/test/unit/package-manifest.test.ts +16 -2
- package/dist/extensions/pi-subagents/test/unit/parallel-handoff.test.ts +7 -7
- package/dist/extensions/pi-subagents/test/unit/parallel-utils.test.ts +10 -10
- package/dist/extensions/pi-subagents/test/unit/path-handling.test.ts +3 -3
- package/dist/extensions/pi-subagents/test/unit/path-resolution.test.ts +26 -17
- package/dist/extensions/pi-subagents/test/unit/pi-args-permission-system.test.ts +405 -0
- package/dist/extensions/pi-subagents/test/unit/pi-args.test.ts +440 -92
- package/dist/extensions/pi-subagents/test/unit/pi-coding-agent-dir.test.ts +24 -8
- package/dist/extensions/pi-subagents/test/unit/pi-spawn.test.ts +6 -6
- package/dist/extensions/pi-subagents/test/unit/preflight.test.ts +43 -43
- package/dist/extensions/pi-subagents/test/unit/proactive-skills.test.ts +13 -13
- package/dist/extensions/pi-subagents/test/unit/process-terminal.test.ts +59 -6
- package/dist/extensions/pi-subagents/test/unit/profiles.test.ts +19 -19
- package/dist/extensions/pi-subagents/test/unit/project-panes-public-api.test.ts +243 -0
- package/dist/extensions/pi-subagents/test/unit/prompt-template-bridge.test.ts +68 -168
- package/dist/extensions/pi-subagents/test/unit/prompt-workflows.test.ts +58 -15
- package/dist/extensions/pi-subagents/test/unit/public-execution.test.ts +51 -0
- package/dist/extensions/pi-subagents/test/unit/reads-resolution.test.ts +66 -0
- package/dist/extensions/pi-subagents/test/unit/render-helpers.test.ts +47 -28
- package/dist/extensions/pi-subagents/test/unit/result-intercom.test.ts +12 -12
- package/dist/extensions/pi-subagents/test/unit/retained-children.test.ts +57 -0
- package/dist/extensions/pi-subagents/test/unit/rpc.test.ts +111 -31
- package/dist/extensions/pi-subagents/test/unit/run-fanout-budget.test.ts +121 -0
- package/dist/extensions/pi-subagents/test/unit/run-id-resolver.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/run-status.test.ts +65 -50
- package/dist/extensions/pi-subagents/test/unit/scheduled-runs.test.ts +69 -28
- package/dist/extensions/pi-subagents/test/unit/scheduled-store-root.test.ts +67 -0
- package/dist/extensions/pi-subagents/test/unit/schemas.test.ts +60 -44
- package/dist/extensions/pi-subagents/test/unit/scripted-workflow.test.ts +424 -49
- package/dist/extensions/pi-subagents/test/unit/single-output.test.ts +28 -0
- package/dist/extensions/pi-subagents/test/unit/skills-fallback.test.ts +23 -1
- package/dist/extensions/pi-subagents/test/unit/slash-bridge.test.ts +32 -5
- package/dist/extensions/pi-subagents/test/unit/stale-run-reconciler.test.ts +13 -13
- package/dist/extensions/pi-subagents/test/unit/steering-action.test.ts +130 -92
- package/dist/extensions/pi-subagents/test/unit/steering.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/subagent-action-recovery.test.ts +85 -0
- package/dist/extensions/pi-subagents/test/unit/subagent-control.test.ts +35 -35
- package/dist/extensions/pi-subagents/test/unit/subagent-guide.test.ts +24 -0
- package/dist/extensions/pi-subagents/test/unit/subagent-prompt-runtime.test.ts +312 -22
- package/dist/extensions/pi-subagents/test/unit/subagent-wait.test.ts +150 -15
- package/dist/extensions/pi-subagents/test/unit/task-intent.test.ts +65 -26
- package/dist/extensions/pi-subagents/test/unit/timeout-defaults.test.ts +138 -0
- package/dist/extensions/pi-subagents/test/unit/tool-description.test.ts +76 -25
- package/dist/extensions/pi-subagents/test/unit/turn-budget.test.ts +5 -5
- package/dist/extensions/pi-subagents/test/unit/wait-subscriptions.test.ts +55 -6
- package/dist/extensions/pi-subagents/test/unit/watchdog-child-status.test.ts +13 -13
- package/dist/extensions/pi-subagents/test/unit/watchdog-lsp-diagnostics.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-runtime.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-settings.test.ts +8 -8
- package/dist/extensions/pi-subagents/test/unit/widget-nested-render.test.ts +6 -6
- package/dist/extensions/pi-subagents/test/unit/workflow-chat-progress.test.ts +138 -11
- package/dist/extensions/pi-subagents/test/unit/workflow-graph.test.ts +8 -8
- package/dist/extensions/pi-subagents/test/unit/workflow-launch-params.test.ts +113 -0
- package/dist/extensions/pi-subagents/test/unit/worktree.test.ts +68 -7
- package/dist/extensions/pi-subagents/test/unit/writer-budget-guidance.test.ts +6 -6
- package/dist/extensions/workflow/extension.ts +21 -19
- package/dist/extensions/workflow/modes.ts +65 -0
- package/dist/modes/interactive/interactive-mode.d.ts +1 -0
- package/dist/modes/interactive/interactive-mode.js +48 -1
- package/dist/skills/pi-subagents/SKILL.md +20 -15
- package/dist/skills/pi-subagents/references/constraints-and-recipes.md +77 -83
- package/dist/skills/pi-subagents/references/execution-controls.md +215 -106
- package/dist/skills/pi-subagents/references/management-authoring-rpc.md +29 -9
- package/dist/skills/pi-subagents/references/prompting-and-roles.md +58 -43
- package/docs/plans/workflow-autoloop-reference.md +192 -0
- package/docs/plans/workflow-subagent-consolidation-planb.md +374 -0
- package/docs/plans/workflow-subagent-scripted-merge.md +406 -0
- package/docs/quickstart.md +27 -43
- package/docs/settings.md +4 -0
- package/docs/usage.md +1 -0
- package/package.json +2 -1
- package/dist/extensions/workflow/adapter.ts +0 -949
- package/dist/extensions/workflow/modes/loop.ts +0 -74
- package/dist/extensions/workflow/modes/prototype.ts +0 -170
- package/dist/extensions/workflow/modes/quicktype.ts +0 -150
- package/dist/extensions/workflow/modes/task.ts +0 -105
- package/dist/extensions/workflow/run-state.ts +0 -124
- package/dist/extensions/workflow/state-machine.ts +0 -484
- package/dist/extensions/workflow/validators.ts +0 -42
|
@@ -328,6 +328,7 @@ export interface FileMutationEffect {
|
|
|
328
328
|
expected: boolean;
|
|
329
329
|
attempted: boolean;
|
|
330
330
|
message?: string;
|
|
331
|
+
resolvedBy?: "llm-intent-arbiter";
|
|
331
332
|
}
|
|
332
333
|
|
|
333
334
|
export interface EffectsProjection {
|
|
@@ -343,6 +344,7 @@ export type ProcessTerminalReason =
|
|
|
343
344
|
| "runner-candidate-missing"
|
|
344
345
|
| "runner-instance-mismatch"
|
|
345
346
|
| "writer-close-unverified"
|
|
347
|
+
| "process-tree-unverified"
|
|
346
348
|
| "canonical-session-unavailable"
|
|
347
349
|
| "canonical-session-lease-active"
|
|
348
350
|
| "canonical-session-release-unverified"
|
|
@@ -357,6 +359,19 @@ export interface RunnerProcessInstanceExitV1 {
|
|
|
357
359
|
signal: string | null;
|
|
358
360
|
}
|
|
359
361
|
|
|
362
|
+
export type ProcessTreeTerminalV1 =
|
|
363
|
+
| {
|
|
364
|
+
state: "observed";
|
|
365
|
+
mechanism: "posix-process-group";
|
|
366
|
+
processGroupId: number;
|
|
367
|
+
verifiedAt: number;
|
|
368
|
+
}
|
|
369
|
+
| {
|
|
370
|
+
state: "unknown";
|
|
371
|
+
reason: "unsupported-platform" | "signal-failed" | "verification-failed";
|
|
372
|
+
diagnostic?: string;
|
|
373
|
+
};
|
|
374
|
+
|
|
360
375
|
export interface PiWriterProcessInstanceExitV1 {
|
|
361
376
|
processInstanceId: string;
|
|
362
377
|
kind: "pi-writer";
|
|
@@ -364,6 +379,7 @@ export interface PiWriterProcessInstanceExitV1 {
|
|
|
364
379
|
closeObservedAt: number;
|
|
365
380
|
exitCode: number | null;
|
|
366
381
|
signal: string | null;
|
|
382
|
+
processTree: ProcessTreeTerminalV1;
|
|
367
383
|
}
|
|
368
384
|
|
|
369
385
|
export type ProcessInstanceExitV1 = RunnerProcessInstanceExitV1 | PiWriterProcessInstanceExitV1;
|
|
@@ -400,7 +416,7 @@ export type ProcessTerminalV1 =
|
|
|
400
416
|
});
|
|
401
417
|
|
|
402
418
|
export type SteeringActionState = "delivered" | "scheduled" | "pending" | "partial" | "recovered" | "failed";
|
|
403
|
-
export type SteeringTargetState = "scheduled" | "pending" | "routed" | "delivered" | "late" | "failed" | "recovered";
|
|
419
|
+
export type SteeringTargetState = "scheduled" | "pending" | "routed" | "queued" | "delivered" | "late" | "failed" | "recovered";
|
|
404
420
|
|
|
405
421
|
export interface SteeringTargetStatus {
|
|
406
422
|
index: number;
|
|
@@ -446,6 +462,7 @@ export interface SteerActionTarget {
|
|
|
446
462
|
export interface SteerActionResult {
|
|
447
463
|
requestId: string;
|
|
448
464
|
state: SteeringActionState;
|
|
465
|
+
deliveryStatus: "delivered" | "queued";
|
|
449
466
|
sourceRunId: string;
|
|
450
467
|
replacementRunId?: string;
|
|
451
468
|
targets: SteerActionTarget[];
|
|
@@ -461,9 +478,30 @@ export interface SteeringNotice {
|
|
|
461
478
|
currentSessionId?: string;
|
|
462
479
|
}
|
|
463
480
|
|
|
481
|
+
export interface RunFanoutBudgetDescriptor {
|
|
482
|
+
version: 1;
|
|
483
|
+
rootRunId: string;
|
|
484
|
+
directory: string;
|
|
485
|
+
limit: number;
|
|
486
|
+
parentPath?: string;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
export interface RunFanoutBudgetSnapshot {
|
|
490
|
+
used: number;
|
|
491
|
+
limit: number;
|
|
492
|
+
remaining: number;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
export interface RunFanoutRejection extends RunFanoutBudgetSnapshot {
|
|
496
|
+
code: "RUN_FANOUT_LIMIT";
|
|
497
|
+
path: string;
|
|
498
|
+
requested: number;
|
|
499
|
+
}
|
|
500
|
+
|
|
464
501
|
export interface SteeringRecoveryDescriptor {
|
|
465
502
|
version: 1;
|
|
466
503
|
launchContractDigest?: string;
|
|
504
|
+
runFanoutBudget: RunFanoutBudgetDescriptor;
|
|
467
505
|
sourceRunId: string;
|
|
468
506
|
agentContract?: AgentContract;
|
|
469
507
|
agent: string;
|
|
@@ -741,6 +779,19 @@ export interface AcceptanceVerifyResult {
|
|
|
741
779
|
stdout?: string;
|
|
742
780
|
stderr?: string;
|
|
743
781
|
durationMs: number;
|
|
782
|
+
artifactPath?: string;
|
|
783
|
+
cacheKey?: string;
|
|
784
|
+
memoized?: boolean;
|
|
785
|
+
envKeys?: string[];
|
|
786
|
+
envHash?: string;
|
|
787
|
+
workspaceState?: {
|
|
788
|
+
kind: "git-tracked";
|
|
789
|
+
repoRoot: string;
|
|
790
|
+
cwdRelative: string;
|
|
791
|
+
head: string;
|
|
792
|
+
diffHash: string;
|
|
793
|
+
};
|
|
794
|
+
artifactError?: string;
|
|
744
795
|
}
|
|
745
796
|
|
|
746
797
|
export interface AcceptanceReviewResult {
|
|
@@ -933,12 +984,48 @@ export interface SpawnBudgetSnapshot {
|
|
|
933
984
|
grantHistory: SpawnBudgetGrant[];
|
|
934
985
|
}
|
|
935
986
|
|
|
987
|
+
/** Slim per-child projection of a terminal result payload, safe to surface in tool_result details. */
|
|
988
|
+
export interface WaitCompletionChild {
|
|
989
|
+
agent?: string;
|
|
990
|
+
/** Child run identity where the producer records one (workflow children); artifact files are keyed by it. */
|
|
991
|
+
runId?: string;
|
|
992
|
+
success?: boolean;
|
|
993
|
+
outputState?: SubagentOutputState;
|
|
994
|
+
error?: string;
|
|
995
|
+
model?: string;
|
|
996
|
+
artifactPaths?: Partial<ArtifactPaths>;
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
/**
|
|
1000
|
+
* Terminal completion observed for a run a subagent_wait call covered. Carries run
|
|
1001
|
+
* identity and the artifact trail; output text stays in the tool result content.
|
|
1002
|
+
*/
|
|
1003
|
+
export interface WaitCompletion {
|
|
1004
|
+
runId: string;
|
|
1005
|
+
agent?: string;
|
|
1006
|
+
mode?: string;
|
|
1007
|
+
state?: string;
|
|
1008
|
+
success?: boolean;
|
|
1009
|
+
/** Versioned bounded output archive retained with the durable completion replay. */
|
|
1010
|
+
archivePath?: string;
|
|
1011
|
+
results?: WaitCompletionChild[];
|
|
1012
|
+
}
|
|
1013
|
+
|
|
936
1014
|
export interface Details {
|
|
937
1015
|
mode: SubagentResultMode | "management";
|
|
938
1016
|
runId?: string;
|
|
1017
|
+
/** Host tool-call id retained when it differs from the internal run id. */
|
|
1018
|
+
toolCallId?: string;
|
|
939
1019
|
/** Run-level context summary. "mixed" when children resolved to different modes. */
|
|
940
1020
|
context?: "fresh" | "fork" | "mixed";
|
|
941
1021
|
results: SingleResult[];
|
|
1022
|
+
/**
|
|
1023
|
+
* Terminal completion payloads for runs this subagent_wait call observed
|
|
1024
|
+
* finishing. Async completions travel as result files that are consumed and
|
|
1025
|
+
* deleted after text delivery, so without this field their run and artifact
|
|
1026
|
+
* identity never reaches tool_result details.
|
|
1027
|
+
*/
|
|
1028
|
+
completions?: WaitCompletion[];
|
|
942
1029
|
controlEvents?: ControlEvent[];
|
|
943
1030
|
steering?: SteerActionResult;
|
|
944
1031
|
asyncId?: string;
|
|
@@ -963,7 +1050,7 @@ export interface Details {
|
|
|
963
1050
|
artifactPath?: string;
|
|
964
1051
|
};
|
|
965
1052
|
// Chain metadata for observability
|
|
966
|
-
chainAgents?: string[]; // Agent names in order, e.g., ["
|
|
1053
|
+
chainAgents?: string[]; // Agent names in order, e.g., ["scout", "planner"]
|
|
967
1054
|
totalSteps?: number; // Total steps in chain
|
|
968
1055
|
currentStepIndex?: number; // 0-indexed current step (for running chains)
|
|
969
1056
|
workflowGraph?: WorkflowGraphSnapshot;
|
|
@@ -974,6 +1061,9 @@ export interface Details {
|
|
|
974
1061
|
// Aggregated cost across all agents in the run
|
|
975
1062
|
totalCost?: CostSummary;
|
|
976
1063
|
spawnBudget?: SpawnBudgetSnapshot;
|
|
1064
|
+
runFanoutBudget?: RunFanoutBudgetSnapshot;
|
|
1065
|
+
runFanoutRejection?: RunFanoutRejection;
|
|
1066
|
+
activeAsyncCapacity?: ActiveAsyncCapacitySnapshot;
|
|
977
1067
|
capabilityCeiling?: ResolvedSubagentCapabilityCeiling;
|
|
978
1068
|
capabilityAudit?: SubagentCapabilityAudit;
|
|
979
1069
|
parallelHandoff?: ParallelHandoffReference;
|
|
@@ -997,6 +1087,7 @@ export interface Details {
|
|
|
997
1087
|
operation: "run" | "status";
|
|
998
1088
|
key: string;
|
|
999
1089
|
state: "started" | "completed" | "failed" | "reused";
|
|
1090
|
+
agent?: string;
|
|
1000
1091
|
runId?: string;
|
|
1001
1092
|
phase?: string;
|
|
1002
1093
|
label?: string;
|
|
@@ -1232,11 +1323,15 @@ export interface ExternalProcessStatus {
|
|
|
1232
1323
|
export interface AsyncStatus {
|
|
1233
1324
|
lifecycleArtifactVersion?: SubagentLifecycleArtifactVersion;
|
|
1234
1325
|
runId: string;
|
|
1326
|
+
/** Host tool-call id retained when it differs from the internal run id. */
|
|
1327
|
+
toolCallId?: string;
|
|
1235
1328
|
sessionId?: string;
|
|
1236
1329
|
mode: SubagentRunMode;
|
|
1237
1330
|
context?: "fresh" | "fork" | "mixed";
|
|
1238
1331
|
isNested?: boolean;
|
|
1239
1332
|
state: "queued" | "running" | "complete" | "failed" | "paused" | "stopped" | "rejected";
|
|
1333
|
+
/** Display-only dismissal marker for a reload-orphaned workflow. */
|
|
1334
|
+
displayDismissedAt?: number;
|
|
1240
1335
|
error?: string;
|
|
1241
1336
|
activityState?: ActivityState;
|
|
1242
1337
|
lastActivityAt?: number;
|
|
@@ -1268,6 +1363,8 @@ export interface AsyncStatus {
|
|
|
1268
1363
|
workflowGraph?: WorkflowGraphSnapshot;
|
|
1269
1364
|
checkpoint?: ChainCheckpointState;
|
|
1270
1365
|
processTerminal?: ProcessTerminalV1;
|
|
1366
|
+
runFanoutBudget?: RunFanoutBudgetSnapshot;
|
|
1367
|
+
runFanoutBudgetDescriptor?: RunFanoutBudgetDescriptor;
|
|
1271
1368
|
launchContractDigest?: string;
|
|
1272
1369
|
launchResolvedExtensions?: LaunchResolvedChildExtensionsV1;
|
|
1273
1370
|
runtimeAcknowledgedExtensions?: RuntimeAcknowledgedChildExtensionsV1;
|
|
@@ -1287,6 +1384,10 @@ export interface AsyncStatus {
|
|
|
1287
1384
|
phase?: string;
|
|
1288
1385
|
label?: string;
|
|
1289
1386
|
workflowKey?: string;
|
|
1387
|
+
/** Child run identity for workflow capacity reconciliation. */
|
|
1388
|
+
runId?: string;
|
|
1389
|
+
/** True only when this workflow child owns a detached async runner. */
|
|
1390
|
+
async?: boolean;
|
|
1290
1391
|
parentWorkflowRunId?: string;
|
|
1291
1392
|
outputName?: string;
|
|
1292
1393
|
structured?: boolean;
|
|
@@ -1488,6 +1589,12 @@ export interface ForegroundChildControl {
|
|
|
1488
1589
|
|
|
1489
1590
|
export interface ForegroundRunControl {
|
|
1490
1591
|
runId: string;
|
|
1592
|
+
/** Workflow shell that owns this live foreground child, when applicable. */
|
|
1593
|
+
parentWorkflowRunId?: string;
|
|
1594
|
+
/** Stable workflow lane key for this live foreground child. */
|
|
1595
|
+
workflowKey?: string;
|
|
1596
|
+
/** Private control root used to steer a live workflow-owned child. */
|
|
1597
|
+
workflowSteeringDir?: string;
|
|
1491
1598
|
/** Originating parent session; required for public fleet projection. */
|
|
1492
1599
|
sessionId?: string;
|
|
1493
1600
|
mode: SubagentRunMode;
|
|
@@ -1513,6 +1620,12 @@ export interface ForegroundRunControl {
|
|
|
1513
1620
|
toolCount?: number;
|
|
1514
1621
|
/** Independently tracked children for foreground parallel work and fleet inspection. */
|
|
1515
1622
|
activeChildren?: Map<number, ForegroundChildControl>;
|
|
1623
|
+
/** Live Prompt Audit redo callback. It is current-session memory only. */
|
|
1624
|
+
promptAuditRedo?: (index: number, guidance: string) => Promise<{ text: string; isError?: boolean }>;
|
|
1625
|
+
/** Memory-only source run for Prompt Audit redo. */
|
|
1626
|
+
sourceRunId?: string;
|
|
1627
|
+
/** Memory-only replacement run started by Prompt Audit redo. */
|
|
1628
|
+
supersededByRunId?: string;
|
|
1516
1629
|
/** Scheduling owners that may still launch another child. Removal is safe only at zero. */
|
|
1517
1630
|
schedulingOwners?: number;
|
|
1518
1631
|
nestedRoute?: NestedRouteInfo;
|
|
@@ -1532,6 +1645,12 @@ export interface WaitSubscriptionRecord {
|
|
|
1532
1645
|
expiresAt: number;
|
|
1533
1646
|
}
|
|
1534
1647
|
|
|
1648
|
+
export interface ActiveAsyncCapacitySnapshot {
|
|
1649
|
+
used: number;
|
|
1650
|
+
/** Zero means the opt-in cap is disabled. */
|
|
1651
|
+
limit: number;
|
|
1652
|
+
}
|
|
1653
|
+
|
|
1535
1654
|
export interface SubagentState {
|
|
1536
1655
|
baseCwd: string;
|
|
1537
1656
|
currentSessionId: string | null;
|
|
@@ -1552,11 +1671,15 @@ export interface SubagentState {
|
|
|
1552
1671
|
granted?: number;
|
|
1553
1672
|
grantHistory?: SpawnBudgetGrant[];
|
|
1554
1673
|
};
|
|
1674
|
+
/** Current-session top-level async capacity projection. */
|
|
1675
|
+
activeAsyncCapacity?: ActiveAsyncCapacitySnapshot;
|
|
1555
1676
|
asyncJobs: Map<string, AsyncJobState>;
|
|
1556
1677
|
/** Current-session active and recent async runs for the native fleet inspector. */
|
|
1557
1678
|
fleetJobs?: Map<string, AsyncJobState>;
|
|
1558
1679
|
/** Suppress dynamic status widgets while the fleet overlay owns the viewport. */
|
|
1559
1680
|
fleetInspectorOpen?: boolean;
|
|
1681
|
+
/** Temporarily suppress dynamic widgets while Pi compacts the session. */
|
|
1682
|
+
widgetsSuspended?: boolean;
|
|
1560
1683
|
foregroundRuns?: Map<string, ForegroundResumeRun>;
|
|
1561
1684
|
foregroundControls: Map<string, ForegroundRunControl>;
|
|
1562
1685
|
lastForegroundControlId: string | null;
|
|
@@ -1564,6 +1687,8 @@ export interface SubagentState {
|
|
|
1564
1687
|
lastUiContext: ExtensionContext | null;
|
|
1565
1688
|
poller: NodeJS.Timeout | null;
|
|
1566
1689
|
completionSeen: Map<string, number>;
|
|
1690
|
+
/** Terminal result payloads observed by the result watcher, keyed by run id and pruned by the completion TTL. */
|
|
1691
|
+
completedResults?: Map<string, { seenAt: number; completion: WaitCompletion }>;
|
|
1567
1692
|
watcher: FSWatcher | null;
|
|
1568
1693
|
watcherRestartTimer: ReturnType<typeof setTimeout> | null;
|
|
1569
1694
|
resultFileCoalescer: {
|
|
@@ -1621,6 +1746,10 @@ export interface RunSyncOptions {
|
|
|
1621
1746
|
permissions?: import("../runs/shared/permissions.ts").PermissionConfig;
|
|
1622
1747
|
/** Session id of the direct parent session for permission-system ask forwarding. */
|
|
1623
1748
|
parentSessionId?: string;
|
|
1749
|
+
/** Private prompt-runtime steering transport for workflow-owned foreground children. */
|
|
1750
|
+
steerInboxDir?: string;
|
|
1751
|
+
steerCapabilityPath?: string;
|
|
1752
|
+
steerAckDir?: string;
|
|
1624
1753
|
/** Resolved launch context for this child. */
|
|
1625
1754
|
context?: "fresh" | "fork";
|
|
1626
1755
|
cwd?: string;
|
|
@@ -1661,9 +1790,12 @@ export interface RunSyncOptions {
|
|
|
1661
1790
|
/** Effective parent wait-tool setting propagated to the child runtime. */
|
|
1662
1791
|
waitToolEnabled?: boolean;
|
|
1663
1792
|
capabilityCeiling?: ResolvedSubagentCapabilityCeiling;
|
|
1793
|
+
runFanoutBudget?: RunFanoutBudgetDescriptor;
|
|
1664
1794
|
nestedRoute?: NestedRouteInfo;
|
|
1665
1795
|
/** Override the agent's default model (format: "provider/id" or just "id") */
|
|
1666
1796
|
modelOverride?: string;
|
|
1797
|
+
/** LLM intent arbiter for the completion mutation guard (rescues read-only review runs). */
|
|
1798
|
+
llmIntentArbiter?: import("../runs/shared/llm-intent-arbiter.ts").TaskMutationArbiter;
|
|
1667
1799
|
/** Override the agent's default thinking level for this run */
|
|
1668
1800
|
thinkingOverride?: AgentConfig["thinking"];
|
|
1669
1801
|
/** Registry models available for heuristic bare-model resolution */
|
|
@@ -1687,6 +1819,8 @@ export interface RunSyncOptions {
|
|
|
1687
1819
|
dynamic?: boolean;
|
|
1688
1820
|
dynamicGroup?: boolean;
|
|
1689
1821
|
};
|
|
1822
|
+
/** Private live callback for the exact child prompt after runtime acceptance injection. */
|
|
1823
|
+
onEffectivePrompt?: (prompt: string) => void;
|
|
1690
1824
|
}
|
|
1691
1825
|
|
|
1692
1826
|
export type IntercomBridgeMode = "off" | "fork-only" | "always";
|
|
@@ -1722,20 +1856,46 @@ export type InlineToolDisplay = "rich" | "summary";
|
|
|
1722
1856
|
export interface ScheduledRunsConfig {
|
|
1723
1857
|
enabled?: boolean;
|
|
1724
1858
|
maxPending?: number;
|
|
1859
|
+
/** Absolute or `~/` root for per-project durable schedules. */
|
|
1860
|
+
storeRoot?: string;
|
|
1725
1861
|
}
|
|
1726
1862
|
|
|
1727
1863
|
export type FleetViewPlacement = "aboveEditor" | "belowEditor";
|
|
1728
1864
|
|
|
1865
|
+
export const FLEET_KEYBINDING_ACTIONS = [
|
|
1866
|
+
"close",
|
|
1867
|
+
"scrollUp",
|
|
1868
|
+
"scrollDown",
|
|
1869
|
+
"selectUp",
|
|
1870
|
+
"selectDown",
|
|
1871
|
+
"selectFirst",
|
|
1872
|
+
"selectLast",
|
|
1873
|
+
"pageUp",
|
|
1874
|
+
"pageDown",
|
|
1875
|
+
"refresh",
|
|
1876
|
+
"steer",
|
|
1877
|
+
"inspect",
|
|
1878
|
+
"stop",
|
|
1879
|
+
"toggleTools",
|
|
1880
|
+
] as const;
|
|
1881
|
+
|
|
1882
|
+
export type FleetKeybindingAction = typeof FLEET_KEYBINDING_ACTIONS[number];
|
|
1883
|
+
export type FleetKeybindingsConfig = Partial<Record<FleetKeybindingAction, string[]>>;
|
|
1884
|
+
|
|
1729
1885
|
export interface ExtensionConfig {
|
|
1730
1886
|
asyncByDefault?: boolean;
|
|
1731
1887
|
/** Show the Claude Code-style navigable fleet. Defaults to true. */
|
|
1732
1888
|
fleetView?: boolean;
|
|
1733
1889
|
/** Place the persistent FleetView above or below the editor. Defaults to belowEditor. */
|
|
1734
1890
|
fleetViewPlacement?: FleetViewPlacement;
|
|
1891
|
+
/** Local keybindings for the full Fleet inspector. */
|
|
1892
|
+
fleetKeybindings?: FleetKeybindingsConfig;
|
|
1735
1893
|
/** Show the under-editor async runs widget. Defaults to true, including when FleetView is enabled. */
|
|
1736
1894
|
asyncWidget?: boolean;
|
|
1737
1895
|
/** Tool description variant registered for the parent-facing subagent tool. Defaults to full. */
|
|
1738
1896
|
toolDescriptionMode?: ToolDescriptionMode;
|
|
1897
|
+
/** Include legacy append-step and checkpoint controls in the registered tool schema. Defaults to false. */
|
|
1898
|
+
legacyChainControls?: boolean;
|
|
1739
1899
|
/** Inline chat rendering for the subagent tool. Defaults to rich. */
|
|
1740
1900
|
inlineToolDisplay?: InlineToolDisplay;
|
|
1741
1901
|
forceTopLevelAsync?: boolean;
|
|
@@ -1745,8 +1905,22 @@ export interface ExtensionConfig {
|
|
|
1745
1905
|
maxSubagentDepth?: number;
|
|
1746
1906
|
/** Optional cumulative session cap. Unset or 0 means unlimited. */
|
|
1747
1907
|
maxSubagentSpawnsPerSession?: number;
|
|
1908
|
+
/** Cumulative logical-child cap for one top-level run tree. Defaults to 64. */
|
|
1909
|
+
maxSubagentSpawnsPerRun?: number;
|
|
1910
|
+
/** Optional active top-level async run cap per parent session. Unset or 0 means unlimited. */
|
|
1911
|
+
maxActiveAsyncRunsPerSession?: number;
|
|
1748
1912
|
/** Global cap on simultaneously-running subagent tasks within a single run. Defaults to 20. */
|
|
1749
1913
|
globalConcurrencyLimit?: number;
|
|
1914
|
+
/**
|
|
1915
|
+
* Global default runtime deadline in milliseconds. It replaces the built-in
|
|
1916
|
+
* 30-minute backstop for single, parallel, and chain launches (foreground, plus
|
|
1917
|
+
* plain single-agent async runs) when neither the call (`timeoutMs`/`maxRuntimeMs`)
|
|
1918
|
+
* nor the selected agent provides a timeout. Explicit call values and agent
|
|
1919
|
+
* frontmatter defaults still win. Composite async runs (chain/parallel/workflow)
|
|
1920
|
+
* stay unbounded at the top level by design — their children are bounded individually.
|
|
1921
|
+
* Must be a positive integer; invalid values are ignored.
|
|
1922
|
+
*/
|
|
1923
|
+
timeoutMs?: number;
|
|
1750
1924
|
control?: ControlConfig;
|
|
1751
1925
|
completionBatch?: CompletionBatchConfig;
|
|
1752
1926
|
turnBudget?: TurnBudgetConfig;
|
|
@@ -1761,6 +1935,8 @@ export interface ExtensionConfig {
|
|
|
1761
1935
|
worktreeBaseDir?: string;
|
|
1762
1936
|
/** Where to store subagent artifact files. Defaults to "project" (cwd/.pi-subagents). Set to "session" for pi session dir, or "temp" for OS temp. */
|
|
1763
1937
|
artifactDir?: ArtifactDirPreference;
|
|
1938
|
+
/** Artifact cleanup retention. Set cleanupDays to 0 to disable cleanup. */
|
|
1939
|
+
artifactConfig?: Pick<ArtifactConfig, "cleanupDays">;
|
|
1764
1940
|
intercomBridge?: IntercomBridgeConfig;
|
|
1765
1941
|
proactiveSkillSubagents?: ProactiveSkillSubagentsConfig | false;
|
|
1766
1942
|
scheduledRuns?: ScheduledRunsConfig;
|
|
@@ -1868,7 +2044,7 @@ export const SLASH_SUBAGENT_CANCEL_EVENT = "subagent:slash:cancel";
|
|
|
1868
2044
|
export const POLL_INTERVAL_MS = 250;
|
|
1869
2045
|
export const MAX_WIDGET_JOBS = 4;
|
|
1870
2046
|
export const DEFAULT_SUBAGENT_MAX_DEPTH = 2;
|
|
1871
|
-
export const SUBAGENT_ACTIONS = ["list", "get", "models", "create", "update", "delete", "eject", "disable", "enable", "reset", "mission.create", "mission.list", "mission.show", "mission.update", "mission.attach-run", "mission.close", "worktree.discard", "inspector.open", "inspector.status", "inspector.close", "project.open", "project.status", "project.close", "status", "grant-spawn-budget", "interrupt", "resume", "steer", "stop", "append-step", "approve-checkpoint", "reject-checkpoint", "doctor", "watchdog.status", "watchdog.check", "watchdog.configure", "watchdog.recommend-model", "schedule.create", "schedule.list", "schedule.show", "schedule.history", "schedule.pause", "schedule.resume", "schedule.run", "schedule.run-due", "schedule.delete"] as const;
|
|
2047
|
+
export const SUBAGENT_ACTIONS = ["list", "get", "models", "children.list", "guide", "create", "update", "delete", "eject", "disable", "enable", "reset", "mission.create", "mission.list", "mission.show", "mission.update", "mission.resolve-decision", "mission.attach-run", "mission.close", "worktree.discard", "refine", "refine.show", "refine.rollback", "inspector.open", "inspector.status", "inspector.close", "project.open", "project.status", "project.close", "status", "grant-spawn-budget", "interrupt", "resume", "steer", "stop", "dismiss", "append-step", "approve-checkpoint", "reject-checkpoint", "doctor", "watchdog.status", "watchdog.check", "watchdog.configure", "watchdog.recommend-model", "schedule.create", "schedule.list", "schedule.show", "schedule.history", "schedule.pause", "schedule.resume", "schedule.run", "schedule.run-due", "schedule.delete"] as const;
|
|
1872
2048
|
|
|
1873
2049
|
export const DEFAULT_FORK_PREAMBLE =
|
|
1874
2050
|
"You are a delegated subagent running from a fork of the parent session. " +
|
|
@@ -1960,6 +2136,19 @@ export function resolveMaxSubagentSpawnsPerSession(configMaxSpawns?: number): nu
|
|
|
1960
2136
|
return configuredMaxSpawns === 0 ? undefined : configuredMaxSpawns;
|
|
1961
2137
|
}
|
|
1962
2138
|
|
|
2139
|
+
export const DEFAULT_MAX_SUBAGENT_SPAWNS_PER_RUN = 64;
|
|
2140
|
+
|
|
2141
|
+
export function normalizeMaxSubagentSpawnsPerRun(value: unknown): number | undefined {
|
|
2142
|
+
const normalized = normalizeNonNegativeInteger(value);
|
|
2143
|
+
return normalized !== undefined && normalized > 0 ? normalized : undefined;
|
|
2144
|
+
}
|
|
2145
|
+
|
|
2146
|
+
export function resolveMaxSubagentSpawnsPerRun(configMaxSpawns?: number): number {
|
|
2147
|
+
return normalizeMaxSubagentSpawnsPerRun(process.env.SELESAI_SUBAGENT_MAX_SPAWNS_PER_RUN)
|
|
2148
|
+
?? normalizeMaxSubagentSpawnsPerRun(configMaxSpawns)
|
|
2149
|
+
?? DEFAULT_MAX_SUBAGENT_SPAWNS_PER_RUN;
|
|
2150
|
+
}
|
|
2151
|
+
|
|
1963
2152
|
// ============================================================================
|
|
1964
2153
|
// Utility Functions
|
|
1965
2154
|
// ============================================================================
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function decodeUtf8Tail(bytes: Buffer): string {
|
|
2
|
+
let start = 0;
|
|
3
|
+
while (start < bytes.length && (bytes[start]! & 0xc0) === 0x80) start += 1;
|
|
4
|
+
return bytes.subarray(start).toString("utf-8");
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export function utf8Tail(value: string, maxBytes: number): { text: string; truncated: boolean } {
|
|
8
|
+
const bytes = Buffer.from(value, "utf-8");
|
|
9
|
+
if (bytes.length <= maxBytes) return { text: value, truncated: false };
|
|
10
|
+
return { text: decodeUtf8Tail(bytes.subarray(bytes.length - maxBytes)), truncated: true };
|
|
11
|
+
}
|
|
@@ -6,6 +6,7 @@ import * as fs from "node:fs";
|
|
|
6
6
|
import * as os from "node:os";
|
|
7
7
|
import * as path from "node:path";
|
|
8
8
|
import type { Message } from "@earendil-works/pi-ai";
|
|
9
|
+
import { previewDisplayText, sanitizeDisplayText, truncateDisplayText } from "./display-text.ts";
|
|
9
10
|
import { formatToolCall } from "./formatters.ts";
|
|
10
11
|
import type { AgentProgress, AsyncStatus, Details, DisplayItem, ErrorInfo, NestedRunSummary, SingleResult, ToolCallSummary, Usage } from "./types.ts";
|
|
11
12
|
|
|
@@ -16,6 +17,7 @@ import type { AgentProgress, AsyncStatus, Details, DisplayItem, ErrorInfo, Neste
|
|
|
16
17
|
const DEFAULT_CONFIG_DIR_NAME = ".selesai";
|
|
17
18
|
const PI_CODING_AGENT_PACKAGE_NAME = "@selesai/code";
|
|
18
19
|
export const SELESAI_CODING_AGENT_PACKAGE_ROOT_ENV = "SELESAI_SUBAGENTS_SELESAI_PACKAGE_ROOT";
|
|
20
|
+
export const PROMPT_REDACTED = "[prompt redacted]";
|
|
19
21
|
|
|
20
22
|
export function resolveWatchPath(
|
|
21
23
|
watchPath: string,
|
|
@@ -101,6 +103,23 @@ export function getAgentDir(): string {
|
|
|
101
103
|
|
|
102
104
|
const statusCache = new Map<string, { mtime: number; ctime: number; size: number; ino: number; status: AsyncStatus }>();
|
|
103
105
|
|
|
106
|
+
export function pruneStatusCacheForAsyncRoot(asyncDirRoot: string, runIds: Iterable<string>): number {
|
|
107
|
+
const root = path.resolve(asyncDirRoot);
|
|
108
|
+
const currentStatusPaths = new Set(
|
|
109
|
+
Array.from(runIds, (runId) => path.resolve(root, runId, "status.json")),
|
|
110
|
+
);
|
|
111
|
+
let removed = 0;
|
|
112
|
+
for (const statusPath of statusCache.keys()) {
|
|
113
|
+
const resolved = path.resolve(statusPath);
|
|
114
|
+
const relative = path.relative(root, resolved);
|
|
115
|
+
if (relative && !relative.startsWith("..") && !path.isAbsolute(relative) && !currentStatusPaths.has(resolved)) {
|
|
116
|
+
statusCache.delete(statusPath);
|
|
117
|
+
removed++;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return removed;
|
|
121
|
+
}
|
|
122
|
+
|
|
104
123
|
function getErrorMessage(error: unknown): string {
|
|
105
124
|
return error instanceof Error ? error.message : String(error);
|
|
106
125
|
}
|
|
@@ -127,7 +146,10 @@ export function readStatus(asyncDir: string): AsyncStatus | null {
|
|
|
127
146
|
try {
|
|
128
147
|
stat = fs.statSync(statusPath);
|
|
129
148
|
} catch (error) {
|
|
130
|
-
if (isNotFoundError(error))
|
|
149
|
+
if (isNotFoundError(error)) {
|
|
150
|
+
statusCache.delete(statusPath);
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
131
153
|
throw new Error(`Failed to inspect async status file '${statusPath}': ${getErrorMessage(error)}`, {
|
|
132
154
|
cause: error instanceof Error ? error : undefined,
|
|
133
155
|
});
|
|
@@ -148,7 +170,10 @@ export function readStatus(asyncDir: string): AsyncStatus | null {
|
|
|
148
170
|
try {
|
|
149
171
|
content = fs.readFileSync(statusPath, "utf-8");
|
|
150
172
|
} catch (error) {
|
|
151
|
-
if (isNotFoundError(error))
|
|
173
|
+
if (isNotFoundError(error)) {
|
|
174
|
+
statusCache.delete(statusPath);
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
152
177
|
throw new Error(`Failed to read async status file '${statusPath}': ${getErrorMessage(error)}`, {
|
|
153
178
|
cause: error instanceof Error ? error : undefined,
|
|
154
179
|
});
|
|
@@ -170,10 +195,6 @@ export function readStatus(asyncDir: string): AsyncStatus | null {
|
|
|
170
195
|
ino: stat.ino,
|
|
171
196
|
status,
|
|
172
197
|
});
|
|
173
|
-
if (statusCache.size > 50) {
|
|
174
|
-
const firstKey = statusCache.keys().next().value;
|
|
175
|
-
if (firstKey) statusCache.delete(firstKey);
|
|
176
|
-
}
|
|
177
198
|
return status;
|
|
178
199
|
}
|
|
179
200
|
|
|
@@ -334,7 +355,7 @@ function compactCompletedProgress(progress: AgentProgress): AgentProgress {
|
|
|
334
355
|
agent: progress.agent,
|
|
335
356
|
status: progress.status,
|
|
336
357
|
activityState: progress.activityState,
|
|
337
|
-
task:
|
|
358
|
+
task: "[prompt redacted]",
|
|
338
359
|
skills: progress.skills,
|
|
339
360
|
toolCount: progress.toolCount,
|
|
340
361
|
tokens: progress.tokens,
|
|
@@ -408,6 +429,7 @@ export function compactForegroundResult(result: SingleResult): SingleResult {
|
|
|
408
429
|
const toolCalls = result.toolCalls?.length ? result.toolCalls : extractToolCallSummaries(result.messages);
|
|
409
430
|
return {
|
|
410
431
|
...result,
|
|
432
|
+
task: "[prompt redacted]",
|
|
411
433
|
messages: undefined,
|
|
412
434
|
progress: undefined,
|
|
413
435
|
toolCalls: toolCalls.length ? toolCalls : undefined,
|
|
@@ -522,11 +544,8 @@ export function detectSubagentError(messages: Message[]): ErrorInfo {
|
|
|
522
544
|
* Extract a preview of tool arguments for display
|
|
523
545
|
*/
|
|
524
546
|
export function extractToolArgsPreview(args: Record<string, unknown>): string {
|
|
525
|
-
const truncatePreview = (value: string, maxLength: number): string =>
|
|
526
|
-
value.length > maxLength ? `${value.slice(0, maxLength - 3)}...` : value;
|
|
527
|
-
|
|
528
547
|
const stringifyPreviewValue = (value: unknown): string | undefined => {
|
|
529
|
-
if (typeof value === "string" && value.trim().length > 0) return value;
|
|
548
|
+
if (typeof value === "string" && value.trim().length > 0) return sanitizeDisplayText(value);
|
|
530
549
|
if (typeof value === "number" || typeof value === "boolean") return String(value);
|
|
531
550
|
return undefined;
|
|
532
551
|
};
|
|
@@ -539,39 +558,32 @@ export function extractToolArgsPreview(args: Record<string, unknown>): string {
|
|
|
539
558
|
return `${first}${suffix}`;
|
|
540
559
|
};
|
|
541
560
|
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
const
|
|
545
|
-
|
|
546
|
-
return `${server}${args.tool}${toolArgs}`;
|
|
561
|
+
if (typeof args.tool === "string") {
|
|
562
|
+
const server = typeof args.server === "string" ? `${sanitizeDisplayText(args.server)}/` : "";
|
|
563
|
+
const toolArgs = typeof args.args === "string" ? ` ${truncateDisplayText(sanitizeDisplayText(args.args), 40)}` : "";
|
|
564
|
+
return sanitizeDisplayText(`${server}${args.tool}${toolArgs}`);
|
|
547
565
|
}
|
|
548
566
|
|
|
549
567
|
const queriesPreview = previewArray(args.queries);
|
|
550
|
-
if (queriesPreview) return
|
|
551
|
-
if (typeof args.query === "string" && args.query.trim().length > 0) return
|
|
552
|
-
if (typeof args.workflow === "string" && args.workflow.trim().length > 0) return `workflow=${
|
|
568
|
+
if (queriesPreview) return previewDisplayText(queriesPreview, 60);
|
|
569
|
+
if (typeof args.query === "string" && args.query.trim().length > 0) return previewDisplayText(args.query, 60);
|
|
570
|
+
if (typeof args.workflow === "string" && args.workflow.trim().length > 0) return `workflow=${previewDisplayText(args.workflow, 48)}`;
|
|
553
571
|
|
|
554
|
-
if (typeof args.url === "string" && args.url.trim().length > 0) return
|
|
572
|
+
if (typeof args.url === "string" && args.url.trim().length > 0) return previewDisplayText(args.url, 60);
|
|
555
573
|
const urlsPreview = previewArray(args.urls);
|
|
556
|
-
if (urlsPreview) return
|
|
557
|
-
if (typeof args.prompt === "string" && args.prompt.trim().length > 0) return
|
|
558
|
-
|
|
574
|
+
if (urlsPreview) return previewDisplayText(urlsPreview, 60);
|
|
575
|
+
if (typeof args.prompt === "string" && args.prompt.trim().length > 0) return previewDisplayText(args.prompt, 60);
|
|
576
|
+
|
|
559
577
|
const previewKeys = ["command", "path", "file_path", "pattern", "query", "url", "task", "describe", "search"];
|
|
560
578
|
for (const key of previewKeys) {
|
|
561
|
-
if (
|
|
562
|
-
const value = args[key] as string;
|
|
563
|
-
return truncatePreview(value, 60);
|
|
564
|
-
}
|
|
579
|
+
if (typeof args[key] === "string") return previewDisplayText(args[key], 60);
|
|
565
580
|
}
|
|
566
|
-
|
|
567
|
-
// Fallback: show first string value found
|
|
581
|
+
|
|
568
582
|
for (const [key, value] of Object.entries(args)) {
|
|
583
|
+
const displayKey = sanitizeDisplayText(key);
|
|
569
584
|
const arrayPreview = previewArray(value);
|
|
570
|
-
if (arrayPreview) return `${
|
|
571
|
-
if (typeof value === "string" && value.length > 0) {
|
|
572
|
-
const preview = truncatePreview(value, 50);
|
|
573
|
-
return `${key}=${preview}`;
|
|
574
|
-
}
|
|
585
|
+
if (arrayPreview) return `${displayKey}=${previewDisplayText(arrayPreview, 50)}`;
|
|
586
|
+
if (typeof value === "string" && value.length > 0) return `${displayKey}=${previewDisplayText(value, 50)}`;
|
|
575
587
|
}
|
|
576
588
|
return "";
|
|
577
589
|
}
|
|
@@ -251,7 +251,7 @@ export function toDelegationUpdate(requestId: string, update: PromptTemplateBrid
|
|
|
251
251
|
: undefined;
|
|
252
252
|
return {
|
|
253
253
|
index: entry.index,
|
|
254
|
-
agent: entry.agent ?? "
|
|
254
|
+
agent: entry.agent ?? "delegate",
|
|
255
255
|
status: entry.status,
|
|
256
256
|
currentTool: entry.currentTool,
|
|
257
257
|
currentToolArgs: entry.currentToolArgs,
|
|
@@ -286,19 +286,6 @@ export function toDelegationUpdate(requestId: string, update: PromptTemplateBrid
|
|
|
286
286
|
};
|
|
287
287
|
}
|
|
288
288
|
|
|
289
|
-
export function toLegacyExecutionParams(request: PromptTemplateDelegationRequest): DelegatedSubagentExecutionParams {
|
|
290
|
-
return {
|
|
291
|
-
agent: request.agent,
|
|
292
|
-
task: request.task,
|
|
293
|
-
context: request.context,
|
|
294
|
-
model: request.model,
|
|
295
|
-
cwd: request.cwd,
|
|
296
|
-
async: false,
|
|
297
|
-
foregroundOnly: true,
|
|
298
|
-
clarify: false,
|
|
299
|
-
};
|
|
300
|
-
}
|
|
301
|
-
|
|
302
289
|
export function toSubagentDelegationExecutionParams(request: SubagentDelegationRequest): DelegatedSubagentExecutionParams {
|
|
303
290
|
return {
|
|
304
291
|
agent: request.agent,
|
|
@@ -103,7 +103,7 @@ export function createInlineSubagentAutocompleteProvider(
|
|
|
103
103
|
*/
|
|
104
104
|
export function registerInlineSubagentInvocation(pi: ExtensionAPI, state: SubagentState): void {
|
|
105
105
|
pi.on("session_start", (_event, ctx) => {
|
|
106
|
-
ctx.ui.addAutocompleteProvider((current) => createInlineSubagentAutocompleteProvider(state, current));
|
|
106
|
+
ctx.ui.addAutocompleteProvider?.((current) => createInlineSubagentAutocompleteProvider(state, current));
|
|
107
107
|
});
|
|
108
108
|
|
|
109
109
|
pi.on("input", (event, ctx) => {
|
|
@@ -12,7 +12,6 @@ import { parseSubagentDelegationRequest } from "./delegation-request.ts";
|
|
|
12
12
|
import {
|
|
13
13
|
parsePromptTemplateRequest,
|
|
14
14
|
toDelegationUpdate,
|
|
15
|
-
toLegacyExecutionParams,
|
|
16
15
|
toPromptTemplateResponse,
|
|
17
16
|
toSubagentDelegationExecutionParams,
|
|
18
17
|
toSubagentDelegationResponse,
|
|
@@ -183,22 +182,25 @@ export function registerPromptTemplateDelegationBridge<Ctx extends { cwd?: strin
|
|
|
183
182
|
} else {
|
|
184
183
|
if (data && typeof data === "object" && !Array.isArray(data)) {
|
|
185
184
|
const legacy = data as Record<string, unknown>;
|
|
186
|
-
if (legacy.tasks !== undefined || legacy.worktree !== undefined) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
});
|
|
194
|
-
}
|
|
185
|
+
if ((legacy.tasks !== undefined || legacy.worktree !== undefined) && typeof legacy.requestId === "string" && legacy.requestId) {
|
|
186
|
+
options.events.emit(PROMPT_TEMPLATE_SUBAGENT_RESPONSE_EVENT, {
|
|
187
|
+
requestId: legacy.requestId,
|
|
188
|
+
messages: [],
|
|
189
|
+
isError: true,
|
|
190
|
+
errorText: "Legacy prompt-template tasks/worktree orchestration was removed; use workflowScript.",
|
|
191
|
+
});
|
|
195
192
|
return;
|
|
196
193
|
}
|
|
197
194
|
}
|
|
198
195
|
legacyRequest = parsePromptTemplateRequest(data);
|
|
199
196
|
if (!legacyRequest) return;
|
|
200
|
-
|
|
201
|
-
|
|
197
|
+
options.events.emit(PROMPT_TEMPLATE_SUBAGENT_RESPONSE_EVENT, {
|
|
198
|
+
...legacyRequest,
|
|
199
|
+
messages: [],
|
|
200
|
+
isError: true,
|
|
201
|
+
errorText: "Legacy prompt-template direct delegation was removed; use workflowScript through the subagent tool or structured delegation.",
|
|
202
|
+
} satisfies PromptTemplateDelegationResponse);
|
|
203
|
+
return;
|
|
202
204
|
}
|
|
203
205
|
|
|
204
206
|
if (!structuredRequest && legacyControllers.has(requestId)) return;
|