@selesai/code 0.13.40 → 0.14.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -0
- package/dist/bun/runtime-setup.js +4 -1
- package/dist/cli/args.d.ts +3 -1
- package/dist/cli/args.js +76 -33
- package/dist/cli/auth-check.d.ts +18 -0
- package/dist/cli/auth-check.js +49 -0
- package/dist/cli/credential-print.d.ts +5 -15
- package/dist/cli/credential-print.js +42 -82
- package/dist/cli/file-processor.d.ts +1 -1
- package/dist/cli/file-processor.js +2 -1
- package/dist/cli/list-models.d.ts +1 -1
- package/dist/cli/list-models.js +2 -2
- package/dist/cli/startup-ui.js +38 -30
- package/dist/config.d.ts +45 -7
- package/dist/config.js +134 -18
- package/dist/core/agent-session-custom-tools.test.js +64 -0
- package/dist/core/agent-session-length-continuation.test.js +7 -3
- package/dist/core/agent-session-runtime.js +2 -2
- package/dist/core/agent-session-services.d.ts +1 -0
- package/dist/core/agent-session-services.js +14 -0
- package/dist/core/agent-session.d.ts +180 -40
- package/dist/core/agent-session.js +1061 -485
- package/dist/core/auth-storage.d.ts +25 -15
- package/dist/core/auth-storage.js +242 -66
- package/dist/core/bash-executor.js +42 -52
- package/dist/core/bug-report.js +1 -1
- package/dist/core/cache-warmer.d.ts +1 -0
- package/dist/core/cache-warmer.js +15 -1
- package/dist/core/compaction/branch-summarization.js +3 -0
- package/dist/core/compaction/compaction.d.ts +3 -1
- package/dist/core/compaction/compaction.js +156 -79
- package/dist/core/compaction/utils.d.ts +2 -1
- package/dist/core/compaction/utils.js +25 -18
- package/dist/core/crash-log.d.ts +5 -0
- package/dist/core/crash-log.js +69 -0
- package/dist/core/defaults.d.ts +1 -1
- package/dist/core/defaults.js +1 -1
- package/dist/core/export-html/template.css +10 -0
- package/dist/core/export-html/template.js +72 -18
- package/dist/core/export-html/tool-renderer.d.ts +3 -3
- package/dist/core/export-html/tool-renderer.js +5 -3
- package/dist/core/extensions/index.d.ts +2 -2
- package/dist/core/extensions/index.js +1 -1
- package/dist/core/extensions/loader.js +138 -55
- package/dist/core/extensions/runner.d.ts +38 -5
- package/dist/core/extensions/runner.js +220 -7
- package/dist/core/extensions/types.d.ts +438 -51
- package/dist/core/extensions/types.js +3 -0
- package/dist/core/extensions/virtual-modules.js +6 -0
- package/dist/core/extensions/wrapper.d.ts +2 -2
- package/dist/core/extensions/wrapper.js +3 -3
- package/dist/core/footer-data-provider.d.ts +1 -1
- package/dist/core/footer-data-provider.js +1 -1
- package/dist/core/handoff.d.ts +0 -1
- package/dist/core/handoff.js +0 -1
- package/dist/core/http-dispatcher.js +5 -0
- package/dist/core/index.d.ts +1 -1
- package/dist/core/keybindings.d.ts +25 -24
- package/dist/core/keybindings.js +27 -6
- package/dist/core/mcp-servers.d.ts +134 -0
- package/dist/core/mcp-servers.js +223 -0
- package/dist/core/model-config.d.ts +122 -5
- package/dist/core/model-config.js +35 -1
- package/dist/core/model-registry.d.ts +23 -15
- package/dist/core/model-registry.js +46 -22
- package/dist/core/model-resolver.d.ts +6 -5
- package/dist/core/model-resolver.js +51 -21
- package/dist/core/model-runtime.d.ts +73 -14
- package/dist/core/model-runtime.js +398 -104
- package/dist/core/models-store.d.ts +12 -7
- package/dist/core/models-store.js +85 -15
- package/dist/core/nested-tool-calls.d.ts +102 -0
- package/dist/core/nested-tool-calls.js +178 -0
- package/dist/core/package-manager.d.ts +8 -1
- package/dist/core/package-manager.js +144 -61
- package/dist/core/package-manager.test.js +5 -5
- package/dist/core/pi-manifest.d.ts +9 -0
- package/dist/core/pi-manifest.js +25 -0
- package/dist/core/prompt-templates.d.ts +6 -1
- package/dist/core/prompt-templates.js +61 -35
- package/dist/core/provider-composer.d.ts +44 -19
- package/dist/core/provider-composer.js +166 -64
- package/dist/core/radius.d.ts +2 -0
- package/dist/core/radius.js +2 -0
- package/dist/core/remote-catalog-provider.d.ts +8 -1
- package/dist/core/remote-catalog-provider.js +25 -13
- package/dist/core/resource-loader.d.ts +9 -1
- package/dist/core/resource-loader.js +179 -45
- package/dist/core/runtime-credentials.d.ts +5 -5
- package/dist/core/runtime-credentials.js +11 -8
- package/dist/core/sdk.d.ts +16 -7
- package/dist/core/sdk.js +57 -24
- package/dist/core/session-manager.d.ts +45 -9
- package/dist/core/session-manager.js +124 -31
- package/dist/core/settings-diagnostics.d.ts +8 -0
- package/dist/core/settings-diagnostics.js +20 -0
- package/dist/core/settings-manager.d.ts +62 -32
- package/dist/core/settings-manager.js +147 -69
- package/dist/core/skills.d.ts +5 -2
- package/dist/core/skills.js +58 -35
- package/dist/core/slash-commands.js +2 -1
- package/dist/core/source-info.d.ts +8 -0
- package/dist/core/source-info.js +16 -0
- package/dist/core/system-prompt.d.ts +9 -3
- package/dist/core/system-prompt.js +9 -12
- package/dist/core/system-prompt.test.js +2 -7
- package/dist/core/tools/bash.d.ts +12 -0
- package/dist/core/tools/bash.js +33 -2
- package/dist/core/tools/edit-diff.d.ts +0 -5
- package/dist/core/tools/edit-diff.js +2 -5
- package/dist/core/tools/edit.d.ts +4 -0
- package/dist/core/tools/edit.js +31 -11
- package/dist/core/tools/find.d.ts +7 -0
- package/dist/core/tools/find.js +16 -19
- package/dist/core/tools/grep.d.ts +4 -0
- package/dist/core/tools/grep.js +5 -1
- package/dist/core/tools/index.d.ts +1 -1
- package/dist/core/tools/index.js +11 -2
- package/dist/core/tools/ls.d.ts +4 -0
- package/dist/core/tools/ls.js +5 -1
- package/dist/core/tools/output-accumulator.d.ts +11 -0
- package/dist/core/tools/output-accumulator.js +40 -10
- package/dist/core/tools/read.d.ts +17 -2
- package/dist/core/tools/read.js +23 -2
- package/dist/core/tools/render-utils.d.ts +6 -0
- package/dist/core/tools/render-utils.js +26 -0
- package/dist/core/tools/renderers/bash.js +19 -35
- package/dist/core/tools/renderers/edit.js +5 -4
- package/dist/core/tools/renderers/index.d.ts +2 -2
- package/dist/core/tools/renderers/read.js +3 -2
- package/dist/core/tools/tool-definition-wrapper.d.ts +5 -3
- package/dist/core/tools/tool-definition-wrapper.js +3 -1
- package/dist/core/tools/truncate.d.ts +14 -0
- package/dist/core/tools/truncate.js +29 -0
- package/dist/core/tools/write.d.ts +4 -0
- package/dist/core/tools/write.js +6 -2
- package/dist/core/trust-manager.js +3 -1
- package/dist/core/usage-totals.d.ts +2 -0
- package/dist/core/usage-totals.js +23 -0
- package/dist/core/virtual-models.d.ts +116 -0
- package/dist/core/virtual-models.js +123 -0
- package/dist/defaults/models.json +32 -0
- package/dist/defaults/settings.json +1 -9
- package/dist/extensions/codemode/execute.d.ts +15 -0
- package/dist/extensions/codemode/execute.js +645 -0
- package/dist/extensions/codemode/execute.lazy.d.ts +2 -0
- package/dist/extensions/codemode/execute.lazy.js +2 -0
- package/dist/extensions/codemode/index.d.ts +20 -0
- package/dist/extensions/codemode/index.js +31 -0
- package/dist/extensions/codemode/renderer.d.ts +11 -0
- package/dist/extensions/codemode/renderer.js +136 -0
- package/dist/extensions/codemode/tool.d.ts +129 -0
- package/dist/extensions/codemode/tool.js +275 -0
- package/dist/extensions/context-compaction-reminder.ts +1 -1
- package/dist/extensions/grep-app/index.ts +2 -10
- package/dist/extensions/herdr-agent-state.ts +1 -1
- package/dist/extensions/{pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/index.d.ts → index.d.ts} +0 -1
- package/dist/extensions/index.js +12 -0
- package/dist/extensions/jev/classifier-context.ts +54 -0
- package/dist/extensions/jev/classifier.test.ts +150 -0
- package/dist/extensions/jev/classifier.ts +191 -0
- package/dist/extensions/jev/decisions.test.ts +56 -47
- package/dist/extensions/jev/decisions.ts +94 -109
- package/dist/extensions/jev/test-support.ts +33 -38
- package/dist/extensions/jev-advisory-lifecycle.test.ts +12 -12
- package/dist/extensions/jev-advisory-memory.test.ts +9 -9
- package/dist/extensions/jev-advisory-recommendations.test.ts +8 -8
- package/dist/extensions/jev-ask-tool.test.ts +41 -45
- package/dist/extensions/jev-ask-tool.ts +11 -39
- package/dist/extensions/jev-find-source.test.ts +26 -0
- package/dist/extensions/jev-find-source.ts +58 -19
- package/dist/extensions/jev-tool-ranker.test.ts +185 -0
- package/dist/extensions/jev-tool-ranker.ts +169 -0
- package/dist/{core → extensions}/llama/client.d.ts +2 -0
- package/dist/{core → extensions}/llama/client.js +7 -3
- package/dist/{core → extensions}/llama/index.js +13 -2
- package/dist/{core → extensions}/llama/provider.d.ts +1 -1
- package/dist/extensions/llama/provider.js +235 -0
- package/dist/extensions/mcp/cli.d.ts +20 -0
- package/dist/extensions/mcp/cli.js +496 -0
- package/dist/extensions/mcp/cli.lazy.d.ts +2 -0
- package/dist/extensions/mcp/cli.lazy.js +2 -0
- package/dist/extensions/mcp/config.d.ts +83 -0
- package/dist/extensions/mcp/config.js +193 -0
- package/dist/extensions/mcp/index.d.ts +78 -0
- package/dist/extensions/mcp/index.js +1201 -0
- package/dist/extensions/mcp/log.d.ts +15 -0
- package/dist/extensions/mcp/log.js +65 -0
- package/dist/extensions/mcp/oauth.d.ts +97 -0
- package/dist/extensions/mcp/oauth.js +401 -0
- package/dist/extensions/mcp/resources.d.ts +41 -0
- package/dist/extensions/mcp/resources.js +260 -0
- package/dist/extensions/mcp/runtime.d.ts +96 -0
- package/dist/extensions/mcp/runtime.js +412 -0
- package/dist/extensions/mcp/runtime.lazy.d.ts +2 -0
- package/dist/extensions/mcp/runtime.lazy.js +2 -0
- package/dist/extensions/mcp/tools.d.ts +86 -0
- package/dist/extensions/mcp/tools.js +252 -0
- package/dist/extensions/mcp/ui.d.ts +59 -0
- package/dist/extensions/mcp/ui.js +185 -0
- package/dist/extensions/package.json +2 -1
- package/dist/extensions/pi-graft/index.ts +4 -19
- package/dist/extensions/pi-graft/lifecycle.test.ts +32 -25
- package/dist/extensions/pi-graft/tools.ts +6 -0
- package/dist/extensions/pi-hermes-memory/CHANGELOG.md +25 -0
- package/dist/extensions/pi-hermes-memory/README.md +140 -4
- package/dist/extensions/pi-hermes-memory/package-lock.json +624 -2720
- package/dist/extensions/pi-hermes-memory/package.json +9 -7
- package/dist/extensions/pi-hermes-memory/scripts/benchmark-memory-startup.mjs +72 -0
- package/dist/extensions/pi-hermes-memory/scripts/check-production-install.mjs +107 -0
- package/dist/extensions/pi-hermes-memory/src/auto-consolidation-warning.ts +2 -1
- package/dist/extensions/pi-hermes-memory/src/config.ts +35 -0
- package/dist/extensions/pi-hermes-memory/src/constants.ts +62 -15
- package/dist/extensions/pi-hermes-memory/src/handlers/auto-consolidate.ts +374 -50
- package/dist/extensions/pi-hermes-memory/src/handlers/background-review.ts +7 -4
- package/dist/extensions/pi-hermes-memory/src/handlers/correction-detector.ts +19 -14
- package/dist/extensions/pi-hermes-memory/src/handlers/insights.ts +75 -1
- package/dist/extensions/pi-hermes-memory/src/handlers/review-memory-ops.ts +322 -22
- package/dist/extensions/pi-hermes-memory/src/handlers/session-backfill.ts +8 -0
- package/dist/extensions/pi-hermes-memory/src/handlers/session-flush.ts +193 -54
- package/dist/extensions/pi-hermes-memory/src/handlers/skills-command.ts +6 -2
- package/dist/extensions/pi-hermes-memory/src/handlers/sync-markdown-memories.ts +33 -5
- package/dist/extensions/pi-hermes-memory/src/index.ts +116 -47
- package/dist/extensions/pi-hermes-memory/src/memory-initialization.ts +101 -0
- package/dist/extensions/pi-hermes-memory/src/store/atomic-lock-coordinator.ts +10 -2
- package/dist/extensions/pi-hermes-memory/src/store/db.ts +34 -9
- package/dist/extensions/pi-hermes-memory/src/store/memory-store.ts +44 -8
- package/dist/extensions/pi-hermes-memory/src/store/schema.ts +3 -1
- package/dist/extensions/pi-hermes-memory/src/store/sqlite-memory-store.ts +141 -0
- package/dist/extensions/pi-hermes-memory/src/store/standing-instructions.ts +17 -6
- package/dist/extensions/pi-hermes-memory/src/tools/memory-search-tool.ts +20 -10
- package/dist/extensions/pi-hermes-memory/src/tools/memory-tool.ts +1 -17
- package/dist/extensions/pi-hermes-memory/src/tools/session-search-tool.ts +2 -10
- package/dist/extensions/pi-hermes-memory/src/tools/skill-tool.ts +4 -8
- package/dist/extensions/pi-hermes-memory/src/types.ts +48 -0
- package/dist/extensions/pi-hermes-memory/tests/config.test.ts +108 -0
- package/dist/extensions/pi-hermes-memory/tests/handlers/auto-consolidate.test.ts +1185 -42
- package/dist/extensions/pi-hermes-memory/tests/handlers/insights.test.ts +57 -1
- package/dist/extensions/pi-hermes-memory/tests/handlers/lazy-memory-hooks.test.ts +128 -0
- package/dist/extensions/pi-hermes-memory/tests/handlers/review-memory-ops.test.ts +844 -1
- package/dist/extensions/pi-hermes-memory/tests/handlers/session-backfill.test.ts +16 -0
- package/dist/extensions/pi-hermes-memory/tests/handlers/session-flush.test.ts +512 -3
- package/dist/extensions/pi-hermes-memory/tests/handlers/skills-command.test.ts +38 -0
- package/dist/extensions/pi-hermes-memory/tests/handlers/sync-markdown-memories.test.ts +183 -2
- package/dist/extensions/pi-hermes-memory/tests/handlers/system-prompt.test.ts +1 -3
- package/dist/extensions/pi-hermes-memory/tests/index.test.ts +17 -0
- package/dist/extensions/pi-hermes-memory/tests/integration/corruption-recovery-integration.test.ts +21 -0
- package/dist/extensions/pi-hermes-memory/tests/lazy-startup.test.ts +313 -0
- package/dist/extensions/pi-hermes-memory/tests/memory-initialization.test.ts +182 -0
- package/dist/extensions/pi-hermes-memory/tests/prompt-injection.test.ts +184 -0
- package/dist/extensions/pi-hermes-memory/tests/skill-discovery-contract.test.ts +60 -0
- package/dist/extensions/pi-hermes-memory/tests/store/atomic-lock-lazy-probe.test.ts +80 -0
- package/dist/extensions/pi-hermes-memory/tests/store/db.test.ts +2 -0
- package/dist/extensions/pi-hermes-memory/tests/store/memory-store.test.ts +79 -0
- package/dist/extensions/pi-hermes-memory/tests/store/sqlite-memory-store.test.ts +268 -0
- package/dist/extensions/pi-hermes-memory/tests/store/standing-instructions.test.ts +29 -0
- package/dist/extensions/pi-hermes-memory/tests/store/usage-tracking.test.ts +170 -0
- package/dist/extensions/pi-hermes-memory/tests/tools/memory-search-tool.test.ts +80 -1
- package/dist/extensions/pi-hermes-memory/tests/tools/skill-tool.test.ts +51 -0
- package/dist/extensions/pi-intercom/CHANGELOG.md +66 -0
- package/dist/extensions/pi-intercom/README.md +100 -12
- package/dist/extensions/pi-intercom/broker/broker.ts +28 -12
- package/dist/extensions/pi-intercom/broker/client.ts +3 -0
- package/dist/extensions/pi-intercom/broker/cross-machine-provenance.test.ts +63 -0
- package/dist/extensions/pi-intercom/broker/protocol.ts +64 -0
- package/dist/extensions/pi-intercom/broker/spawn.test.ts +58 -167
- package/dist/extensions/pi-intercom/broker/spawn.ts +40 -87
- package/dist/extensions/pi-intercom/cli.mjs +6 -0
- package/dist/extensions/pi-intercom/cli.test.ts +428 -0
- package/dist/extensions/pi-intercom/cli.ts +343 -0
- package/dist/extensions/pi-intercom/config.test.ts +61 -1
- package/dist/extensions/pi-intercom/config.ts +53 -2
- package/dist/extensions/pi-intercom/cross-machine-discovery.test.ts +218 -0
- package/dist/extensions/pi-intercom/cross-machine-discovery.ts +140 -0
- package/dist/extensions/pi-intercom/cross-machine-envelope.test.ts +106 -0
- package/dist/extensions/pi-intercom/cross-machine-envelope.ts +92 -0
- package/dist/extensions/pi-intercom/cross-machine-integration.test.ts +25 -0
- package/dist/extensions/pi-intercom/cross-machine-transport.test.ts +106 -0
- package/dist/extensions/pi-intercom/cross-machine-transport.ts +110 -0
- package/dist/extensions/pi-intercom/extension-api.ts +14 -0
- package/dist/extensions/pi-intercom/handover.test.ts +88 -0
- package/dist/extensions/pi-intercom/handover.ts +115 -0
- package/dist/extensions/pi-intercom/herdr-location.test.ts +173 -0
- package/dist/extensions/pi-intercom/herdr-location.ts +137 -0
- package/dist/extensions/pi-intercom/human-priority.pi.test.ts +489 -0
- package/dist/extensions/pi-intercom/index.ts +582 -164
- package/dist/extensions/pi-intercom/intercom.integration.test.ts +590 -22
- package/dist/extensions/pi-intercom/package.json +12 -2
- package/dist/extensions/pi-intercom/project-agent.ts +1 -1
- package/dist/extensions/pi-intercom/skills/pi-intercom/SKILL.md +26 -2
- package/dist/extensions/pi-intercom/test/handover-picker.test.ts +134 -0
- package/dist/extensions/pi-intercom/test/inline-message.test.ts +43 -0
- package/dist/extensions/pi-intercom/types.d.ts +247 -0
- package/dist/extensions/pi-intercom/types.js +2 -0
- package/dist/extensions/pi-intercom/types.ts +39 -1
- package/dist/extensions/pi-intercom/ui/handover-picker.ts +318 -0
- package/dist/extensions/pi-intercom/ui/inline-message.ts +10 -3
- package/dist/extensions/pi-intercom/ui/session-list.ts +28 -15
- package/dist/extensions/pi-subagents/.github/workflows/release.yml +5 -1
- package/dist/extensions/pi-subagents/.github/workflows/test.yml +188 -18
- package/dist/extensions/pi-subagents/CHANGELOG.md +514 -1
- package/dist/extensions/pi-subagents/README.md +7 -5
- package/dist/extensions/pi-subagents/VISION.md +6 -0
- package/dist/extensions/pi-subagents/agents/reviewer.md +7 -5
- package/dist/extensions/pi-subagents/agents/worker.md +1 -1
- package/dist/extensions/pi-subagents/docs/agents.md +75 -35
- package/dist/extensions/pi-subagents/docs/configuration.md +156 -25
- package/dist/extensions/pi-subagents/docs/extension-api.md +113 -29
- package/dist/extensions/pi-subagents/docs/missions.md +46 -14
- package/dist/extensions/pi-subagents/docs/models.md +22 -84
- package/dist/extensions/pi-subagents/docs/observability.md +49 -24
- package/dist/extensions/pi-subagents/docs/standalone-background.md +59 -0
- package/dist/extensions/pi-subagents/docs/tool-reference.md +167 -116
- package/dist/extensions/pi-subagents/docs/watchdog.md +41 -10
- package/dist/extensions/pi-subagents/docs/workflows.md +239 -163
- package/dist/extensions/pi-subagents/examples/typed-gate/.pi/agents/classifier.md +14 -0
- package/dist/extensions/pi-subagents/examples/typed-gate/README.md +42 -0
- package/dist/extensions/pi-subagents/examples/typed-gate/classify +38 -0
- package/dist/extensions/pi-subagents/examples/typed-gate/workflow.js +32 -0
- package/dist/extensions/pi-subagents/index.ts +11 -3
- package/dist/extensions/pi-subagents/inspector-runner.mjs +3 -3
- package/dist/extensions/pi-subagents/package-lock.json +517 -1129
- package/dist/extensions/pi-subagents/package.json +22 -11
- package/dist/extensions/pi-subagents/prompts/council.md +7 -4
- package/dist/extensions/pi-subagents/prompts/parallel-review.md +2 -2
- package/dist/extensions/pi-subagents/prompts/review-loop.md +2 -2
- package/dist/extensions/pi-subagents/runner-peer-loader.mjs +21 -0
- package/dist/extensions/pi-subagents/runner-peer-preload.mjs +30 -0
- package/dist/extensions/pi-subagents/scripts/build-package.mjs +79 -0
- package/dist/extensions/pi-subagents/skills/council-mode/SKILL.md +2 -2
- package/dist/extensions/pi-subagents/skills/pi-subagents/SKILL.md +46 -27
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/constraints-and-recipes.md +11 -7
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/execution-controls.md +78 -73
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/management-authoring-rpc.md +4 -5
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/multi-lane-orchestration.md +10 -2
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/prompting-and-roles.md +69 -67
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/review-and-validation.md +3 -3
- package/dist/extensions/pi-subagents/src/agents/advertised-agent-prompt.ts +21 -10
- package/dist/extensions/pi-subagents/src/agents/agent-management.ts +113 -113
- package/dist/extensions/pi-subagents/src/agents/agent-memory.ts +91 -4
- package/dist/extensions/pi-subagents/src/agents/agent-serializer.ts +15 -9
- package/dist/extensions/pi-subagents/src/agents/agents.ts +432 -193
- package/dist/extensions/pi-subagents/src/agents/chain-serializer.ts +6 -1
- package/dist/extensions/pi-subagents/src/agents/global-npm-root.ts +58 -0
- package/dist/extensions/pi-subagents/src/agents/proactive-skills.ts +5 -2
- package/dist/extensions/pi-subagents/src/agents/runtime-agent-registry.ts +22 -18
- package/dist/extensions/pi-subagents/src/agents/skills.ts +43 -10
- package/dist/extensions/pi-subagents/src/api/delegation.ts +20 -1
- package/dist/extensions/pi-subagents/src/api/inspectors.ts +27 -0
- package/dist/extensions/pi-subagents/src/api/preflight.ts +140 -62
- package/dist/extensions/pi-subagents/src/api/required-child-extensions.ts +6 -0
- package/dist/extensions/pi-subagents/src/api/shared-types.ts +2 -0
- package/dist/extensions/pi-subagents/src/extension/config.ts +24 -40
- package/dist/extensions/pi-subagents/src/extension/control-notices.ts +4 -1
- package/dist/extensions/pi-subagents/src/extension/doctor.ts +18 -15
- package/dist/extensions/pi-subagents/src/extension/fanout-child.ts +87 -13
- package/dist/extensions/pi-subagents/src/extension/herdr-pi-bridge.ts +162 -0
- package/dist/extensions/pi-subagents/src/extension/index.ts +280 -268
- package/dist/extensions/pi-subagents/src/extension/public-execution.ts +76 -37
- package/dist/extensions/pi-subagents/src/extension/reply-workflow-script.ts +67 -0
- package/dist/extensions/pi-subagents/src/extension/rpc.ts +34 -11
- package/dist/extensions/pi-subagents/src/extension/schemas.ts +116 -205
- package/dist/extensions/pi-subagents/src/extension/subagent-guide.ts +13 -5
- package/dist/extensions/pi-subagents/src/extension/tool-activation.ts +146 -0
- package/dist/extensions/pi-subagents/src/extension/tool-description.ts +77 -90
- package/dist/extensions/pi-subagents/src/extension/upgrade-notice.ts +40 -0
- package/dist/extensions/pi-subagents/src/inspectors/actions.ts +148 -0
- package/dist/extensions/pi-subagents/src/inspectors/ghostty/actions.ts +74 -0
- package/dist/extensions/pi-subagents/src/inspectors/ghostty/plugin.ts +29 -0
- package/dist/extensions/pi-subagents/src/inspectors/herdr/actions.ts +100 -180
- package/dist/extensions/pi-subagents/src/inspectors/herdr/plugin.ts +20 -0
- package/dist/extensions/pi-subagents/src/inspectors/herdr/project-panes.ts +2 -2
- package/dist/extensions/pi-subagents/src/inspectors/{herdr/inspector-runner.ts → inspector-runner.ts} +13 -13
- package/dist/extensions/pi-subagents/src/inspectors/plugins.ts +75 -0
- package/dist/extensions/pi-subagents/src/inspectors/{herdr/session-roots-codec.ts → session-roots-codec.ts} +4 -15
- package/dist/extensions/pi-subagents/src/inspectors/{herdr/shell-command.ts → shell-command.ts} +1 -1
- package/dist/extensions/pi-subagents/src/inspectors/types.ts +51 -0
- package/dist/extensions/pi-subagents/src/integrations/herdr-status.ts +38 -53
- package/dist/extensions/pi-subagents/src/intercom/intercom-bridge.ts +53 -9
- package/dist/extensions/pi-subagents/src/intercom/native-supervisor-channel.ts +69 -55
- package/dist/extensions/pi-subagents/src/intercom/result-intercom.ts +7 -2
- package/dist/extensions/pi-subagents/src/missions/goal-driver.ts +45 -32
- package/dist/extensions/pi-subagents/src/missions/store.ts +11 -2
- package/dist/extensions/pi-subagents/src/policy/authority.ts +5 -1
- package/dist/extensions/pi-subagents/src/profiles/profiles.ts +30 -18
- package/dist/extensions/pi-subagents/src/runs/background/active-async-capacity.ts +59 -9
- package/dist/extensions/pi-subagents/src/runs/background/active-run-index.ts +18 -2
- package/dist/extensions/pi-subagents/src/runs/background/async-execution.ts +463 -248
- package/dist/extensions/pi-subagents/src/runs/background/async-job-tracker.ts +106 -66
- package/dist/extensions/pi-subagents/src/runs/background/async-resume.ts +33 -20
- package/dist/extensions/pi-subagents/src/runs/background/async-retention.ts +47 -17
- package/dist/extensions/pi-subagents/src/runs/background/async-status.ts +18 -5
- package/dist/extensions/pi-subagents/src/runs/background/auto-drain.ts +24 -11
- package/dist/extensions/pi-subagents/src/runs/background/await-async-run.ts +78 -0
- package/dist/extensions/pi-subagents/src/runs/background/binary-bootstrap.ts +66 -0
- package/dist/extensions/pi-subagents/src/runs/background/calendar-schedule.ts +90 -0
- package/dist/extensions/pi-subagents/src/runs/background/chain-append.ts +2 -2
- package/dist/extensions/pi-subagents/src/runs/background/chain-root-attachment.ts +19 -38
- package/dist/extensions/pi-subagents/src/runs/background/control-channel.ts +62 -3
- package/dist/extensions/pi-subagents/src/runs/background/fleet-view.ts +82 -10
- package/dist/extensions/pi-subagents/src/runs/background/notify.ts +259 -21
- package/dist/extensions/pi-subagents/src/runs/background/owned-process-tree.ts +30 -3
- package/dist/extensions/pi-subagents/src/runs/background/pid-namespace.ts +18 -0
- package/dist/extensions/pi-subagents/src/runs/background/process-terminal-candidate.ts +98 -0
- package/dist/extensions/pi-subagents/src/runs/background/process-terminal.ts +18 -97
- package/dist/extensions/pi-subagents/src/runs/background/result-files.ts +14 -5
- package/dist/extensions/pi-subagents/src/runs/background/result-watcher.ts +66 -12
- package/dist/extensions/pi-subagents/src/runs/background/retained-children.ts +4 -3
- package/dist/extensions/pi-subagents/src/runs/background/run-child-session.ts +126 -45
- package/dist/extensions/pi-subagents/src/runs/background/run-id-resolver.ts +11 -6
- package/dist/extensions/pi-subagents/src/runs/background/run-status.ts +18 -7
- package/dist/extensions/pi-subagents/src/runs/background/runner-aliases.ts +43 -51
- package/dist/extensions/pi-subagents/src/runs/background/runner-child-launch.ts +8 -1
- package/dist/extensions/pi-subagents/src/runs/background/runner-child-sessions.ts +5 -4
- package/dist/extensions/pi-subagents/src/runs/background/runner-http-dispatcher.ts +119 -0
- package/dist/extensions/pi-subagents/src/runs/background/runner-startup-failure.ts +56 -0
- package/dist/extensions/pi-subagents/src/runs/background/scheduled-runs.ts +233 -69
- package/dist/extensions/pi-subagents/src/runs/background/stale-run-reconciler.ts +67 -16
- package/dist/extensions/pi-subagents/src/runs/background/steering.ts +21 -3
- package/dist/extensions/pi-subagents/src/runs/background/subagent-runner-bootstrap.ts +276 -0
- package/dist/extensions/pi-subagents/src/runs/background/subagent-runner.ts +592 -573
- package/dist/extensions/pi-subagents/src/runs/background/subagent-wait.ts +177 -29
- package/dist/extensions/pi-subagents/src/runs/background/wait-completions.ts +77 -28
- package/dist/extensions/pi-subagents/src/runs/background/wait-subscriptions.ts +10 -4
- package/dist/extensions/pi-subagents/src/runs/background/wait-tool.ts +7 -13
- package/dist/extensions/pi-subagents/src/runs/background/workflow-terminal-proof.ts +41 -23
- package/dist/extensions/pi-subagents/src/runs/foreground/async-steering-action.ts +19 -8
- package/dist/extensions/pi-subagents/src/runs/foreground/async-stop-action.ts +130 -7
- package/dist/extensions/pi-subagents/src/runs/foreground/command-action.ts +41 -0
- package/dist/extensions/pi-subagents/src/runs/foreground/execution.ts +267 -385
- package/dist/extensions/pi-subagents/src/runs/foreground/foreground-history.ts +4 -2
- package/dist/extensions/pi-subagents/src/runs/foreground/prompt-audit.ts +6 -10
- package/dist/extensions/pi-subagents/src/runs/foreground/subagent-executor.ts +1158 -413
- package/dist/extensions/pi-subagents/src/runs/foreground/workflow-detach-reconcile.ts +3 -1
- package/dist/extensions/pi-subagents/src/runs/foreground/workflow-foreground-steering.ts +2 -1
- package/dist/extensions/pi-subagents/src/runs/shared/acceptance.ts +200 -74
- package/dist/extensions/pi-subagents/src/runs/shared/async-status-projection.ts +133 -34
- package/dist/extensions/pi-subagents/src/runs/shared/capability-ceiling.ts +6 -1
- package/dist/extensions/pi-subagents/src/runs/shared/child-commands.ts +228 -0
- package/dist/extensions/pi-subagents/src/runs/shared/child-hooks.ts +18 -18
- package/dist/extensions/pi-subagents/src/runs/shared/child-launch-plan.ts +16 -4
- package/dist/extensions/pi-subagents/src/runs/shared/child-launch.ts +55 -12
- package/dist/extensions/pi-subagents/src/runs/shared/child-lifecycle.ts +6 -3
- package/dist/extensions/pi-subagents/src/runs/shared/child-runtime-config.ts +11 -1
- package/dist/extensions/pi-subagents/src/runs/shared/child-session.ts +367 -74
- package/dist/extensions/pi-subagents/src/runs/shared/child-tool-plan.ts +50 -86
- package/dist/extensions/pi-subagents/src/runs/shared/claude-code-adapter.ts +288 -0
- package/dist/extensions/pi-subagents/src/runs/shared/codex-exec-adapter.ts +129 -0
- package/dist/extensions/pi-subagents/src/runs/shared/cursor-agent-adapter.ts +114 -0
- package/dist/extensions/pi-subagents/src/runs/shared/dynamic-fanout.ts +5 -5
- package/dist/extensions/pi-subagents/src/runs/shared/effective-system-prompt.ts +33 -0
- package/dist/extensions/pi-subagents/src/runs/shared/external-cli-contract.ts +49 -10
- package/dist/extensions/pi-subagents/src/runs/shared/external-cli-preflight.ts +61 -9
- package/dist/extensions/pi-subagents/src/runs/shared/external-cli-runner.ts +16 -9
- package/dist/extensions/pi-subagents/src/runs/shared/external-job-bridge.ts +55 -1
- package/dist/extensions/pi-subagents/src/runs/shared/git-environment.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/herdr-connection.ts +134 -0
- package/dist/extensions/pi-subagents/src/runs/shared/herdr-external-adapters.ts +169 -0
- package/dist/extensions/pi-subagents/src/runs/shared/herdr-machine.ts +279 -0
- package/dist/extensions/pi-subagents/src/runs/shared/herdr-pi-protocol.ts +59 -0
- package/dist/extensions/pi-subagents/src/runs/shared/herdr-placed-run.ts +263 -0
- package/dist/extensions/pi-subagents/src/runs/shared/mcp-config-sources.ts +6 -2
- package/dist/extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +108 -13
- package/dist/extensions/pi-subagents/src/runs/shared/mcp-direct-tool-grant.ts +23 -7
- package/dist/extensions/pi-subagents/src/runs/shared/model-resolution-diagnostic.ts +76 -0
- package/dist/extensions/pi-subagents/src/runs/shared/{model-fallback.ts → model-resolution.ts} +65 -245
- package/dist/extensions/pi-subagents/src/runs/shared/model-scope.ts +30 -11
- package/dist/extensions/pi-subagents/src/runs/shared/nested-events.ts +24 -3
- package/dist/extensions/pi-subagents/src/runs/shared/orca-progress-tabs.ts +5 -4
- package/dist/extensions/pi-subagents/src/runs/shared/parallel-handoff.ts +55 -7
- package/dist/extensions/pi-subagents/src/runs/shared/parallel-utils.ts +14 -4
- package/dist/extensions/pi-subagents/src/runs/shared/partial-output.ts +48 -0
- package/dist/extensions/pi-subagents/src/runs/shared/pi-spawn.ts +12 -4
- package/dist/extensions/pi-subagents/src/runs/shared/run-history.ts +88 -1
- package/dist/extensions/pi-subagents/src/runs/shared/single-output.ts +12 -3
- package/dist/extensions/pi-subagents/src/runs/shared/structured-output.ts +160 -9
- package/dist/extensions/pi-subagents/src/runs/shared/subagent-control.ts +35 -34
- package/dist/extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.ts +58 -19
- package/dist/extensions/pi-subagents/src/runs/shared/tool-availability.ts +2 -2
- package/dist/extensions/pi-subagents/src/runs/shared/tool-budget.ts +21 -0
- package/dist/extensions/pi-subagents/src/runs/shared/usage-reconciliation.ts +73 -0
- package/dist/extensions/pi-subagents/src/runs/shared/workflow-async-child-guidance.ts +18 -0
- package/dist/extensions/pi-subagents/src/runs/shared/worktree-cleanup-apply.ts +160 -0
- package/dist/extensions/pi-subagents/src/runs/shared/worktree-cleanup-plan.ts +42 -20
- package/dist/extensions/pi-subagents/src/runs/shared/worktree-lock.ts +29 -0
- package/dist/extensions/pi-subagents/src/runs/shared/worktree-setup-command.ts +27 -4
- package/dist/extensions/pi-subagents/src/runs/shared/worktree.ts +94 -26
- package/dist/extensions/pi-subagents/src/shared/child-cache-retention.ts +43 -0
- package/dist/extensions/pi-subagents/src/shared/child-session-name.ts +5 -3
- package/dist/extensions/pi-subagents/src/shared/disabled-features.ts +123 -0
- package/dist/extensions/pi-subagents/src/shared/extension-context.ts +14 -1
- package/dist/extensions/pi-subagents/src/shared/file-lease.ts +74 -0
- package/dist/extensions/pi-subagents/src/shared/fork-context.ts +27 -77
- package/dist/extensions/pi-subagents/src/shared/launch-contract.ts +70 -10
- package/dist/extensions/pi-subagents/src/shared/model-info.ts +10 -1
- package/dist/extensions/pi-subagents/src/shared/opencode-session-headers.ts +30 -0
- package/dist/extensions/pi-subagents/src/shared/package-version.ts +17 -0
- package/dist/extensions/pi-subagents/src/shared/parent-wake.ts +66 -0
- package/dist/extensions/pi-subagents/src/shared/pruned-fork.ts +71 -58
- package/dist/extensions/pi-subagents/src/shared/required-child-extensions.ts +115 -0
- package/dist/extensions/pi-subagents/src/shared/settings-file-lease.ts +36 -0
- package/dist/extensions/pi-subagents/src/shared/settings.ts +7 -4
- package/dist/extensions/pi-subagents/src/shared/shortcuts.ts +1 -5
- package/dist/extensions/pi-subagents/src/shared/types.ts +146 -48
- package/dist/extensions/pi-subagents/src/slash/delegation-adapters.ts +28 -2
- package/dist/extensions/pi-subagents/src/slash/delegation-request.ts +15 -1
- package/dist/extensions/pi-subagents/src/slash/prompt-template-bridge.ts +19 -4
- package/dist/extensions/pi-subagents/src/slash/prompt-workflows.ts +13 -2
- package/dist/extensions/pi-subagents/src/slash/slash-commands.ts +15 -15
- package/dist/extensions/pi-subagents/src/slash/subagent-cost.ts +46 -9
- package/dist/extensions/pi-subagents/src/slash/subagents-admin.ts +29 -16
- package/dist/extensions/pi-subagents/src/tui/fleet-status.ts +201 -26
- package/dist/extensions/pi-subagents/src/tui/fleet.ts +33 -16
- package/dist/extensions/pi-subagents/src/tui/render.ts +334 -103
- package/dist/extensions/pi-subagents/src/tui/running-tone.ts +28 -0
- package/dist/extensions/pi-subagents/src/watchdog/child-status.ts +27 -28
- package/dist/extensions/pi-subagents/src/watchdog/diff-tool.ts +47 -12
- package/dist/extensions/pi-subagents/src/watchdog/lsp-diagnostics.ts +2 -2
- package/dist/extensions/pi-subagents/src/watchdog/model-selection.ts +22 -2
- package/dist/extensions/pi-subagents/src/watchdog/permission-arbiter.ts +17 -17
- package/dist/extensions/pi-subagents/src/watchdog/register-child.ts +24 -8
- package/dist/extensions/pi-subagents/src/watchdog/register-main.ts +43 -39
- package/dist/extensions/pi-subagents/src/watchdog/render.ts +2 -2
- package/dist/extensions/pi-subagents/src/watchdog/review.ts +127 -78
- package/dist/extensions/pi-subagents/src/watchdog/rules.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/runtime.ts +107 -31
- package/dist/extensions/pi-subagents/src/watchdog/scope.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/settings.ts +22 -14
- package/dist/extensions/pi-subagents/src/watchdog/tool-actions.ts +14 -13
- package/dist/extensions/pi-subagents/src/watchdog/turn-delta.ts +35 -6
- package/dist/extensions/pi-subagents/src/watchdog/types.ts +6 -4
- package/dist/extensions/pi-subagents/src/watchdog/warning-format.ts +2 -2
- package/dist/extensions/pi-subagents/src/workflows/chat-progress.ts +3 -3
- package/dist/extensions/pi-subagents/src/workflows/scripted-workflow.ts +500 -65
- package/dist/extensions/pi-subagents/src/workflows/structured-workflow-scripts.ts +177 -0
- package/dist/extensions/pi-subagents/src/workflows/workflow-checklist.ts +8 -2
- package/dist/extensions/pi-subagents/src/workflows/workflow-child-summary.ts +5 -3
- package/dist/extensions/pi-subagents/src/workflows/workflow-receipt.ts +70 -10
- package/dist/extensions/pi-subagents/src/workflows/workflow-resources.ts +57 -18
- package/dist/extensions/pi-subagents/src/workflows/workflow-reuse.ts +120 -0
- package/dist/extensions/pi-subagents/src/workflows/workflow-revival.ts +123 -0
- package/dist/extensions/pi-subagents/src/workflows/workflow-settlement.ts +5 -2
- package/dist/extensions/pi-subagents/test/fixtures/cwd-workflow-child.ts +37 -0
- package/dist/extensions/pi-subagents/test/fixtures/herdr-allocation-lock-child.ts +16 -0
- package/dist/extensions/pi-subagents/test/fixtures/herdr-provision-child.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/native-nested-wait-provider.ts +76 -0
- package/dist/extensions/pi-subagents/test/fixtures/runner-bootstrap-harness.ts +36 -0
- package/dist/extensions/pi-subagents/test/fixtures/schedule-history-writer.mjs +48 -0
- package/dist/extensions/pi-subagents/test/fixtures/settings-race-writer.mjs +57 -0
- package/dist/extensions/pi-subagents/test/fixtures/workflow-cwd-access-failure.ts +33 -0
- package/dist/extensions/pi-subagents/test/integration/acceptance-file-report.test.ts +40 -7
- package/dist/extensions/pi-subagents/test/integration/async-attention-clearing.test.ts +9 -8
- package/dist/extensions/pi-subagents/test/integration/async-execution.part-1.test.ts +435 -276
- package/dist/extensions/pi-subagents/test/integration/async-execution.part-2.test.ts +435 -397
- package/dist/extensions/pi-subagents/test/integration/async-execution.part-3.test.ts +918 -497
- package/dist/extensions/pi-subagents/test/integration/async-execution.part-4.test.ts +264 -17
- package/dist/extensions/pi-subagents/test/integration/async-job-tracker.test.ts +185 -22
- package/dist/extensions/pi-subagents/test/integration/async-status.test.ts +3 -2
- package/dist/extensions/pi-subagents/test/integration/claude-code-dispatch.test.ts +127 -0
- package/dist/extensions/pi-subagents/test/integration/deadline-checkpoint.test.ts +126 -0
- package/dist/extensions/pi-subagents/test/integration/doctor-executor.test.ts +29 -1
- package/dist/extensions/pi-subagents/test/integration/error-handling.test.ts +88 -0
- package/dist/extensions/pi-subagents/test/integration/external-cli-runner.test.ts +450 -13
- package/dist/extensions/pi-subagents/test/integration/foreign-workflow-steering.test.ts +10 -6
- package/dist/extensions/pi-subagents/test/integration/fork-context-execution.test.ts +105 -86
- package/dist/extensions/pi-subagents/test/integration/in-process-child.test.ts +403 -18
- package/dist/extensions/pi-subagents/test/integration/inline-workflow-visibility.test.ts +351 -0
- package/dist/extensions/pi-subagents/test/integration/intercom-result-delivery.test.ts +195 -10
- package/dist/extensions/pi-subagents/test/integration/model-resolution-diagnostic.test.ts +108 -0
- package/dist/extensions/pi-subagents/test/integration/nested-async-wait.test.ts +61 -0
- package/dist/extensions/pi-subagents/test/integration/orca-progress-tabs.test.ts +5 -4
- package/dist/extensions/pi-subagents/test/integration/recovered-assistant-error.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/integration/render-fork-badge.test.ts +6 -4
- package/dist/extensions/pi-subagents/test/integration/render-widget-mouse.test.ts +84 -0
- package/dist/extensions/pi-subagents/test/integration/render-widget.test.ts +242 -16
- package/dist/extensions/pi-subagents/test/integration/result-publication.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/integration/result-watcher.test.ts +158 -4
- package/dist/extensions/pi-subagents/test/integration/single-execution.part-1.test.ts +1435 -248
- package/dist/extensions/pi-subagents/test/integration/single-execution.part-2.test.ts +454 -515
- package/dist/extensions/pi-subagents/test/integration/slash-commands.test.ts +140 -21
- package/dist/extensions/pi-subagents/test/integration/structured-workflows.test.ts +105 -0
- package/dist/extensions/pi-subagents/test/integration/workflow-result-publication.test.ts +90 -11
- package/dist/extensions/pi-subagents/test/integration/workflow-steer-inbox.test.ts +18 -15
- package/dist/extensions/pi-subagents/test/integration/workflow-worktree-admission.test.ts +100 -0
- package/dist/extensions/pi-subagents/test/smoke/clean-install.mjs +106 -0
- package/dist/extensions/pi-subagents/test/smoke/npm-background.mjs +43 -0
- package/dist/extensions/pi-subagents/test/smoke/packed-runner-selection.mjs +42 -0
- package/dist/extensions/pi-subagents/test/smoke/runner-loader-capability.mjs +50 -0
- package/dist/extensions/pi-subagents/test/smoke/sdk-child.ts +57 -0
- package/dist/extensions/pi-subagents/test/smoke/{pi085-extension.ts → sdk-extension.ts} +2 -2
- package/dist/extensions/pi-subagents/test/smoke/standalone-background.mjs +140 -0
- package/dist/extensions/pi-subagents/test/smoke/standalone-fault.ts +43 -0
- package/dist/extensions/pi-subagents/test/smoke/standalone-matrix.mjs +65 -0
- package/dist/extensions/pi-subagents/test/smoke/standalone-observer.ts +8 -0
- package/dist/extensions/pi-subagents/test/smoke/standalone-parent.ts +220 -0
- package/dist/extensions/pi-subagents/test/smoke/standalone-provider.ts +58 -0
- package/dist/extensions/pi-subagents/test/smoke/standalone-release.json +8 -0
- package/dist/extensions/pi-subagents/test/smoke/standalone-revival.ts +109 -0
- package/dist/extensions/pi-subagents/test/smoke/standalone-shared.ts +79 -0
- package/dist/extensions/pi-subagents/test/smoke/tool-activation.test.ts +128 -0
- package/dist/extensions/pi-subagents/test/support/async-execution-fixture.ts +6 -25
- package/dist/extensions/pi-subagents/test/support/async-result-timeout-evidence.ts +61 -0
- package/dist/extensions/pi-subagents/test/support/fake-child-session.ts +122 -9
- package/dist/extensions/pi-subagents/test/support/foreign-workflow-steer-host.mjs +15 -7
- package/dist/extensions/pi-subagents/test/support/helpers.ts +11 -14
- package/dist/extensions/pi-subagents/test/support/isolated-temp-root.mjs +21 -3
- package/dist/extensions/pi-subagents/test/support/native-peer-loader.mjs +15 -0
- package/dist/extensions/pi-subagents/test/support/node-command.ts +29 -6
- package/dist/extensions/pi-subagents/test/support/notify-diagnostics-fixture.ts +5 -3
- package/dist/extensions/pi-subagents/test/support/single-execution-fixture.ts +7 -15
- package/dist/extensions/pi-subagents/test/support/watchdog-stable-host-loader.mjs +23 -0
- package/dist/extensions/pi-subagents/test/unit/acceptance-compaction.test.ts +3 -3
- package/dist/extensions/pi-subagents/test/unit/acceptance.test.ts +158 -155
- package/dist/extensions/pi-subagents/test/unit/active-async-capacity.test.ts +52 -1
- package/dist/extensions/pi-subagents/test/unit/advertised-agent-prompt.test.ts +21 -17
- package/dist/extensions/pi-subagents/test/unit/advertised-agent-refresh.test.ts +105 -36
- package/dist/extensions/pi-subagents/test/unit/advertisement-barrier.test.ts +151 -0
- package/dist/extensions/pi-subagents/test/unit/agent-disabled.test.ts +1 -2
- package/dist/extensions/pi-subagents/test/unit/agent-eject-disable.test.ts +33 -3
- package/dist/extensions/pi-subagents/test/unit/agent-end-auto-drain.test.ts +149 -0
- package/dist/extensions/pi-subagents/test/unit/agent-exclude-dirs.test.ts +246 -0
- package/dist/extensions/pi-subagents/test/unit/agent-frontmatter.test.ts +62 -87
- package/dist/extensions/pi-subagents/test/unit/agent-global-root-override.test.ts +86 -0
- package/dist/extensions/pi-subagents/test/unit/agent-management.test.ts +398 -48
- package/dist/extensions/pi-subagents/test/unit/agent-memory.test.ts +126 -1
- package/dist/extensions/pi-subagents/test/unit/agent-name-resolution.test.ts +75 -0
- package/dist/extensions/pi-subagents/test/unit/agent-overrides.test.ts +94 -42
- package/dist/extensions/pi-subagents/test/unit/async-execution.test.ts +73 -3
- package/dist/extensions/pi-subagents/test/unit/async-interrupt-action.test.ts +428 -2
- package/dist/extensions/pi-subagents/test/unit/async-permission-session.test.ts +4 -4
- package/dist/extensions/pi-subagents/test/unit/async-recovery-descriptor.test.ts +112 -1
- package/dist/extensions/pi-subagents/test/unit/async-result-timeout-evidence.test.ts +53 -0
- package/dist/extensions/pi-subagents/test/unit/async-resume.test.ts +92 -4
- package/dist/extensions/pi-subagents/test/unit/async-retention.test.ts +58 -6
- package/dist/extensions/pi-subagents/test/unit/async-run-history.test.ts +123 -0
- package/dist/extensions/pi-subagents/test/unit/async-spawn-package-dir.test.ts +203 -0
- package/dist/extensions/pi-subagents/test/unit/async-spawn-preload.test.ts +26 -35
- package/dist/extensions/pi-subagents/test/unit/async-status-projection.test.ts +185 -0
- package/dist/extensions/pi-subagents/test/unit/authority-policy.test.ts +9 -1
- package/dist/extensions/pi-subagents/test/unit/auto-drain.test.ts +106 -1
- package/dist/extensions/pi-subagents/test/unit/await-async-run.test.ts +202 -0
- package/dist/extensions/pi-subagents/test/unit/binary-async-spawn.test.ts +115 -0
- package/dist/extensions/pi-subagents/test/unit/binary-pi-spawn.test.ts +27 -0
- package/dist/extensions/pi-subagents/test/unit/calendar-schedule.test.ts +70 -0
- package/dist/extensions/pi-subagents/test/unit/capability-ceiling-agent-allowlist.test.ts +38 -0
- package/dist/extensions/pi-subagents/test/unit/chain-root-attachment.test.ts +10 -2
- package/dist/extensions/pi-subagents/test/unit/changelog-format.test.ts +11 -0
- package/dist/extensions/pi-subagents/test/unit/child-cache-retention.test.ts +87 -0
- package/dist/extensions/pi-subagents/test/unit/child-commands.test.ts +243 -0
- package/dist/extensions/pi-subagents/test/unit/child-external-job-bridge.test.ts +126 -0
- package/dist/extensions/pi-subagents/test/unit/child-launch-plan.test.ts +12 -1
- package/dist/extensions/pi-subagents/test/unit/child-lifecycle.test.ts +36 -0
- package/dist/extensions/pi-subagents/test/unit/child-runtime-config.test.ts +24 -0
- package/dist/extensions/pi-subagents/test/unit/child-session-commands.test.ts +162 -0
- package/dist/extensions/pi-subagents/test/unit/child-session-host-sdk.test.ts +226 -0
- package/dist/extensions/pi-subagents/test/unit/child-session-parent-providers.test.ts +200 -0
- package/dist/extensions/pi-subagents/test/unit/child-session-queued.test.ts +260 -0
- package/dist/extensions/pi-subagents/test/unit/child-tool-plan-permission-system.test.ts +3 -98
- package/dist/extensions/pi-subagents/test/unit/child-tool-plan.test.ts +222 -1
- package/dist/extensions/pi-subagents/test/unit/claude-code-adapter.test.ts +314 -0
- package/dist/extensions/pi-subagents/test/unit/claude-code-dispatch.test.ts +182 -0
- package/dist/extensions/pi-subagents/test/unit/codex-exec-adapter.test.ts +157 -0
- package/dist/extensions/pi-subagents/test/unit/command-action.test.ts +50 -0
- package/dist/extensions/pi-subagents/test/unit/compaction-resume.test.ts +25 -11
- package/dist/extensions/pi-subagents/test/unit/completion-replay.test.ts +3 -1
- package/dist/extensions/pi-subagents/test/unit/control-channel.test.ts +18 -0
- package/dist/extensions/pi-subagents/test/unit/control-notices.test.ts +7 -1
- package/dist/extensions/pi-subagents/test/unit/cursor-agent-adapter.test.ts +220 -0
- package/dist/extensions/pi-subagents/test/unit/default-extensions.test.ts +104 -32
- package/dist/extensions/pi-subagents/test/unit/delegation-api.test.ts +138 -1
- package/dist/extensions/pi-subagents/test/unit/disabled-features.test.ts +227 -0
- package/dist/extensions/pi-subagents/test/unit/doctor.test.ts +48 -9
- package/dist/extensions/pi-subagents/test/unit/dynamic-fanout.test.ts +7 -4
- package/dist/extensions/pi-subagents/test/unit/extension-lazy-loading.test.ts +21 -0
- package/dist/extensions/pi-subagents/test/unit/extension-maintenance-lifecycle.test.ts +66 -0
- package/dist/extensions/pi-subagents/test/unit/extension-module-preload.test.ts +49 -0
- package/dist/extensions/pi-subagents/test/unit/external-cli-runner.test.ts +104 -3
- package/dist/extensions/pi-subagents/test/unit/file-lease.test.ts +17 -0
- package/dist/extensions/pi-subagents/test/unit/fleet-status.test.ts +316 -0
- package/dist/extensions/pi-subagents/test/unit/fleet.test.ts +58 -7
- package/dist/extensions/pi-subagents/test/unit/fork-context.test.ts +25 -96
- package/dist/extensions/pi-subagents/test/unit/ghostty-inspector.test.ts +92 -0
- package/dist/extensions/pi-subagents/test/unit/global-npm-root.test.ts +108 -0
- package/dist/extensions/pi-subagents/test/unit/herdr-connection.test.ts +43 -0
- package/dist/extensions/pi-subagents/test/unit/herdr-external-adapters.test.ts +89 -0
- package/dist/extensions/pi-subagents/test/unit/herdr-inspector-bootstrap.test.ts +11 -20
- package/dist/extensions/pi-subagents/test/unit/herdr-inspector.test.ts +113 -19
- package/dist/extensions/pi-subagents/test/unit/herdr-machine.test.ts +161 -0
- package/dist/extensions/pi-subagents/test/unit/herdr-native-placement.test.ts +187 -0
- package/dist/extensions/pi-subagents/test/unit/herdr-session-roots-codec.test.ts +7 -12
- package/dist/extensions/pi-subagents/test/unit/herdr-shell-command.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/herdr-status-bridge.test.ts +182 -87
- package/dist/extensions/pi-subagents/test/unit/host-peer-runtime-imports.test.ts +68 -49
- package/dist/extensions/pi-subagents/test/unit/index-child-registration.test.ts +295 -135
- package/dist/extensions/pi-subagents/test/unit/inspect-rpc.test.ts +3 -3
- package/dist/extensions/pi-subagents/test/unit/inspector-authority-policy.test.ts +144 -0
- package/dist/extensions/pi-subagents/test/unit/inspector-registration.test.ts +128 -0
- package/dist/extensions/pi-subagents/test/unit/intercom-bridge.test.ts +49 -1
- package/dist/extensions/pi-subagents/test/unit/mcp-direct-tool-grant.test.ts +74 -1
- package/dist/extensions/pi-subagents/test/unit/mcp-direct-tool-resolution.test.ts +112 -0
- package/dist/extensions/pi-subagents/test/unit/mission-global-projection.test.ts +215 -0
- package/dist/extensions/pi-subagents/test/unit/mission-goal-driver.test.ts +65 -1
- package/dist/extensions/pi-subagents/test/unit/mission-store.test.ts +2 -1
- package/dist/extensions/pi-subagents/test/unit/model-resolution-diagnostic.test.ts +78 -0
- package/dist/extensions/pi-subagents/test/unit/model-resolution.test.ts +153 -0
- package/dist/extensions/pi-subagents/test/unit/model-scope.test.ts +43 -1
- package/dist/extensions/pi-subagents/test/unit/mutation-evidence.test.ts +1 -21
- package/dist/extensions/pi-subagents/test/unit/native-supervisor-channel.test.ts +279 -2
- package/dist/extensions/pi-subagents/test/unit/nested-control-fanout.test.ts +73 -0
- package/dist/extensions/pi-subagents/test/unit/nested-control.test.ts +297 -3
- package/dist/extensions/pi-subagents/test/unit/notify-diagnostics.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/notify.test.ts +431 -23
- package/dist/extensions/pi-subagents/test/unit/opencode-session-headers.test.ts +32 -0
- package/dist/extensions/pi-subagents/test/unit/orca-progress-tabs.test.ts +89 -21
- package/dist/extensions/pi-subagents/test/unit/owned-process-tree.test.ts +31 -1
- package/dist/extensions/pi-subagents/test/unit/package-manifest.test.ts +18 -24
- package/dist/extensions/pi-subagents/test/unit/parent-wake.test.ts +206 -0
- package/dist/extensions/pi-subagents/test/unit/partial-output.test.ts +53 -0
- package/dist/extensions/pi-subagents/test/unit/pi-coding-agent-dir.test.ts +216 -32
- package/dist/extensions/pi-subagents/test/unit/pi-spawn-host-root.test.ts +82 -0
- package/dist/extensions/pi-subagents/test/unit/pi-subagents-policy-guidance.test.ts +28 -0
- package/dist/extensions/pi-subagents/test/unit/preflight.test.ts +193 -104
- package/dist/extensions/pi-subagents/test/unit/proactive-skills.test.ts +16 -1
- package/dist/extensions/pi-subagents/test/unit/process-terminal.test.ts +17 -1
- package/dist/extensions/pi-subagents/test/unit/profiles.test.ts +89 -9
- package/dist/extensions/pi-subagents/test/unit/prompt-audit-optional-peers.test.ts +6 -0
- package/dist/extensions/pi-subagents/test/unit/prompt-audit-provider-routing.test.ts +69 -0
- package/dist/extensions/pi-subagents/test/unit/prompt-template-bridge.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/prompt-workflows.test.ts +23 -1
- package/dist/extensions/pi-subagents/test/unit/pruned-fork.test.ts +117 -3
- package/dist/extensions/pi-subagents/test/unit/public-execution.test.ts +35 -14
- package/dist/extensions/pi-subagents/test/unit/readonly-drain-observation.test.ts +3 -2
- package/dist/extensions/pi-subagents/test/unit/render-helpers.test.ts +261 -9
- package/dist/extensions/pi-subagents/test/unit/reply-workflow-script.test.ts +37 -0
- package/dist/extensions/pi-subagents/test/unit/required-child-extensions.test.ts +114 -0
- package/dist/extensions/pi-subagents/test/unit/result-intercom.test.ts +11 -1
- package/dist/extensions/pi-subagents/test/unit/retained-children.test.ts +22 -2
- package/dist/extensions/pi-subagents/test/unit/rpc.test.ts +125 -18
- package/dist/extensions/pi-subagents/test/unit/run-child-session.test.ts +230 -0
- package/dist/extensions/pi-subagents/test/unit/run-id-resolver.test.ts +50 -1
- package/dist/extensions/pi-subagents/test/unit/run-status.test.ts +301 -4
- package/dist/extensions/pi-subagents/test/unit/runner-bootstrap.test.ts +182 -0
- package/dist/extensions/pi-subagents/test/unit/runner-http-dispatcher.test.ts +136 -0
- package/dist/extensions/pi-subagents/test/unit/runner-peer-loader.test.ts +68 -0
- package/dist/extensions/pi-subagents/test/unit/runner-peer-symlinks.test.ts +50 -0
- package/dist/extensions/pi-subagents/test/unit/running-tone.test.ts +13 -0
- package/dist/extensions/pi-subagents/test/unit/runtime-agent-registration.test.ts +155 -4
- package/dist/extensions/pi-subagents/test/unit/schedule-claim-initialization.test.ts +71 -0
- package/dist/extensions/pi-subagents/test/unit/schedule-claim-preservation.test.ts +98 -0
- package/dist/extensions/pi-subagents/test/unit/schedule-history-transactions.test.ts +201 -0
- package/dist/extensions/pi-subagents/test/unit/scheduled-mission.test.ts +317 -0
- package/dist/extensions/pi-subagents/test/unit/scheduled-runs.test.ts +412 -11
- package/dist/extensions/pi-subagents/test/unit/scheduled-store-root.test.ts +2 -8
- package/dist/extensions/pi-subagents/test/unit/schemas.test.ts +70 -71
- package/dist/extensions/pi-subagents/test/unit/scripted-workflow.test.ts +748 -5
- package/dist/extensions/pi-subagents/test/unit/session-liveness-delivery.test.ts +337 -0
- package/dist/extensions/pi-subagents/test/unit/settings-atomic-save.test.ts +419 -0
- package/dist/extensions/pi-subagents/test/unit/settings-transactions.test.ts +88 -0
- package/dist/extensions/pi-subagents/test/unit/single-output.test.ts +13 -1
- package/dist/extensions/pi-subagents/test/unit/skills-disable-model-invocation.test.ts +164 -0
- package/dist/extensions/pi-subagents/test/unit/skills-fallback.test.ts +35 -2
- package/dist/extensions/pi-subagents/test/unit/slash-bridge.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/stale-run-reconciler.test.ts +334 -9
- package/dist/extensions/pi-subagents/test/unit/steering-action.test.ts +170 -0
- package/dist/extensions/pi-subagents/test/unit/steering.test.ts +34 -5
- package/dist/extensions/pi-subagents/test/unit/structured-output-validation.test.ts +199 -0
- package/dist/extensions/pi-subagents/test/unit/structured-workflow-resources.test.ts +241 -0
- package/dist/extensions/pi-subagents/test/unit/subagent-control.test.ts +47 -38
- package/dist/extensions/pi-subagents/test/unit/subagent-cost.test.ts +97 -0
- package/dist/extensions/pi-subagents/test/unit/subagent-guide.test.ts +10 -0
- package/dist/extensions/pi-subagents/test/unit/subagent-prompt-runtime.test.ts +343 -44
- package/dist/extensions/pi-subagents/test/unit/subagent-wait.test.ts +410 -11
- package/dist/extensions/pi-subagents/test/unit/supervisor-ask-registration.test.ts +459 -22
- package/dist/extensions/pi-subagents/test/unit/temp-paths.test.ts +43 -3
- package/dist/extensions/pi-subagents/test/unit/timeout-defaults.test.ts +11 -1
- package/dist/extensions/pi-subagents/test/unit/tool-activation-stale-peer.test.ts +32 -0
- package/dist/extensions/pi-subagents/test/unit/tool-activation.test.ts +313 -0
- package/dist/extensions/pi-subagents/test/unit/tool-budget.test.ts +14 -0
- package/dist/extensions/pi-subagents/test/unit/tool-description.test.ts +76 -89
- package/dist/extensions/pi-subagents/test/unit/typed-gate-output.test.ts +141 -0
- package/dist/extensions/pi-subagents/test/unit/upgrade-notice.test.ts +31 -0
- package/dist/extensions/pi-subagents/test/unit/usage-reconciliation-owners.test.ts +66 -0
- package/dist/extensions/pi-subagents/test/unit/usage-reconciliation.test.ts +23 -0
- package/dist/extensions/pi-subagents/test/unit/wait-completions.test.ts +195 -1
- package/dist/extensions/pi-subagents/test/unit/wait-subscriptions.test.ts +3 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-child-status.test.ts +48 -45
- package/dist/extensions/pi-subagents/test/unit/watchdog-compaction-scope.test.ts +94 -0
- package/dist/extensions/pi-subagents/test/unit/watchdog-diff-tool.test.ts +48 -3
- package/dist/extensions/pi-subagents/test/unit/watchdog-native-scheduling.test.ts +107 -0
- package/dist/extensions/pi-subagents/test/unit/watchdog-permission-arbiter.test.ts +95 -7
- package/dist/extensions/pi-subagents/test/unit/watchdog-register-child.test.ts +79 -0
- package/dist/extensions/pi-subagents/test/unit/watchdog-render.test.ts +7 -4
- package/dist/extensions/pi-subagents/test/unit/watchdog-review.test.ts +111 -24
- package/dist/extensions/pi-subagents/test/unit/watchdog-rules.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-runtime.test.ts +283 -2
- package/dist/extensions/pi-subagents/test/unit/watchdog-scope.test.ts +3 -0
- package/dist/extensions/pi-subagents/test/unit/watchdog-settings.test.ts +12 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-stable-host-layout.test.ts +23 -0
- package/dist/extensions/pi-subagents/test/unit/watchdog-tool-actions.test.ts +30 -0
- package/dist/extensions/pi-subagents/test/unit/watchdog-turn-delta.test.ts +39 -2
- package/dist/extensions/pi-subagents/test/unit/widget-nested-render.test.ts +18 -1
- package/dist/extensions/pi-subagents/test/unit/workflow-chat-progress.test.ts +8 -4
- package/dist/extensions/pi-subagents/test/unit/workflow-child-summary.test.ts +10 -0
- package/dist/extensions/pi-subagents/test/unit/workflow-detach-reconcile.test.ts +6 -3
- package/dist/extensions/pi-subagents/test/unit/workflow-launch-params.test.ts +44 -1
- package/dist/extensions/pi-subagents/test/unit/workflow-receipt.test.ts +28 -1
- package/dist/extensions/pi-subagents/test/unit/workflow-revival.test.ts +85 -0
- package/dist/extensions/pi-subagents/test/unit/workflow-scripts-feature.test.ts +177 -0
- package/dist/extensions/pi-subagents/test/unit/workflow-terminal-proof.test.ts +8 -0
- package/dist/extensions/pi-subagents/test/unit/workflow-worktree-admission.test.ts +29 -0
- package/dist/extensions/pi-subagents/test/unit/worktree-cleanup-plan.test.ts +343 -4
- package/dist/extensions/pi-subagents/test/unit/worktree-lock.test.ts +123 -0
- package/dist/extensions/pi-subagents/test/unit/worktree.test.ts +252 -22
- package/dist/extensions/pi-subagents/tsconfig.build.json +13 -0
- package/dist/extensions/pi-tool-display/tests/custom-tool-overrides.test.ts +1 -1
- package/dist/extensions/pi-tool-display/tests/tool-overrides-config.test.ts +1 -1
- package/dist/extensions/pi-tool-display/tests/tool-overrides-mcp.test.ts +24 -1
- package/dist/extensions/pi-tool-display/tests/tool-overrides-registration.test.ts +6 -2
- package/dist/extensions/pi-web-agent/src/extension.ts +1 -5
- package/dist/extensions/pi-zentui/.github/workflows/ci.yml +67 -4
- package/dist/extensions/pi-zentui/AGENTS.md +3 -2
- package/dist/extensions/pi-zentui/README.md +60 -32
- package/dist/extensions/pi-zentui/docs/configuration.md +662 -51
- package/dist/extensions/pi-zentui/docs/footer-format.md +174 -5
- package/dist/extensions/pi-zentui/extensions/zentui/accent-rail-editor.ts +15 -4
- package/dist/extensions/pi-zentui/extensions/zentui/average-token-rate.ts +146 -0
- package/dist/extensions/pi-zentui/extensions/zentui/codex-quota-display.ts +34 -0
- package/dist/extensions/pi-zentui/extensions/zentui/codex-quota.ts +298 -0
- package/dist/extensions/pi-zentui/extensions/zentui/component-colors.ts +172 -0
- package/dist/extensions/pi-zentui/extensions/zentui/component-settings.ts +243 -0
- package/dist/extensions/pi-zentui/extensions/zentui/config.ts +851 -114
- package/dist/extensions/pi-zentui/extensions/zentui/custom-value-colors.ts +93 -0
- package/dist/extensions/pi-zentui/extensions/zentui/custom-variable-demand.ts +61 -0
- package/dist/extensions/pi-zentui/extensions/zentui/custom-variable-format.ts +80 -0
- package/dist/extensions/pi-zentui/extensions/zentui/custom-variables.ts +152 -0
- package/dist/extensions/pi-zentui/extensions/zentui/editor-metadata-format.ts +138 -23
- package/dist/extensions/pi-zentui/extensions/zentui/editor-mouse.ts +89 -0
- package/dist/extensions/pi-zentui/extensions/zentui/extension-status-controller.ts +148 -0
- package/dist/extensions/pi-zentui/extensions/zentui/extension-status-settings.ts +40 -0
- package/dist/extensions/pi-zentui/extensions/zentui/extension-status.ts +109 -1
- package/dist/extensions/pi-zentui/extensions/zentui/footer-format.ts +203 -23
- package/dist/extensions/pi-zentui/extensions/zentui/footer-layout.ts +80 -3
- package/dist/extensions/pi-zentui/extensions/zentui/footer-text.ts +1 -1
- package/dist/extensions/pi-zentui/extensions/zentui/footer.ts +432 -125
- package/dist/extensions/pi-zentui/extensions/zentui/format.ts +92 -4
- package/dist/extensions/pi-zentui/extensions/zentui/git.ts +47 -30
- package/dist/extensions/pi-zentui/extensions/zentui/github-status.ts +575 -0
- package/dist/extensions/pi-zentui/extensions/zentui/host-project-changes.ts +25 -0
- package/dist/extensions/pi-zentui/extensions/zentui/host-template-values.ts +29 -0
- package/dist/extensions/pi-zentui/extensions/zentui/icons.ts +53 -13
- package/dist/extensions/pi-zentui/extensions/zentui/index.ts +778 -258
- package/dist/extensions/pi-zentui/extensions/zentui/interaction-summary.ts +70 -5
- package/dist/extensions/pi-zentui/extensions/zentui/layered-editor.ts +55 -0
- package/dist/extensions/pi-zentui/extensions/zentui/live-context.ts +6 -1
- package/dist/extensions/pi-zentui/extensions/zentui/live-metadata-demand.ts +72 -0
- package/dist/extensions/pi-zentui/extensions/zentui/live-metadata-display.ts +21 -0
- package/dist/extensions/pi-zentui/extensions/zentui/live-metadata.ts +255 -0
- package/dist/extensions/pi-zentui/extensions/zentui/minimalist-editor.ts +476 -36
- package/dist/extensions/pi-zentui/extensions/zentui/minimalist-settings.ts +118 -0
- package/dist/extensions/pi-zentui/extensions/zentui/minimalist-template.ts +177 -0
- package/dist/extensions/pi-zentui/extensions/zentui/omp-editor-frame.ts +148 -0
- package/dist/extensions/pi-zentui/extensions/zentui/omp-statusline.ts +569 -0
- package/dist/extensions/pi-zentui/extensions/zentui/omp-template-lookups.ts +344 -0
- package/dist/extensions/pi-zentui/extensions/zentui/omp-template-metrics.ts +91 -0
- package/dist/extensions/pi-zentui/extensions/zentui/omp-template-modes.ts +323 -0
- package/dist/extensions/pi-zentui/extensions/zentui/omp-ui.ts +210 -0
- package/dist/extensions/pi-zentui/extensions/zentui/package-version.ts +30 -12
- package/dist/extensions/pi-zentui/extensions/zentui/project-demand.ts +46 -0
- package/dist/extensions/pi-zentui/extensions/zentui/project-discovery.ts +58 -0
- package/dist/extensions/pi-zentui/extensions/zentui/project-refresh.ts +10 -3
- package/dist/extensions/pi-zentui/extensions/zentui/project-state.ts +37 -0
- package/dist/extensions/pi-zentui/extensions/zentui/repository-root.ts +1 -0
- package/dist/extensions/pi-zentui/extensions/zentui/runtime.ts +119 -43
- package/dist/extensions/pi-zentui/extensions/zentui/selector-border.ts +40 -29
- package/dist/extensions/pi-zentui/extensions/zentui/settings-command.ts +1268 -722
- package/dist/extensions/pi-zentui/extensions/zentui/settings-keys.ts +59 -0
- package/dist/extensions/pi-zentui/extensions/zentui/settings-list-selection.ts +13 -0
- package/dist/extensions/pi-zentui/extensions/zentui/settings-previews.ts +11 -4
- package/dist/extensions/pi-zentui/extensions/zentui/state.ts +24 -11
- package/dist/extensions/pi-zentui/extensions/zentui/style.ts +6 -0
- package/dist/extensions/pi-zentui/extensions/zentui/telemetry.ts +113 -11
- package/dist/extensions/pi-zentui/extensions/zentui/thinking-experimental.ts +234 -46
- package/dist/extensions/pi-zentui/extensions/zentui/thinking-steps.ts +20 -5
- package/dist/extensions/pi-zentui/extensions/zentui/token-rate.ts +313 -0
- package/dist/extensions/pi-zentui/extensions/zentui/turn-summary-format.ts +59 -0
- package/dist/extensions/pi-zentui/extensions/zentui/turn-summary-rate.ts +52 -0
- package/dist/extensions/pi-zentui/extensions/zentui/ui.ts +640 -172
- package/dist/extensions/pi-zentui/extensions/zentui/user-message-styles.ts +72 -34
- package/dist/extensions/pi-zentui/extensions/zentui/user-message.ts +219 -34
- package/dist/extensions/pi-zentui/extensions/zentui/working-line.ts +495 -119
- package/dist/extensions/pi-zentui/omp.ts +157 -0
- package/dist/extensions/pi-zentui/package-lock.json +3762 -1507
- package/dist/extensions/pi-zentui/package.json +50 -12
- package/dist/extensions/pi-zentui/test/accent-rail-editor.test.ts +13 -2
- package/dist/extensions/pi-zentui/test/average-token-rate.test.ts +297 -0
- package/dist/extensions/pi-zentui/test/behavior-compatibility.mjs +89 -0
- package/dist/extensions/pi-zentui/test/codex-quota-lifecycle.test.ts +284 -0
- package/dist/extensions/pi-zentui/test/codex-quota-rendering.test.ts +466 -0
- package/dist/extensions/pi-zentui/test/codex-quota.test.ts +440 -0
- package/dist/extensions/pi-zentui/test/component-colors.test.ts +554 -0
- package/dist/extensions/pi-zentui/test/component-settings.test.ts +364 -0
- package/dist/extensions/pi-zentui/test/config-component-independence.test.ts +402 -0
- package/dist/extensions/pi-zentui/test/config-extension-status-choice.test.ts +233 -0
- package/dist/extensions/pi-zentui/test/config-hidden-extension-status-colors.test.ts +118 -0
- package/dist/extensions/pi-zentui/test/config-hidden-extension-status-placement.test.ts +142 -0
- package/dist/extensions/pi-zentui/test/config-minimalist-templates.test.ts +240 -0
- package/dist/extensions/pi-zentui/test/config-template-variables.test.ts +85 -0
- package/dist/extensions/pi-zentui/test/config.test.ts +80 -17
- package/dist/extensions/pi-zentui/test/custom-value-colors-integration.test.ts +453 -0
- package/dist/extensions/pi-zentui/test/custom-value-colors.test.ts +399 -0
- package/dist/extensions/pi-zentui/test/custom-variable-alias-prototypes.test.ts +177 -0
- package/dist/extensions/pi-zentui/test/custom-variable-consumers.test.ts +194 -0
- package/dist/extensions/pi-zentui/test/custom-variable-demand.test.ts +169 -0
- package/dist/extensions/pi-zentui/test/custom-variable-probe-reservation.test.ts +141 -0
- package/dist/extensions/pi-zentui/test/custom-variables-lifecycle.integration.test.ts +365 -0
- package/dist/extensions/pi-zentui/test/custom-variables.test.ts +330 -0
- package/dist/extensions/pi-zentui/test/editor-metadata-format.test.ts +121 -0
- package/dist/extensions/pi-zentui/test/editor-mouse.test.ts +507 -0
- package/dist/extensions/pi-zentui/test/editor-viewport-indicators.test.ts +247 -20
- package/dist/extensions/pi-zentui/test/extension-compliance.test.ts +204 -260
- package/dist/extensions/pi-zentui/test/extension-status-controller.test.ts +323 -0
- package/dist/extensions/pi-zentui/test/extension-status-lifecycle.integration.test.ts +466 -0
- package/dist/extensions/pi-zentui/test/extension-status-settings.test.ts +79 -0
- package/dist/extensions/pi-zentui/test/footer-alignment.test.ts +135 -0
- package/dist/extensions/pi-zentui/test/footer-authority.test.ts +69 -0
- package/dist/extensions/pi-zentui/test/footer-auto-compaction.test.ts +148 -0
- package/dist/extensions/pi-zentui/test/footer-format-cache.test.ts +186 -0
- package/dist/extensions/pi-zentui/test/footer-format.test.ts +154 -4
- package/dist/extensions/pi-zentui/test/footer-hidden.test.ts +312 -0
- package/dist/extensions/pi-zentui/test/footer-hyperlink.test.ts +22 -0
- package/dist/extensions/pi-zentui/test/footer-layout.test.ts +80 -0
- package/dist/extensions/pi-zentui/test/footer-thinking-level.test.ts +123 -0
- package/dist/extensions/pi-zentui/test/format.test.ts +75 -1
- package/dist/extensions/pi-zentui/test/git-probes.test.ts +182 -0
- package/dist/extensions/pi-zentui/test/github-status.test.ts +931 -0
- package/dist/extensions/pi-zentui/test/host-template-surfaces.test.ts +287 -0
- package/dist/extensions/pi-zentui/test/icons.test.ts +86 -16
- package/dist/extensions/pi-zentui/test/layered-editor.test.ts +53 -0
- package/dist/extensions/pi-zentui/test/live-context-integration.test.ts +154 -7
- package/dist/extensions/pi-zentui/test/live-context.test.ts +45 -0
- package/dist/extensions/pi-zentui/test/live-metadata-lifecycle.integration.test.ts +963 -0
- package/dist/extensions/pi-zentui/test/live-metadata.test.ts +767 -0
- package/dist/extensions/pi-zentui/test/minimalist-cache-hit-colors.test.ts +183 -0
- package/dist/extensions/pi-zentui/test/minimalist-editor.test.ts +222 -4
- package/dist/extensions/pi-zentui/test/minimalist-settings.test.ts +103 -0
- package/dist/extensions/pi-zentui/test/minimalist-templates.test.ts +489 -0
- package/dist/extensions/pi-zentui/test/omp-editor-composers.test.ts +324 -0
- package/dist/extensions/pi-zentui/test/omp-statusline.test.ts +579 -0
- package/dist/extensions/pi-zentui/test/omp-template-lookups.test.ts +630 -0
- package/dist/extensions/pi-zentui/test/omp-template-metrics.test.ts +72 -0
- package/dist/extensions/pi-zentui/test/omp-template-modes.test.ts +557 -0
- package/dist/extensions/pi-zentui/test/omp-ui.test.ts +93 -0
- package/dist/extensions/pi-zentui/test/package-contents.mjs +1 -0
- package/dist/extensions/pi-zentui/test/pi-version-policy.test.ts +37 -0
- package/dist/extensions/pi-zentui/test/project-demand-integration.test.ts +542 -0
- package/dist/extensions/pi-zentui/test/project-discovery.test.ts +412 -0
- package/dist/extensions/pi-zentui/test/project-refresh.test.ts +44 -0
- package/dist/extensions/pi-zentui/test/project-state.test.ts +38 -1
- package/dist/extensions/pi-zentui/test/responsive-dependencies.test.ts +7 -7
- package/dist/extensions/pi-zentui/test/runtime.test.ts +127 -2
- package/dist/extensions/pi-zentui/test/selesai-v030-gate.json +939 -0
- package/dist/extensions/pi-zentui/test/settings-command.test.ts +1330 -82
- package/dist/extensions/pi-zentui/test/settings-keys.test.ts +41 -0
- package/dist/extensions/pi-zentui/test/settings-list-selection.test.ts +88 -0
- package/dist/extensions/pi-zentui/test/settings-previews.test.ts +4 -1
- package/dist/extensions/pi-zentui/test/state.test.ts +15 -1
- package/dist/extensions/pi-zentui/test/telemetry-lifecycle-integration.test.ts +214 -12
- package/dist/extensions/pi-zentui/test/telemetry-snapshot.test.ts +246 -0
- package/dist/extensions/pi-zentui/test/thinking-experimental-cache.test.ts +246 -0
- package/dist/extensions/pi-zentui/test/thinking-experimental-rows.test.ts +22 -0
- package/dist/extensions/pi-zentui/test/thinking-experimental-tui.mjs +113 -51
- package/dist/extensions/pi-zentui/test/thinking-experimental.test.ts +576 -76
- package/dist/extensions/pi-zentui/test/thinking-steps.test.ts +23 -0
- package/dist/extensions/pi-zentui/test/token-rate.test.ts +450 -0
- package/dist/extensions/pi-zentui/test/turn-summary-format.test.ts +207 -0
- package/dist/extensions/pi-zentui/test/turn-summary-lifecycle.integration.test.ts +72 -5
- package/dist/extensions/pi-zentui/test/turn-summary-rate.test.ts +158 -0
- package/dist/extensions/pi-zentui/test/usage-lifecycle-integration.test.ts +421 -0
- package/dist/extensions/pi-zentui/test/usage-snapshot.test.ts +154 -0
- package/dist/extensions/pi-zentui/test/user-message-cache.test.ts +239 -0
- package/dist/extensions/pi-zentui/test/user-message-native-reduced-capabilities.test.ts +61 -0
- package/dist/extensions/pi-zentui/test/user-message-native.test.ts +447 -0
- package/dist/extensions/pi-zentui/test/user-message-styles.test.ts +2 -2
- package/dist/extensions/pi-zentui/test/working-line-editor-placement.test.ts +317 -0
- package/dist/extensions/pi-zentui/test/working-line-generation-cache.test.ts +238 -0
- package/dist/extensions/pi-zentui/test/working-line-lifecycle.integration.test.ts +674 -179
- package/dist/extensions/pi-zentui/test/working-line-message-ownership.test.ts +239 -0
- package/dist/extensions/pi-zentui/test/working-line-metric-animation.test.ts +284 -0
- package/dist/extensions/pi-zentui/test/working-line-placement.test.ts +298 -0
- package/dist/extensions/pi-zentui/test/working-line.test.ts +386 -18
- package/dist/extensions/pi-zentui/test/wrapped-editor-consumers.integration.test.ts +579 -0
- package/dist/extensions/pi-zentui/test/wrapped-editor-usage.integration.test.ts +298 -0
- package/dist/extensions/pi-zentui/tsconfig.json +1 -1
- package/dist/extensions/pi-zentui/vitest.host.config.ts +33 -0
- package/dist/extensions/question/index.ts +1 -5
- package/dist/extensions/rtk.test.ts +28 -15
- package/dist/extensions/rtk.ts +22 -22
- package/dist/extensions/skills-index/index.test.ts +99 -0
- package/dist/extensions/skills-index/index.ts +105 -0
- package/dist/extensions/skills-index/package.json +9 -0
- package/dist/extensions/tokenin-onboarding.ts +48 -208
- package/dist/extensions/tool-search/index.d.ts +11 -0
- package/dist/extensions/tool-search/index.js +14 -0
- package/dist/extensions/tool-search/tool.d.ts +91 -0
- package/dist/extensions/tool-search/tool.js +214 -0
- package/dist/index.d.ts +17 -9
- package/dist/index.js +11 -5
- package/dist/main.d.ts +4 -0
- package/dist/main.js +106 -42
- package/dist/migrations.js +4 -3
- package/dist/modes/index.d.ts +1 -0
- package/dist/modes/interactive/bug-report.js +4 -0
- package/dist/modes/interactive/components/armin.d.ts +3 -0
- package/dist/modes/interactive/components/armin.js +7 -5
- package/dist/modes/interactive/components/assistant-message.js +1 -1
- package/dist/modes/interactive/components/auth-url.d.ts +13 -0
- package/dist/modes/interactive/components/auth-url.js +36 -0
- package/dist/modes/interactive/components/bash-execution.d.ts +5 -1
- package/dist/modes/interactive/components/bash-execution.js +17 -14
- package/dist/modes/interactive/components/branch-summary-message.d.ts +2 -1
- package/dist/modes/interactive/components/branch-summary-message.js +5 -2
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +2 -1
- package/dist/modes/interactive/components/compaction-summary-message.js +5 -2
- package/dist/modes/interactive/components/config-selector.js +13 -3
- package/dist/modes/interactive/components/custom-editor.js +7 -0
- package/dist/modes/interactive/components/custom-entry.d.ts +3 -1
- package/dist/modes/interactive/components/custom-entry.js +8 -2
- package/dist/modes/interactive/components/custom-message.js +1 -0
- package/dist/modes/interactive/components/first-time-setup.d.ts +4 -4
- package/dist/modes/interactive/components/first-time-setup.js +8 -2
- package/dist/modes/interactive/components/footer.d.ts +7 -0
- package/dist/modes/interactive/components/footer.js +44 -4
- package/dist/modes/interactive/components/index.d.ts +0 -1
- package/dist/modes/interactive/components/index.js +0 -1
- package/dist/modes/interactive/components/login-dialog.d.ts +2 -0
- package/dist/modes/interactive/components/login-dialog.js +11 -5
- package/dist/modes/interactive/components/mermaid.d.ts +10 -0
- package/dist/modes/interactive/components/mermaid.js +74 -0
- package/dist/modes/interactive/components/model-selector.d.ts +14 -9
- package/dist/modes/interactive/components/model-selector.js +79 -31
- package/dist/modes/interactive/components/oauth-selector.d.ts +8 -2
- package/dist/modes/interactive/components/oauth-selector.js +24 -21
- package/dist/modes/interactive/components/pi-logo.d.ts +18 -0
- package/dist/modes/interactive/components/pi-logo.js +36 -0
- package/dist/modes/interactive/components/radius-login-selector.d.ts +14 -0
- package/dist/modes/interactive/components/radius-login-selector.js +84 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +4 -0
- package/dist/modes/interactive/components/scoped-models-selector.js +26 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +8 -11
- package/dist/modes/interactive/components/settings-selector.js +60 -102
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +2 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +5 -2
- package/dist/modes/interactive/components/themed-text.d.ts +16 -0
- package/dist/modes/interactive/components/themed-text.js +28 -0
- package/dist/modes/interactive/components/tool-execution.d.ts +11 -18
- package/dist/modes/interactive/components/tool-execution.js +34 -47
- package/dist/modes/interactive/components/tree-selector.js +7 -0
- package/dist/modes/interactive/components/user-message.d.ts +3 -1
- package/dist/modes/interactive/components/user-message.js +14 -6
- package/dist/modes/interactive/components/visual-truncate.d.ts +27 -3
- package/dist/modes/interactive/components/visual-truncate.js +39 -6
- package/dist/modes/interactive/external-editor.js +2 -1
- package/dist/modes/interactive/interactive-mode.d.ts +41 -8
- package/dist/modes/interactive/interactive-mode.js +854 -492
- package/dist/modes/interactive/program-status-reporter.d.ts +33 -0
- package/dist/modes/interactive/program-status-reporter.js +109 -0
- package/dist/modes/interactive/theme/dark.json +59 -72
- package/dist/modes/interactive/theme/light.json +57 -69
- package/dist/modes/interactive/theme/system-theme.d.ts +54 -0
- package/dist/modes/interactive/theme/system-theme.js +545 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts +46 -6
- package/dist/modes/interactive/theme/theme-controller.js +127 -47
- package/dist/modes/interactive/theme/theme-json.d.ts +1 -0
- package/dist/modes/interactive/theme/theme-json.js +3 -1
- package/dist/modes/interactive/theme/theme-schema.json +7 -2
- package/dist/modes/interactive/theme/theme.d.ts +66 -39
- package/dist/modes/interactive/theme/theme.js +243 -320
- package/dist/modes/interactive/tui-renderer.d.ts +2 -1
- package/dist/modes/interactive/tui-renderer.js +1 -0
- package/dist/modes/json-event.d.ts +33 -0
- package/dist/modes/json-event.js +28 -0
- package/dist/modes/print-mode.js +12 -2
- package/dist/modes/rpc/rpc-client.d.ts +11 -19
- package/dist/modes/rpc/rpc-client.js +52 -35
- package/dist/modes/rpc/rpc-mode.js +11 -26
- package/dist/modes/rpc/rpc-types.d.ts +12 -23
- package/dist/package-manager-cli.js +16 -5
- package/dist/rpc-entry.js +1 -0
- package/dist/skills/pi-subagents/SKILL.md +109 -35
- package/dist/skills/pi-subagents/references/constraints-and-recipes.md +38 -238
- package/dist/skills/pi-subagents/references/execution-controls.md +181 -83
- package/dist/skills/pi-subagents/references/management-authoring-rpc.md +9 -9
- package/dist/skills/pi-subagents/references/multi-lane-orchestration.md +24 -2
- package/dist/skills/pi-subagents/references/prompting-and-roles.md +121 -91
- package/dist/skills/pi-subagents/references/review-and-validation.md +73 -0
- package/dist/utils/ansi.d.ts +8 -0
- package/dist/utils/ansi.js +30 -11
- package/dist/utils/clipboard-image.js +14 -17
- package/dist/utils/clipboard.d.ts +2 -0
- package/dist/utils/clipboard.js +17 -11
- package/dist/utils/frontmatter.js +2 -1
- package/dist/utils/image-convert.d.ts +12 -0
- package/dist/utils/image-convert.js +45 -6
- package/dist/utils/image-resize-core.d.ts +12 -0
- package/dist/utils/image-resize-core.js +5 -0
- package/dist/utils/image-resize-worker.js +3 -2
- package/dist/utils/image-resize.js +9 -10
- package/dist/utils/mime.js +1 -1
- package/dist/utils/output-files.d.ts +14 -0
- package/dist/utils/output-files.js +29 -0
- package/dist/utils/paths.d.ts +6 -3
- package/dist/utils/paths.js +28 -5
- package/dist/utils/shell.d.ts +1 -3
- package/dist/utils/shell.js +3 -30
- package/dist/utils/syntax-highlight.d.ts +1 -0
- package/dist/utils/syntax-highlight.js +68 -2
- package/dist/utils/tool-result-images.d.ts +20 -0
- package/dist/utils/tool-result-images.js +47 -0
- package/dist/utils/tools-manager.d.ts +5 -0
- package/dist/utils/tools-manager.js +6 -6
- package/dist/utils/version-check.d.ts +4 -0
- package/dist/utils/version-check.js +20 -2
- package/docs/cli-integration.md +104 -0
- package/docs/cli.md +333 -0
- package/docs/codemode.md +230 -0
- package/docs/configuration.md +47 -0
- package/docs/environment-variables.md +5 -0
- package/docs/extensions.md +107 -30
- package/docs/json.md +8 -4
- package/docs/keybindings.md +10 -10
- package/docs/mcp.md +262 -0
- package/docs/models.md +104 -3
- package/docs/providers.md +20 -2
- package/docs/rpc.md +13 -12
- package/docs/sdk.md +41 -33
- package/docs/security.md +21 -20
- package/docs/settings.md +18 -46
- package/docs/terminal-setup.md +14 -0
- package/docs/virtual-models.md +114 -0
- package/examples/extensions/jev-router.ts +113 -0
- package/examples/extensions/tokenin-usage-widget.ts +124 -0
- package/examples/rpc-client.ts +35 -0
- package/examples/sdk/14-codemode-mcp.ts +67 -0
- package/package.json +15 -8
- package/dist/core/agent-session-auto-handoff.test.js +0 -195
- package/dist/core/built-in-extensions.d.ts +0 -2
- package/dist/core/built-in-extensions.js +0 -2
- package/dist/core/llama/provider.js +0 -143
- package/dist/core/settings-manager-auto-handoff.test.d.ts +0 -1
- package/dist/core/settings-manager-auto-handoff.test.js +0 -53
- package/dist/extensions/capability-gateway/catalog.ts +0 -177
- package/dist/extensions/capability-gateway/index.test.ts +0 -226
- package/dist/extensions/capability-gateway/index.ts +0 -669
- package/dist/extensions/capability-gateway/integration.test.ts +0 -803
- package/dist/extensions/capability-gateway/package.json +0 -16
- package/dist/extensions/capability-gateway/routing.test.ts +0 -574
- package/dist/extensions/capability-gateway/routing.ts +0 -403
- package/dist/extensions/pi-subagents/runner-server-preload.mjs +0 -13
- package/dist/extensions/pi-subagents/src/runs/shared/completion-evidence.ts +0 -89
- package/dist/extensions/pi-subagents/src/runs/shared/completion-guard.ts +0 -259
- package/dist/extensions/pi-subagents/src/runs/shared/llm-intent-arbiter.ts +0 -312
- package/dist/extensions/pi-subagents/src/runs/shared/model-exclusions.ts +0 -374
- package/dist/extensions/pi-subagents/src/runs/shared/readonly-model-continuation.ts +0 -69
- package/dist/extensions/pi-subagents/src/runs/shared/readonly-session-evidence.ts +0 -307
- package/dist/extensions/pi-subagents/src/runs/shared/task-intent.ts +0 -211
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/cli.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/register-bedrock.d.ts +0 -2
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/restore-sandbox-env.d.ts +0 -17
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/args.d.ts +0 -57
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/config-selector.d.ts +0 -16
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/file-processor.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/initial-message.d.ts +0 -18
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/list-models.d.ts +0 -9
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/project-trust.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/session-picker.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/startup-ui.d.ts +0 -20
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/config.d.ts +0 -96
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-runtime.d.ts +0 -119
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-services.d.ts +0 -85
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session.d.ts +0 -620
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-guidance.d.ts +0 -5
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-storage.d.ts +0 -56
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/bash-executor.d.ts +0 -32
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/cache-stats.d.ts +0 -49
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/branch-summarization.d.ts +0 -93
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/compaction.d.ts +0 -128
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/index.d.ts +0 -7
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/utils.d.ts +0 -38
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/defaults.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/diagnostics.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/event-bus.d.ts +0 -9
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/exec.d.ts +0 -29
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/experimental.d.ts +0 -2
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/ansi-to-html.d.ts +0 -22
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/index.d.ts +0 -37
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/tool-renderer.d.ts +0 -34
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/index.d.ts +0 -12
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/loader.d.ts +0 -23
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/runner.d.ts +0 -171
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/types.d.ts +0 -1261
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/wrapper.d.ts +0 -20
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/footer-data-provider.d.ts +0 -54
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/http-dispatcher.d.ts +0 -22
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/index.d.ts +0 -13
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/keybindings.d.ts +0 -358
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/messages.d.ts +0 -77
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-config.d.ts +0 -512
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-registry.d.ts +0 -43
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-resolver.d.ts +0 -121
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-runtime.d.ts +0 -82
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/models-store.d.ts +0 -17
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/output-guard.d.ts +0 -7
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/package-manager.d.ts +0 -210
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/project-trust.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/prompt-templates.d.ts +0 -54
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-attribution.d.ts +0 -4
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-composer.d.ts +0 -55
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/radius.d.ts +0 -2
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/remote-catalog-provider.d.ts +0 -5
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resolve-config-value.d.ts +0 -30
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resource-loader.d.ts +0 -206
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/runtime-credentials.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/sdk.d.ts +0 -106
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-cwd.d.ts +0 -19
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-manager.d.ts +0 -356
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/settings-manager.d.ts +0 -297
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/skills.d.ts +0 -60
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/slash-commands.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/source-info.d.ts +0 -18
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/system-prompt.d.ts +0 -28
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/telemetry.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/timings.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/bash.d.ts +0 -68
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit-diff.d.ts +0 -106
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit.d.ts +0 -51
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/file-mutation-queue.d.ts +0 -6
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/find.d.ts +0 -35
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/grep.d.ts +0 -37
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/index.d.ts +0 -40
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/ls.d.ts +0 -37
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/output-accumulator.d.ts +0 -52
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/path-utils.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/read.d.ts +0 -35
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/render-utils.d.ts +0 -24
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/tool-definition-wrapper.d.ts +0 -14
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/truncate.d.ts +0 -70
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/write.d.ts +0 -26
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/trust-manager.d.ts +0 -36
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/usage-totals.d.ts +0 -19
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/client.d.ts +0 -61
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/huggingface.d.ts +0 -23
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/index.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/provider.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/ui.d.ts +0 -42
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/index.d.ts +0 -35
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/main.d.ts +0 -12
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/migrations.d.ts +0 -33
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/index.d.ts +0 -9
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/armin.d.ts +0 -34
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/assistant-message.d.ts +0 -22
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bash-execution.d.ts +0 -34
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bordered-loader.d.ts +0 -16
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/branch-summary-message.d.ts +0 -16
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -16
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/config-selector.d.ts +0 -102
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/countdown-timer.d.ts +0 -14
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-editor.d.ts +0 -21
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-entry.d.ts +0 -19
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-message.d.ts +0 -20
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/daxnuts.d.ts +0 -23
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/diff.d.ts +0 -12
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/dynamic-border.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/earendil-announcement.d.ts +0 -5
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-editor.d.ts +0 -22
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-input.d.ts +0 -23
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-selector.d.ts +0 -26
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/first-time-setup.d.ts +0 -25
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/footer.d.ts +0 -32
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/index.d.ts +0 -34
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/keybinding-hints.d.ts +0 -13
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/login-dialog.d.ts +0 -52
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/model-selector.d.ts +0 -54
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/oauth-selector.d.ts +0 -33
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -42
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector-search.d.ts +0 -23
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector.d.ts +0 -95
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/settings-selector.d.ts +0 -77
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/show-images-selector.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -17
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/status-indicator.d.ts +0 -28
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/theme-selector.d.ts +0 -11
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/thinking-selector.d.ts +0 -11
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tool-execution.d.ts +0 -63
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tree-selector.d.ts +0 -94
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/trust-selector.d.ts +0 -23
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message-selector.d.ts +0 -30
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message.d.ts +0 -14
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/visual-truncate.d.ts +0 -24
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/interactive-mode.d.ts +0 -394
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/model-search.d.ts +0 -12
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme-controller.d.ts +0 -29
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme.d.ts +0 -120
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/print-mode.d.ts +0 -28
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/jsonl.d.ts +0 -17
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-client.d.ts +0 -246
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-mode.d.ts +0 -20
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-types.d.ts +0 -457
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/package-manager-cli.d.ts +0 -8
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/rpc-entry.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/ansi.d.ts +0 -2
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/changelog.d.ts +0 -22
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/child-process.d.ts +0 -18
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-image.d.ts +0 -11
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-native.d.ts +0 -11
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard.d.ts +0 -4
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/deprecation.d.ts +0 -4
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/exif-orientation.d.ts +0 -5
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/frontmatter.d.ts +0 -8
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/fs-watch.d.ts +0 -5
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/git.d.ts +0 -26
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/html.d.ts +0 -7
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-convert.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-process.d.ts +0 -18
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-core.d.ts +0 -30
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-worker.d.ts +0 -2
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize.d.ts +0 -16
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/json.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/mime.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/open-browser.d.ts +0 -9
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/paths.d.ts +0 -31
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/photon.d.ts +0 -21
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/pi-user-agent.d.ts +0 -2
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/shell.d.ts +0 -31
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/sleep.d.ts +0 -5
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/syntax-highlight.d.ts +0 -12
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/tools-manager.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/version-check.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/windows-self-update.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/smoke/pi085-child.ts +0 -31
- package/dist/extensions/pi-subagents/test/smoke/pi085-clean-install.mjs +0 -74
- package/dist/extensions/pi-subagents/test/unit/completion-evidence.test.ts +0 -150
- package/dist/extensions/pi-subagents/test/unit/completion-guard.test.ts +0 -766
- package/dist/extensions/pi-subagents/test/unit/llm-intent-arbiter.test.ts +0 -327
- package/dist/extensions/pi-subagents/test/unit/model-exclusions.test.ts +0 -309
- package/dist/extensions/pi-subagents/test/unit/model-fallback.test.ts +0 -1093
- package/dist/extensions/pi-subagents/test/unit/readonly-model-continuation.test.ts +0 -94
- package/dist/extensions/pi-subagents/test/unit/readonly-session-evidence.test.ts +0 -1329
- package/dist/extensions/pi-subagents/test/unit/task-intent.test.ts +0 -153
- package/dist/extensions/pi-zentui/extensions/zentui/accent-rail-layout-patch.ts +0 -457
- package/dist/extensions/pi-zentui/test/accent-rail-layout-patch.test.ts +0 -669
- package/dist/extensions/pi-zentui/test/thinking-experimental-docs.test.ts +0 -51
- package/dist/modes/interactive/components/daxnuts.d.ts +0 -22
- package/dist/modes/interactive/components/daxnuts.js +0 -139
- /package/dist/core/{agent-session-auto-handoff.test.d.ts → agent-session-custom-tools.test.d.ts} +0 -0
- /package/dist/{core → extensions}/llama/huggingface.d.ts +0 -0
- /package/dist/{core → extensions}/llama/huggingface.js +0 -0
- /package/dist/{core → extensions}/llama/index.d.ts +0 -0
- /package/dist/{core → extensions}/llama/ui.d.ts +0 -0
- /package/dist/{core → extensions}/llama/ui.js +0 -0
|
@@ -2,6 +2,519 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.76.1] - 2026-10-05
|
|
6
|
+
|
|
7
|
+
### Highlights
|
|
8
|
+
|
|
9
|
+
- When a subagent result wakes an idle parent, that run keeps the subagent list, MCP servers, and other extensions' prompt sections, and no longer churns the provider's prompt cache.
|
|
10
|
+
- Updating pi-subagents while Pi is running now stops `/reload` with a clear "restart Pi" error instead of running a mix of old and new code.
|
|
11
|
+
- In Herdr, a child asking its parent agent for help no longer turns the pane red.
|
|
12
|
+
- `stop` works on a paused run whose result was already delivered, and `subagent doctor` now shows the same async capacity that launches use.
|
|
13
|
+
- Reloading extensions while a child's result is waiting no longer lets a host such as pi-web lose that result.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- The npm package now has the `extension` keyword, so Pi's extension catalog lists pi-subagents under Extensions instead of Unlabelled.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- When a subagent result, supervisor question, or other notice woke an idle parent, the run it started skipped Pi's normal prompt setup. From its second request on, it lost the subagent list, the MCP server list, and other extensions' prompt sections, and the changing prompt could invalidate the provider's prompt cache. The parent now gets the notice followed by a short `Subagent updates above.` message, which starts the run the normal way. Thanks to [@ashlineldridge](https://github.com/ashlineldridge) for [#2688](https://github.com/nicobailon/pi-subagents/issues/2688).
|
|
22
|
+
- Reloading extensions while a child's result was waiting in Pi's queue made the session look idle, so a host such as pi-web could replace the session and lose the result. The session now stays busy until Pi picks up the result. Thanks to [@brettinternet](https://github.com/brettinternet) for [#2687](https://github.com/nicobailon/pi-subagents/pull/2687).
|
|
23
|
+
- After pi-subagents was updated while Pi was running, `/reload` ran a mix of old and new code and failed with errors such as `completionNotifier.messageStarted is not a function`. Node cannot reload a module it has already imported, so loading now stops with an error that names both versions and asks you to restart Pi. Thanks to [@TheAsda](https://github.com/TheAsda) for [#2695](https://github.com/nicobailon/pi-subagents/issues/2695).
|
|
24
|
+
- Child system prompts started with pi-subagents' own instructions instead of Pi's base prompt. Providers and extensions that recognize Pi's default prompt by its first sentence then sent `systemPromptMode: append` children Pi's whole prompt unchanged. Pi's prompt now comes first. ([#2692](https://github.com/nicobailon/pi-subagents/issues/2692))
|
|
25
|
+
- When a per-tool timeout stopped a foreground child, its output said `Subagent timed out after <run timeout>ms.` (or `0ms` when no run timeout was set), naming a deadline that never fired. It now names the tool timeout, for example `Tool 'find' exceeded its timeout of 300000ms.` Thanks to [@mannainsect](https://github.com/mannainsect) for [#2691](https://github.com/nicobailon/pi-subagents/issues/2691).
|
|
26
|
+
- `stop` failed with `paused result is missing` on a paused run whose result had already been delivered or was never written, and a finished parent workflow kept that run's async capacity slot. When the run's process has exited, `stop` now marks it stopped and the slot is freed. Thanks to [@builtroller](https://github.com/builtroller) for reporting [#2699](https://github.com/nicobailon/pi-subagents/issues/2699).
|
|
27
|
+
- `subagent doctor` could report `usage: 0/3 used` while launches were rejected with `3/3 used`, for example in a session resumed with `pi --session <id>`, because doctor counted a different capacity pool than launches do. It now reads the same pool for both active async capacity and the spawn budget. Thanks to [@builtroller](https://github.com/builtroller) for reporting [#2698](https://github.com/nicobailon/pi-subagents/issues/2698).
|
|
28
|
+
- In Herdr, the pane turned red, which means a person needs to act, whenever an async child needed attention, including a child waiting for its parent agent's answer. Those requests go to the parent agent, so pi-subagents no longer marks the pane blocked; the `⚠` in the pane's subagent label still shows it. Thanks to [@nateberkopec](https://github.com/nateberkopec) for reporting [#2702](https://github.com/nicobailon/pi-subagents/issues/2702).
|
|
29
|
+
|
|
30
|
+
## [0.76.0] - 2026-10-04
|
|
31
|
+
|
|
32
|
+
### Highlights
|
|
33
|
+
|
|
34
|
+
- Schedules can run every day or every week at a local time, in a timezone you choose, and on the weekdays you choose.
|
|
35
|
+
- `worktree.cleanup` can now delete the worktrees in a plan you reviewed and saved. Before, it could only list them.
|
|
36
|
+
- Background results are no longer lost in headless sessions (`pi -p`, SDK hosts) or when pi-web replaces a session it thinks is idle.
|
|
37
|
+
- Two Pi sessions running at the same time no longer overwrite each other's settings changes, schedules, or schedule history.
|
|
38
|
+
- A child that times out or crashes now returns the text it had written so far. A child with `outputSchema` now saves its structured result to the output file, not a closing sentence.
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Schedules accept `every: "day"` or `every: "week"` with a local `HH:mm` time and an IANA timezone, plus the weekdays to run on for weekly schedules. If a daylight-saving change skips the time, that run is skipped. If the time happens twice, it runs once. After a restart, the next run is calculated again from the local date. Overlap, catch-up, quiet, and mission options work the same as on other schedules. Thanks to [@quifox](https://github.com/quifox) for [#815](https://github.com/nicobailon/pi-subagents/issues/815).
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
|
|
46
|
+
- `worktree.cleanup` can now apply a plan you saved and reviewed, once you authorize discarding those worktrees. Before it deletes anything, it checks Git state and ownership again. It keeps any worktree whose path now points outside the directory it was created in, any worktree that is locked or has been resumed, and any ignored files. It never deletes local branches, and each plan can be applied only once. Worktrees created before this version are always kept. Thanks to [@quifox](https://github.com/quifox) for [#1622](https://github.com/nicobailon/pi-subagents/issues/1622).
|
|
47
|
+
|
|
48
|
+
### Fixed
|
|
49
|
+
|
|
50
|
+
- In a headless session (`pi -p`, or an SDK host without a UI), a background run's completion message could be lost. The turn could end before the message was sent, and the host then closed the session. Finished results are now handed to Pi before the turn ends, and Pi runs the completion turn next. Thanks to [@felores](https://github.com/felores) for [#2644](https://github.com/nicobailon/pi-subagents/issues/2644).
|
|
51
|
+
- pi-web could see a session as idle while a child's result was still on its way to the parent, so it could replace the session and lose the result. The session now counts as busy until Pi starts processing the result. Thanks to [@brettinternet](https://github.com/brettinternet) for [#2674](https://github.com/nicobailon/pi-subagents/pull/2674).
|
|
52
|
+
- A child with `outputSchema` and an `output` path wrote its final text to that file whenever the text was not empty. A short closing line such as "Enough; writing up." could replace the structured result. If the child returns a structured result and does not write the file itself, the file now holds that result as indented JSON. The child's returned output and output artifact show the same JSON. Thanks to [@tara-marchand](https://github.com/tara-marchand) for [#2672](https://github.com/nicobailon/pi-subagents/issues/2672).
|
|
53
|
+
- A child that timed out or crashed partway through a reply lost the text it was still writing. The parent now gets that text, labeled `Partial output before timeout:` or `Partial output before child error:`, and the result has `outputPartial: true`. The run still fails. The partial text is never saved as the output file and never counts as acceptance evidence. Runs that are stopped, interrupted, aborted, or exit with an ordinary error are unchanged. Thanks to [@yanqianglu](https://github.com/yanqianglu) for [#2653](https://github.com/nicobailon/pi-subagents/pull/2653) (#2549).
|
|
54
|
+
- An async workflow could keep its `maxActiveAsyncRunsPerSession` slot forever after it ended. This happened when one of its async children failed and there was no record that the child's process had exited, for example after a reload. The new `capacity.abandonedSlotReleaseAfterMs` setting frees the slot once the workflow has been over for longer than that time and each such child has failed, has no running runner, and has been inactive for a while. Set it to `false` to keep the slot. Thanks to [@jihunkim0](https://github.com/jihunkim0) for [#2658](https://github.com/nicobailon/pi-subagents/issues/2658).
|
|
55
|
+
- Two Pi sessions that changed extension settings at the same time could lose one of the changes. Agent override saves, `/subagents-load-profile`, and Watchdog setting changes now lock `settings.json.write-lock` beside the settings file while they read and save, so the second session waits for the first. If the settings directory is read-only, the lock cannot be created and the save fails with an error. Thanks to [@quifox](https://github.com/quifox) for [#2676](https://github.com/nicobailon/pi-subagents/pull/2676).
|
|
56
|
+
- Two sessions recording runs for the same schedule could each rewrite its run history from an old copy. A run could disappear from the history and its completion was never recorded, so the schedule stayed marked as running. History updates now use a short lock. Completion, restore, and delete now read the record of the run that is actually active. Thanks to [@quifox](https://github.com/quifox) for [#2677](https://github.com/nicobailon/pi-subagents/pull/2677).
|
|
57
|
+
- A session that lost the race to start a scheduled run could save its outdated copy of the schedule over the copy used by the session running it. That no longer happens. The session that lost still protects the active run from being deleted, and only postpones its own timer while the other session starts the run. Thanks to [@quifox](https://github.com/quifox) for [#2675](https://github.com/nicobailon/pi-subagents/pull/2675).
|
|
58
|
+
- If a session claimed a scheduled run but could not write the run id into the claim, for example because the disk was full, the empty claim file stayed behind. Every later run of that schedule was then skipped. The failed claim is now removed unless another session has already replaced it, and the original error is reported. Thanks to [@quifox](https://github.com/quifox) for [#2678](https://github.com/nicobailon/pi-subagents/pull/2678).
|
|
59
|
+
- On Windows, some file checks lost precision on large file ids, so two different files or folders could look like the same one. A schedule claim that failed to write could then delete another session's lock, and the agent-memory and worktree-cleanup checks could treat two directories as one. File ids are now compared exactly. ([#2679](https://github.com/nicobailon/pi-subagents/pull/2679), [#2685](https://github.com/nicobailon/pi-subagents/issues/2685))
|
|
60
|
+
- An agent that named a built-in MCP server with `_` in place of `-`, such as `mcp:codebase_memory` for the server `codebase-memory`, got none of the server's tools. The launch failed 10 seconds later saying the tools did not register. Both spellings now work, the same way Pi's MCP treats `-` and `_` as the same server. Thanks to [@trellis-zz](https://github.com/trellis-zz) for [#2668](https://github.com/nicobailon/pi-subagents/issues/2668).
|
|
61
|
+
- `workflow: true` failed with "found 0" when the model marked its script as plain ```` ```js ```` instead of ```` ```js workflow ````. If a reply has exactly one plain `js` block and no `js workflow` block, that block now runs. When no block is found, the error shows the exact opening line it looked for and suggests passing a script file path instead. Thanks to [@thetechpadawan](https://github.com/thetechpadawan) for [#2659](https://github.com/nicobailon/pi-subagents/issues/2659).
|
|
62
|
+
- `workflow: true` also said "found 0" when the model's reply reached the session with no text at all, which made it look as if the model had left out the script. Some providers drop the reply's visible text before Pi saves it. The error now says the reply text never arrived and suggests passing a script file path. ([#2669](https://github.com/nicobailon/pi-subagents/issues/2669))
|
|
63
|
+
- Creating an agent with a description longer than one line, or updating only the prompt of such an agent, saved only the first line of the description. The description is now saved as a YAML block, so every line is kept. Thanks to [@March-7](https://github.com/March-7) for [#2681](https://github.com/nicobailon/pi-subagents/pull/2681).
|
|
64
|
+
- When jobs leave a crowded async widget, it now shrinks to fit the jobs that remain instead of keeping blank rows. While the same jobs are listed, its height still stays fixed. Thanks to [@tara-marchand](https://github.com/tara-marchand) for [#2651](https://github.com/nicobailon/pi-subagents/issues/2651).
|
|
65
|
+
- The main watchdog no longer flags work you asked for mid-run as scope drift. Messages you send while the agent is running (steer or follow-up) now count as part of the task. Its review and `watchdog_diff` now also say that the list of changed paths covers the whole working tree. That list can include edits made before the session or by another session in the same checkout. Thanks to [@tara-marchand](https://github.com/tara-marchand) for [#2652](https://github.com/nicobailon/pi-subagents/issues/2652).
|
|
66
|
+
|
|
67
|
+
## [0.75.0] - 2026-10-02
|
|
68
|
+
|
|
69
|
+
### Highlights
|
|
70
|
+
|
|
71
|
+
- Background subagents work on Pi 1.0.0 again. In 0.74.0 they failed to start with "does not provide @earendil-works/pi-agent-core/node".
|
|
72
|
+
- The built-in `claude-code` and `claude-code-writer` agents can pick a Claude model and effort level per launch, for example `model: "claude-opus-5.5:high"`.
|
|
73
|
+
- On Windows, `claude-code`, `codex-exec`, and `cursor-agent` can now launch CLIs installed with npm.
|
|
74
|
+
- Children on a virtual model from an extension, such as a model router set as `subagents.defaultModel`, now launch and pass model verification.
|
|
75
|
+
- An invalid config value no longer silently turns off `authorityPolicy`, `permissions`, or `toolBudget`. Loading the config fails instead.
|
|
76
|
+
|
|
77
|
+
### Added
|
|
78
|
+
|
|
79
|
+
- The built-in `claude-code` and `claude-code-writer` agents accept a model and thinking level per launch or in agent frontmatter, and pass them to Claude Code as `--model` and `--effort`. Before, the model could only be set in your global Claude Code settings. `model: "claude-opus-5.5:high"` sets both; `model: ":high"` sets only the effort. An unknown model or level fails the launch and names it. `subagents.maxThinking` and an enforced `subagents.modelScope` apply to these launches; with an enforced scope, a launch that sets no model fails, because Claude Code's default model cannot be checked. Other external runners still reject both fields. See [agents](docs/agents.md). Thanks to [@lexxbyte](https://github.com/lexxbyte) for [#2602](https://github.com/nicobailon/pi-subagents/issues/2602).
|
|
80
|
+
- The parent can now manage a long `bash` command inside a native Pi child that is granted both `bash` and `subagent_command`: `command.status` shows it, `command.yield` lets the child continue while the command keeps running, and `command.cancel` stops only that command. The child can do the same itself with `bash`'s `yieldTimeMs` and the `subagent_command` tool. Commands use Pi's own shell and are stopped when the child exits, and a child that finishes with a command still running fails. Thanks to [@jiuai233](https://github.com/jiuai233) for [#2598](https://github.com/nicobailon/pi-subagents/pull/2598).
|
|
81
|
+
- Hosts that require child extensions with `registerRequiredChildExtensions` can pass `requireForAllRunners: true`. Only local Pi children can load those extensions, so with this flag a launch on an external CLI, an external job, or another machine is refused before it starts instead of running without them. The requirement stays with the run, including nested, resumed, and workflow children, even after the host removes its registration. Without the flag, external runners are skipped as before. See [agents](docs/agents.md). Thanks to [@doc-krieger](https://github.com/doc-krieger) for [#2639](https://github.com/nicobailon/pi-subagents/issues/2639).
|
|
82
|
+
- `schedule.create` accepts an existing `missionId`, so a scheduled workflow keeps the same mission state across runs and session restarts. Schedules with a mission are saved in a new format that older pi-subagents versions reject instead of silently dropping the mission; other schedules keep the old format. Thanks to [@quifox](https://github.com/quifox) for [#2616](https://github.com/nicobailon/pi-subagents/pull/2616).
|
|
83
|
+
- `asyncWidgetCollapsed: true` starts the async widget under the editor folded to one line. Clicking its header still unfolds it, and the default is unchanged. Thanks to [@unrelentingfox](https://github.com/unrelentingfox) for [#2621](https://github.com/nicobailon/pi-subagents/pull/2621).
|
|
84
|
+
|
|
85
|
+
### Changed
|
|
86
|
+
|
|
87
|
+
- CI now runs the clean-install test against both Pi `0.86.1` and `1.0.0`, as separate jobs with separate logs. Thanks to [@EightDoor](https://github.com/EightDoor) for [#2648](https://github.com/nicobailon/pi-subagents/pull/2648).
|
|
88
|
+
|
|
89
|
+
### Fixed
|
|
90
|
+
|
|
91
|
+
- Background subagents failed to start on Pi 1.0.0 with "does not provide @earendil-works/pi-agent-core/node", because Pi 1.0.0 no longer ships that module. They now start without it, and still fail if Pi includes the module but the file is missing. Thanks to [@albertgwo](https://github.com/albertgwo) for [#2634](https://github.com/nicobailon/pi-subagents/pull/2634).
|
|
92
|
+
- An invalid value for any config key no longer silently drops `authorityPolicy`, `permissions`, or `toolBudget`. If the config file sets any of them, loading now fails instead of continuing with an empty config that would allow what those settings forbid. (#2622)
|
|
93
|
+
- A required child extension (`registerRequiredChildExtensions`) that throws during `session_start` now stops the launch. Before, Pi only reported the error, so the child still started and could send model requests without the policy the extension was meant to set up. Ordinary extensions are unchanged: their startup errors are reported and the child still starts. Thanks to [@doc-krieger](https://github.com/doc-krieger) for reporting [#2639](https://github.com/nicobailon/pi-subagents/issues/2639).
|
|
94
|
+
- On Windows, external-CLI agents such as `claude-code`, `codex-exec`, and `cursor-agent` failed with `EINVAL` when the CLI was installed with npm, because npm installs it as a `.cmd` file that Node cannot start without a shell. The runner now runs the CLI's script with Node directly, still without a shell, and refuses any other `.cmd` or `.bat` file. Thanks to [@lexxbyte](https://github.com/lexxbyte) for tracing the cause in [#2631](https://github.com/nicobailon/pi-subagents/issues/2631).
|
|
95
|
+
- A child could not launch on a virtual model that an extension registers with `pi.registerVirtualModel()`, such as a router set as `subagents.defaultModel`. The child looked up its model before the extension's virtual models were registered, so the name matched a model on another provider and the launch failed on that provider's missing API key. Virtual models are now registered first, and a required extension whose registration fails stops the launch. Thanks to [@mauroziux](https://github.com/mauroziux) for [#2636](https://github.com/nicobailon/pi-subagents/pull/2636) (#2635).
|
|
96
|
+
- A child on a virtual model failed with `model_verification_failed` even when it ran correctly, because the check compared the launch model with the real model the router picked. For virtual models, the check now compares the child's selected model with the launch model. Other children are checked as before. Thanks to [@mauroziux](https://github.com/mauroziux) for reporting [#2637](https://github.com/nicobailon/pi-subagents/issues/2637) (#2635).
|
|
97
|
+
- A background chain whose `expand` step runs an external-CLI agent such as `claude-code` failed with "Dynamic chain step N parallel does not support field 'runner'". Each item now runs through that agent's runner, and its output is collected like any parallel child. Thanks to [@lexxbyte](https://github.com/lexxbyte) for reporting [#2629](https://github.com/nicobailon/pi-subagents/issues/2629).
|
|
98
|
+
- Saving builtin agent overrides no longer risks a half-written settings file: if the save is interrupted, the previous settings stay readable. Thanks to [@quifox](https://github.com/quifox) for [#2627](https://github.com/nicobailon/pi-subagents/pull/2627).
|
|
99
|
+
- Codex children now keep tool-call IDs in the `call_id|item_id` form when both parts are at most 64 characters and use only letters, digits, `_`, or `-`. Other IDs are shortened as before. Thanks to [@jtabke](https://github.com/jtabke) for [#2628](https://github.com/nicobailon/pi-subagents/pull/2628) (#2623).
|
|
100
|
+
- With Pi's built-in MCP, `mcp:` entries whose server or tool name contains `-`, such as `mcp:srv/get-item`, failed with "selects MCP tools that Pi's built-in MCP does not offer". pi-subagents now converts `-` to `_` the same way Pi names the tool, so you keep writing names as the server reports them. Thanks to [@sheurich](https://github.com/sheurich) for [#2607](https://github.com/nicobailon/pi-subagents/issues/2607).
|
|
101
|
+
- Some MCP clients, such as pi-claude-bridge, send `workflow: true` as the string `"true"`, which failed with an error asking for `workflow: true`. The string now works the same as the boolean (#2600).
|
|
102
|
+
- `action: "validate"` now checks workflow `args` against the same limits as a launch: 16 fields per object, 64 items per array, depth 8, and 16 KiB total. A script that validates no longer fails at launch because of its `args`. ([#2608](https://github.com/nicobailon/pi-subagents/issues/2608))
|
|
103
|
+
- The parent is now told about every tool call that stays open past the attention threshold, not only the first one in each child. Thanks to [@jiuai233](https://github.com/jiuai233) for [#2598](https://github.com/nicobailon/pi-subagents/pull/2598).
|
|
104
|
+
- Async runs now reach `run-history.jsonl`. Before, only foreground runs were recorded, so per-agent lookups missed every background launch. Single-step runs record the same row as a foreground run, multi-step runs record one row per child step, and a paused run records as `interrupted`, with a later resume recording again. Thanks to [@limin411](https://github.com/limin411) for [#2620](https://github.com/nicobailon/pi-subagents/pull/2620).
|
|
105
|
+
- `/subagent-cost` and the RPC `cost` method now count every round of a resumed foreground workflow child. Before, every round after the first was dropped as a duplicate, so totals came out low with no warning. Results recorded before this fix still undercount. Thanks to [@chagwood](https://github.com/chagwood) for [#2601](https://github.com/nicobailon/pi-subagents/issues/2601).
|
|
106
|
+
- `/subagent-cost` and the RPC `cost` method no longer log a missing-receipt error on every call for foreground workflows. An async workflow that has no receipt yet, such as one still running, is now listed as `Async child usage unavailable` instead of being left out of the total without notice. (#2614)
|
|
107
|
+
- The global mission list now takes title, status, update time, and latest run from each mission's own record, so a mission no longer looks out of date because its index entry is stale. Thanks to [@quifox](https://github.com/quifox) for [#2618](https://github.com/nicobailon/pi-subagents/pull/2618).
|
|
108
|
+
- Headless sessions now deliver goal-mission notices even when finishing background work fails. The failure is still reported to the caller. Thanks to [@quifox](https://github.com/quifox) for [#2605](https://github.com/nicobailon/pi-subagents/pull/2605).
|
|
109
|
+
- One mission with a damaged run status or state no longer stops continuation notices for healthy goal missions. The damaged mission is reported separately. Thanks to [@quifox](https://github.com/quifox) for [#2604](https://github.com/nicobailon/pi-subagents/pull/2604).
|
|
110
|
+
- On Linux, a runner process that exited but was not yet cleaned up by the system no longer leaves its run marked as running, or a workflow waiting for a result that will never arrive. Thanks to [@quifox](https://github.com/quifox) for [#2606](https://github.com/nicobailon/pi-subagents/pull/2606).
|
|
111
|
+
- Saved subagent profiles with an invalid `machine` value are now rejected when loaded or checked, before any settings are written. `machine: false` still clears a pin. Thanks to [@quifox](https://github.com/quifox) for [#2619](https://github.com/nicobailon/pi-subagents/pull/2619).
|
|
112
|
+
|
|
113
|
+
## [0.74.0] - 2026-09-30
|
|
114
|
+
|
|
115
|
+
### Highlights
|
|
116
|
+
|
|
117
|
+
- Workflow scripts are now written as a normal ```` ```js workflow ```` code block in the reply and run with `workflow: true`, with no JSON escaping. This replaces `workflowScript` and `workflowScriptPath`.
|
|
118
|
+
- On models that cannot add a tool mid-conversation, `subagent` is now available from the start, so turning it on no longer reprocesses the whole conversation at full price.
|
|
119
|
+
- The new `disabledFeatures` setting hides parts of the `subagent` tool you do not use, and with `workflow-scripts` turned off you can run children with simple `chain` and `tasks` lists.
|
|
120
|
+
- `/reload` and session resumes no longer kill running background workflows, and relaunching one reuses the children that already finished.
|
|
121
|
+
- Subagent children now respect an untrusted project the same way the main session does.
|
|
122
|
+
|
|
123
|
+
### Added
|
|
124
|
+
|
|
125
|
+
- `disabledFeatures` in `config.json` removes feature groups you do not use from the `subagent` tool, such as agent management, watchdog, panes, missions, lane management, and per-call options like `toolBudget` or `machine`. Their parameters disappear from the tool, the tool description stops mentioning them, and calls that still use them fail with an error that names the setting. `scheduledRuns.enabled: false` now removes the schedule parameters the same way, and a malformed `scheduledRuns` value is now a config error. Nothing changes unless you opt in. With everything disabled, the tool declaration shrinks from 18,239 to 10,263 characters. See [configuration](docs/configuration.md#disabledfeatures). Thanks to [@tmustier](https://github.com/tmustier) for [#2542](https://github.com/nicobailon/pi-subagents/pull/2542).
|
|
126
|
+
- `disabledFeatures` also accepts `workflow-scripts`. It removes the `workflow`, `args`, `preflight`, `globalConcurrencyLimit`, and `maxSubagentSpawnsPerRun` parameters and the `validate` action, and the tool description no longer explains how to write scripts. In their place, the tool takes `tasks: [{ agent, task }]` to run children in parallel and `chain: [{ agent, task?, as? } | { parallel: [{ agent, task }] }]` to run steps in order. Chain tasks can use `{task}` (the top-level `task`), `{previous}`, and `{outputs.name}`. If a child fails, the run fails but still returns the results of the children that finished. Scripts that still arrive from RPC, `/prompt-workflow`, saved schedules, or delegated launches fail with an error that names the setting; `/run` still works. This mode saves about 2,000 more characters of tool declaration. Without it, the tool is unchanged. In both modes, extensions can no longer register workflow resources named `chain` or `tasks`. See [configuration](docs/configuration.md#chain-and-tasks-without-workflow-scripts).
|
|
127
|
+
- On Pi 0.99 and later without pi-mcp-adapter, `mcp:server` and `mcp:server/tool` entries in an agent's `tools` now select tools from Pi's built-in MCP, and the child gets exactly those tools. Servers from `mcp.json` work in foreground and background children; servers that extensions add with `pi.registerMcpServer()` work in background children. With pi-mcp-adapter installed, nothing changes. Thanks to [@fmoda3](https://github.com/fmoda3) for [#2555](https://github.com/nicobailon/pi-subagents/issues/2555).
|
|
128
|
+
- `subagents.modelScope` allow lists accept a `scoped` token, which stands for the parent session's scoped models (Pi's `/scoped-models`). Subagent model limits then follow Pi's model scoping without a second copy of the list. In an unscoped session, `scoped` means the same as `inherit`. Error messages list at most 8 patterns before summarizing the rest. Thanks to [@coreyryanhanson](https://github.com/coreyryanhanson) for [#2538](https://github.com/nicobailon/pi-subagents/pull/2538).
|
|
129
|
+
- `subagents.agentOverrides.<name>.advertise` lists an agent in the parent's agent catalog from settings, so you no longer have to copy a builtin agent file just to advertise it. Agents registered at runtime still cannot be advertised. Thanks to [@strive-run](https://github.com/strive-run) for [#2534](https://github.com/nicobailon/pi-subagents/pull/2534).
|
|
130
|
+
- Native Pi subagents can use Pi's built-in `codemode` tool when their tool selection allows it. It is loaded only in the child, so the main session can keep codemode off. Older Pi versions without codemode still report it as unavailable when an agent asks for it. Thanks to [@albertgwo](https://github.com/albertgwo) for [#2574](https://github.com/nicobailon/pi-subagents/pull/2574).
|
|
131
|
+
- After you upgrade pi-subagents, your first interactive session shows a short notice with the highlights of each new version and a link to the changelog. It is shown once and never enters the conversation, so it does not affect the model's context or prompt cache. Fresh installs and child sessions show nothing.
|
|
132
|
+
|
|
133
|
+
### Changed
|
|
134
|
+
|
|
135
|
+
- **Breaking:** Workflow scripts had to be passed to the `subagent` tool as a JSON string, so every quote and newline was escaped. The tool now takes one `workflow` field with three forms: `workflow: true` runs the single ```` ```js workflow ```` code block written in the same reply; a string containing `/` (such as `"./ci/sweep.js"`) loads a script file relative to `cwd`; any other string runs a named workflow. The `workflowScript` and `workflowScriptPath` parameters were removed, and calls that still pass them fail with an error that shows the new forms. RPC `spawn` takes inline script text as `script` and a path or workflow name as `workflow`. Saved schedules and run records keep working.
|
|
136
|
+
- On models that cannot take a new tool mid-conversation, calling `subagents_enable` made the provider reprocess the whole conversation at the uncached price. New sessions on those models now start with `subagent` already available. Models that can add tools mid-conversation still start with `subagents_enable`. Resumed sessions keep the tools they had, and switching models mid-session does not change them. The new `toolActivation` setting in `config.json` chooses `"auto"` (the default), `"dynamic"` (always start with `subagents_enable`, the old behavior), or `"eager"` (always start with `subagent`, like `--exclude-tools subagents_enable`). See [configuration](docs/configuration.md#toolactivation). Thanks to [@tinoy1336](https://github.com/tinoy1336) for [#2589](https://github.com/nicobailon/pi-subagents/issues/2589).
|
|
137
|
+
- After `subagents_enable`, the model was sometimes told to wait for the next prompt even when `subagent` was already usable. It is now told to check its tool list: use `subagent` if it is there, otherwise wait for the next prompt instead of retrying.
|
|
138
|
+
- CI now runs the tool-activation smoke test as a required check. Thanks to [@quifox](https://github.com/quifox) for [#2528](https://github.com/nicobailon/pi-subagents/pull/2528).
|
|
139
|
+
|
|
140
|
+
### Fixed
|
|
141
|
+
|
|
142
|
+
- Subagent children now follow the parent session's project trust. Before, a child in an untrusted project still loaded that project's settings, system prompt files, skills and, for background children, its extensions. Fixes [#2569](https://github.com/nicobailon/pi-subagents/issues/2569).
|
|
143
|
+
- `/reload`, a session resume, or a pi-web project switch stopped running background workflows and their children, and relaunching the script ran every child again, including ones that had already finished. Background children now keep running, the workflow's notice says to relaunch it, and relaunching the same script with the same args reuses finished children and waits for running ones. Failed children run again. The stop is recorded as `workflow.stopCause: "runtime-replaced"`. Fixes [#2546](https://github.com/nicobailon/pi-subagents/issues/2546).
|
|
144
|
+
- Stopping a background workflow by a short id, its tool-call id, its run directory, or from the Fleet view did nothing, so the workflow and its children kept running. These stops now work, and the workflow ends as stopped. Fixes [#2571](https://github.com/nicobailon/pi-subagents/issues/2571).
|
|
145
|
+
- Reviving a failed background workflow child with `subagent({ action: "resume", id })` did not show up in the workflow: its status, receipt and keyed `latest: true` resume still pointed at the failed run. Workflow `status` now shows `Revived → <run>: <state>` under the failed key, keyed resume continues from the revived run, and a workflow that finishes afterwards records the revival in its receipt and completion notice. The workflow's return value is unchanged. Thanks to [@l3gz](https://github.com/l3gz) for reporting [#2579](https://github.com/nicobailon/pi-subagents/issues/2579).
|
|
146
|
+
- When a workflow script failed and stopped a sibling that was still running, the sibling got a "Workflow child failed" notice whose error began with a "Run fan-out: N/M used, K remaining" line. The notice now says the child was stopped and gives only the reason. Fixes [#2562](https://github.com/nicobailon/pi-subagents/issues/2562) and [#2567](https://github.com/nicobailon/pi-subagents/issues/2567).
|
|
147
|
+
- After pi-subagents was updated on disk while Pi was running, for example by `git pull` in a local checkout or a package update, the first `subagent` call could fail with an error such as `(0 , _publicExecution.isWorkflowScriptPath) is not a function`, because it mixed new and old code. pi-subagents now loads all of its code shortly after a session starts, without slowing startup. After an update, run `/reload` or restart Pi to use the new version.
|
|
148
|
+
- With Pi 0.99's `codemode` turned on, codemode scripts could call `subagent`, `subagents_enable`, `subagent_supervisor`, `contact_supervisor` and `structured_output`, none of which work from a script: a `subagent` run there had no progress card and was cancelled unless awaited, `contact_supervisor` blocked the script, and `structured_output` had no effect. Codemode also added the whole `subagent` schema to its own description, about 2,200 extra tokens per request. The model can still call these tools directly, but scripts can no longer call them. Older Pi versions are unaffected.
|
|
149
|
+
- With the `subagent` tool registered, every request to llama.cpp (`llama-server --jinja`) failed with a 400 error because one parameter's pattern was not anchored at both ends, which llama.cpp requires. The pattern is now anchored and accepts the same values. Thanks to [@tychart](https://github.com/tychart) for reporting [#2581](https://github.com/nicobailon/pi-subagents/issues/2581).
|
|
150
|
+
- With pi-mcp-adapter 3.x on Pi 0.99 or later, `mcp:` entries in an agent's `tools` looked up Pi's built-in MCP instead of the adapter, so choosing an adapter server failed the launch. The adapter now takes priority whenever it is loaded. Fixes [#2575](https://github.com/nicobailon/pi-subagents/issues/2575).
|
|
151
|
+
- After upgrading pi-mcp-adapter to 3.1.0, `mcp:` tool selections for stdio servers stopped resolving, because the adapter started including `inheritEnv` and `literalEnv` in its config hash. pi-subagents now computes the same hash. Thanks to [@qsgy-edge](https://github.com/qsgy-edge) for [#2539](https://github.com/nicobailon/pi-subagents/pull/2539).
|
|
152
|
+
- When the async widget did not have room for its full view, its compact card showed one line per run and filled the rest with blank rows, hiding a workflow's lanes. The card now shows the lanes in that space and is only as tall as its content. Thanks to [@l3gz](https://github.com/l3gz) for reporting [#2578](https://github.com/nicobailon/pi-subagents/issues/2578).
|
|
153
|
+
- The async widget and the Fleet view counted running agents differently: with a 4-lane workflow and one other run, the widget said `2 agents running` and the Fleet view said `5 active agents`. The widget now counts each running workflow lane and each agent of a parallel run, like the Fleet view. Thanks to [@l3gz](https://github.com/l3gz) for reporting [#2578](https://github.com/nicobailon/pi-subagents/issues/2578).
|
|
154
|
+
- Herdr's subagent count no longer counts a workflow's coordinator as a child, and it updates as soon as a foreground workflow child starts or finishes instead of up to 45 seconds later. Thanks to [@xadips](https://github.com/xadips) for [#2556](https://github.com/nicobailon/pi-subagents/pull/2556).
|
|
155
|
+
- Dynamic tool activation now works when Pi runs inside another app, such as pi-web. Those hosts no longer print "Could not locate the running Pi installation" and no longer fall back to keeping `subagent` always loaded. Thanks to [@q107580018](https://github.com/q107580018) for [#2526](https://github.com/nicobailon/pi-subagents/issues/2526).
|
|
156
|
+
- Answering a background subagent's supervisor request no longer triggers a stale "needs attention" notice afterwards. The notice now waits 60 seconds and is sent only if the request is still unanswered and the run is still active. Status views still show the request right away.
|
|
157
|
+
- `inheritSkills: false` now also removes skills that extensions add to a child session (for example through `subagents.defaultExtensions`), so they no longer appear next to the agent's own skills. Thanks to [@zeezooz](https://github.com/zeezooz) for [#2540](https://github.com/nicobailon/pi-subagents/issues/2540).
|
|
158
|
+
- A child that was aborted by compaction now recovers when Pi reports the compaction late. Thanks to [@jiuai233](https://github.com/jiuai233) for [#2537](https://github.com/nicobailon/pi-subagents/pull/2537).
|
|
159
|
+
- Old background runs that belong to a finished or deleted mission are now cleaned up like other old runs instead of being kept forever. Fixes [#2535](https://github.com/nicobailon/pi-subagents/issues/2535). Thanks to [@LCorleone](https://github.com/LCorleone) for [#2536](https://github.com/nicobailon/pi-subagents/pull/2536).
|
|
160
|
+
- On Windows, the Pi interface froze for about 0.45 seconds once per process while background run cleanup waited on a PowerShell query. The query no longer blocks the interface. Thanks to [@localhedge](https://github.com/localhedge) for reporting [#2559](https://github.com/nicobailon/pi-subagents/issues/2559).
|
|
161
|
+
- On Windows, an idle session no longer checks for supervisor requests every 250 ms for its whole lifetime. Checking stops when no subagent work is pending and starts again when new work begins, as it already did on macOS. Thanks to [@localhedge](https://github.com/localhedge) for reporting [#2558](https://github.com/nicobailon/pi-subagents/issues/2558).
|
|
162
|
+
- Starting, reloading, resuming, or forking a session no longer pauses Pi while the watchdog records the current Git commit (about 50 ms per session start on Windows, even with the watchdog off). The check now runs in the background. Thanks to [@localhedge](https://github.com/localhedge) for reporting [#2560](https://github.com/nicobailon/pi-subagents/issues/2560).
|
|
163
|
+
- Worktree diffs now work with older Git versions that lack the `--default-prefix` option. Thanks to [@quifox](https://github.com/quifox) for [#2527](https://github.com/nicobailon/pi-subagents/pull/2527).
|
|
164
|
+
- Updated `undici` from 8.10.0 to 8.10.2, outside the range of [GHSA-3wwx-pv8p-q78v](https://github.com/advisories/GHSA-3wwx-pv8p-q78v), so projects that install pi-subagents no longer fail `npm audit` because of it. pi-subagents does not use the affected WebSocket client. Thanks to [@advaitpaliwal](https://github.com/advaitpaliwal) for [#2548](https://github.com/nicobailon/pi-subagents/pull/2548).
|
|
165
|
+
- A package-discovery test no longer fails when the system temp directory is inside a Pi project. Thanks to [@abdwhb-png](https://github.com/abdwhb-png) for [#2553](https://github.com/nicobailon/pi-subagents/pull/2553).
|
|
166
|
+
|
|
167
|
+
## [0.73.1] - 2026-09-27
|
|
168
|
+
|
|
169
|
+
### Highlights
|
|
170
|
+
|
|
171
|
+
- Turning on `subagent` mid-session no longer throws away the prompt cache, so the next message no longer resends the whole conversation.
|
|
172
|
+
|
|
173
|
+
### Fixed
|
|
174
|
+
|
|
175
|
+
- Turning on `subagent` no longer throws away the prompt cache. The catalog of advertised agents is now sent as its own `advertised_subagents` prompt section, which Pi adds at the end of the conversation. Before, pi-subagents rewrote the whole system prompt, so the first message after `subagents_enable` resent the entire conversation to the cache. Fixes [#2518](https://github.com/nicobailon/pi-subagents/issues/2518). Thanks to [@javapacr](https://github.com/javapacr) for [#2519](https://github.com/nicobailon/pi-subagents/pull/2519).
|
|
176
|
+
- Stopping a background run while it was shutting down could report "Stop requested" even though the runner never read the stop, so an interrupted run finished as paused instead of stopped. The stop now fails with a message to retry once the runner has exited, and that retry stops a paused run.
|
|
177
|
+
|
|
178
|
+
## [0.73.0] - 2026-09-27
|
|
179
|
+
|
|
180
|
+
### Highlights
|
|
181
|
+
|
|
182
|
+
- Failed workflows now say what kind of failure happened, such as a bad script, a failed child, or a timeout, so callers can react without parsing error text.
|
|
183
|
+
- Huge workflow results no longer flood the parent's context. Output is capped, every cut is marked, and the full text is saved to a file.
|
|
184
|
+
- A typo in a workflow's agent name now stops the workflow before any child starts, and `validate` suggests the name you probably meant.
|
|
185
|
+
- Running subagent spinners now use the same thinking-level colors as Pi's prompt box.
|
|
186
|
+
- `mcp:` tool selections work with pi-mcp-adapter 3.0's `mcp-adapter.json` files.
|
|
187
|
+
|
|
188
|
+
### Changed
|
|
189
|
+
|
|
190
|
+
- Failed workflows now include a `failureKind` in foreground details and async status: `validation`, `script`, `child`, `return-serialization`, `timeout`, `detached-child`, or `runtime`. Callers no longer need to parse the error text to tell these apart. Fixes [#2506](https://github.com/nicobailon/pi-subagents/issues/2506).
|
|
191
|
+
- A running subagent's spinner now uses Pi's prompt-box thinking color. A spinner for one child uses that child's thinking level, or the main session's level when the child has none. A spinner for several children, such as a widget header, a parallel or chain card, or a workflow phase, uses the main session's level. `thinking` labels still show the configured level. Thanks to [@pwguler](https://github.com/pwguler) for [#2512](https://github.com/nicobailon/pi-subagents/pull/2512).
|
|
192
|
+
|
|
193
|
+
### Fixed
|
|
194
|
+
|
|
195
|
+
- `mcp:` direct-tool selections now read pi-mcp-adapter 3.0's `mcp-adapter.json` files (the global one and a project's `.selesai/mcp-adapter.json`), so a migrated setup no longer fails to launch children with `Unresolved MCP direct-tool selectors`. Pi's own `mcp.json` files are no longer read, because they belong to Pi's built-in MCP support. If your adapter servers are still listed there, move them to `mcp-adapter.json`. Thanks to [@qsgy-edge](https://github.com/qsgy-edge) for [#2511](https://github.com/nicobailon/pi-subagents/pull/2511).
|
|
196
|
+
- Large workflow results no longer flood the parent's context. A foreground workflow caps its Return, Emitted, and Console sections and its failure error at 200 KB or 5000 lines (or your `maxOutput`), shortens each call-trace error to 500 characters, marks each cut, and saves the full text to a file. Async completion notices and `action: "status"` now end cut text in `…` and point to the run's `status.json`. Before, they cut the return value without saying so and showed the full error however long it was. Fixes [#2505](https://github.com/nicobailon/pi-subagents/issues/2505).
|
|
197
|
+
- A workflow script with a misspelled agent name now fails before any child starts, instead of running the earlier children first. `action: "validate"` reports the same error with its line, column, and the closest agent name when there is one (for example `Did you mean 'reviewer'?`). Names built at runtime, and children with their own `cwd`, `agentScope`, or `resume`, are still checked when they launch. Fixes [#2504](https://github.com/nicobailon/pi-subagents/issues/2504).
|
|
198
|
+
- On providers that fix the tool list for a whole prompt, such as bridges to another agent SDK, `subagent` only appears after the next user prompt. The `subagents_enable` result now says so, which stops the model from retrying `subagent` in the same prompt, and it names `--exclude-tools subagents_enable` for keeping `subagent` always available. Fixes [#2513](https://github.com/nicobailon/pi-subagents/issues/2513).
|
|
199
|
+
- A `timeoutMs` or `maxRuntimeMs` above 2,147,483,647 ms (about 24.8 days), the longest delay Node.js timers support, is now rejected before launch, and `action: "resume"` checks its `timeoutMs` the same way. Node shortened such a timer to about 1 ms, so the run timed out almost immediately. Thanks to [@quifox](https://github.com/quifox) for [#2517](https://github.com/nicobailon/pi-subagents/pull/2517).
|
|
200
|
+
|
|
201
|
+
## [0.72.1] - 2026-09-26
|
|
202
|
+
|
|
203
|
+
### Fixed
|
|
204
|
+
|
|
205
|
+
- pi-subagents is published with npm provenance again, so pnpm's `trustPolicy: no-downgrade` accepts it. Releases now go out only through the GitHub `Release` workflow after maintainer approval. The code is the same as 0.72.0, which was published without provenance. Thanks to [@williameckert1](https://github.com/williameckert1) for [#2453](https://github.com/nicobailon/pi-subagents/issues/2453).
|
|
206
|
+
|
|
207
|
+
## [0.72.0] - 2026-09-26
|
|
208
|
+
|
|
209
|
+
### Highlights
|
|
210
|
+
|
|
211
|
+
- Pi starts faster with pi-subagents installed: startup no longer waits on global agent discovery, and the executor and Fleet load the first time you use them.
|
|
212
|
+
- The package no longer bundles its own copy of TypeBox, so installs are smaller and Pi stops warning about the manifest.
|
|
213
|
+
- Models from complete provider extensions now work everywhere pi-subagents calls a model, including the watchdog, permission checks, and Prompt Audit.
|
|
214
|
+
- Other extensions can plug their own inspectors into Fleet.
|
|
215
|
+
- Async runs are more dependable: child sessions can start and resume their own external jobs, `/subagent-cost` counts every async launch, and live runs are no longer marked failed when containers share a temp directory.
|
|
216
|
+
|
|
217
|
+
### Added
|
|
218
|
+
|
|
219
|
+
- Extensions can register their own inspector providers with the `pi-subagents/inspectors` helper or the `pi-subagents:inspector-register:v1` event. Fleet uses them for inspector actions, while the built-in inspectors and runner controls keep working as before. Thanks to [@ninjapenguin](https://github.com/ninjapenguin) for [#2482](https://github.com/nicobailon/pi-subagents/pull/2482).
|
|
220
|
+
|
|
221
|
+
### Changed
|
|
222
|
+
|
|
223
|
+
- Pi starts faster with pi-subagents enabled. The foreground executor and the Fleet view now load on first use, which cuts the extension's own startup modules from 264 to 199. Tools, commands, and prompts are registered exactly as before. Thanks to [@h4yfans](https://github.com/h4yfans) for the measurements in [#2480](https://github.com/nicobailon/pi-subagents/issues/2480).
|
|
224
|
+
- TypeBox is now provided by Pi instead of bundled with the package. Pi no longer warns about the manifest, and the extension, its children, and background runners all use Pi's copy. Thanks to [@felipemm](https://github.com/felipemm) for [#2454](https://github.com/nicobailon/pi-subagents/issues/2454) and [#2455](https://github.com/nicobailon/pi-subagents/pull/2455).
|
|
225
|
+
|
|
226
|
+
### Fixed
|
|
227
|
+
|
|
228
|
+
- The watchdog, permission checks, and Prompt Audit now reach models from complete provider extensions (`pi.registerProvider(provider)`). They used an older lookup that only knew config-style providers, so these calls failed even though ordinary children could use the same model. Thanks to [@chem](https://github.com/chem) for [#2496](https://github.com/nicobailon/pi-subagents/issues/2496).
|
|
229
|
+
- Model names such as `openrouter/auto-beta` now resolve when the provider's own model id already starts with the provider name. They used to fail with `Unknown subagent model`. Thanks to [@schmlblk](https://github.com/schmlblk) for [#2487](https://github.com/nicobailon/pi-subagents/issues/2487).
|
|
230
|
+
- `fast: true` accepts any `openai-codex/*` model instead of only two named models, so newer Codex models no longer fail before launch. Other providers are still rejected. Thanks to [@jtabke](https://github.com/jtabke) for [#2452](https://github.com/nicobailon/pi-subagents/issues/2452).
|
|
231
|
+
- Async status shows a child's real context limit once its session starts, including a limit raised by an extension. Thanks to [@johnhenaot](https://github.com/johnhenaot) for [#2448](https://github.com/nicobailon/pi-subagents/pull/2448).
|
|
232
|
+
- Session startup no longer freezes while pi-subagents looks for globally installed agents. The first agent prompt and `subagents_enable` still wait until discovery finishes. Thanks to [@trading-bl](https://github.com/trading-bl) for [#2474](https://github.com/nicobailon/pi-subagents/issues/2474).
|
|
233
|
+
- `subagents_enable` ignores extra arguments instead of rejecting the call. DeepSeek V4.1 Flash sends `subagents_enable({ action: "enable" })`, which used to fail every time. Thanks to [@crusaderky](https://github.com/crusaderky) for [#2483](https://github.com/nicobailon/pi-subagents/issues/2483).
|
|
234
|
+
- An older `pi-ai` installed next to the package no longer turns off on-demand tool loading, so `subagent` stays hidden behind `subagents_enable` until it is needed. Thanks to [@abdwhb-png](https://github.com/abdwhb-png) for [#2471](https://github.com/nicobailon/pi-subagents/pull/2471).
|
|
235
|
+
- `/council` works when Pi runs with `--no-skills`. It now loads its instructions through `subagent({ action: "guide", topic: "council" })`. Thanks to [@felipemm](https://github.com/felipemm) for [#2467](https://github.com/nicobailon/pi-subagents/issues/2467).
|
|
236
|
+
- External-job runs that a child session launches now start instead of staying queued. Thanks to [@juanpprieto](https://github.com/juanpprieto) for [#2449](https://github.com/nicobailon/pi-subagents/issues/2449).
|
|
237
|
+
- A child session can follow up its own external-job runs with `resume`, and a repeated resume no longer sends the follow-up twice. Thanks to [@juanpprieto](https://github.com/juanpprieto) for [#2465](https://github.com/nicobailon/pi-subagents/issues/2465).
|
|
238
|
+
- A background run that is still working is no longer reported failed when Pi processes in different containers share one `SELESAI_SUBAGENTS_TEMP_ROOT`. Pi could not see the runner's process from another container and treated it as gone. Such runs now fall back to the usual 24-hour stale check. Thanks to [@zeezooz](https://github.com/zeezooz) for [#2494](https://github.com/nicobailon/pi-subagents/issues/2494) and [#2495](https://github.com/nicobailon/pi-subagents/issues/2495).
|
|
239
|
+
- `/subagent-cost` includes async single, chain, and parallel launches, which it used to report as having no child usage. Thanks to [@zeezooz](https://github.com/zeezooz) for [#2484](https://github.com/nicobailon/pi-subagents/issues/2484).
|
|
240
|
+
- Awaited workflow children send the `subagent:async-complete` event without an extra child notification. Thanks to [@mmarabel](https://github.com/mmarabel) for [#2456](https://github.com/nicobailon/pi-subagents/issues/2456).
|
|
241
|
+
- Worktree labels stay within 256 bytes when shortened in the middle of a multi-byte character, so async status stays readable. Thanks to [@chenhaoxiang](https://github.com/chenhaoxiang) for [#2446](https://github.com/nicobailon/pi-subagents/pull/2446).
|
|
242
|
+
- A launch blocked by the session's capability ceiling now fails before any fork work starts. It used to branch the parent session or prepare the fork summary first. Thanks to [@antonioc-cl](https://github.com/antonioc-cl) for [#2481](https://github.com/nicobailon/pi-subagents/pull/2481).
|
|
243
|
+
- The `subagent` schema and guides describe preflight, timeout aliases, budget limits, and child extension bindings accurately, and an empty `usageBudget` is now rejected. Thanks to [@amchen2310](https://github.com/amchen2310) for [#2473](https://github.com/nicobailon/pi-subagents/issues/2473).
|
|
244
|
+
- The async workflow widget no longer flickers while the inline Fleet roster is open. Thanks to [@gustavo-neiva](https://github.com/gustavo-neiva) for [#2468](https://github.com/nicobailon/pi-subagents/pull/2468).
|
|
245
|
+
- `subagent_supervisor` `pending` shows each request's question, so you can answer a request after missing its notice ([#2460](https://github.com/nicobailon/pi-subagents/issues/2460)).
|
|
246
|
+
|
|
247
|
+
## [0.71.0] - 2026-09-23
|
|
248
|
+
|
|
249
|
+
### Highlights
|
|
250
|
+
|
|
251
|
+
- Other extensions can read subagent spend and follow async workflow progress as data, without scraping terminal output.
|
|
252
|
+
- Workflow status can now confirm that every child process has actually exited.
|
|
253
|
+
- Child sessions keep readable names such as `worker: fix auth refresh` in `/resume` and Herdr.
|
|
254
|
+
- The full `subagent` tool loads only when a request needs it, which keeps unrelated prompts smaller.
|
|
255
|
+
- Background runners, reviewers, and Bun, pnpm, and symlinked installs are more reliable.
|
|
256
|
+
|
|
257
|
+
### Added
|
|
258
|
+
|
|
259
|
+
- In-process RPC `cost` method. It returns the same parent-plus-child spend that `/subagent-cost` shows, as versioned data (`{ version: 1, parent, children, childTotal, total, unresolvedAsyncChildren }`). `ping.capabilities.cost` advertises `{ version: 1 }`. `/subagent-cost` output is unchanged. Thanks to [@raymondtri](https://github.com/raymondtri) for [#2378](https://github.com/nicobailon/pi-subagents/pull/2378).
|
|
260
|
+
- Async `workflowScript` runs and the children they launch now emit public lifecycle events, so companion UIs can follow them without scraping terminal output. Thanks to [@navidemad](https://github.com/navidemad) for [#2382](https://github.com/nicobailon/pi-subagents/pull/2382).
|
|
261
|
+
- Status for an async workflow now includes `details.workflowTerminalProof`. It reports `observed`, with each child's exit evidence, only after the workflow has stopped launching children and every async child has exited or failed to start. Otherwise it reports `pending` or `unknown` with a reason, including when the saved child list is missing. A finished workflow frees its capacity slot using the same check, so the two always agree. Thanks to [@alexei-led](https://github.com/alexei-led) for [#2436](https://github.com/nicobailon/pi-subagents/issues/2436) and [#2442](https://github.com/nicobailon/pi-subagents/pull/2442).
|
|
262
|
+
|
|
263
|
+
### Changed
|
|
264
|
+
|
|
265
|
+
- Packaged `worker` agents now start with fresh context instead of forking the parent's conversation. You can still request fork context per call or set it globally. Thanks to [@eduardopicolo-cb](https://github.com/eduardopicolo-cb) for [#2384](https://github.com/nicobailon/pi-subagents/issues/2384).
|
|
266
|
+
- The full `subagent` tool stays hidden until a request activates it through the small `subagents_enable` loader, which keeps unrelated prompt context smaller. Direct commands, RPC, the TUI, and nested children work as before. Thanks to [@Knimoms](https://github.com/Knimoms) for [#2380](https://github.com/nicobailon/pi-subagents/pull/2380).
|
|
267
|
+
- Child sessions keep a readable name (for example `worker: fix auth refresh`) in session lists, `/resume`, and Herdr while the intercom bridge is active. Nested children now reach their supervisor through the child's intercom ID instead of its session name. This needs a pi-intercom version that supports the `intercom:session-identity` claim; with an older pi-intercom, children keep the previous naming so routing still works. Thanks to [@Q-xuan](https://github.com/Q-xuan) for raising the problem in [#2432](https://github.com/nicobailon/pi-subagents/pull/2432).
|
|
268
|
+
- The optional `@earendil-works/pi-ai` peer dependency now requires 0.86.1 or later, matching the oldest supported Pi host. Thanks to [@samuela](https://github.com/samuela) for [#2373](https://github.com/nicobailon/pi-subagents/issues/2373).
|
|
269
|
+
- When a child's `structured_output` call is rejected, the result now includes a short summary of the validation errors. The missing-structured-output error is used only when the child never called the tool. Thanks to [@rtbe](https://github.com/rtbe) for [#2407](https://github.com/nicobailon/pi-subagents/issues/2407).
|
|
270
|
+
|
|
271
|
+
### Fixed
|
|
272
|
+
|
|
273
|
+
- `subagent` is available again after switching from an inactive session branch to one where it was activated.
|
|
274
|
+
- Background runners and external CLI agents no longer inherit Git's repository variables (`GIT_DIR`, `GIT_WORK_TREE`, `GIT_INDEX_FILE`, `GIT_CONFIG_*`, and the rest of `git rev-parse --local-env-vars`). When Pi was started from a Git hook or with `git --git-dir`, these made a child's Git commands act on the parent's repository instead of the child's working directory. Other variables such as `GIT_AUTHOR_*` still pass through, and an external agent's explicit environment allowlist is unchanged. Thanks to [@alexei-led](https://github.com/alexei-led) for [#2437](https://github.com/nicobailon/pi-subagents/issues/2437) and [#2440](https://github.com/nicobailon/pi-subagents/pull/2440).
|
|
275
|
+
- Retained background runs no longer time out while the packaged runner is still starting. Thanks to [@muermaru](https://github.com/muermaru) for [#2403](https://github.com/nicobailon/pi-subagents/issues/2403), and to [@qsgy-edge](https://github.com/qsgy-edge) for the independent diagnosis and timing evidence in [#2415](https://github.com/nicobailon/pi-subagents/pull/2415).
|
|
276
|
+
- When a background runner exits without writing a result, the failure notice now includes its exit code and signal. Thanks to [@grahama1970](https://github.com/grahama1970) for [#2423](https://github.com/nicobailon/pi-subagents/issues/2423).
|
|
277
|
+
- A child that produced valid structured output keeps it as evidence when a later provider error or abort fails the run. Thanks to [@grahama1970](https://github.com/grahama1970) for [#2411](https://github.com/nicobailon/pi-subagents/issues/2411).
|
|
278
|
+
- Completion notifications are no longer sent twice when the extension is registered more than once for the same session. Thanks to [@hongchu098](https://github.com/hongchu098) for [#2389](https://github.com/nicobailon/pi-subagents/issues/2389).
|
|
279
|
+
- The bundled reviewer works in directories without Git: `watchdog_diff` reports that no baseline is available instead of failing the review. Thanks to [@matthewmathistrellys](https://github.com/matthewmathistrellys) for [#2422](https://github.com/nicobailon/pi-subagents/issues/2422).
|
|
280
|
+
- The bundled reviewer's `watchdog_diff` counts as read-only, so a reviewer given a single output path returns its full report for the runtime to save, as introduced in [#426](https://github.com/nicobailon/pi-subagents/issues/426), with thanks to Alexander Gerdes ([@Avg8888](https://github.com/Avg8888)). Thanks to [@riskywhat](https://github.com/riskywhat) for [#2405](https://github.com/nicobailon/pi-subagents/issues/2405).
|
|
281
|
+
- Watchdog reviews and permission checks work again on the Pi 0.86.1 package layout. Thanks to [@zieglar](https://github.com/zieglar) for the reproduction and version comparison in [#2377](https://github.com/nicobailon/pi-subagents/issues/2377).
|
|
282
|
+
- A workflow child with no `agent` now fails with an error that names it (`Workflow child 'r1' has no agent…`) instead of the generic "Provide exactly one mode" message. Thanks to [@matthewmathistrellys](https://github.com/matthewmathistrellys) for raising the confusing error in [#2422](https://github.com/nicobailon/pi-subagents/issues/2422).
|
|
283
|
+
- `/prompt-workflow` finds prompt files that are symlinks (as installed by dotfile managers such as GNU Stow or homeshick) and skips broken links instead of failing. Thanks to [@nietaki](https://github.com/nietaki) for [#2430](https://github.com/nicobailon/pi-subagents/issues/2430).
|
|
284
|
+
- Completed retained agents can resume even when their own list of allowed child agents excludes them. Parent authority and that restriction both still apply; older retained children without the needed recovery data fail closed. Thanks to [@riskywhat](https://github.com/riskywhat) for [#2379](https://github.com/nicobailon/pi-subagents/issues/2379), building on the allowlist work in [#2338](https://github.com/nicobailon/pi-subagents/pull/2338) credited to [@shkrabov](https://github.com/shkrabov).
|
|
285
|
+
- Guidance now says the list of retained workflow children is not complete: when you know a run's exact id, check its status and try resuming it before falling back to a labeled agent with the same role. Thanks to [@riskywhat](https://github.com/riskywhat) for [#2406](https://github.com/nicobailon/pi-subagents/issues/2406).
|
|
286
|
+
- Skills marked `disable-model-invocation: true` are no longer shown to child agents, even when requested by name, and are no longer suggested to the model. Thanks to [@toRolex](https://github.com/toRolex) for [#2400](https://github.com/nicobailon/pi-subagents/pull/2400).
|
|
287
|
+
- Pi hosts compiled with Bun are found from Pi's package directory or its bundled `share/pi-coding-agent` layout, while unrelated extension dependencies still cannot turn on dynamic tools. Thanks to [@fmoda3](https://github.com/fmoda3) for [#2417](https://github.com/nicobailon/pi-subagents/issues/2417).
|
|
288
|
+
- pnpm installs follow npm-hosted peer aliases through their symlinks to the real package, so the package is not loaded twice. Thanks to [@henriquebastos](https://github.com/henriquebastos) for [#2409](https://github.com/nicobailon/pi-subagents/pull/2409).
|
|
289
|
+
- npm and git installs detect dynamic tool support from the running Pi installation and keep the compact `subagents_enable` loader instead of an always-loaded `subagent` tool. Thanks to [@qsgy-edge](https://github.com/qsgy-edge) for [#2398](https://github.com/nicobailon/pi-subagents/pull/2398).
|
|
290
|
+
- MCP direct tool names now match what pi-mcp-adapter registers, including servers whose tool names already start with the server name, the adapter's `mcp` prefix mode, and per-server `toolPrefix`. Thanks to [@qsgy-edge](https://github.com/qsgy-edge) for [#2395](https://github.com/nicobailon/pi-subagents/pull/2395).
|
|
291
|
+
- Logs from running and failed external CLI agents can be viewed in Fleet, tool status, and the TUI. Thanks to [@Shujakuinkuraudo](https://github.com/Shujakuinkuraudo) for [#2375](https://github.com/nicobailon/pi-subagents/issues/2375).
|
|
292
|
+
- Structured delegation updates report cumulative usage and no longer count missing provider cache numbers as zero. Thanks to [@bioShaun](https://github.com/bioShaun) for [#2374](https://github.com/nicobailon/pi-subagents/pull/2374).
|
|
293
|
+
- Forked sessions keep Pi 0.87 context edits, including replaced content and signed Anthropic thinking blocks.
|
|
294
|
+
## [0.70.1] - 2026-09-20
|
|
295
|
+
|
|
296
|
+
### Highlights
|
|
297
|
+
|
|
298
|
+
- Delegated tasks no longer fail solely because they finish without editing files.
|
|
299
|
+
- Runtime-added agents now honor configured model, provider, and thinking preferences.
|
|
300
|
+
- Foreground children launch reliably when Pi is installed outside the extension's own dependency tree.
|
|
301
|
+
- Pi 0.86.1 support improves watchdog checks, provider-backed summaries, packaging, and standalone use.
|
|
302
|
+
|
|
303
|
+
### Changed
|
|
304
|
+
|
|
305
|
+
- Stop guessing whether task wording requires file edits. Successful tasks now follow their process result and explicitly configured output and acceptance checks. The `completionGuard` setting and `SELESAI_SUBAGENTS_LLM_INTENT_ARBITER` switch have been removed. Thanks to [@SuTang-vain](https://github.com/SuTang-vain) for the reproduction that led to this change in [#2351](https://github.com/nicobailon/pi-subagents/issues/2351).
|
|
306
|
+
- Clarify that a custom agent file fully replaces a bundled agent with the same name. Custom implementation agents must declare `acceptanceRole: writer` to receive writer acceptance defaults.
|
|
307
|
+
- Update delegation guidance so large changes are split only when they contain independently testable parts.
|
|
308
|
+
|
|
309
|
+
### Fixed
|
|
310
|
+
|
|
311
|
+
- Apply `subagents.defaultModel`, `defaultProvider`, `defaultThinking`, and model-tier overrides to runtime-registered agents. Thanks to [@bioShaun](https://github.com/bioShaun) for [#2368](https://github.com/nicobailon/pi-subagents/pull/2368).
|
|
312
|
+
- Show each workflow child's resolved model and thinking level in parent status output. Thanks to [@grahama1970](https://github.com/grahama1970) for [#2364](https://github.com/nicobailon/pi-subagents/pull/2364).
|
|
313
|
+
- Preserve watchdog working-directory context and authenticated provider behavior for pruned-fork overflow summaries on Pi 0.86.1. Thanks to [@chem](https://github.com/chem) for [#2362](https://github.com/nicobailon/pi-subagents/issues/2362).
|
|
314
|
+
- Launch the packaged inspector bootstrap from its compiled JavaScript instead of an absent TypeScript source. Thanks to [@pablog12](https://github.com/pablog12) for [#2360](https://github.com/nicobailon/pi-subagents/issues/2360).
|
|
315
|
+
- Resolve the host `pi-coding-agent` package and its exports from the Pi installation that owns the session, so foreground children work across npm-hosted layouts without loading a second SDK instance. Thanks to [@nazerim](https://github.com/nazerim) for [#2348](https://github.com/nicobailon/pi-subagents/issues/2348).
|
|
316
|
+
- Show an actionable expand shortcut when a host cannot provide its configured keybinding label.
|
|
317
|
+
- Stop test-only background runners when their owning test process exits, and isolate test temporary data to reduce filesystem and Spotlight load.
|
|
318
|
+
|
|
319
|
+
## [0.70.0] - 2026-09-19
|
|
320
|
+
|
|
321
|
+
### Highlights
|
|
322
|
+
|
|
323
|
+
- Control which extensions children load and which agents descendants may launch without widening their permissions.
|
|
324
|
+
- Background workflows remain visible and recoverable through detaches, interruptions, restarts, and supervisor handoffs.
|
|
325
|
+
- Invalid workflows, unsafe worktree launches, and blocked tool budgets now fail earlier with clearer results.
|
|
326
|
+
- Linked worktrees, Windows supervisor polling, source-layout runners, and Orca progress tabs are more reliable.
|
|
327
|
+
|
|
328
|
+
### Added
|
|
329
|
+
|
|
330
|
+
- Add `subagents.defaultSubagentOnlyExtensions` for loading shared child-only extensions without disabling ambient extension discovery. Thanks to [@Shujakuinkuraudo](https://github.com/Shujakuinkuraudo) for #2284.
|
|
331
|
+
- Allow agent frontmatter and `subagents.agentOverrides.<name>.allowedAgents` to restrict which canonical agents a child may launch without granting delegation or widening capability ceilings. Thanks to [@shkrabov](https://github.com/shkrabov) for #2312.
|
|
332
|
+
|
|
333
|
+
### Changed
|
|
334
|
+
|
|
335
|
+
- Document `/subagent-cost` as the combined accounting view for parent and asynchronous child usage. Thanks to [@swarajban](https://github.com/swarajban) for #2313.
|
|
336
|
+
|
|
337
|
+
### Fixed
|
|
338
|
+
|
|
339
|
+
- Wake root `bg_wait` calls when an owned nested child is waiting on `contact_supervisor`. Thanks to [@geril07](https://github.com/geril07) for #2344.
|
|
340
|
+
- Keep explicitly detached workflow children visible, preserve their result lookup after the coordinator exits, and avoid treating launch receipts as completed results. Thanks to [@shaharmor](https://github.com/shaharmor) for #2299.
|
|
341
|
+
- Settle interrupted, stopped, or timed-out background runs even when child session creation hangs. Thanks to [@onorua](https://github.com/onorua) for #2320.
|
|
342
|
+
- Prevent concurrent workflow observers from overwriting retained-session startup confirmation and stranding resumed children. Thanks to [@luigiplr](https://github.com/luigiplr) for #2292.
|
|
343
|
+
- Let children use the tools declared by their own agent configuration instead of incorrectly narrowing them to the parent's `--tools` selection. Thanks to [@carlesba](https://github.com/carlesba) for #2289.
|
|
344
|
+
- Report foreground hard tool-budget blocks as `tool_budget_exhausted`, including calls blocked before execution starts. Thanks to [@kylerberry](https://github.com/kylerberry) for #2302.
|
|
345
|
+
- Keep permission forwarding scoped to the validated launch parent instead of sharing an identity between independent root sessions. Thanks to [@kasumikira](https://github.com/kasumikira) for #2321.
|
|
346
|
+
- Reject malformed inline and file-backed workflow scripts before creating asynchronous run state or launching children. Thanks to [@rtbe](https://github.com/rtbe) for #2309.
|
|
347
|
+
- Reject direct asynchronous managed-worktree launches from a dirty source before creating run state or returning a receipt. Thanks to [@rtbe](https://github.com/rtbe) for #2311.
|
|
348
|
+
- Avoid rejecting keyed property access after a mutable `runs.all(...)` result binding is reassigned.
|
|
349
|
+
- Report useful rooted field paths for failed structured-output `if`/`then`/`else` schemas while preserving root `$defs`. Thanks to [@peedrr](https://github.com/peedrr) for #2317.
|
|
350
|
+
- Give the bundled reviewer a bounded, read-only view of staged, unstaged, and untracked working-tree changes from its launch `HEAD`. Thanks to [@nateberkopec](https://github.com/nateberkopec) for #2306.
|
|
351
|
+
- Show the correct child transcript when inspecting an indexed asynchronous workflow step. Thanks to [@swarajban](https://github.com/swarajban) for #2304.
|
|
352
|
+
- Reconcile foreground and background child usage from terminal session messages when live usage events are missing or incomplete. Thanks to [@riique](https://github.com/riique) for #2295 and #2296.
|
|
353
|
+
- Keep project-scoped agent memory stable across linked Git worktrees. Thanks to [@freezscholte](https://github.com/freezscholte) for #2293.
|
|
354
|
+
- Keep Fleet workflow coverage stable during heartbeat, counter, and token updates without resetting an unchanged layout. Thanks to [@swarajban](https://github.com/swarajban) for #2305.
|
|
355
|
+
- Continue supervisor polling on Windows when a temporary channel directory disappears during a scan. Thanks to [@asher-aqi](https://github.com/asher-aqi) for #2303.
|
|
356
|
+
- Keep source-layout asynchronous runners on native Node TypeScript when child extensions are configured, with consistent peer-module resolution. Thanks to [@qsgy-edge](https://github.com/qsgy-edge) for #2314.
|
|
357
|
+
- Make Orca progress tabs work under `fish`. Thanks to [@yourfriendaaron](https://github.com/yourfriendaaron) for #2294.
|
|
358
|
+
- Prevent publishing the TypeScript source checkout directly to npm; only the compiled package is publishable. Thanks to [@niko-operal](https://github.com/niko-operal) for #2300.
|
|
359
|
+
|
|
360
|
+
## [0.69.0] - 2026-09-18
|
|
361
|
+
|
|
362
|
+
### Highlights
|
|
363
|
+
- Gates can now return a JSON verdict. Point `gate` at a script that prints JSON, and its output becomes the child's structured output, so workflows can branch on a post-run check without the parent reading the child's report.
|
|
364
|
+
- Ghostty detection no longer misfires inside terminals like cmux that embed Ghostty, so you stop seeing AppleScript `-1728`/`-2741` errors or the wrong window being targeted.
|
|
365
|
+
- Hosts without `npm` start up quietly instead of printing `npm: command not found`.
|
|
366
|
+
|
|
367
|
+
### Added
|
|
368
|
+
|
|
369
|
+
- Typed gates: `gate` accepts `{ command, output: "json", schema?, timeoutMs? }` alongside the plain string form. When the command passes, its JSON stdout becomes the child's `structuredOutput` (validated against `schema` when given). Empty, truncated, or invalid output fails the gate rather than silently dropping the verdict. Typed gates always run (they are never cached), and a run cannot combine one with an `outputSchema`. See `docs/` for using command-runner agents as typed workflow steps and `examples/typed-gate` for a runnable example.
|
|
370
|
+
|
|
371
|
+
### Fixed
|
|
372
|
+
|
|
373
|
+
- The Ghostty inspector only activates when the macOS host bundle id identifies the standalone Ghostty app. Terminals that embed Ghostty (such as cmux) set `TERM_PROGRAM=ghostty` too, which previously targeted an unrelated Ghostty window or emitted `-1728`/`-2741` AppleScript errors; those hosts now fall back to the `inspector.command` hint. Thanks to [@wangpi26](https://github.com/wangpi26) for #2281.
|
|
374
|
+
- Hosts without `npm` no longer print `/bin/sh: npm: command not found` during startup; global package-root discovery is optional and now stays silent when the package manager is missing. Thanks to [@PhrZer](https://github.com/PhrZer) for #2287.
|
|
375
|
+
- Fixed `docs/tool-reference.md`, which claimed a default `maxOutput` cap of 200 KB / 5,000 lines. The cap applies only when `maxOutput` is set.
|
|
376
|
+
|
|
377
|
+
## [0.68.0] - 2026-09-15
|
|
378
|
+
|
|
379
|
+
### Highlights
|
|
380
|
+
- Run Pi, Claude Code, Codex, and Cursor subagents on saved remote machines through Herdr.
|
|
381
|
+
- Reuse workflow scripts with different JSON inputs, including scheduled runs.
|
|
382
|
+
- Start npm-installed children much faster and let slow local models use Pi's configured HTTP timeout.
|
|
383
|
+
- Keep local foreground children on the same extension-provided models as their parent without sharing provider state between sessions.
|
|
384
|
+
- Ask async agents to checkpoint before a hard deadline, giving long-running work a chance to return useful progress instead of being killed.
|
|
385
|
+
|
|
386
|
+
### Added
|
|
387
|
+
|
|
388
|
+
- Accept bounded JSON `args` for inline, file-backed, validated, and scheduled workflow scripts. Scripts receive immutable arguments, and schedules retain them for later runs (#2233).
|
|
389
|
+
- Left-click the async widget header in mouse-enabled Pi fullscreen mode to fold it into a live status summary and unfold it again, independently of global tool expansion. Progress updates preserve the fold state; run execution and notifications are unchanged. Thanks to [@pstanton237](https://github.com/pstanton237) for #2235.
|
|
390
|
+
- Allow agents to declare an inline JSON Schema `outputSchema` default, with launch objects overriding it and explicit `false` opting out. Thanks to [@peedrr](https://github.com/peedrr) for #2180.
|
|
391
|
+
- Add `SELESAI_SUBAGENT_CACHE_RETENTION` to set a prompt-cache retention tier for child sessions only, so a parent on the 1h tier can keep children on the cheaper-to-write 5m tier they are too short-lived to benefit from. Unset by default, leaving children on the parent's retention. Spawned children take it through the launch environment; in-process children pin it per request on their own session rather than on shared process state. Thanks to [@johnwards](https://github.com/johnwards) for #2190.
|
|
392
|
+
- Add a session-scoped host API for extensions that every native child must load. Required extensions survive agent overrides and nested launches, and child startup fails clearly when one is denied or cannot load. Thanks to [@gkoreli](https://github.com/gkoreli) for #2153.
|
|
393
|
+
- Run Pi, Claude Code, Codex, and Cursor subagents on another computer by setting `machine` to a saved Herdr machine.
|
|
394
|
+
- Add `checkpointBeforeDeadlineMs` for async single-agent runs. It asks the child to checkpoint and stop before the hard `timeoutMs` deadline; without it, timeout behavior is unchanged. Thanks to [@freezscholte](https://github.com/freezscholte) for #2141.
|
|
395
|
+
- Add `subagents.agentExcludeDirs` to exclude directory trees from agent discovery, including nested plugin sources and symlink aliases. Thanks to [@xarillian](https://github.com/xarillian) for #2131.
|
|
396
|
+
|
|
397
|
+
### Changed
|
|
398
|
+
|
|
399
|
+
- Add `inspectorOpen` and `projectOpen` to `authorityPolicy`. Inspector opening remains automatic by default, while project opening now asks for confirmation because it starts Herdr and opens another Pi session. Set `"projectOpen": "auto"` to restore unprompted project opening. The Fleet TUI is unchanged. Thanks to [@kevthedawg](https://github.com/kevthedawg) for #2269.
|
|
400
|
+
- Ship compiled JavaScript in the npm package so Pi no longer transpiles the extension and detached runner when they load. On the reported cold-start path, the extension entry loaded in about 226 ms instead of 2,831 ms. Thanks to [@821869798](https://github.com/821869798) for #2248.
|
|
401
|
+
|
|
402
|
+
### Removed
|
|
403
|
+
|
|
404
|
+
- Remove `fallbackModels`, all same-launch model switching (including read-only HTTP 429 continuation), and persistent model exclusions. Retry another model only with a later explicit launch; guarded retained-session compaction recovery may continue once on the already resolved model.
|
|
405
|
+
- Drop the bundled `@earendil-works/pi-server` copy that filled in the dependency Pi 0.85.0 forgot to ship. Background children on a Pi 0.85.0 host now fail to launch with a clear error; upgrade to Pi 0.85.1 or newer, which ships the package itself. Foreground children on 0.85.0 are unaffected.
|
|
406
|
+
|
|
407
|
+
### Fixed
|
|
408
|
+
|
|
409
|
+
- Fail managed worktree setup before child launch when a required shared `node_modules` link cannot be created and verified, while preserving absent sources and preexisting destinations (#2283).
|
|
410
|
+
- Allow checked writers to explicitly preserve a host-bound staged index while still rejecting child-created index changes (#2280).
|
|
411
|
+
|
|
412
|
+
- Preserve the main watchdog's user scope across session compaction while clearing temporary activity state. Thanks to [@nimeetshah0](https://github.com/nimeetshah0) for #2263.
|
|
413
|
+
- Resolve provider-extension models in local, in-process foreground children. Such a child never loads the parent's ambient extensions, so its model runtime only knew Pi's built-in providers and every model from an extension-registered provider failed with `Model "…" not found`; the child now inherits the providers registered in the parent session before resolving its model. Pane-native remote foreground children continue to use the remote machine's provider discovery and configuration. Builtin agents on such a model no longer need `async: true`. Thanks to [@lallenlowe](https://github.com/lallenlowe) for #2274.
|
|
414
|
+
- Preserve a readable async result when result indexing or archiving fails, then retry saving it without delivering it twice. Thanks to [@shaharmor](https://github.com/shaharmor) for #2267 and #2266.
|
|
415
|
+
- Honor `SELESAI_SUBAGENTS_PI_CODING_AGENT_PACKAGE_ROOT` for background children, fixing launches from wrapper installs and other non-standard Pi layouts. Thanks to [@Yaphet2015](https://github.com/Yaphet2015) for #2254.
|
|
416
|
+
- Keep a foreground child's report available when acceptance rejects saved output instead of replacing it with only a file reference. Thanks to [@pgoodjohn](https://github.com/pgoodjohn) for #2255.
|
|
417
|
+
- Add the ambient-extension rule to Pi's model-not-found error when a child's model comes from an extension-registered provider that was not loaded for it: a foreground child now reports that agents needing a provider extension's models must run as background children (`async: true`) or load the extension explicitly through `subagentOnlyExtensions`/`extensions`, and a background child launched without the ambient extensions gets the matching remedies. When `capabilityCeiling.denyExtensions` blocks every extension, both hosts report the policy instead of remedies the ceiling discards. The core error, exit code, and failure detection are unchanged. Thanks to [@pwguler](https://github.com/pwguler) for #2240.
|
|
418
|
+
- Remote Herdr bridge discovery no longer blocks the parent session while waiting for the remote Pi to start.
|
|
419
|
+
- Recognize Windows Bun virtual entrypoints when launching standalone background children, retaining the existing Linux and npm paths. Windows coverage remains experimental; see `docs/standalone-background.md`. Thanks to [@JohnsonRan](https://github.com/JohnsonRan) for #2241.
|
|
420
|
+
- Keep supervisor progress updates out of parent model turns while still waking for decisions and structured questions. Thanks to [@moofone](https://github.com/moofone) for #2229 and [@dajiaohuang](https://github.com/dajiaohuang) for #2230.
|
|
421
|
+
- Keep routine successful child updates out of parent model turns, and wake the parent when saving an async workflow result fails. Thanks to [@moofone](https://github.com/moofone) for #2262.
|
|
422
|
+
- Start background cleanup, wait reconciliation, and retention timers with the session and clear them during shutdown. Thanks to [@freezscholte](https://github.com/freezscholte) for #2244.
|
|
423
|
+
- Apply Pi's `httpIdleTimeoutMs` setting to the detached async runner's HTTP dispatcher on both the Node and standalone binary host launch paths (project `.selesai/settings.json` over `~/.selesai/agent/settings.json`, `0` disables; an invalid value warns and falls back to 300s). The runner previously kept undici's 300s header/body defaults, so async children against a slow local model were cut at about five minutes while foreground children waited as configured. Thanks to [@JordiPosthumus](https://github.com/JordiPosthumus) for the incident analysis in #2199.
|
|
424
|
+
- Restore direct parent ownership as the default. The bundled skill delegates only when the operator asks; complexity alone no longer starts child workflows. Thanks to [@AlexDochioiu](https://github.com/AlexDochioiu) for #2216.
|
|
425
|
+
- Stop external runs from leaving Windows worktrees locked by Git fsmonitor processes after cancellation (#2207 recurrence).
|
|
426
|
+
- Include each agent's acceptance policy and role in `capabilities: true` results. Thanks to [@Alice39s](https://github.com/Alice39s) for #2210.
|
|
427
|
+
- Recover when a parent workflow's previous checkout directory was removed before another child starts. Thanks to [@trewwwsec](https://github.com/trewwwsec) for #2211.
|
|
428
|
+
- Keep resumed-run startup non-blocking and fail clearly when the runner exits before it is ready. Thanks to [@qsgy-edge](https://github.com/qsgy-edge) for #2219.
|
|
429
|
+
- Prefer exact agent names over packaged short-name matches, and never treat home-level agent directories as project configuration. This prevents names such as `scout` and `code-analysis.scout` from becoming ambiguous. Thanks to [@ton77v](https://github.com/ton77v) for #2214.
|
|
430
|
+
- Avoid Jiti for native async runner startup on supported Node versions. Thanks to [@qsgy-edge](https://github.com/qsgy-edge) for #2220.
|
|
431
|
+
- Stop registering and advertising a default global `Ctrl+Alt+F` Fleet shortcut; `/subagents-fleet` and FleetView remain available. Thanks to [@miaomiaozii](https://github.com/miaomiaozii) for #2196.
|
|
432
|
+
- Require low, medium, or high importance on watchdog findings. Low and medium stay visible to the user without entering model context; high findings still reach the model (#2201).
|
|
433
|
+
- Let headless parents and nested coordinators answer blocking child questions without deadlocking shutdown. Thanks to [@ProDrifterDK](https://github.com/ProDrifterDK) for #2185.
|
|
434
|
+
- Keep nested stop, interrupt, and timeout propagation inside the issuing run's descendant subtree while preserving root-wide controls. Thanks to [@freezscholte](https://github.com/freezscholte) for #2243.
|
|
435
|
+
- Keep read-only reviews free of implementation acceptance requirements when their topic mentions releases, migrations, or security. Explicit acceptance and write tasks are unchanged. Thanks to [@qsgy-edge](https://github.com/qsgy-edge) for #2191.
|
|
436
|
+
- Include async result, output, and structured-output paths in completion notices. Thanks to [@peedrr](https://github.com/peedrr) for #2181.
|
|
437
|
+
- Remove one-shot workflow result files and their indexes after successful consumption. Thanks to [@peedrr](https://github.com/peedrr) for #2182.
|
|
438
|
+
- Show runtime-registered agents in `/subagents` while keeping their extension-owned definitions read-only and rejecting collisions with disabled configured agents. Thanks to [@mystery4f](https://github.com/mystery4f) for #2169.
|
|
439
|
+
- Save readable JSON to configured background output files when a successful child returns structured output without final prose. Thanks to [@rtbe](https://github.com/rtbe) for #2163.
|
|
440
|
+
- Surface the provider error text of a failed watchdog review in `/subagents-watchdog status` `Last error` (bounded to 600 chars). Previously only `stop reason 'error'` was recorded, so a watchdog failing every review (rate limit, rejected model, auth) was indistinguishable from a clean one. Thanks to [@freezscholte](https://github.com/freezscholte) for #2166.
|
|
441
|
+
- Finalize paused async runs after the runner has actually stopped, while keeping them resumable until then. Thanks to [@neruok](https://github.com/neruok) for #2170.
|
|
442
|
+
- Keep explicitly stopped aggregate children non-resumable while allowing completed siblings to resume. Thanks to [@freezscholte](https://github.com/freezscholte) for #2242.
|
|
443
|
+
- Group workflow children under their status rows without duplicate entries and show reliable completion times. Thanks to [@niko-operal](https://github.com/niko-operal) for #2168.
|
|
444
|
+
- Refresh external-run activity from stdout, stderr, and Git changes without repeatedly polling Git. Thanks to [@DeLuke84](https://github.com/DeLuke84) for #2167.
|
|
445
|
+
- Remove expired partial and rejected jobs from the widget while preserving live nested children. Thanks to [@ashlineldridge](https://github.com/ashlineldridge) for #2159.
|
|
446
|
+
- Reject unsupported bare acceptance strings at the provider schema boundary while preserving shorthand levels and JSON-encoded acceptance objects. Thanks to [@vrolok](https://github.com/vrolok) for #2152.
|
|
447
|
+
- Let Pi finish automatic compaction without an extra extension resume while preserving manual continuation for active async work. Thanks to [@mxp7064](https://github.com/mxp7064) for #2144.
|
|
448
|
+
- Preserve wrapped Pi core tools and explicitly requested non-core tools in child launches. Core slots still respect host availability; non-core tools are validated in the child's runtime after ceilings and exclusions (#2132, #2133, #2134, #2135, #2140). Thanks to [@carlesba](https://github.com/carlesba) for #2137 and [@clementprevot](https://github.com/clementprevot) for #2138.
|
|
449
|
+
|
|
450
|
+
## [0.67.0] - 2026-09-10
|
|
451
|
+
|
|
452
|
+
### Highlights
|
|
453
|
+
- Launch previews now match what actually runs, including Intercom and prompt and tool customization.
|
|
454
|
+
- Parallel workflows are easier to write and follow, with natural promise composition and per-child completion updates.
|
|
455
|
+
- Child-facing tool instructions use less context, leaving more of the token budget available for the task itself.
|
|
456
|
+
- Steering, follow-ups, resumed work, and detached processes finish more reliably.
|
|
457
|
+
- FleetView and workflow status are clearer, with better grouping, timing, usage, and colors.
|
|
458
|
+
|
|
459
|
+
### Added
|
|
460
|
+
- Add optional watchdog fallback models for the main session, children, and individual agents. Fallback happens only for provider failures before tool use and within the existing review timeout. Thanks to [@dwizzle204](https://github.com/dwizzle204) for #2075.
|
|
461
|
+
- Add portable Inspect commands and a terminal-neutral integration point, including open-only Ghostty 1.3+ right splits on macOS. Thanks to [@tiratatp](https://github.com/tiratatp) for #2046.
|
|
462
|
+
- Add `quiet: true` for recurring schedules. Successful automatic runs stay visible without waking the parent; failures, stops, and pauses still wake it. One-shot and manually started schedules remain noisy unless explicitly made quiet. Thanks to [@pablontiv](https://github.com/pablontiv) for #2055.
|
|
463
|
+
- Add optional watchdog questions that flag possible task drift before a main-session change finishes (#2010).
|
|
464
|
+
- Add the built-in `evidence-auditor` for checking whether important research claims are supported by their sources. Thanks to [@Muskos](https://github.com/Muskos) for #2023.
|
|
465
|
+
- Notify the parent as each asynchronous workflow child finishes instead of waiting for every sibling. Notifications include the workflow, child, outcome, and result location (#2027).
|
|
466
|
+
- Add per-launch `intercomBridge` overrides to delegation and preflight, plus `orchestratorTarget` for custom bridge templates that name the parent. Invalid overrides now fail clearly (#2127). Thanks to [@Yivas](https://github.com/Yivas) for the instrumented reproduction.
|
|
467
|
+
|
|
468
|
+
### Changed
|
|
469
|
+
- Make the default Intercom bridge prompt independent of the parent session while preserving `{orchestratorTarget}` in custom templates. Launch contracts are now version 3 and launch-binding projections version 2, so launch-contract digests change in this release; existing saved runs still resume (#2127). Thanks to [@Yivas](https://github.com/Yivas) for the instrumented reproduction.
|
|
470
|
+
- Include removed child tools and their active restrictions in launch warnings without changing launch behavior. Follow-up for #2058.
|
|
471
|
+
- Shorten the default child-facing instructions while keeping the full typed API and detailed guides. Thanks to [@Whamp](https://github.com/Whamp) for the prompt-footprint measurements and proposal in #2048.
|
|
472
|
+
- Give FleetView agents stable identity colors. Thanks to [@savinofiore](https://github.com/savinofiore) for #2056.
|
|
473
|
+
- Preserve a forked child's requested thinking level after incompatible signed Anthropic thinking blocks are removed. This requires Pi 0.85.0 or newer. Thanks to [@hank-warren](https://github.com/hank-warren) for #2021.
|
|
474
|
+
- Scope parallel-review findings to the requested target, while diff reviews continue to report only issues caused or exposed by the diff. Thanks to [@jmclaughlin724](https://github.com/jmclaughlin724) for #2042.
|
|
475
|
+
- Simplify watchdog clarification to one visible question followed by native continuation, removing reply tracking and mandatory follow-up reviews.
|
|
476
|
+
- Show task-based labels for workflow launches, reviews, and continued child work.
|
|
477
|
+
|
|
478
|
+
### Fixed
|
|
479
|
+
- Accept `runs.run(...)` promises in `runs.all(...)`, including the natural `items.map(...)` form, instead of reporting an invalid key. A one-time warning explains when config objects are still required for batch validation, grouping, and `collectFailure`. Thanks to [@karandhillon1995](https://github.com/karandhillon1995) for #2128.
|
|
480
|
+
- Make Intercom-aware preflight produce the same launch digest as foreground and background execution, while keeping the parsed agent definition independent of runtime bridge changes (#2127 and #2112). Thanks to [@Yivas](https://github.com/Yivas) for the instrumented reproduction.
|
|
481
|
+
- Apply project refinements during preflight so its launch digest matches the completed run. Thanks to [@Yivas](https://github.com/Yivas) for #2112.
|
|
482
|
+
- Report steering and follow-up requests as delivered only after the child consumes them, and report unconsumed requests accurately when the child finishes (#2116 and #2121). Thanks to [@yanqianglu](https://github.com/yanqianglu) for #2057.
|
|
483
|
+
- Keep native children alive during final shutdown when queued steering or follow-up work is still pending (#2117). Thanks to [@yanqianglu](https://github.com/yanqianglu) for #2057.
|
|
484
|
+
- Prevent stale shutdown timers from aborting resumed foreground or background work. Thanks to [@harche](https://github.com/harche) for #2025.
|
|
485
|
+
- Wait for remembered detached descendants before their parent finishes, without aborting children that already produced a result. Thanks to [@shaharmor](https://github.com/shaharmor) for #2051.
|
|
486
|
+
- Keep paused background runs from failing on checks that apply only at completion. Thanks to [@yanqianglu](https://github.com/yanqianglu) for #2022.
|
|
487
|
+
- Report process-tree cleanup as complete only after detached descendants have actually stopped. Thanks to [@rtbe](https://github.com/rtbe) for #2053.
|
|
488
|
+
- Let approved child coordinators answer supervisor questions from their own children while preserving immediate-parent ownership and tool restrictions. Thanks to [@shaharmor](https://github.com/shaharmor) for #2087.
|
|
489
|
+
- Allow read-only reviewers to quote phrases such as “must fix before” without being mistaken for implementation requests. Thanks to [@freezscholte](https://github.com/freezscholte) for #2079.
|
|
490
|
+
- Preserve explicitly read-only requests after tool restrictions are applied, while still rejecting implementation work without write tools. Thanks to [@stekman08](https://github.com/stekman08) for #2060.
|
|
491
|
+
- Stop review and scout launches before startup when requested repository tools are unavailable. Explicitly empty or restricted tool sets remain valid. Follow-up for #2058.
|
|
492
|
+
- Keep workflow child tools aligned with the selected agent when extensions wrap Pi built-ins, and place automatic extension-repository worktrees outside extension discovery (#2059).
|
|
493
|
+
- Validate worktree repositories and cleanliness before starting parallel workflow children. Thanks to [@yanqianglu](https://github.com/yanqianglu) for #2076.
|
|
494
|
+
- Reject workflows whose known child count exceeds `maxSubagentSpawnsPerRun` before starting any child; dynamic counts remain limited at runtime. Thanks to [@ton77v](https://github.com/ton77v) for #2101.
|
|
495
|
+
- Show workflow usage on child rows instead of displaying overlapping or misleading wrapper totals. Thanks to [@expoli](https://github.com/expoli) for #2085.
|
|
496
|
+
- Keep live workflow timers advancing, nest loaded children correctly, collapse only fully represented duplicate groups, and freeze completed durations accurately. Thanks to [@expoli](https://github.com/expoli) for #2085.
|
|
497
|
+
- Preserve the parent's theme in foreground children, initialize themes in detached children, and refresh command-result rendering. Thanks to [@kubahasek](https://github.com/kubahasek) for #2089.
|
|
498
|
+
- Parse complete Orca creation output so observer handles, tab IDs, and titles are stored correctly. Thanks to [@G0-0000](https://github.com/G0-0000) for #2063.
|
|
499
|
+
- Keep the configured watchdog model and thinking level when recommending models. Thanks to [@freezscholte](https://github.com/freezscholte) for #2078.
|
|
500
|
+
- Recognize OpenRouter's status-prefixed 401 response as eligible for configured fallback before tool use. Thanks to [@freezscholte](https://github.com/freezscholte) for #2077.
|
|
501
|
+
- Keep internal OpenCode helper requests in the same provider session as normal Pi traffic. Thanks to [@IdrisGit](https://github.com/IdrisGit) for #2041.
|
|
502
|
+
- Run the child prompt filter before extensions inspect the final prompt, preserving intentional global-context and parent-only skill exclusions. Thanks to [@leftytennis](https://github.com/leftytennis) for #2043.
|
|
503
|
+
- Intersect agent tool declarations with tools available from the host, so restricted hosts reject unavailable tools before starting a child. Thanks to [@BioInfo](https://github.com/BioInfo) for #2034.
|
|
504
|
+
- Allow `fast` to round-trip through background recovery and follow-up. Thanks to [@isty2e](https://github.com/isty2e) for #2045.
|
|
505
|
+
- Use the detected npm Pi package root in detached runners instead of an inherited host path. Thanks to [@alvarosevilla95](https://github.com/alvarosevilla95) for #2050.
|
|
506
|
+
- Restore background SDK sessions for the official Pi 0.85.1 Linux standalone while retaining Pi 0.85.0 support. Thanks to [@xz-dev](https://github.com/xz-dev) for #2049.
|
|
507
|
+
- Resolve Pi TUI aliases correctly in unusual package layouts. Thanks to [@kroediger](https://github.com/kroediger) for #2020.
|
|
508
|
+
- Avoid requiring newer chord aliases on Pi versions before 0.85 while keeping required runtime aliases strict. Thanks to [@samuela](https://github.com/samuela) for #2026.
|
|
509
|
+
- Use `git wt` for Worktrunk on Windows to avoid the Windows Terminal `wt.exe` conflict. Thanks to [@Zethu5](https://github.com/Zethu5) for #2033.
|
|
510
|
+
- Prevent manually started schedules from firing again at their next natural time. Thanks to [@brandonmwest](https://github.com/brandonmwest) for #2052.
|
|
511
|
+
- Allow terminal schedules owned by an earlier session to be deleted when their exact run is known to have finished (#2125).
|
|
512
|
+
- Show exact child IDs and usable steering guidance in workflow status when a workflow no longer has a foreground route (#2011).
|
|
513
|
+
- Ignore action-like words inside filenames and paths when deciding whether a task requests implementation. Thanks to [@SiebertLanhove](https://github.com/SiebertLanhove) for #2039.
|
|
514
|
+
- Bound transcript previews by line and total size while preserving recent context and artifact links. Thanks to [@rtbe](https://github.com/rtbe) for #2015.
|
|
515
|
+
- Refresh the local model registry before opening model and thinking selectors, and warn when refresh fails. Thanks to [@ianbmacdonald](https://github.com/ianbmacdonald) for #2008.
|
|
516
|
+
- Preserve string, string-array, and undefined system-prompt shapes in `before_agent_start`. Thanks to [@luqman-v1](https://github.com/luqman-v1) for #2107.
|
|
517
|
+
|
|
5
518
|
## [0.66.0] - 2026-09-06
|
|
6
519
|
|
|
7
520
|
### Highlights
|
|
@@ -2442,4 +2955,4 @@ Initial release forked from async-subagent example.
|
|
|
2442
2955
|
- Real-time progress tracking (tools, tokens, duration)
|
|
2443
2956
|
- Debug artifacts (input, output, JSONL, metadata)
|
|
2444
2957
|
- Session-tied artifact storage for sync mode
|
|
2445
|
-
- Per-step duration tracking for chains
|
|
2958
|
+
- Per-step duration tracking for chains
|