@selesai/code 0.8.2 → 0.8.4
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 +4 -2
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.js +18 -0
- package/dist/cli/config-selector.js +2 -2
- package/dist/cli/startup-ui.d.ts +1 -1
- package/dist/cli/startup-ui.js +2 -2
- package/dist/core/keybindings.d.ts +44 -4
- package/dist/core/llama/provider.js +22 -7
- package/dist/core/model-resolver.js +2 -0
- package/dist/core/model-runtime.d.ts +4 -2
- package/dist/core/model-runtime.js +23 -2
- package/dist/core/remote-catalog-provider.js +72 -67
- package/dist/core/settings-manager.d.ts +8 -0
- package/dist/core/settings-manager.js +18 -0
- 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 +15 -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 -586
- package/dist/extensions/pi-powerline-footer/package.json +5 -6
- package/dist/extensions/pi-powerline-footer/powerline-config.ts +0 -18
- 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/fixed-editor-border.test.ts +2 -2
- package/dist/extensions/pi-powerline-footer/tests/git-optional-locks.test.ts +64 -0
- package/dist/extensions/pi-powerline-footer/tests/guide.test.ts +1 -1
- package/dist/extensions/pi-powerline-footer/tests/jump-shortcuts.test.ts +86 -19
- 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/tsconfig.json +1 -1
- package/dist/extensions/pi-powerline-footer/types.ts +1 -2
- package/dist/extensions/pi-subagents/CHANGELOG.md +202 -14
- package/dist/extensions/pi-subagents/README.md +65 -1614
- 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 +328 -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 +29 -16
- 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 +56 -8
- package/dist/extensions/pi-subagents/src/extension/control-notices.ts +2 -2
- package/dist/extensions/pi-subagents/src/extension/fanout-child.ts +51 -26
- package/dist/extensions/pi-subagents/src/extension/index.ts +119 -50
- package/dist/extensions/pi-subagents/src/extension/public-execution.ts +72 -0
- package/dist/extensions/pi-subagents/src/extension/rpc.ts +15 -15
- 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/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 -14
- package/dist/extensions/pi-subagents/src/missions/store.ts +147 -5
- package/dist/extensions/pi-subagents/src/missions/types.ts +58 -3
- package/dist/extensions/pi-subagents/src/missions/workflow-state.ts +256 -0
- package/dist/extensions/pi-subagents/src/profiles/profiles.ts +8 -8
- package/dist/extensions/pi-subagents/src/runs/background/active-run-index.ts +42 -0
- package/dist/extensions/pi-subagents/src/runs/background/async-execution.ts +41 -7
- 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 +19 -3
- package/dist/extensions/pi-subagents/src/runs/background/async-status.ts +39 -6
- 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/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 +21 -2
- 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 +152 -68
- 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 +3 -0
- package/dist/extensions/pi-subagents/src/runs/foreground/execution.ts +55 -26
- package/dist/extensions/pi-subagents/src/runs/foreground/foreground-history.ts +137 -0
- package/dist/extensions/pi-subagents/src/runs/foreground/subagent-executor.ts +798 -112
- package/dist/extensions/pi-subagents/src/runs/foreground/workflow-foreground-steering.ts +187 -0
- package/dist/extensions/pi-subagents/src/runs/shared/acceptance.ts +165 -22
- package/dist/extensions/pi-subagents/src/runs/shared/dynamic-fanout.ts +1 -1
- 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 +9 -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 +1 -0
- package/dist/extensions/pi-subagents/src/runs/shared/pi-args.ts +465 -116
- package/dist/extensions/pi-subagents/src/runs/shared/pi-spawn.ts +10 -10
- 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 +2 -2
- package/dist/extensions/pi-subagents/src/runs/shared/worktree.ts +3 -3
- 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 +100 -3
- package/dist/extensions/pi-subagents/src/shared/utf8.ts +11 -0
- package/dist/extensions/pi-subagents/src/shared/utils.ts +43 -33
- 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 +30 -16
- package/dist/extensions/pi-subagents/src/tui/fleet.ts +151 -31
- 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 +313 -25
- 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 +15 -15
- package/dist/extensions/pi-subagents/test/integration/async-execution.test.ts +411 -300
- 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 +99 -56
- package/dist/extensions/pi-subagents/test/integration/chain-clarify.test.ts +62 -16
- package/dist/extensions/pi-subagents/test/integration/chain-execution.test.ts +159 -108
- 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 +56 -56
- package/dist/extensions/pi-subagents/test/integration/intercom-result-delivery.test.ts +114 -45
- package/dist/extensions/pi-subagents/test/integration/parallel-execution.test.ts +57 -19
- 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 +809 -87
- 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 +163 -58
- 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 +99 -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 +2 -2
- package/dist/extensions/pi-subagents/test/unit/async-resume.test.ts +94 -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 +19 -19
- 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 +52 -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 +1 -1
- 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 +62 -44
- package/dist/extensions/pi-subagents/test/unit/fleet.test.ts +329 -37
- package/dist/extensions/pi-subagents/test/unit/foreground-control.test.ts +4 -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 +5 -5
- 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 +55 -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 +28 -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/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 +357 -92
- package/dist/extensions/pi-subagents/test/unit/pi-coding-agent-dir.test.ts +22 -6
- 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 +4 -4
- 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 +40 -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 +107 -27
- 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 +56 -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 +59 -44
- package/dist/extensions/pi-subagents/test/unit/scripted-workflow.test.ts +424 -49
- 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 +120 -91
- 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 +26 -26
- package/dist/extensions/pi-subagents/test/unit/timeout-defaults.test.ts +73 -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 +7 -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/index.d.ts +1 -1
- package/dist/main.js +1 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +6 -2
- package/dist/modes/interactive/components/settings-selector.js +20 -0
- package/dist/modes/interactive/interactive-mode.d.ts +28 -0
- package/dist/modes/interactive/interactive-mode.js +214 -28
- package/dist/modes/interactive/theme/dark.json +1 -0
- package/dist/modes/interactive/theme/light.json +1 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts +3 -0
- package/dist/modes/interactive/theme/theme-controller.js +10 -1
- package/dist/modes/interactive/theme/theme.d.ts +2 -2
- package/dist/modes/interactive/theme/theme.js +24 -6
- 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/keybindings.md +35 -7
- 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/settings.md +16 -14
- package/docs/usage.md +5 -0
- package/package.json +5 -5
- package/dist/extensions/pi-powerline-footer/fixed-editor/cluster.ts +0 -113
- package/dist/extensions/pi-powerline-footer/fixed-editor/terminal-split.ts +0 -1080
- package/dist/extensions/pi-powerline-footer/tests/fixed-editor.test.ts +0 -1452
- 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
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
# Plan — Plan B: consolidate the workflow extension onto pi-subagents primitives
|
|
2
|
+
|
|
3
|
+
## Goal
|
|
4
|
+
|
|
5
|
+
Replace the bundled `workflow` extension's bespoke engine (state machine, `workflow.json`
|
|
6
|
+
run state, marker validators, exclusive-transition gating) with pi-subagents' durable
|
|
7
|
+
primitives — **missions**, **saved chains**, **checkpoints**, and **verified acceptance** —
|
|
8
|
+
while keeping the `/workflow-prototype|quicktype|task|loop` command names and the four
|
|
9
|
+
mode shapes.
|
|
10
|
+
|
|
11
|
+
Executed by a small coding model with no project knowledge. Everything needed is here.
|
|
12
|
+
|
|
13
|
+
## Decisions (user-confirmed)
|
|
14
|
+
|
|
15
|
+
- **Disposition = thin-shell.** Keep the `/workflow-*` command surface; delete the engine
|
|
16
|
+
(`state-machine.ts`, `run-state.ts`, `validators.ts`, `adapter.ts`, old `modes/*`), the
|
|
17
|
+
`write_workflow_artifact` / `end_workflow` tools, and the marker validator machinery.
|
|
18
|
+
The four modes become **saved chain templates** launched through pi-subagents.
|
|
19
|
+
- **Migration = drop.** Active `workflow.json` runs under `.selesai/artifacts/` are no
|
|
20
|
+
longer resumable. Documented; no read-only shim.
|
|
21
|
+
|
|
22
|
+
## Design
|
|
23
|
+
|
|
24
|
+
### The launch seam (verified)
|
|
25
|
+
|
|
26
|
+
pi-subagents exports `launchSlashSubagent(pi, ctx, params)` from
|
|
27
|
+
`src/extensions/pi-subagents/src/slash/slash-commands.ts` (line 620). It takes a
|
|
28
|
+
`SubagentParamsLike` (including `{ chain, task, async, agentScope }`), drives the full
|
|
29
|
+
slash UX (live result card, snapshots, notifications), and is what `/run-chain`, `/chain`,
|
|
30
|
+
and `/parallel` already funnel through. The thin shell reuses it directly — no executor
|
|
31
|
+
construction, no new machinery.
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
import { launchSlashSubagent } from "../pi-subagents/src/slash/slash-commands.ts";
|
|
35
|
+
|
|
36
|
+
pi.registerCommand("workflow-task", {
|
|
37
|
+
description: "Run the task workflow (plan → reuse → handoff → build↔review loop) as a pi-subagents chain.",
|
|
38
|
+
handler: async (args, ctx) => {
|
|
39
|
+
const goal = args.trim();
|
|
40
|
+
launchSlashSubagent(pi, ctx, { chain: taskChain, task: goal, async: true, agentScope: "both" });
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
`task` becomes the `{task}` template variable for the chain's first step (per the chain
|
|
46
|
+
schema: `{task}` = the original request).
|
|
47
|
+
|
|
48
|
+
### Mode → chain mapping (the design content)
|
|
49
|
+
|
|
50
|
+
Chain steps use the Selesai agent roster (`architect`, `builder`, `commentator`,
|
|
51
|
+
`explorer`, `recapper`, `researcher`). Human gates are `checkpoint` steps (approve /
|
|
52
|
+
reject via `approve-checkpoint` / `reject-checkpoint`). Build verification is a chain
|
|
53
|
+
`acceptance` gate. **Note:** the `gate: "npm test"` shorthand is `workflowScript`-only; in
|
|
54
|
+
a chain step use the `acceptance` field (read
|
|
55
|
+
`src/extensions/pi-subagents/src/runs/shared/acceptance.ts` + the `ChainItem` schema in
|
|
56
|
+
`schemas.ts` for the exact shape; a verified run is `acceptance: { level: "checked",
|
|
57
|
+
evidence: ["commands-run", "changed-files"] }`).
|
|
58
|
+
|
|
59
|
+
| Mode | Chain steps (agent · gate) |
|
|
60
|
+
| --- | --- |
|
|
61
|
+
| **task** | `architect` (plan, `{task}`) → `checkpoint` "approve plan?" → `explorer` (reuse) → `recapper` (handoff from `{outputs.plan}`/`{previous}`) → `checkpoint` "approve handoff?" → `builder` (implement, acceptance) → `commentator` (read-only review) → `checkpoint` "approve implementation?" |
|
|
62
|
+
| **prototype** | `researcher` (research) → `architect` (plan) → `checkpoint` → `explorer` (reuse) → `recapper` (handoff) → `checkpoint` → `builder` (acceptance) → `commentator` (review) → `checkpoint` → `commentator` (audit of uncommitted diff) |
|
|
63
|
+
| **quicktype** | same as prototype **minus** the `researcher` step |
|
|
64
|
+
| **loop** | `builder` (acceptance) → `commentator` (review) → `checkpoint` "approve implementation?" (direct build↔review for an already-agreed plan; no plan/reuse/handoff artifacts) |
|
|
65
|
+
|
|
66
|
+
Step tasks reuse the existing mode-prompt language from the current `src/extensions/workflow/modes/*.ts`
|
|
67
|
+
(the executor copies the phase instructions into each chain step's `task`), with two changes:
|
|
68
|
+
- the `WORKFLOW_*_STATUS` marker contract is dropped (no engine enforces it); the
|
|
69
|
+
`checkpoint` step is the human approval gate instead,
|
|
70
|
+
- the `output: false` / `write_workflow_artifact` instructions are dropped (children own
|
|
71
|
+
writes; durable artifacts are child output files + mission artifacts).
|
|
72
|
+
|
|
73
|
+
### What is intentionally dropped (honest tradeoff)
|
|
74
|
+
|
|
75
|
+
- The **automatic N-round capped loop** (`loopMaxIterations` + engine-written
|
|
76
|
+
`loop-complete.md`). Replaced by the `builder → commentator → checkpoint` segment: a
|
|
77
|
+
blocking review rejects the checkpoint and the user re-runs `/workflow-<mode>` (or the
|
|
78
|
+
parent uses `append-step` / `resume` for another round). If the auto-loop is a hard
|
|
79
|
+
requirement, `/workflow-loop` can instead be a `workflowScript` (JS round cap + `gate` +
|
|
80
|
+
mission `state`) — an optional variant, not the default.
|
|
81
|
+
- The **`grill` phase** (interactive clarification). This is now the parent's pre-launch
|
|
82
|
+
job; it is not a chain step.
|
|
83
|
+
- **Marker-gated artifacts** and **parent-owned `write_workflow_artifact`**. Durable
|
|
84
|
+
process state now lives in the auto-created **mission** (per-launch `mission` record with
|
|
85
|
+
`state`, artifacts, decisions, receipts; recover via `mission.list`/`mission.show`);
|
|
86
|
+
resumability is pi-subagents' retained children (`children.list` + `runs.run({ resume })`).
|
|
87
|
+
|
|
88
|
+
## Prerequisite — resolve the uncommitted "merge" work
|
|
89
|
+
|
|
90
|
+
The previous session left an **uncommitted** merge-into-shell change (Tasks 1-6 of
|
|
91
|
+
`docs/plans/workflow-subagent-scripted-merge.md`). Plan B supersedes it: the adapter/modes
|
|
92
|
+
changes are deleted, and the doc/skill edits are reverted/replaced. **Before starting**,
|
|
93
|
+
do one of:
|
|
94
|
+
|
|
95
|
+
- **Option 1 (recommended):** commit the merge as-is as a checkpoint commit
|
|
96
|
+
(`git add -A && git commit -m "wip: merge-into-shell (superseded by plan B)"`), then work
|
|
97
|
+
on a clean tree. Do NOT include `src/extensions/handoff-new.ts` in that commit (it is a
|
|
98
|
+
separate pre-existing change).
|
|
99
|
+
- **Option 2:** `git restore` the merge's doc/skill changes
|
|
100
|
+
(`doc-web/.../workflow.mdx`, `.../pi-subagents.mdx`, `doc-web/src/data/capabilities.ts`,
|
|
101
|
+
both `execution-controls.md` copies) and leave the rest to be overwritten by deletion.
|
|
102
|
+
|
|
103
|
+
The executor must not commit; it leaves changes for the user.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Task 1 — Delete the engine (pure removal)
|
|
108
|
+
|
|
109
|
+
### 1. Discovery
|
|
110
|
+
- Confirm no imports reference these modules outside `src/extensions/workflow/` and
|
|
111
|
+
`src/__tests__/` (verified: none).
|
|
112
|
+
- Confirm `src/__tests__/bootstrap.test.ts` does not import the workflow extension
|
|
113
|
+
(verified: it does not; it must still pass because the thin shell remains a valid
|
|
114
|
+
loadable extension package).
|
|
115
|
+
|
|
116
|
+
### 2. Identification
|
|
117
|
+
- **Delete:** `src/extensions/workflow/{adapter.ts, state-machine.ts, run-state.ts,
|
|
118
|
+
validators.ts, modes/loop.ts, modes/task.ts, modes/prototype.ts, modes/quicktype.ts}`.
|
|
119
|
+
- **Delete:** `src/__tests__/{adapter.test.ts, state-machine.test.ts,
|
|
120
|
+
workflow-run-state.test.ts, task-workflow.test.ts, loop-workflow.test.ts,
|
|
121
|
+
quicktype-workflow.test.ts}`.
|
|
122
|
+
- **Keep:** `src/extensions/workflow/{extension.ts, package.json}` (rewritten in Tasks 2-3).
|
|
123
|
+
- **Why only these:** the engine and its tests are self-contained; nothing else references
|
|
124
|
+
them.
|
|
125
|
+
|
|
126
|
+
### 3. Change
|
|
127
|
+
Remove the listed files. Do not touch any other file.
|
|
128
|
+
|
|
129
|
+
### 4. Verification
|
|
130
|
+
- **Success:** `grep -rn "WorkflowStateMachine\|createWorkflowExtension\|write_workflow_artifact\|end_workflow" src --include=*.ts` returns nothing.
|
|
131
|
+
- **Failure:** n/a.
|
|
132
|
+
- **Regression:** `src/__tests__/bootstrap.test.ts` still passes (the package dir still
|
|
133
|
+
exists with a valid `package.json` + `extension.ts`).
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Task 2 — Define the four mode chains
|
|
138
|
+
|
|
139
|
+
### 1. Discovery
|
|
140
|
+
Read the current `src/extensions/workflow/modes/*.ts` before deletion (or from git history)
|
|
141
|
+
to harvest the phase prompt language. Read `src/extensions/pi-subagents/src/slash/slash-commands.ts`
|
|
142
|
+
for the `ChainStep`/`SubagentParamsLike` shape and
|
|
143
|
+
`src/extensions/pi-subagents/src/agents/agents.ts` for the `ChainConfig`/`ChainStepConfig`
|
|
144
|
+
types. Read `schemas.ts` `ChainItem` for the `checkpoint`/`message`/`acceptance`/`as`/
|
|
145
|
+
`outputSchema` fields.
|
|
146
|
+
|
|
147
|
+
### 2. Identification
|
|
148
|
+
- **Create:** `src/extensions/workflow/modes.ts` (single file; four exported step arrays).
|
|
149
|
+
One file beats a directory — no per-mode files, no loader indirection.
|
|
150
|
+
- **Why here:** the mode definitions are the thin shell's only content; pi-subagents owns
|
|
151
|
+
execution.
|
|
152
|
+
|
|
153
|
+
### 3. Change
|
|
154
|
+
Define, in `modes.ts`:
|
|
155
|
+
|
|
156
|
+
```ts
|
|
157
|
+
import type { ChainStep } from "../pi-subagents/src/shared/settings.ts"; // verify path
|
|
158
|
+
|
|
159
|
+
export const taskChain: ChainStep[] = [
|
|
160
|
+
{ agent: "architect", as: "plan", task: "Produce an implementation plan for: {task}. Return the complete plan inline." },
|
|
161
|
+
{ checkpoint: "approve-plan", message: "Approve the plan before implementation?" },
|
|
162
|
+
{ agent: "explorer", task: "Explore the codebase for reusable patterns relevant to the plan: {previous}." },
|
|
163
|
+
{ agent: "recapper", as: "handoff", task: "Compile a self-contained handoff from the plan and reuse findings: {previous}." },
|
|
164
|
+
{ checkpoint: "approve-handoff", message: "Approve the handoff before implementation?" },
|
|
165
|
+
{ agent: "builder", task: "Implement the plan from the handoff: {previous}. Run relevant checks.", acceptance: { level: "checked", evidence: ["commands-run", "changed-files"] } },
|
|
166
|
+
{ agent: "commentator", task: "Independently review the uncommitted diff against the handoff acceptance criteria and report evidence." },
|
|
167
|
+
{ checkpoint: "approve-implementation", message: "Approve the implementation and review?" },
|
|
168
|
+
];
|
|
169
|
+
|
|
170
|
+
export const prototypeChain: ChainStep[] = [ /* researcher → architect → checkpoint → explorer → recapper → checkpoint → builder(acceptance) → commentator → checkpoint → commentator(audit) */ ];
|
|
171
|
+
export const quicktypeChain: ChainStep[] = [ /* prototypeChain minus researcher */ ];
|
|
172
|
+
export const loopChain: ChainStep[] = [ /* builder(acceptance) → commentator → checkpoint */ ];
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Use `as: "plan"` / `as: "handoff"` so later steps can reference `{outputs.plan}` and
|
|
176
|
+
`{outputs.handoff}` instead of relying only on `{previous}`. Copy the substantive
|
|
177
|
+
instructions from the current mode prompts (plan/reuse/handoff/loop/audit wording), minus
|
|
178
|
+
the marker and `write_workflow_artifact` instructions. The `checkpoint` `message` is the
|
|
179
|
+
human-visible approval question.
|
|
180
|
+
|
|
181
|
+
**Code explicitly not to add:** a `workflowScript` variant for the loop, marker parsing,
|
|
182
|
+
any filesystem writes, or a `modes/` directory.
|
|
183
|
+
|
|
184
|
+
### 4. Verification
|
|
185
|
+
- **Success:** `modes.ts` typechecks; each chain uses only real agent names
|
|
186
|
+
(`architect`/`builder`/`commentator`/`explorer`/`recapper`/`researcher`); checkpoint steps
|
|
187
|
+
have a non-empty `checkpoint` + `message`; builder steps carry `acceptance`.
|
|
188
|
+
- **Failure:** n/a.
|
|
189
|
+
- **Regression:** n/a (new file).
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Task 3 — Thin-shell extension (rewrite `extension.ts`)
|
|
194
|
+
|
|
195
|
+
### 1. Discovery
|
|
196
|
+
Read `src/extensions/pi-subagents/src/slash/slash-commands.ts` around line 620
|
|
197
|
+
(`launchSlashSubagent`) and confirm its export. Read the old `src/extensions/workflow/extension.ts`
|
|
198
|
+
(being replaced) for the command-name/description convention.
|
|
199
|
+
|
|
200
|
+
### 2. Identification
|
|
201
|
+
- **Modify:** `src/extensions/workflow/extension.ts` (keep `package.json` unchanged — it
|
|
202
|
+
still declares `pi.extensions: ["./extension.ts"]`).
|
|
203
|
+
- **Why here:** this is the single registration point; `launchSlashSubagent` already owns
|
|
204
|
+
all execution.
|
|
205
|
+
|
|
206
|
+
### 3. Change
|
|
207
|
+
Rewrite `extension.ts` to register four commands. Each handler:
|
|
208
|
+
|
|
209
|
+
```ts
|
|
210
|
+
import { launchSlashSubagent } from "../pi-subagents/src/slash/slash-commands.ts";
|
|
211
|
+
import { taskChain, prototypeChain, quicktypeChain, loopChain } from "./modes.ts";
|
|
212
|
+
|
|
213
|
+
export default function workflowModesExtension(pi: ExtensionAPI): void {
|
|
214
|
+
const register = (name: string, description: string, chain: ChainStep[]) =>
|
|
215
|
+
pi.registerCommand(name, {
|
|
216
|
+
description,
|
|
217
|
+
handler: async (args, ctx) => {
|
|
218
|
+
const goal = args.trim();
|
|
219
|
+
if (!goal) { ctx.ui.notify(`${description}\nUsage: /${name} <goal>`, "info"); return; }
|
|
220
|
+
launchSlashSubagent(pi, ctx, { chain, task: goal, async: true, agentScope: "both" });
|
|
221
|
+
},
|
|
222
|
+
});
|
|
223
|
+
register("workflow-task", "Run the task workflow (plan → reuse → handoff → build↔review loop) as a pi-subagents chain.", taskChain);
|
|
224
|
+
register("workflow-prototype", "Run the full prototype workflow (research → plan → reuse → handoff → loop → audit) as a chain.", prototypeChain);
|
|
225
|
+
register("workflow-quicktype", "Run the quicker prototype workflow without research as a chain.", quicktypeChain);
|
|
226
|
+
register("workflow-loop", "Run direct build↔review rounds for an already-agreed plan as a chain.", loopChain);
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Code explicitly not to add:** `write_workflow_artifact` / `end_workflow` tools, any state,
|
|
231
|
+
any `pi.on("tool_call"/"tool_result")` hooks, or a `resume` subcommand.
|
|
232
|
+
|
|
233
|
+
### 4. Verification
|
|
234
|
+
- **Success:** `/workflow-task <goal>` resolves and launches the `taskChain` via
|
|
235
|
+
`launchSlashSubagent` with `task: goal` and `async: true`.
|
|
236
|
+
- **Failure:** empty goal → a usage notify, no launch.
|
|
237
|
+
- **Regression:** the package still loads as a bundled extension
|
|
238
|
+
(`src/__tests__/bootstrap.test.ts` green); `/run-chain` and the pi-subagents commands are
|
|
239
|
+
unaffected.
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## Task 4 — Tests
|
|
244
|
+
|
|
245
|
+
### 1. Discovery
|
|
246
|
+
Read `src/__tests__/bootstrap.test.ts` to see how bundled extensions are loaded, and the
|
|
247
|
+
pi-subagents slash test patterns (if any) under `src/extensions/pi-subagents/test/`.
|
|
248
|
+
|
|
249
|
+
### 2. Identification
|
|
250
|
+
- **Create:** `src/__tests__/workflow-modes.test.ts` (replaces the six deleted files).
|
|
251
|
+
- **Why here:** the deleted tests lived in `src/__tests__/`; keep the thin shell's tests
|
|
252
|
+
there for consistency. Do not add to pi-subagents' test tree (its own surface is
|
|
253
|
+
unchanged).
|
|
254
|
+
|
|
255
|
+
### 3. Change
|
|
256
|
+
Cover, without mocking pi-subagents internals:
|
|
257
|
+
|
|
258
|
+
- **`modes.ts` shape:** each of the four chains is a non-empty array; `task`/`quicktype`/`loop`
|
|
259
|
+
chain step agents are a subset of the Selesai roster; `prototype` contains a `researcher`
|
|
260
|
+
step and `quicktype` does not; builder steps have `acceptance`; every `checkpoint` step has
|
|
261
|
+
a non-empty `message`.
|
|
262
|
+
- **command registration:** importing `extension.ts` (with a minimal fake `pi` capturing
|
|
263
|
+
`registerCommand` calls) registers exactly the four `/workflow-*` names. Keep the fake
|
|
264
|
+
`pi` minimal (only the methods `registerCommand` touches).
|
|
265
|
+
|
|
266
|
+
**Code explicitly not to add:** end-to-end execution tests (they belong to pi-subagents'
|
|
267
|
+
integration suite), or importing `launchSlashSubagent` in tests (it needs a full pi + state).
|
|
268
|
+
|
|
269
|
+
### 4. Verification
|
|
270
|
+
- **Success:** `npx vitest run src/__tests__/workflow-modes.test.ts src/__tests__/bootstrap.test.ts` green.
|
|
271
|
+
- **Failure:** n/a.
|
|
272
|
+
- **Regression:** the six deleted test files are gone; full unit suite stays green.
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## Task 5 — Docs
|
|
277
|
+
|
|
278
|
+
### 1. Discovery
|
|
279
|
+
Read `doc-web/src/content/docs/capabilities/delegation/workflow.mdx` (current, including the
|
|
280
|
+
prior "Scripted subagent steps" section), `pi-subagents.mdx`, and
|
|
281
|
+
`doc-web/src/data/capabilities.ts`.
|
|
282
|
+
|
|
283
|
+
### 2. Identification
|
|
284
|
+
- **Modify:** `doc-web/src/content/docs/capabilities/delegation/workflow.mdx`,
|
|
285
|
+
`.../pi-subagents.mdx`, `doc-web/src/data/capabilities.ts`.
|
|
286
|
+
- **Why here:** these are the registered capability pages; the workflow page must stop
|
|
287
|
+
describing a deleted engine.
|
|
288
|
+
|
|
289
|
+
### 3. Change
|
|
290
|
+
- **workflow.mdx:** rewrite to: "the `workflow` extension now ships the four mode shapes as
|
|
291
|
+
pi-subagents saved chains; `/workflow-*` launches them; phases = chain steps; human gates =
|
|
292
|
+
checkpoints; verified acceptance = chain `acceptance`; durable state = missions
|
|
293
|
+
(`mission.list`/`show`); resumability = retained children." Remove all `write_workflow_artifact`
|
|
294
|
+
/ `end_workflow` / `workflow.json` / marker content and the prior "Scripted subagent steps"
|
|
295
|
+
section. Add a "Migration" note: active `workflow.json` runs are not resumable (Plan B).
|
|
296
|
+
- **pi-subagents.mdx:** update the Limits-and-safety paragraph added by the prior merge to
|
|
297
|
+
reflect that the workflow modes are now chains (not "drives a script"), and note
|
|
298
|
+
`/run-chain <mode>` parity is optional.
|
|
299
|
+
- **capabilities.ts:** update the `workflow` `benefit` string to "the four workflow modes as
|
|
300
|
+
pi-subagents saved chains".
|
|
301
|
+
|
|
302
|
+
### 4. Verification
|
|
303
|
+
- **Success:** `npx astro check` (doc-web) and `npm run validate:content` pass; the page no
|
|
304
|
+
longer references `write_workflow_artifact`/`end_workflow`/`workflow.json`.
|
|
305
|
+
- **Failure:** n/a.
|
|
306
|
+
- **Regression:** `pi-subagents.mdx` retains its unrelated content; capabilities.ts categories
|
|
307
|
+
and `manifestEntry: "./workflow"` are unchanged.
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## Task 6 — Skill doctrine (3-way sync)
|
|
312
|
+
|
|
313
|
+
### 1. Discovery
|
|
314
|
+
Read the "Durable-shell integration" note added by the prior merge in
|
|
315
|
+
`src/extensions/pi-subagents/skills/pi-subagents/references/execution-controls.md`
|
|
316
|
+
(canonical copy), and confirm the three copies are currently byte-identical.
|
|
317
|
+
|
|
318
|
+
### 2. Identification
|
|
319
|
+
- **Modify:** all three copies of `references/execution-controls.md`:
|
|
320
|
+
`src/extensions/pi-subagents/skills/pi-subagents` ↔ `src/skills/pi-subagents` ↔
|
|
321
|
+
`~/.selesai/agent/skills`.
|
|
322
|
+
|
|
323
|
+
### 3. Change
|
|
324
|
+
Replace the "Durable-shell integration" note (which describes the now-deleted merge) with a
|
|
325
|
+
short "Workflow modes as saved chains" note: the bundled `workflow` extension ships the four
|
|
326
|
+
mode shapes as chains launched via `/workflow-*`; human gates are checkpoints; verified
|
|
327
|
+
acceptance is chain `acceptance`; durable state is the auto-created mission. Apply the
|
|
328
|
+
identical diff to all three copies.
|
|
329
|
+
|
|
330
|
+
### 4. Verification
|
|
331
|
+
- **Success:** `diff -q` across the three copies reports identical; the old
|
|
332
|
+
"Durable-shell integration" text is gone.
|
|
333
|
+
- **Failure:** n/a.
|
|
334
|
+
- **Regression:** all other `execution-controls.md` sections byte-identical.
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## Task order and dependencies
|
|
339
|
+
|
|
340
|
+
1. Task 1 (delete engine) — first, unblocks everything.
|
|
341
|
+
2. Task 2 (mode chains) — independent content work.
|
|
342
|
+
3. Task 3 (thin shell) — depends on 2.
|
|
343
|
+
4. Task 4 (tests) — depends on 2-3.
|
|
344
|
+
5. Tasks 5-6 (docs/skill) — after behavior is stable; can run in parallel.
|
|
345
|
+
|
|
346
|
+
## Definition of done
|
|
347
|
+
|
|
348
|
+
- `npx vitest run src/__tests__/workflow-modes.test.ts src/__tests__/bootstrap.test.ts` green.
|
|
349
|
+
- Full unit suite green (the six deleted workflow tests are gone; pi-subagents integration
|
|
350
|
+
suite unaffected: `npm run test:integration` in `src/extensions/pi-subagents` with clean
|
|
351
|
+
`SELESAI_SUBAGENT_*` env, expecting 737/0).
|
|
352
|
+
- Typecheck clean: `npx tsc --noEmit` (pi-subagents) + `npx tsgo -p tsconfig.build.json --noEmit`.
|
|
353
|
+
- `npx astro check` + `npm run validate:content` (doc-web) clean.
|
|
354
|
+
- `diff -q` clean across the 3-way skill sync.
|
|
355
|
+
- `grep -rn "WorkflowStateMachine\|write_workflow_artifact\|end_workflow\|WORKFLOW_PLAN_STATUS" src` returns nothing.
|
|
356
|
+
- `git status` shows: deletions of the 8 engine files + 6 test files; new `modes.ts`,
|
|
357
|
+
`workflow-modes.test.ts`; modified `extension.ts`, two `.mdx`, `capabilities.ts`, three
|
|
358
|
+
`execution-controls.md`; `src/extensions/handoff-new.ts` untouched; nothing committed.
|
|
359
|
+
|
|
360
|
+
## Final review checklist (planger)
|
|
361
|
+
|
|
362
|
+
- [x] Discovery: seam (`launchSlashSubagent`), agent roster, chain schema, saved-chain
|
|
363
|
+
format, test locations, and the uncommitted-merge prerequisite all verified.
|
|
364
|
+
- [x] Ownership: pi-subagents owns execution/missions/checkpoints/gates; the thin shell owns
|
|
365
|
+
only the four chain definitions + command registration.
|
|
366
|
+
- [x] Simplest acceptable: one exported seam reused, one new `modes.ts`, one rewritten
|
|
367
|
+
`extension.ts`, one test file; no new abstractions, deps, or state.
|
|
368
|
+
- [x] Reuse: `launchSlashSubagent`, the Selesai agent roster, the existing mode-prompt
|
|
369
|
+
language, `acceptance`/`checkpoint` chain fields.
|
|
370
|
+
- [x] Scope: deletes only the engine + its tests; keeps command names; drops old runs as
|
|
371
|
+
decided.
|
|
372
|
+
- [x] Verification: success/failure/regression per task + Definition of done.
|
|
373
|
+
- [x] Executable without assumptions: exact paths, the exported seam, the chain mapping, and
|
|
374
|
+
the one prerequisite resolution step.
|