@selesai/code 0.9.10 → 0.9.12
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 +271 -255
- package/dist/cli/args.js +13 -2
- package/dist/cli/args.test.js +8 -0
- package/dist/cli/credential-print.js +4 -4
- package/dist/cli.js +0 -0
- package/dist/config.d.ts +4 -6
- package/dist/config.js +10 -14
- package/dist/core/agent-session-auto-handoff.test.js +24 -1
- package/dist/core/agent-session.d.ts +10 -4
- package/dist/core/agent-session.js +61 -46
- package/dist/core/compaction/branch-summarization.js +30 -30
- package/dist/core/compaction/compaction.js +81 -81
- package/dist/core/compaction/utils.js +2 -2
- package/dist/core/defaults.d.ts +1 -0
- package/dist/core/defaults.js +9 -0
- package/dist/core/export-html/template.css +1066 -1066
- package/dist/core/export-html/template.html +55 -55
- package/dist/core/export-html/template.js +1864 -1864
- package/dist/core/export-html/vendor/highlight.min.js +1212 -1212
- package/dist/core/export-html/vendor/marked.min.js +78 -78
- package/dist/core/extensions/loader.js +108 -35
- package/dist/core/extensions/loader.test.js +21 -0
- package/dist/core/extensions/types.d.ts +12 -4
- package/dist/core/keybindings.d.ts +2 -2
- package/dist/core/messages.js +7 -7
- package/dist/core/model-resolver.d.ts +1 -0
- package/dist/core/model-resolver.js +10 -4
- package/dist/core/package-manager.js +4 -4
- package/dist/core/sdk.d.ts +5 -5
- package/dist/core/sdk.js +16 -4
- package/dist/core/settings-manager.d.ts +6 -2
- package/dist/core/settings-manager.js +22 -3
- package/dist/core/tools/bash.d.ts +18 -1
- package/dist/core/tools/bash.js +41 -23
- package/dist/core/tools/index.d.ts +4 -2
- package/dist/core/tools/index.js +9 -2
- package/dist/core/tools/powershell.d.ts +15 -0
- package/dist/core/tools/powershell.js +38 -0
- package/dist/core/tools/powershell.test.d.ts +1 -0
- package/dist/core/tools/powershell.test.js +20 -0
- package/dist/defaults/settings.json +0 -1
- package/dist/extensions/context-compaction-reminder.test.ts +82 -82
- package/dist/extensions/context-compaction-reminder.ts +28 -28
- package/dist/extensions/model-prompt-injector/index.test.ts +0 -10
- package/dist/extensions/model-prompt-injector/index.ts +0 -3
- package/dist/extensions/pi-intercom/CHANGELOG.md +53 -16
- package/dist/extensions/pi-intercom/LICENSE +21 -21
- package/dist/extensions/pi-intercom/README.md +41 -8
- package/dist/extensions/pi-intercom/banner.png +0 -0
- package/dist/extensions/pi-intercom/broker/broker.ts +498 -215
- package/dist/extensions/pi-intercom/broker/client.test.ts +83 -83
- package/dist/extensions/pi-intercom/broker/client.ts +39 -12
- package/dist/extensions/pi-intercom/broker/extension.test.ts +486 -387
- package/dist/extensions/pi-intercom/broker/framing.test.ts +114 -114
- package/dist/extensions/pi-intercom/broker/paths.test.ts +153 -153
- package/dist/extensions/pi-intercom/broker/paths.ts +134 -134
- package/dist/extensions/pi-intercom/broker/protocol.ts +26 -0
- package/dist/extensions/pi-intercom/broker/runtime-claim.test.ts +34 -34
- package/dist/extensions/pi-intercom/broker/runtime-claim.ts +21 -21
- package/dist/extensions/pi-intercom/broker/spawn.test.ts +5 -20
- package/dist/extensions/pi-intercom/config.test.ts +41 -0
- package/dist/extensions/pi-intercom/config.ts +21 -0
- package/dist/extensions/pi-intercom/cwd.test.ts +40 -40
- package/dist/extensions/pi-intercom/cwd.ts +31 -31
- package/dist/extensions/pi-intercom/extension-api.ts +84 -44
- package/dist/extensions/pi-intercom/format-context.test.ts +31 -31
- package/dist/extensions/pi-intercom/format-context.ts +32 -32
- package/dist/extensions/pi-intercom/index.ts +362 -26
- package/dist/extensions/pi-intercom/intercom.integration.test.ts +819 -13
- package/dist/extensions/pi-intercom/package.json +1 -1
- package/dist/extensions/pi-intercom/project-agent.ts +2 -2
- package/dist/extensions/pi-intercom/skills/pi-intercom/SKILL.md +8 -110
- package/dist/extensions/pi-intercom/test/overlay-width.test.ts +66 -66
- package/dist/extensions/pi-intercom/types.ts +32 -5
- package/dist/extensions/pi-intercom/ui/compose.ts +143 -143
- package/dist/extensions/pi-intercom/ui/inline-message.ts +6 -0
- package/dist/extensions/pi-intercom/ui/session-list.ts +166 -166
- package/dist/extensions/pi-powerline-footer/bash-mode/shell-session.ts +286 -286
- package/dist/extensions/pi-powerline-footer/bash-mode/transcript.ts +108 -108
- package/dist/extensions/pi-powerline-footer/separators.ts +57 -57
- package/dist/extensions/pi-powerline-footer/tests/session-usage.test.ts +47 -47
- package/dist/extensions/pi-powerline-footer/tests/tps.test.ts +39 -39
- package/dist/extensions/pi-powerline-footer/theme.example.json +24 -24
- package/dist/extensions/pi-powerline-footer/theme.json +12 -12
- package/dist/extensions/pi-powerline-footer/tps.ts +345 -345
- package/dist/extensions/pi-rewind-hook/README.md +245 -245
- package/dist/extensions/pi-rewind-hook/index.ts +1445 -1445
- package/dist/extensions/pi-rewind-hook/package.json +29 -29
- package/dist/extensions/pi-subagents/.github/assets/subagent-fleet-inspector.png +0 -0
- package/dist/extensions/pi-subagents/.github/workflows/release.yml +28 -0
- package/dist/extensions/pi-subagents/.github/workflows/test.yml +51 -0
- package/dist/extensions/pi-subagents/.greptile/config.json +33 -0
- package/dist/extensions/pi-subagents/.greptile/files.json +8 -0
- package/dist/extensions/pi-subagents/.greptile/rules.md +16 -0
- package/dist/extensions/pi-subagents/CHANGELOG.md +309 -87
- package/dist/extensions/pi-subagents/README.md +15 -17
- package/dist/extensions/pi-subagents/agents/oracle.md +3 -1
- package/dist/extensions/pi-subagents/agents/researcher.md +32 -13
- package/dist/extensions/pi-subagents/agents/reviewer.md +13 -2
- package/dist/extensions/pi-subagents/agents/scout.md +2 -2
- package/dist/extensions/pi-subagents/agents/worker.md +2 -1
- package/dist/extensions/pi-subagents/async-retention-discovery-worker.mjs +180 -0
- package/dist/extensions/pi-subagents/docs/configuration.md +106 -27
- package/dist/extensions/pi-subagents/docs/extension-api.md +85 -21
- package/dist/extensions/pi-subagents/docs/missions.md +41 -4
- package/dist/extensions/pi-subagents/docs/models.md +52 -9
- package/dist/extensions/pi-subagents/docs/observability.md +103 -16
- package/dist/extensions/pi-subagents/docs/tool-reference.md +60 -45
- package/dist/extensions/pi-subagents/docs/watchdog.md +60 -3
- package/dist/extensions/pi-subagents/docs/workflows.md +181 -7
- package/dist/extensions/pi-subagents/index.ts +10 -1
- package/dist/extensions/pi-subagents/install.mjs +4 -4
- package/dist/extensions/pi-subagents/package-lock.json +1483 -1470
- package/dist/extensions/pi-subagents/package.json +6 -3
- package/dist/extensions/pi-subagents/prompts/council.md +60 -0
- package/dist/extensions/pi-subagents/prompts/parallel-review.md +5 -1
- package/dist/extensions/pi-subagents/prompts/review-loop.md +9 -5
- package/dist/extensions/pi-subagents/skills/council-mode/SKILL.md +254 -0
- package/dist/extensions/pi-subagents/skills/pi-subagents/SKILL.md +18 -17
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/constraints-and-recipes.md +31 -9
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/execution-controls.md +107 -140
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/management-authoring-rpc.md +9 -12
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/multi-lane-orchestration.md +39 -0
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/prompting-and-roles.md +44 -92
- package/dist/extensions/pi-subagents/src/agents/agent-management.ts +261 -368
- package/dist/extensions/pi-subagents/src/agents/agent-serializer.ts +6 -2
- package/dist/extensions/pi-subagents/src/agents/agents.ts +388 -85
- package/dist/extensions/pi-subagents/src/agents/builtin-names.ts +14 -0
- package/dist/extensions/pi-subagents/src/agents/runtime-agent-registry.ts +418 -0
- package/dist/extensions/pi-subagents/src/agents/skills.ts +1 -1
- package/dist/extensions/pi-subagents/src/api/agents.ts +7 -0
- package/dist/extensions/pi-subagents/src/api/external-job-provider.ts +195 -0
- package/dist/extensions/pi-subagents/src/api/preflight.ts +88 -27
- package/dist/extensions/pi-subagents/src/api/project-panes.ts +2 -0
- package/dist/extensions/pi-subagents/src/api/shared-types.ts +2 -0
- package/dist/extensions/pi-subagents/src/extension/config.ts +20 -11
- package/dist/extensions/pi-subagents/src/extension/doctor.ts +14 -6
- package/dist/extensions/pi-subagents/src/extension/fanout-child.ts +5 -4
- package/dist/extensions/pi-subagents/src/extension/index.ts +270 -187
- package/dist/extensions/pi-subagents/src/extension/public-execution.ts +65 -28
- package/dist/extensions/pi-subagents/src/extension/rpc.ts +120 -11
- package/dist/extensions/pi-subagents/src/extension/schemas.ts +46 -64
- package/dist/extensions/pi-subagents/src/extension/tool-description.ts +51 -37
- package/dist/extensions/pi-subagents/src/extension/tool-result.ts +19 -0
- package/dist/extensions/pi-subagents/src/inspectors/herdr/actions.ts +2 -2
- package/dist/extensions/pi-subagents/src/inspectors/herdr/client.ts +3 -3
- package/dist/extensions/pi-subagents/src/inspectors/herdr/focus.ts +55 -0
- package/dist/extensions/pi-subagents/src/inspectors/herdr/inspector-runner.ts +2 -1
- package/dist/extensions/pi-subagents/src/inspectors/herdr/project-panes.ts +230 -46
- package/dist/extensions/pi-subagents/src/integrations/herdr-status.ts +26 -4
- package/dist/extensions/pi-subagents/src/intercom/native-supervisor-channel.ts +32 -10
- package/dist/extensions/pi-subagents/src/missions/lifecycle.ts +6 -1
- package/dist/extensions/pi-subagents/src/missions/store.ts +4 -9
- package/dist/extensions/pi-subagents/src/missions/workflow-state.ts +2 -2
- package/dist/extensions/pi-subagents/src/policy/authority.ts +2 -0
- package/dist/extensions/pi-subagents/src/profiles/profiles.ts +3 -1
- package/dist/extensions/pi-subagents/src/runs/background/active-run-index.ts +31 -8
- package/dist/extensions/pi-subagents/src/runs/background/async-execution.ts +210 -52
- package/dist/extensions/pi-subagents/src/runs/background/async-job-tracker.ts +63 -33
- package/dist/extensions/pi-subagents/src/runs/background/async-resume.ts +71 -17
- package/dist/extensions/pi-subagents/src/runs/background/async-retention.ts +886 -0
- package/dist/extensions/pi-subagents/src/runs/background/async-status-snapshot.ts +14 -5
- package/dist/extensions/pi-subagents/src/runs/background/async-status.ts +49 -56
- package/dist/extensions/pi-subagents/src/runs/background/auto-drain.ts +1 -0
- package/dist/extensions/pi-subagents/src/runs/background/chain-append.ts +3 -33
- package/dist/extensions/pi-subagents/src/runs/background/chain-root-attachment.ts +5 -0
- package/dist/extensions/pi-subagents/src/runs/background/completion-dedupe.ts +5 -1
- package/dist/extensions/pi-subagents/src/runs/background/completion-replay.ts +22 -12
- package/dist/extensions/pi-subagents/src/runs/background/control-channel.ts +105 -71
- package/dist/extensions/pi-subagents/src/runs/background/fleet-view.ts +68 -19
- package/dist/extensions/pi-subagents/src/runs/background/index-segment.ts +59 -0
- package/dist/extensions/pi-subagents/src/runs/background/inspect-rpc.ts +443 -0
- package/dist/extensions/pi-subagents/src/runs/background/notify.ts +94 -10
- package/dist/extensions/pi-subagents/src/runs/background/result-files.ts +158 -90
- package/dist/extensions/pi-subagents/src/runs/background/result-watcher.ts +141 -53
- package/dist/extensions/pi-subagents/src/runs/background/resume-guidance.ts +8 -5
- package/dist/extensions/pi-subagents/src/runs/background/retained-children.ts +14 -4
- package/dist/extensions/pi-subagents/src/runs/background/run-id-query.ts +7 -0
- package/dist/extensions/pi-subagents/src/runs/background/run-id-resolver.ts +13 -14
- package/dist/extensions/pi-subagents/src/runs/background/run-status.ts +46 -25
- package/dist/extensions/pi-subagents/src/runs/background/scheduled-runs.ts +823 -0
- package/dist/extensions/pi-subagents/src/runs/background/stale-run-reconciler.ts +9 -3
- package/dist/extensions/pi-subagents/src/runs/background/steering.ts +11 -1
- package/dist/extensions/pi-subagents/src/runs/background/subagent-runner.ts +594 -216
- package/dist/extensions/pi-subagents/src/runs/background/subagent-wait.ts +17 -13
- package/dist/extensions/pi-subagents/src/runs/background/terminal-run-index.ts +138 -0
- package/dist/extensions/pi-subagents/src/runs/background/wait-completions.ts +23 -4
- package/dist/extensions/pi-subagents/src/runs/background/wait-subscriptions.ts +82 -4
- package/dist/extensions/pi-subagents/src/runs/background/wait-tool.ts +5 -3
- package/dist/extensions/pi-subagents/src/runs/foreground/async-steering-action.ts +21 -14
- package/dist/extensions/pi-subagents/src/runs/foreground/async-stop-action.ts +23 -2
- package/dist/extensions/pi-subagents/src/runs/foreground/execution.ts +153 -58
- package/dist/extensions/pi-subagents/src/runs/foreground/foreground-history.ts +7 -9
- package/dist/extensions/pi-subagents/src/runs/foreground/subagent-executor.ts +1283 -1657
- package/dist/extensions/pi-subagents/src/runs/foreground/workflow-detach-reconcile.ts +274 -0
- package/dist/extensions/pi-subagents/src/runs/foreground/workflow-foreground-steering.ts +6 -5
- package/dist/extensions/pi-subagents/src/runs/shared/acceptance.ts +59 -10
- package/dist/extensions/pi-subagents/src/runs/shared/agent-contract.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/chain-outputs.ts +1 -3
- package/dist/extensions/pi-subagents/src/runs/shared/child-identity.ts +36 -0
- package/dist/extensions/pi-subagents/src/runs/shared/completion-guard.ts +52 -2
- package/dist/extensions/pi-subagents/src/runs/shared/dynamic-fanout.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/extension-bindings.ts +78 -0
- package/dist/extensions/pi-subagents/src/runs/shared/external-cli-runner.ts +2 -0
- package/dist/extensions/pi-subagents/src/runs/shared/external-job-bridge.ts +460 -0
- package/dist/extensions/pi-subagents/src/runs/shared/external-job-runner.ts +389 -0
- package/dist/extensions/pi-subagents/src/runs/shared/fast-mode-extension.ts +10 -0
- package/dist/extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +14 -0
- package/dist/extensions/pi-subagents/src/runs/shared/model-exclusions.ts +243 -0
- package/dist/extensions/pi-subagents/src/runs/shared/model-fallback.ts +201 -85
- package/dist/extensions/pi-subagents/src/runs/shared/model-scope.ts +106 -39
- package/dist/extensions/pi-subagents/src/runs/shared/mutation-evidence.ts +145 -0
- package/dist/extensions/pi-subagents/src/runs/shared/orca-progress-tabs.ts +150 -27
- package/dist/extensions/pi-subagents/src/runs/shared/parallel-handoff.ts +46 -4
- package/dist/extensions/pi-subagents/src/runs/shared/parallel-utils.ts +19 -15
- package/dist/extensions/pi-subagents/src/runs/shared/permissions.ts +5 -1
- package/dist/extensions/pi-subagents/src/runs/shared/pi-args.ts +86 -2
- package/dist/extensions/pi-subagents/src/runs/shared/pi-spawn.ts +9 -9
- package/dist/extensions/pi-subagents/src/runs/shared/session-lease.ts +0 -6
- package/dist/extensions/pi-subagents/src/runs/shared/structured-output.ts +18 -4
- package/dist/extensions/pi-subagents/src/runs/shared/subagent-control.ts +51 -7
- package/dist/extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.ts +62 -21
- package/dist/extensions/pi-subagents/src/runs/shared/tool-availability.ts +1 -3
- package/dist/extensions/pi-subagents/src/runs/shared/tool-timeout.ts +1 -3
- package/dist/extensions/pi-subagents/src/runs/shared/workflow-graph.ts +1 -23
- package/dist/extensions/pi-subagents/src/runs/shared/worktree.ts +14 -2
- package/dist/extensions/pi-subagents/src/shared/artifacts.ts +2 -2
- package/dist/extensions/pi-subagents/src/shared/atomic-json.ts +22 -2
- package/dist/extensions/pi-subagents/src/shared/capacity-resilient-json.ts +102 -0
- package/dist/extensions/pi-subagents/src/shared/completion-owner.ts +14 -0
- package/dist/extensions/pi-subagents/src/shared/file-system-retry.ts +49 -1
- package/dist/extensions/pi-subagents/src/shared/fork-context.ts +59 -1
- package/dist/extensions/pi-subagents/src/shared/launch-contract.ts +12 -5
- package/dist/extensions/pi-subagents/src/shared/model-info.ts +20 -0
- package/dist/extensions/pi-subagents/src/shared/prompt-resources.ts +0 -40
- package/dist/extensions/pi-subagents/src/shared/settings.ts +11 -30
- package/dist/extensions/pi-subagents/src/shared/thinking-ceiling.ts +52 -0
- package/dist/extensions/pi-subagents/src/shared/types.ts +228 -49
- package/dist/extensions/pi-subagents/src/shared/utils.ts +11 -3
- package/dist/extensions/pi-subagents/src/shared/watch-strategy.ts +10 -0
- package/dist/extensions/pi-subagents/src/slash/prompt-workflows.ts +0 -162
- package/dist/extensions/pi-subagents/src/slash/slash-bridge.ts +2 -5
- package/dist/extensions/pi-subagents/src/slash/slash-commands.ts +105 -13
- package/dist/extensions/pi-subagents/src/slash/slash-live-state.ts +6 -36
- package/dist/extensions/pi-subagents/src/tui/fleet-status.ts +829 -0
- package/dist/extensions/pi-subagents/src/tui/fleet.ts +1415 -0
- package/dist/extensions/pi-subagents/src/tui/render.ts +78 -7
- package/dist/extensions/pi-subagents/src/watchdog/change-signature.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/lsp-diagnostics.ts +1 -0
- package/dist/extensions/pi-subagents/src/watchdog/permission-arbiter.ts +59 -51
- package/dist/extensions/pi-subagents/src/watchdog/register-main.ts +8 -2
- package/dist/extensions/pi-subagents/src/watchdog/tool-actions.ts +2 -1
- package/dist/extensions/pi-subagents/src/workflows/chat-progress.ts +4 -4
- package/dist/extensions/pi-subagents/src/workflows/scripted-workflow.ts +471 -86
- package/dist/extensions/pi-subagents/src/workflows/workflow-receipt.ts +140 -0
- package/dist/extensions/pi-subagents/test/e2e/real-session-subagent.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/cli.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/register-bedrock.d.ts +2 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/restore-sandbox-env.d.ts +17 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/args.d.ts +57 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/config-selector.d.ts +16 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/file-processor.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/initial-message.d.ts +18 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/list-models.d.ts +9 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/project-trust.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/session-picker.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/startup-ui.d.ts +20 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/config.d.ts +96 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-runtime.d.ts +119 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-services.d.ts +85 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session.d.ts +620 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-guidance.d.ts +5 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-storage.d.ts +56 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/bash-executor.d.ts +32 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/cache-stats.d.ts +49 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/branch-summarization.d.ts +93 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/compaction.d.ts +128 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/index.d.ts +7 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/utils.d.ts +38 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/defaults.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/diagnostics.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/event-bus.d.ts +9 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/exec.d.ts +29 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/experimental.d.ts +2 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/ansi-to-html.d.ts +22 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/index.d.ts +37 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/tool-renderer.d.ts +34 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/index.d.ts +12 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/loader.d.ts +23 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/runner.d.ts +171 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/types.d.ts +1261 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/wrapper.d.ts +20 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/footer-data-provider.d.ts +54 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/http-dispatcher.d.ts +22 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/index.d.ts +13 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/keybindings.d.ts +358 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/messages.d.ts +77 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-config.d.ts +512 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-registry.d.ts +43 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-resolver.d.ts +121 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-runtime.d.ts +82 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/models-store.d.ts +17 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/output-guard.d.ts +7 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/package-manager.d.ts +210 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/project-trust.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/prompt-templates.d.ts +54 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-attribution.d.ts +4 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-composer.d.ts +55 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/radius.d.ts +2 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/remote-catalog-provider.d.ts +5 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resolve-config-value.d.ts +30 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resource-loader.d.ts +206 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/runtime-credentials.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/sdk.d.ts +106 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-cwd.d.ts +19 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-manager.d.ts +356 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/settings-manager.d.ts +297 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/skills.d.ts +60 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/slash-commands.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/source-info.d.ts +18 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/system-prompt.d.ts +28 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/telemetry.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/timings.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/bash.d.ts +68 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit-diff.d.ts +106 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit.d.ts +51 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/file-mutation-queue.d.ts +6 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/find.d.ts +35 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/grep.d.ts +37 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/index.d.ts +40 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/ls.d.ts +37 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/output-accumulator.d.ts +52 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/path-utils.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/read.d.ts +35 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/render-utils.d.ts +24 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/truncate.d.ts +70 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/write.d.ts +26 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/trust-manager.d.ts +36 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/usage-totals.d.ts +19 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/index.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/client.d.ts +61 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/huggingface.d.ts +23 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/index.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/provider.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/ui.d.ts +42 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/index.d.ts +35 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/main.d.ts +12 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/migrations.d.ts +33 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/index.d.ts +9 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/armin.d.ts +34 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/assistant-message.d.ts +22 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bash-execution.d.ts +34 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/config-selector.d.ts +102 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-editor.d.ts +21 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-entry.d.ts +19 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-message.d.ts +20 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/daxnuts.d.ts +23 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/diff.d.ts +12 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-editor.d.ts +22 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-input.d.ts +23 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-selector.d.ts +26 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/footer.d.ts +32 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/index.d.ts +34 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/login-dialog.d.ts +52 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/model-selector.d.ts +54 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector.d.ts +95 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/settings-selector.d.ts +77 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/status-indicator.d.ts +28 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/theme-selector.d.ts +11 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tool-execution.d.ts +63 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tree-selector.d.ts +94 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/trust-selector.d.ts +23 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message.d.ts +14 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/interactive-mode.d.ts +394 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/model-search.d.ts +12 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme-controller.d.ts +29 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme.d.ts +120 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/print-mode.d.ts +28 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/jsonl.d.ts +17 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-client.d.ts +246 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-mode.d.ts +20 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-types.d.ts +457 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/package-manager-cli.d.ts +8 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/rpc-entry.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/ansi.d.ts +2 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/changelog.d.ts +22 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/child-process.d.ts +18 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-image.d.ts +11 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-native.d.ts +11 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard.d.ts +4 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/deprecation.d.ts +4 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/exif-orientation.d.ts +5 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/frontmatter.d.ts +8 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/fs-watch.d.ts +5 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/git.d.ts +26 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/html.d.ts +7 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-convert.d.ts +10 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-process.d.ts +18 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-core.d.ts +30 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-worker.d.ts +2 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize.d.ts +16 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/json.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/mime.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/open-browser.d.ts +9 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/paths.d.ts +31 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/photon.d.ts +21 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/pi-user-agent.d.ts +2 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/shell.d.ts +31 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/sleep.d.ts +5 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/syntax-highlight.d.ts +12 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/tools-manager.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/version-check.d.ts +15 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/windows-self-update.d.ts +3 -0
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/index.mjs +1 -1
- package/dist/extensions/pi-subagents/test/integration/acceptance-file-report.test.ts +0 -54
- package/dist/extensions/pi-subagents/test/integration/async-execution.test.ts +1053 -414
- package/dist/extensions/pi-subagents/test/integration/async-job-tracker.test.ts +194 -4
- package/dist/extensions/pi-subagents/test/integration/async-status.test.ts +59 -4
- package/dist/extensions/pi-subagents/test/integration/error-handling.test.ts +0 -77
- package/dist/extensions/pi-subagents/test/integration/external-cli-runner.test.ts +107 -6
- package/dist/extensions/pi-subagents/test/integration/fork-context-execution.test.ts +211 -897
- package/dist/extensions/pi-subagents/test/integration/intercom-result-delivery.test.ts +265 -375
- package/dist/extensions/pi-subagents/test/integration/orca-progress-tabs.test.ts +77 -7
- package/dist/extensions/pi-subagents/test/integration/render-fork-badge.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/integration/render-widget.test.ts +10 -10
- package/dist/extensions/pi-subagents/test/integration/result-watcher.test.ts +547 -30
- package/dist/extensions/pi-subagents/test/integration/single-execution.test.ts +2112 -310
- package/dist/extensions/pi-subagents/test/integration/slash-commands.test.ts +274 -34
- package/dist/extensions/pi-subagents/test/integration/slash-live-state.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/integration/template-resolution.test.ts +20 -3
- package/dist/extensions/pi-subagents/test/support/isolated-temp-root.mjs +9 -0
- package/dist/extensions/pi-subagents/test/support/mock-pi-script.mjs +30 -5
- package/dist/extensions/pi-subagents/test/support/mock-pi.ts +2 -0
- package/dist/extensions/pi-subagents/test/support/real-session-runner.ts +4 -2
- package/dist/extensions/pi-subagents/test/support/register-loader.mjs +1 -0
- package/dist/extensions/pi-subagents/test/unit/acceptance.test.ts +197 -0
- package/dist/extensions/pi-subagents/test/unit/agent-contract.test.ts +14 -0
- package/dist/extensions/pi-subagents/test/unit/agent-disabled.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/agent-frontmatter.test.ts +204 -27
- package/dist/extensions/pi-subagents/test/unit/agent-management.test.ts +444 -145
- package/dist/extensions/pi-subagents/test/unit/agent-overrides.test.ts +256 -4
- package/dist/extensions/pi-subagents/test/unit/artifacts.test.ts +9 -7
- package/dist/extensions/pi-subagents/test/unit/async-interrupt-action.test.ts +152 -22
- package/dist/extensions/pi-subagents/test/unit/async-recovery-descriptor.test.ts +29 -0
- package/dist/extensions/pi-subagents/test/unit/async-resume.test.ts +205 -23
- package/dist/extensions/pi-subagents/test/unit/async-retention.test.ts +579 -0
- package/dist/extensions/pi-subagents/test/unit/atomic-json.test.ts +24 -0
- package/dist/extensions/pi-subagents/test/unit/authority-policy.test.ts +1 -0
- package/dist/extensions/pi-subagents/test/unit/auto-drain.test.ts +3 -3
- package/dist/extensions/pi-subagents/test/unit/capacity-resilient-json.test.ts +155 -0
- package/dist/extensions/pi-subagents/test/unit/compaction-resume.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/completion-dedupe.test.ts +7 -0
- package/dist/extensions/pi-subagents/test/unit/completion-guard.test.ts +123 -0
- package/dist/extensions/pi-subagents/test/unit/completion-replay.test.ts +81 -3
- package/dist/extensions/pi-subagents/test/unit/control-channel.test.ts +109 -7
- package/dist/extensions/pi-subagents/test/unit/default-extensions.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/doctor.test.ts +5 -2
- package/dist/extensions/pi-subagents/test/unit/dynamic-fanout.test.ts +3 -2
- package/dist/extensions/pi-subagents/test/unit/extension-bindings.test.ts +79 -0
- package/dist/extensions/pi-subagents/test/unit/external-cli-runner.test.ts +22 -0
- package/dist/extensions/pi-subagents/test/unit/external-job-runner.test.ts +961 -0
- package/dist/extensions/pi-subagents/test/unit/file-system-retry.test.ts +64 -0
- package/dist/extensions/pi-subagents/test/unit/fleet-status.test.ts +1110 -0
- package/dist/extensions/pi-subagents/test/unit/fleet.test.ts +1664 -0
- package/dist/extensions/pi-subagents/test/unit/fork-context.test.ts +81 -1
- package/dist/extensions/pi-subagents/test/unit/herdr-inspector.test.ts +138 -11
- package/dist/extensions/pi-subagents/test/unit/herdr-status-bridge.test.ts +41 -2
- package/dist/extensions/pi-subagents/test/unit/index-child-registration.test.ts +210 -79
- package/dist/extensions/pi-subagents/test/unit/index-segment.test.ts +95 -0
- package/dist/extensions/pi-subagents/test/unit/inspect-rpc.test.ts +596 -0
- package/dist/extensions/pi-subagents/test/unit/mission-lifecycle.test.ts +10 -1
- package/dist/extensions/pi-subagents/test/unit/mission-store.test.ts +3 -5
- package/dist/extensions/pi-subagents/test/unit/model-exclusions.test.ts +167 -0
- package/dist/extensions/pi-subagents/test/unit/model-fallback.test.ts +319 -18
- package/dist/extensions/pi-subagents/test/unit/model-info.test.ts +78 -0
- package/dist/extensions/pi-subagents/test/unit/model-scope-settings.test.ts +19 -5
- package/dist/extensions/pi-subagents/test/unit/model-scope.test.ts +44 -0
- package/dist/extensions/pi-subagents/test/unit/mutation-evidence.test.ts +129 -0
- package/dist/extensions/pi-subagents/test/unit/native-supervisor-channel.test.ts +231 -2
- package/dist/extensions/pi-subagents/test/unit/nested-control.test.ts +28 -1
- package/dist/extensions/pi-subagents/test/unit/notify.test.ts +106 -2
- package/dist/extensions/pi-subagents/test/unit/orca-progress-tabs.test.ts +204 -7
- package/dist/extensions/pi-subagents/test/unit/package-manifest.test.ts +59 -4
- package/dist/extensions/pi-subagents/test/unit/path-handling.test.ts +2 -6
- package/dist/extensions/pi-subagents/test/unit/pi-args-permission-system.test.ts +34 -2
- package/dist/extensions/pi-subagents/test/unit/pi-args.test.ts +116 -6
- package/dist/extensions/pi-subagents/test/unit/pi-coding-agent-dir.test.ts +12 -3
- package/dist/extensions/pi-subagents/test/unit/pi-spawn.test.ts +56 -61
- package/dist/extensions/pi-subagents/test/unit/preflight.test.ts +416 -1
- package/dist/extensions/pi-subagents/test/unit/profiles.test.ts +9 -2
- package/dist/extensions/pi-subagents/test/unit/project-panes-public-api.test.ts +42 -0
- package/dist/extensions/pi-subagents/test/unit/prompt-workflows.test.ts +21 -30
- package/dist/extensions/pi-subagents/test/unit/public-execution.test.ts +86 -11
- package/dist/extensions/pi-subagents/test/unit/render-helpers.test.ts +49 -1
- package/dist/extensions/pi-subagents/test/unit/result-files.test.ts +233 -5
- package/dist/extensions/pi-subagents/test/unit/retained-children.test.ts +28 -5
- package/dist/extensions/pi-subagents/test/unit/rpc.test.ts +323 -20
- package/dist/extensions/pi-subagents/test/unit/run-id-resolver.test.ts +66 -10
- package/dist/extensions/pi-subagents/test/unit/run-status.test.ts +68 -5
- package/dist/extensions/pi-subagents/test/unit/runtime-agent-registration.test.ts +174 -0
- package/dist/extensions/pi-subagents/test/unit/scheduled-runs.test.ts +679 -0
- package/dist/extensions/pi-subagents/test/unit/scheduled-store-root.test.ts +67 -0
- package/dist/extensions/pi-subagents/test/unit/schemas.test.ts +55 -44
- package/dist/extensions/pi-subagents/test/unit/scripted-workflow.test.ts +399 -84
- package/dist/extensions/pi-subagents/test/unit/session-lease.test.ts +13 -0
- package/dist/extensions/pi-subagents/test/unit/skills-fallback.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/slash-bridge.test.ts +15 -10
- package/dist/extensions/pi-subagents/test/unit/stale-run-reconciler.test.ts +11 -7
- package/dist/extensions/pi-subagents/test/unit/steering-action.test.ts +2 -0
- package/dist/extensions/pi-subagents/test/unit/steering.test.ts +40 -1
- package/dist/extensions/pi-subagents/test/unit/subagent-action-recovery.test.ts +10 -2
- package/dist/extensions/pi-subagents/test/unit/subagent-control.test.ts +38 -3
- package/dist/extensions/pi-subagents/test/unit/subagent-prompt-runtime.test.ts +110 -12
- package/dist/extensions/pi-subagents/test/unit/subagent-wait.test.ts +204 -19
- package/dist/extensions/pi-subagents/test/unit/temp-paths.test.ts +25 -0
- package/dist/extensions/pi-subagents/test/unit/thinking-ceiling.test.ts +73 -0
- package/dist/extensions/pi-subagents/test/unit/tool-description.test.ts +90 -50
- package/dist/extensions/pi-subagents/test/unit/tool-timeout.test.ts +1 -2
- package/dist/extensions/pi-subagents/test/unit/wait-subscriptions.test.ts +234 -7
- package/dist/extensions/pi-subagents/test/unit/watch-strategy.test.ts +24 -0
- package/dist/extensions/pi-subagents/test/unit/watchdog-permission-arbiter.test.ts +36 -0
- package/dist/extensions/pi-subagents/test/unit/workflow-chat-progress.test.ts +37 -9
- package/dist/extensions/pi-subagents/test/unit/workflow-detach-reconcile.test.ts +302 -0
- package/dist/extensions/pi-subagents/test/unit/workflow-launch-params.test.ts +167 -7
- package/dist/extensions/pi-subagents/test/unit/workflow-receipt.test.ts +113 -0
- package/dist/extensions/pi-subagents/test/unit/worktree.test.ts +6 -6
- package/dist/extensions/pi-web-agent/package.json +31 -31
- package/dist/extensions/pi-web-agent/src/backends/config.ts +205 -205
- package/dist/extensions/pi-web-agent/src/backends/doctor.ts +136 -136
- package/dist/extensions/pi-web-agent/src/backends/factory.ts +152 -152
- package/dist/extensions/pi-web-agent/src/backends/settings-reader.ts +25 -25
- package/dist/extensions/pi-web-agent/src/cache/ttl-cache.ts +28 -28
- package/dist/extensions/pi-web-agent/src/changelog-notice.ts +136 -136
- package/dist/extensions/pi-web-agent/src/commands/web-agent-config.ts +946 -946
- package/dist/extensions/pi-web-agent/src/extension.ts +126 -126
- package/dist/extensions/pi-web-agent/src/extract/readability.ts +118 -118
- package/dist/extensions/pi-web-agent/src/fetch/browser-resolution.ts +199 -199
- package/dist/extensions/pi-web-agent/src/fetch/firecrawl-fetch.ts +100 -100
- package/dist/extensions/pi-web-agent/src/fetch/headless-fetch.ts +117 -117
- package/dist/extensions/pi-web-agent/src/fetch/http-fetch.ts +67 -67
- package/dist/extensions/pi-web-agent/src/orchestration/answer-synthesizer.ts +60 -60
- package/dist/extensions/pi-web-agent/src/orchestration/candidate-selector.ts +50 -50
- package/dist/extensions/pi-web-agent/src/orchestration/direct-url.ts +52 -52
- package/dist/extensions/pi-web-agent/src/orchestration/evidence-quality.ts +105 -105
- package/dist/extensions/pi-web-agent/src/orchestration/evidence-ranker.ts +45 -45
- package/dist/extensions/pi-web-agent/src/orchestration/index.ts +28 -28
- package/dist/extensions/pi-web-agent/src/orchestration/query-planner.ts +47 -47
- package/dist/extensions/pi-web-agent/src/orchestration/research-orchestrator.ts +376 -376
- package/dist/extensions/pi-web-agent/src/orchestration/research-types.ts +64 -64
- package/dist/extensions/pi-web-agent/src/orchestration/research-worker.ts +181 -181
- package/dist/extensions/pi-web-agent/src/orchestration/source-profile.ts +101 -101
- package/dist/extensions/pi-web-agent/src/orchestration/stop-decider.ts +81 -81
- package/dist/extensions/pi-web-agent/src/presentation/config-store.ts +210 -210
- package/dist/extensions/pi-web-agent/src/presentation/config.ts +75 -75
- package/dist/extensions/pi-web-agent/src/presentation/explore-presentation.ts +61 -61
- package/dist/extensions/pi-web-agent/src/presentation/fetch-presentation.ts +54 -54
- package/dist/extensions/pi-web-agent/src/presentation/search-presentation.ts +41 -41
- package/dist/extensions/pi-web-agent/src/presentation/select-view.ts +20 -20
- package/dist/extensions/pi-web-agent/src/presentation/types.ts +63 -63
- package/dist/extensions/pi-web-agent/src/search/brave.ts +114 -114
- package/dist/extensions/pi-web-agent/src/search/duckduckgo.ts +72 -72
- package/dist/extensions/pi-web-agent/src/search/searxng.ts +96 -96
- package/dist/extensions/pi-web-agent/src/tools/web-explore.ts +71 -71
- package/dist/extensions/pi-web-agent/src/tools/web-fetch-headless.ts +31 -31
- package/dist/extensions/pi-web-agent/src/tools/web-fetch.ts +31 -31
- package/dist/extensions/pi-web-agent/src/tools/web-search.ts +157 -157
- package/dist/extensions/pi-web-agent/src/types.ts +88 -88
- package/dist/extensions/ponytail/index.js +31 -25
- package/dist/extensions/ponytail/package.json +8 -8
- package/dist/extensions/ponytail/ponytail-config.cjs +34 -7
- package/dist/extensions/ponytail/ponytail-instructions.cjs +7 -9
- package/dist/extensions/ponytail/test/extension.test.js +7 -8
- package/dist/extensions/ponytail/test/helpers.test.js +1 -1
- package/dist/extensions/question/batch.ts +103 -103
- package/dist/extensions/question/constants.ts +30 -30
- package/dist/extensions/question/helpers.ts +58 -58
- package/dist/extensions/question/navigation.ts +14 -14
- package/dist/extensions/question/package.json +19 -19
- package/dist/extensions/question/schemas.ts +43 -43
- package/dist/extensions/question/selection-mode.ts +46 -46
- package/dist/extensions/question/shortcuts.ts +44 -44
- package/dist/extensions/question/types.ts +132 -132
- package/dist/extensions/test-resolve-hook-impl.mjs +6 -6
- package/dist/extensions/test-resolve-hook.mjs +6 -6
- package/dist/extensions/web-agent-onboarding.ts +222 -222
- package/dist/extensions/workflow/package.json +17 -17
- package/dist/package-manager-cli.js +71 -71
- package/dist/rpc-entry.js +0 -0
- package/dist/skills/agent-browser/SKILL.md +52 -52
- package/dist/skills/batch-grill-me/SKILL.md +19 -19
- package/dist/skills/brandkit/SKILL.md +799 -0
- package/dist/skills/design-taste-frontend/SKILL.md +1207 -0
- package/dist/skills/design-taste-frontend-v1/SKILL.md +227 -0
- package/dist/skills/full-output-enforcement/SKILL.md +50 -0
- package/dist/skills/gpt-taste/SKILL.md +75 -0
- package/dist/skills/grill-me/SKILL.md +10 -10
- package/dist/skills/handoff/SKILL.md +16 -16
- package/dist/skills/handoff-text/SKILL.md +14 -14
- package/dist/skills/high-end-visual-design/SKILL.md +99 -0
- package/dist/skills/image-to-code/SKILL.md +1229 -0
- package/dist/skills/imagegen-frontend-mobile/SKILL.md +1466 -0
- package/dist/skills/imagegen-frontend-web/SKILL.md +988 -0
- package/dist/skills/implanger/SKILL.md +69 -69
- package/dist/skills/improve-codebase/REFERENCE.md +78 -78
- package/dist/skills/improve-codebase/SKILL.md +178 -178
- package/dist/skills/industrial-brutalist-ui/SKILL.md +93 -0
- package/dist/skills/minimalist-ui/SKILL.md +86 -0
- package/dist/skills/pi-subagents/SKILL.md +18 -17
- package/dist/skills/pi-subagents/references/constraints-and-recipes.md +31 -9
- package/dist/skills/pi-subagents/references/execution-controls.md +95 -143
- package/dist/skills/pi-subagents/references/management-authoring-rpc.md +9 -12
- package/dist/skills/pi-subagents/references/multi-lane-orchestration.md +39 -0
- package/dist/skills/pi-subagents/references/prompting-and-roles.md +45 -94
- package/dist/skills/planger/SKILL.md +166 -166
- package/dist/skills/ponytail/SKILL.md +120 -116
- package/dist/skills/ponytail-audit/SKILL.md +41 -42
- package/dist/skills/ponytail-debt/SKILL.md +44 -45
- package/dist/skills/ponytail-gain/SKILL.md +50 -51
- package/dist/skills/ponytail-help/SKILL.md +71 -70
- package/dist/skills/ponytail-review/SKILL.md +57 -58
- package/dist/skills/redesign-existing-projects/SKILL.md +179 -0
- package/dist/skills/selesai-handoff/SKILL.md +20 -20
- package/dist/skills/stitch-design-taste/SKILL.md +185 -0
- package/dist/skills/unlazy/CHANGELOG.md +100 -0
- package/dist/skills/unlazy/CONTRIBUTING.md +66 -0
- package/dist/skills/unlazy/LICENSE +21 -0
- package/dist/skills/unlazy/README.md +242 -0
- package/dist/skills/unlazy/SECURITY.md +70 -0
- package/dist/skills/unlazy/SKILL.md +100 -0
- package/dist/skills/unlazy/package.json +13 -0
- package/dist/skills/unlazy/references/dispatch.md +82 -0
- package/dist/skills/unlazy/references/gates.md +132 -0
- package/dist/skills/unlazy/references/method.md +49 -0
- package/dist/skills/unlazy/references/orchestration.md +99 -0
- package/dist/skills/unlazy/references/parallel.md +123 -0
- package/dist/skills/unlazy/references/token-economy.md +39 -0
- package/dist/skills/unlazy/research/validation-protocol.md +81 -0
- package/dist/skills/unlazy/scripts/dispatch-check.mjs +108 -0
- package/dist/skills/unlazy/scripts/gate-check.mjs +894 -0
- package/dist/skills/unlazy/scripts/gate-lint.mjs +178 -0
- package/dist/skills/unlazy/scripts/install-hooks.mjs +206 -0
- package/dist/skills/unlazy/scripts/lib/check-supervisor.mjs +46 -0
- package/dist/skills/unlazy/scripts/lib/dispatch.mjs +283 -0
- package/dist/skills/unlazy/scripts/lib/gates.mjs +629 -0
- package/dist/skills/unlazy/scripts/lib/process-tree.mjs +161 -0
- package/dist/skills/unlazy/scripts/lib/regex-worker.mjs +9 -0
- package/dist/skills/unlazy/scripts/stop-hook.mjs +174 -0
- package/dist/skills/unlazy/templates/PLAN.md +65 -0
- package/dist/skills/unlazy/templates/gates-leaf.md +51 -0
- package/dist/skills/unlazy/templates/gates-node.md +50 -0
- package/dist/skills/unlazy/tests/contract-tests.mjs +127 -0
- package/dist/skills/unlazy/tests/dispatch-tests.mjs +481 -0
- package/dist/skills/unlazy/tests/hardening-tests.mjs +903 -0
- package/dist/skills/unlazy/tests/lint-tests.mjs +242 -0
- package/dist/skills/unlazy/tests/run-tests.mjs +554 -0
- package/dist/skills/unlazy/tests/self-check.mjs +165 -0
- package/dist/skills/unlazy/tests/stress-tests.mjs +356 -0
- package/dist/skills/web-design-guidelines/SKILL.md +40 -0
- package/dist/skills/workflow-creation/SKILL.md +73 -73
- package/dist/themes/powerline-footer/theme.json +33 -33
- package/dist/utils/shell.d.ts +3 -0
- package/dist/utils/shell.js +17 -5
- package/docs/compaction.md +396 -396
- package/docs/containerization.md +111 -111
- package/docs/development.md +71 -71
- package/docs/docs.json +164 -164
- package/docs/environment-variables.md +86 -86
- package/docs/index.md +83 -83
- package/docs/json.md +82 -82
- package/docs/models.md +502 -502
- package/docs/packages.md +227 -227
- package/docs/plans/subagent-delegation/phase-0-correctness.md +264 -264
- package/docs/plans/subagent-delegation/phase-1-behavioral-contract.md +485 -485
- package/docs/plans/subagent-delegation/phase-2-context-controls.md +281 -281
- package/docs/plans/subagent-delegation/phase-3-advisory-routing.md +361 -361
- package/docs/plans/subagent-delegation/phase-4-optional-enforcement.md +380 -380
- package/docs/prompt-templates.md +95 -95
- package/docs/providers.md +293 -293
- package/docs/sdk.md +1144 -1143
- package/docs/security.md +59 -59
- package/docs/session-format.md +414 -414
- package/docs/sessions.md +145 -145
- package/docs/settings.md +0 -5
- package/docs/shared-host-extensions.md +109 -109
- package/docs/shell-aliases.md +13 -13
- package/docs/skills.md +231 -231
- package/docs/terminal-setup.md +142 -142
- package/docs/termux.md +127 -127
- package/docs/themes.md +295 -295
- package/docs/tmux.md +63 -63
- package/docs/tui.md +927 -927
- package/docs/windows.md +17 -17
- package/examples/README.md +25 -25
- package/examples/extensions/README.md +211 -211
- package/examples/extensions/auto-commit-on-exit.ts +49 -49
- package/examples/extensions/bash-spawn-hook.ts +30 -30
- package/examples/extensions/bookmark.ts +50 -50
- package/examples/extensions/border-status-editor.ts +150 -150
- package/examples/extensions/built-in-tool-renderer.ts +249 -249
- package/examples/extensions/claude-rules.ts +86 -86
- package/examples/extensions/commands.ts +72 -72
- package/examples/extensions/confirm-destructive.ts +59 -59
- package/examples/extensions/custom-compaction.ts +130 -130
- package/examples/extensions/custom-footer.ts +64 -64
- package/examples/extensions/custom-header.ts +73 -73
- package/examples/extensions/custom-provider-anthropic/index.ts +610 -610
- package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -24
- package/examples/extensions/custom-provider-anthropic/package.json +19 -19
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +404 -404
- package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -16
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -82
- package/examples/extensions/dirty-repo-guard.ts +56 -56
- package/examples/extensions/doom-overlay/README.md +46 -46
- package/examples/extensions/doom-overlay/doom/build/doom.js +21 -21
- package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
- package/examples/extensions/doom-overlay/doom/build.sh +152 -152
- package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -72
- package/examples/extensions/doom-overlay/doom-component.ts +132 -132
- package/examples/extensions/doom-overlay/doom-engine.ts +173 -173
- package/examples/extensions/doom-overlay/doom-keys.ts +104 -104
- package/examples/extensions/doom-overlay/index.ts +74 -74
- package/examples/extensions/doom-overlay/wad-finder.ts +51 -51
- package/examples/extensions/dynamic-resources/SKILL.md +8 -8
- package/examples/extensions/dynamic-resources/dynamic.json +79 -79
- package/examples/extensions/dynamic-resources/dynamic.md +5 -5
- package/examples/extensions/dynamic-resources/index.ts +15 -15
- package/examples/extensions/dynamic-tools.ts +74 -74
- package/examples/extensions/event-bus.ts +43 -43
- package/examples/extensions/file-trigger.ts +41 -41
- package/examples/extensions/git-checkpoint.ts +53 -53
- package/examples/extensions/git-merge-and-resolve.ts +115 -115
- package/examples/extensions/github-issue-autocomplete.ts +185 -185
- package/examples/extensions/gondolin/index.ts +531 -531
- package/examples/extensions/gondolin/package-lock.json +185 -185
- package/examples/extensions/gondolin/package.json +19 -19
- package/examples/extensions/handoff.ts +199 -199
- package/examples/extensions/hello.ts +26 -26
- package/examples/extensions/hidden-thinking-label.ts +53 -53
- package/examples/extensions/inline-bash.ts +94 -94
- package/examples/extensions/input-transform-streaming.ts +39 -39
- package/examples/extensions/input-transform.ts +43 -43
- package/examples/extensions/interactive-shell.ts +196 -196
- package/examples/extensions/mac-system-theme.ts +47 -47
- package/examples/extensions/message-renderer.ts +59 -59
- package/examples/extensions/minimal-mode.ts +426 -426
- package/examples/extensions/modal-editor.ts +85 -85
- package/examples/extensions/model-status.ts +31 -31
- package/examples/extensions/notify.ts +55 -55
- package/examples/extensions/overlay-qa-tests.ts +1450 -1450
- package/examples/extensions/overlay-test.ts +153 -153
- package/examples/extensions/permission-gate.ts +34 -34
- package/examples/extensions/pirate.ts +47 -47
- package/examples/extensions/plan-mode/README.md +66 -66
- package/examples/extensions/plan-mode/index.ts +390 -390
- package/examples/extensions/plan-mode/utils.ts +168 -168
- package/examples/extensions/preset.ts +436 -436
- package/examples/extensions/project-trust.ts +64 -64
- package/examples/extensions/prompt-customizer.ts +97 -97
- package/examples/extensions/protected-paths.ts +30 -30
- package/examples/extensions/provider-payload.ts +18 -18
- package/examples/extensions/qna.ts +122 -122
- package/examples/extensions/question.ts +285 -285
- package/examples/extensions/questionnaire.ts +448 -448
- package/examples/extensions/rainbow-editor.ts +88 -88
- package/examples/extensions/reload-runtime.ts +37 -37
- package/examples/extensions/rpc-demo.ts +118 -118
- package/examples/extensions/sandbox/index.ts +321 -321
- package/examples/extensions/sandbox/package-lock.json +92 -92
- package/examples/extensions/sandbox/package.json +19 -19
- package/examples/extensions/send-user-message.ts +97 -97
- package/examples/extensions/session-name.ts +27 -27
- package/examples/extensions/shutdown-command.ts +63 -63
- package/examples/extensions/snake.ts +343 -343
- package/examples/extensions/space-invaders.ts +560 -560
- package/examples/extensions/ssh.ts +220 -220
- package/examples/extensions/status-line.ts +32 -32
- package/examples/extensions/structured-output.ts +65 -65
- package/examples/extensions/subagent/README.md +175 -175
- package/examples/extensions/subagent/agents/planner.md +37 -37
- package/examples/extensions/subagent/agents/reviewer.md +35 -35
- package/examples/extensions/subagent/agents/scout.md +50 -50
- package/examples/extensions/subagent/agents/worker.md +24 -24
- package/examples/extensions/subagent/agents.ts +126 -126
- package/examples/extensions/subagent/index.ts +1015 -1015
- package/examples/extensions/subagent/prompts/implement-and-review.md +10 -10
- package/examples/extensions/subagent/prompts/implement.md +10 -10
- package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -9
- package/examples/extensions/summarize.ts +209 -209
- package/examples/extensions/system-prompt-header.ts +17 -17
- package/examples/extensions/tic-tac-toe.ts +1008 -1008
- package/examples/extensions/timed-confirm.ts +70 -70
- package/examples/extensions/titlebar-spinner.ts +58 -58
- package/examples/extensions/todo.ts +297 -297
- package/examples/extensions/tool-override.ts +144 -144
- package/examples/extensions/tools.ts +146 -146
- package/examples/extensions/trigger-compact.ts +50 -50
- package/examples/extensions/truncated-tool.ts +195 -195
- package/examples/extensions/widget-placement.ts +9 -9
- package/examples/extensions/with-deps/index.ts +32 -32
- package/examples/extensions/with-deps/package-lock.json +31 -31
- package/examples/extensions/with-deps/package.json +22 -22
- package/examples/extensions/working-indicator.ts +123 -123
- package/examples/extensions/working-message-test.ts +25 -25
- package/examples/rpc-extension-ui.ts +632 -632
- package/examples/sdk/01-minimal.ts +26 -26
- package/examples/sdk/02-custom-model.ts +53 -53
- package/examples/sdk/03-custom-prompt.ts +75 -75
- package/examples/sdk/04-skills.ts +55 -55
- package/examples/sdk/05-tools.ts +48 -48
- package/examples/sdk/06-extensions.ts +99 -99
- package/examples/sdk/07-context-files.ts +47 -47
- package/examples/sdk/08-prompt-templates.ts +51 -51
- package/examples/sdk/09-api-keys-and-oauth.ts +52 -52
- package/examples/sdk/10-settings.ts +53 -53
- package/examples/sdk/11-sessions.ts +52 -52
- package/examples/sdk/12-full-control.ts +79 -79
- package/examples/sdk/13-session-runtime.ts +67 -67
- package/examples/sdk/README.md +144 -144
- package/package.json +4 -4
- package/dist/core/tools/schema-prune.d.ts +0 -16
- package/dist/core/tools/schema-prune.js +0 -39
- package/dist/core/tools/schema-prune.test.js +0 -111
- package/dist/extensions/pi-subagents/UPSTREAM-V0.50-MAPPING.md +0 -172
- package/dist/extensions/pi-subagents/prompts/parallel-context-build.md +0 -55
- package/dist/extensions/pi-subagents/prompts/parallel-handoff-plan.md +0 -61
- package/dist/extensions/pi-subagents/src/agents/task-aware-routing.ts +0 -132
- package/dist/extensions/pi-subagents/src/extension/chain-validation.ts +0 -181
- package/dist/extensions/pi-subagents/src/runs/foreground/chain-clarify.ts +0 -1354
- package/dist/extensions/pi-subagents/src/runs/foreground/chain-execution.ts +0 -1581
- package/dist/extensions/pi-subagents/src/shared/env.ts +0 -16
- package/dist/extensions/pi-subagents/src/shared/session-lineage.ts +0 -71
- package/dist/extensions/pi-subagents/src/slash/inline-subagents.ts +0 -136
- package/dist/extensions/pi-subagents/src/workflows/workflow-auto-relaunch.ts +0 -41
- package/dist/extensions/pi-subagents/test/integration/chain-clarify.test.ts +0 -466
- package/dist/extensions/pi-subagents/test/integration/chain-execution.test.ts +0 -1859
- package/dist/extensions/pi-subagents/test/integration/parallel-execution.test.ts +0 -733
- package/dist/extensions/pi-subagents/test/unit/builtin-agent-documentation.test.ts +0 -63
- package/dist/extensions/pi-subagents/test/unit/chain-validation.test.ts +0 -326
- package/dist/extensions/pi-subagents/test/unit/handoff-adoption.test.ts +0 -103
- package/dist/extensions/pi-subagents/test/unit/inline-subagents.test.ts +0 -127
- package/dist/extensions/pi-subagents/test/unit/session-lineage.test.ts +0 -73
- package/dist/extensions/pi-subagents/test/unit/task-aware-routing.test.ts +0 -213
- package/dist/extensions/pi-subagents/test/unit/workflow-auto-relaunch.test.ts +0 -65
- /package/dist/core/{tools/schema-prune.test.d.ts → extensions/loader.test.d.ts} +0 -0
|
@@ -8,10 +8,12 @@ import type { Message } from "@earendil-works/pi-ai";
|
|
|
8
8
|
import type { AgentConfig } from "../agents/agents.ts";
|
|
9
9
|
import type { FSWatcher } from "node:fs";
|
|
10
10
|
import type { ExtensionContext } from "@selesai/code";
|
|
11
|
-
import type {
|
|
11
|
+
import type { ModelScopeRule } from "../runs/shared/model-scope.ts";
|
|
12
12
|
import type { ResolvedSubagentCapabilityCeiling, SubagentCapabilityAudit } from "../runs/shared/capability-ceiling.ts";
|
|
13
13
|
import type { AuthorityPolicyConfig } from "../policy/authority.ts";
|
|
14
|
+
import type { ThinkingLevel } from "./model-info.ts";
|
|
14
15
|
import type { GlobalMissionIndexRecord, MissionRecord, MissionStoreConfig } from "../missions/types.ts";
|
|
16
|
+
import type { ExtensionBindings } from "../runs/shared/extension-bindings.ts";
|
|
15
17
|
|
|
16
18
|
// ============================================================================
|
|
17
19
|
// Basic Types
|
|
@@ -41,7 +43,7 @@ export type WorkflowNodeStatus = "pending" | "running" | "completed" | "failed"
|
|
|
41
43
|
|
|
42
44
|
export interface WorkflowGraphNode {
|
|
43
45
|
id: string;
|
|
44
|
-
kind: "step" | "parallel-group" | "dynamic-parallel-group" | "agent"
|
|
46
|
+
kind: "step" | "parallel-group" | "dynamic-parallel-group" | "agent";
|
|
45
47
|
agent?: string;
|
|
46
48
|
phase?: string;
|
|
47
49
|
label: string;
|
|
@@ -61,16 +63,6 @@ export interface WorkflowGraphNode {
|
|
|
61
63
|
structured?: boolean;
|
|
62
64
|
acceptanceStatus?: AcceptanceLedgerStatus;
|
|
63
65
|
error?: string;
|
|
64
|
-
checkpoint?: ChainCheckpointState;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export interface ChainCheckpointState {
|
|
68
|
-
name: string;
|
|
69
|
-
message?: string;
|
|
70
|
-
status: "pending" | "approved" | "rejected";
|
|
71
|
-
stepIndex: number;
|
|
72
|
-
approvedAt?: number;
|
|
73
|
-
rejectedAt?: number;
|
|
74
66
|
}
|
|
75
67
|
|
|
76
68
|
export interface WorkflowGraphSnapshot {
|
|
@@ -81,6 +73,29 @@ export interface WorkflowGraphSnapshot {
|
|
|
81
73
|
currentNodeId?: string;
|
|
82
74
|
}
|
|
83
75
|
|
|
76
|
+
export type WorkflowReceiptState = "complete" | "failed" | "paused" | "stopped";
|
|
77
|
+
|
|
78
|
+
type WorkflowReceiptEntryResumability =
|
|
79
|
+
| { latestRunId: string; resumability: { state: "resumable" } }
|
|
80
|
+
| { latestRunId?: string; resumability: { state: "not-resumable"; reason: string } };
|
|
81
|
+
|
|
82
|
+
export type WorkflowReceiptEntry = WorkflowReceiptEntryResumability & {
|
|
83
|
+
key: string;
|
|
84
|
+
agent?: string;
|
|
85
|
+
requestedContext?: "fresh" | "fork";
|
|
86
|
+
resolvedContext?: "fresh" | "fork" | "mixed";
|
|
87
|
+
outputReference?: string;
|
|
88
|
+
continuation: { runIds: string[] };
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export interface WorkflowReceipt {
|
|
92
|
+
version: 1;
|
|
93
|
+
workflowRunId: string;
|
|
94
|
+
state: WorkflowReceiptState;
|
|
95
|
+
createdAt: number;
|
|
96
|
+
entries: Record<string, WorkflowReceiptEntry>;
|
|
97
|
+
}
|
|
98
|
+
|
|
84
99
|
export interface SavedOutputReference {
|
|
85
100
|
path: string;
|
|
86
101
|
bytes: number;
|
|
@@ -171,6 +186,7 @@ export interface ControlConfig {
|
|
|
171
186
|
export interface ResolvedControlConfig {
|
|
172
187
|
enabled: boolean;
|
|
173
188
|
needsAttentionAfterMs: number;
|
|
189
|
+
needsAttentionAfterMsIsExplicit?: boolean;
|
|
174
190
|
activeNoticeAfterMs: number;
|
|
175
191
|
activeNoticeAfterTurns?: number;
|
|
176
192
|
activeNoticeAfterTokens?: number;
|
|
@@ -224,6 +240,10 @@ export interface ControlEvent {
|
|
|
224
240
|
currentPath?: string;
|
|
225
241
|
elapsedMs?: number;
|
|
226
242
|
recentFailureSummary?: string;
|
|
243
|
+
workflowKey?: string;
|
|
244
|
+
phase?: string;
|
|
245
|
+
label?: string;
|
|
246
|
+
taskPreview?: string;
|
|
227
247
|
}
|
|
228
248
|
|
|
229
249
|
export type SubagentResultStatus = "completed" | "failed" | "paused" | "stopped" | "detached";
|
|
@@ -282,7 +302,7 @@ export interface ParallelHandoffGroup {
|
|
|
282
302
|
export interface ParallelHandoffManifest {
|
|
283
303
|
version: 1;
|
|
284
304
|
runId: string;
|
|
285
|
-
mode: "parallel" | "chain";
|
|
305
|
+
mode: "single" | "parallel" | "chain";
|
|
286
306
|
source: "foreground" | "async";
|
|
287
307
|
cwd: string;
|
|
288
308
|
createdAt: number;
|
|
@@ -324,17 +344,54 @@ export interface ReviewProjection {
|
|
|
324
344
|
}
|
|
325
345
|
|
|
326
346
|
export interface FileMutationEffect {
|
|
327
|
-
status: "not-requested" | "not-applicable" | "observed" | "missing";
|
|
347
|
+
status: "not-requested" | "not-applicable" | "observed" | "missing" | "blocked";
|
|
328
348
|
expected: boolean;
|
|
329
349
|
attempted: boolean;
|
|
330
350
|
message?: string;
|
|
331
351
|
resolvedBy?: "llm-intent-arbiter";
|
|
352
|
+
evidence?: TrackedMutationEvidence;
|
|
332
353
|
}
|
|
333
354
|
|
|
334
355
|
export interface EffectsProjection {
|
|
335
356
|
fileMutation?: FileMutationEffect;
|
|
336
357
|
}
|
|
337
358
|
|
|
359
|
+
export interface TrackedMutationSnapshot {
|
|
360
|
+
source: "tracked-files";
|
|
361
|
+
trackedOnly: true;
|
|
362
|
+
cwd: string;
|
|
363
|
+
gitRoot?: string;
|
|
364
|
+
dirtyFiles: string[];
|
|
365
|
+
fingerprints: Record<string, TrackedMutationFingerprint>;
|
|
366
|
+
truncated?: boolean;
|
|
367
|
+
unavailable?: string;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
export type TrackedMutationFingerprint = { kind: "diff"; digest: string };
|
|
371
|
+
|
|
372
|
+
export interface TrackedMutationEvidence {
|
|
373
|
+
source: "tracked-files";
|
|
374
|
+
trackedOnly: true;
|
|
375
|
+
changedFiles: string[];
|
|
376
|
+
attemptedMutation: boolean;
|
|
377
|
+
truncated?: boolean;
|
|
378
|
+
unavailable?: string;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
export interface TimeoutRecoverySummary {
|
|
382
|
+
termination: "timed-out" | "stopped";
|
|
383
|
+
changedFiles: string[];
|
|
384
|
+
truncated?: boolean;
|
|
385
|
+
currentTool?: string;
|
|
386
|
+
currentToolArgs?: string;
|
|
387
|
+
currentPath?: string;
|
|
388
|
+
sessionFile?: string;
|
|
389
|
+
transcriptPath?: string;
|
|
390
|
+
artifactPaths?: ArtifactPaths;
|
|
391
|
+
warning: string;
|
|
392
|
+
message: string;
|
|
393
|
+
}
|
|
394
|
+
|
|
338
395
|
export const SUBAGENT_LIFECYCLE_ARTIFACT_VERSION = 3;
|
|
339
396
|
export type SubagentLifecycleArtifactVersion = typeof SUBAGENT_LIFECYCLE_ARTIFACT_VERSION;
|
|
340
397
|
|
|
@@ -415,6 +472,12 @@ export type ProcessTerminalV1 =
|
|
|
415
472
|
diagnostic?: string;
|
|
416
473
|
});
|
|
417
474
|
|
|
475
|
+
/** Identifies the durable schedule that launched a run, so its completion is attributable. */
|
|
476
|
+
export interface ScheduleOrigin {
|
|
477
|
+
id: string;
|
|
478
|
+
name?: string;
|
|
479
|
+
}
|
|
480
|
+
|
|
418
481
|
export type SteeringActionState = "delivered" | "scheduled" | "pending" | "partial" | "recovered" | "failed";
|
|
419
482
|
export type SteeringTargetState = "scheduled" | "pending" | "routed" | "queued" | "delivered" | "late" | "failed" | "recovered";
|
|
420
483
|
|
|
@@ -501,6 +564,7 @@ export interface RunFanoutRejection extends RunFanoutBudgetSnapshot {
|
|
|
501
564
|
export interface SteeringRecoveryDescriptor {
|
|
502
565
|
version: 1;
|
|
503
566
|
launchContractDigest?: string;
|
|
567
|
+
extensionBindings?: ExtensionBindings;
|
|
504
568
|
runFanoutBudget: RunFanoutBudgetDescriptor;
|
|
505
569
|
sourceRunId: string;
|
|
506
570
|
agentContract?: AgentContract;
|
|
@@ -508,8 +572,12 @@ export interface SteeringRecoveryDescriptor {
|
|
|
508
572
|
sessionFile?: string;
|
|
509
573
|
cwd: string;
|
|
510
574
|
model?: string;
|
|
575
|
+
modelProvider?: string;
|
|
576
|
+
modelOverrideFromParent?: boolean;
|
|
511
577
|
fallbackModels?: string[];
|
|
578
|
+
fast?: boolean;
|
|
512
579
|
thinking?: string;
|
|
580
|
+
thinkingCeiling?: ThinkingLevel;
|
|
513
581
|
tools?: string[];
|
|
514
582
|
extensions?: string[];
|
|
515
583
|
subagentOnlyExtensions?: string[];
|
|
@@ -528,6 +596,8 @@ export interface SteeringRecoveryDescriptor {
|
|
|
528
596
|
structuredOutputSchema?: JsonSchemaObject;
|
|
529
597
|
acceptance?: AcceptanceInput;
|
|
530
598
|
controlConfig?: ResolvedControlConfig;
|
|
599
|
+
/** Resolved launch context for this async child. */
|
|
600
|
+
context?: "fresh" | "fork";
|
|
531
601
|
/** Raw per-run bridge override. Omitted descriptors continue to use global config. */
|
|
532
602
|
intercomBridge?: IntercomBridgeConfig;
|
|
533
603
|
absoluteDeadlineAt?: number;
|
|
@@ -911,6 +981,7 @@ export interface SingleResult {
|
|
|
911
981
|
context?: "fresh" | "fork";
|
|
912
982
|
exitCode: number;
|
|
913
983
|
processSignal?: string | null;
|
|
984
|
+
timeoutRecovery?: TimeoutRecoverySummary;
|
|
914
985
|
detached?: boolean;
|
|
915
986
|
detachedReason?: string;
|
|
916
987
|
interrupted?: boolean;
|
|
@@ -930,6 +1001,13 @@ export interface SingleResult {
|
|
|
930
1001
|
modelAttempts?: ModelAttempt[];
|
|
931
1002
|
controlEvents?: ControlEvent[];
|
|
932
1003
|
error?: string;
|
|
1004
|
+
/**
|
|
1005
|
+
* True when the dispatch failed because the input exceeded the model's
|
|
1006
|
+
* context window. The model fallback loop stops immediately (retrying the
|
|
1007
|
+
* same input on another model cannot succeed). Callers should treat this as
|
|
1008
|
+
* a signal to reduce input size or re-decompose the task.
|
|
1009
|
+
*/
|
|
1010
|
+
contextOverflow?: boolean;
|
|
933
1011
|
protocolError?: ProtocolOutputLimit;
|
|
934
1012
|
sessionFile?: string;
|
|
935
1013
|
skills?: string[];
|
|
@@ -995,6 +1073,7 @@ export interface WaitCompletionChild {
|
|
|
995
1073
|
outputState?: SubagentOutputState;
|
|
996
1074
|
error?: string;
|
|
997
1075
|
model?: string;
|
|
1076
|
+
contextOverflow?: boolean;
|
|
998
1077
|
artifactPaths?: Partial<ArtifactPaths>;
|
|
999
1078
|
}
|
|
1000
1079
|
|
|
@@ -1057,7 +1136,6 @@ export interface Details {
|
|
|
1057
1136
|
totalSteps?: number; // Total steps in chain
|
|
1058
1137
|
currentStepIndex?: number; // 0-indexed current step (for running chains)
|
|
1059
1138
|
workflowGraph?: WorkflowGraphSnapshot;
|
|
1060
|
-
checkpoint?: ChainCheckpointState;
|
|
1061
1139
|
outputs?: ChainOutputMap;
|
|
1062
1140
|
// Aggregated child usage across all agents in the run
|
|
1063
1141
|
totalChildUsage?: Usage;
|
|
@@ -1087,9 +1165,9 @@ export interface Details {
|
|
|
1087
1165
|
workflow?: {
|
|
1088
1166
|
value?: unknown;
|
|
1089
1167
|
trace: Array<{
|
|
1090
|
-
operation: "run" | "status";
|
|
1168
|
+
operation: "run" | "status" | "steer";
|
|
1091
1169
|
key: string;
|
|
1092
|
-
state: "started" | "completed" | "failed" | "detached" | "stopped" | "reused";
|
|
1170
|
+
state: "started" | "completed" | "failed" | "detached" | "stopped" | "reused" | "queued" | "delivered" | "missed";
|
|
1093
1171
|
agent?: string;
|
|
1094
1172
|
runId?: string;
|
|
1095
1173
|
phase?: string;
|
|
@@ -1099,9 +1177,11 @@ export interface Details {
|
|
|
1099
1177
|
}>;
|
|
1100
1178
|
emits: unknown[];
|
|
1101
1179
|
console: Array<{ level: "log" | "info" | "warn" | "error"; text: string }>;
|
|
1180
|
+
/** Terminal keyed child receipt. Async workflows also persist it beside status.json. */
|
|
1181
|
+
receipt?: WorkflowReceipt;
|
|
1102
1182
|
};
|
|
1103
1183
|
chatProgress?: {
|
|
1104
|
-
mode: "off" | "
|
|
1184
|
+
mode: "off" | "live-card";
|
|
1105
1185
|
repoRelation: "same" | "other";
|
|
1106
1186
|
repoLabel?: string;
|
|
1107
1187
|
};
|
|
@@ -1266,6 +1346,7 @@ export interface AsyncStartedEvent {
|
|
|
1266
1346
|
sessionRoot?: string;
|
|
1267
1347
|
pid?: number;
|
|
1268
1348
|
sessionId?: string;
|
|
1349
|
+
completionOwnerId?: string;
|
|
1269
1350
|
mode?: SubagentRunMode;
|
|
1270
1351
|
agent?: string;
|
|
1271
1352
|
agents?: string[];
|
|
@@ -1277,7 +1358,6 @@ export interface AsyncStartedEvent {
|
|
|
1277
1358
|
chainStepCount?: number;
|
|
1278
1359
|
parallelGroups?: AsyncParallelGroupStatus[];
|
|
1279
1360
|
workflowGraph?: WorkflowGraphSnapshot;
|
|
1280
|
-
checkpoint?: ChainCheckpointState;
|
|
1281
1361
|
launchContractDigest?: string;
|
|
1282
1362
|
launchResolvedExtensions?: LaunchResolvedChildExtensionsV1;
|
|
1283
1363
|
runtimeAcknowledgedExtensions?: RuntimeAcknowledgedChildExtensionsV1;
|
|
@@ -1298,6 +1378,11 @@ export type AgentRunnerConfig =
|
|
|
1298
1378
|
command: string;
|
|
1299
1379
|
args?: string[];
|
|
1300
1380
|
promptDelivery?: "stdin";
|
|
1381
|
+
}
|
|
1382
|
+
| {
|
|
1383
|
+
type: "external-job";
|
|
1384
|
+
provider: string;
|
|
1385
|
+
options?: Record<string, unknown>;
|
|
1301
1386
|
};
|
|
1302
1387
|
|
|
1303
1388
|
export interface ExternalCliRunnerStatus {
|
|
@@ -1314,6 +1399,41 @@ export interface ExternalCliRunnerStatus {
|
|
|
1314
1399
|
};
|
|
1315
1400
|
}
|
|
1316
1401
|
|
|
1402
|
+
export interface ExternalJobRunnerStatus {
|
|
1403
|
+
type: "external-job";
|
|
1404
|
+
provider: string;
|
|
1405
|
+
options: Record<string, unknown>;
|
|
1406
|
+
capabilities: {
|
|
1407
|
+
stop: false;
|
|
1408
|
+
steer: false;
|
|
1409
|
+
resume: false;
|
|
1410
|
+
structuredOutput: false;
|
|
1411
|
+
toolEvents: false;
|
|
1412
|
+
};
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
export interface ExternalJobStatus {
|
|
1416
|
+
provider: string;
|
|
1417
|
+
providerJobId?: string;
|
|
1418
|
+
promptDigest: string;
|
|
1419
|
+
operation?: "start" | "follow-up";
|
|
1420
|
+
sourceRunId?: string;
|
|
1421
|
+
sourceStepIndex?: number;
|
|
1422
|
+
parentProviderJobId?: string;
|
|
1423
|
+
requestId?: string;
|
|
1424
|
+
requestDigest?: string;
|
|
1425
|
+
options: Record<string, unknown>;
|
|
1426
|
+
handleUrl?: string;
|
|
1427
|
+
conversationUrl?: string;
|
|
1428
|
+
resultArtifactPath?: string;
|
|
1429
|
+
state: "queued" | "running" | "completed" | "failed" | "stopped" | "blocked";
|
|
1430
|
+
failureCode?: string;
|
|
1431
|
+
failureMessage?: string;
|
|
1432
|
+
blockingJobId?: string;
|
|
1433
|
+
startedAt?: number;
|
|
1434
|
+
updatedAt?: number;
|
|
1435
|
+
}
|
|
1436
|
+
|
|
1317
1437
|
export interface ExternalProcessStatus {
|
|
1318
1438
|
pid?: number;
|
|
1319
1439
|
startedAt: number;
|
|
@@ -1328,6 +1448,8 @@ export interface ExternalProcessStatus {
|
|
|
1328
1448
|
export interface AsyncStatus {
|
|
1329
1449
|
lifecycleArtifactVersion?: SubagentLifecycleArtifactVersion;
|
|
1330
1450
|
runId: string;
|
|
1451
|
+
/** Parent Pi process/window that owns local completion delivery. */
|
|
1452
|
+
completionOwnerId?: string;
|
|
1331
1453
|
/** Host tool-call id retained when it differs from the internal run id. */
|
|
1332
1454
|
toolCallId?: string;
|
|
1333
1455
|
sessionId?: string;
|
|
@@ -1361,14 +1483,13 @@ export interface AsyncStatus {
|
|
|
1361
1483
|
usageBudget?: UsageBudgetState;
|
|
1362
1484
|
pid?: number;
|
|
1363
1485
|
cwd?: string;
|
|
1486
|
+
/** Parent-resolved child session root retained for trusted restored transcript lookup. */
|
|
1487
|
+
sessionRoot?: string;
|
|
1364
1488
|
currentStep?: number;
|
|
1365
1489
|
chainStepCount?: number;
|
|
1366
1490
|
pendingAppends?: number;
|
|
1367
1491
|
parallelGroups?: AsyncParallelGroupStatus[];
|
|
1368
1492
|
workflowGraph?: WorkflowGraphSnapshot;
|
|
1369
|
-
/** Auto-relaunch count when a workflow budget result triggered a fresh top-level run. */
|
|
1370
|
-
workflowRelaunchCount?: number;
|
|
1371
|
-
checkpoint?: ChainCheckpointState;
|
|
1372
1493
|
processTerminal?: ProcessTerminalV1;
|
|
1373
1494
|
runFanoutBudget?: RunFanoutBudgetSnapshot;
|
|
1374
1495
|
runFanoutBudgetDescriptor?: RunFanoutBudgetDescriptor;
|
|
@@ -1380,10 +1501,15 @@ export interface AsyncStatus {
|
|
|
1380
1501
|
workflow?: Details["workflow"];
|
|
1381
1502
|
parentWorkflowRunId?: string;
|
|
1382
1503
|
workflowKey?: string;
|
|
1504
|
+
/** Set when a durable schedule launched this run, so completions can name their origin. */
|
|
1505
|
+
scheduleOrigin?: ScheduleOrigin;
|
|
1383
1506
|
steps?: Array<{
|
|
1507
|
+
/** Stable caller-facing child identity for inspect/status/stop. */
|
|
1508
|
+
childId?: string;
|
|
1384
1509
|
agent: string;
|
|
1385
|
-
runner?: ExternalCliRunnerStatus;
|
|
1510
|
+
runner?: ExternalCliRunnerStatus | ExternalJobRunnerStatus;
|
|
1386
1511
|
externalProcess?: ExternalProcessStatus;
|
|
1512
|
+
externalJob?: ExternalJobStatus;
|
|
1387
1513
|
/** Resolved launch context for this child step. */
|
|
1388
1514
|
context?: "fresh" | "fork";
|
|
1389
1515
|
/** Short caller-facing task/goal shown in fleet surfaces when available. */
|
|
@@ -1398,8 +1524,9 @@ export interface AsyncStatus {
|
|
|
1398
1524
|
parentWorkflowRunId?: string;
|
|
1399
1525
|
outputName?: string;
|
|
1400
1526
|
structured?: boolean;
|
|
1401
|
-
checkpoint?: ChainCheckpointState;
|
|
1402
1527
|
status: "pending" | "running" | "complete" | "completed" | "failed" | "paused" | "stopped" | "rejected";
|
|
1528
|
+
stopRequested?: boolean;
|
|
1529
|
+
stopRequestedAt?: number;
|
|
1403
1530
|
children?: NestedRunSummary[];
|
|
1404
1531
|
sessionFile?: string;
|
|
1405
1532
|
transcriptPath?: string;
|
|
@@ -1419,6 +1546,7 @@ export interface AsyncStatus {
|
|
|
1419
1546
|
durationMs?: number;
|
|
1420
1547
|
exitCode?: number | null;
|
|
1421
1548
|
timedOut?: boolean;
|
|
1549
|
+
timeoutRecovery?: TimeoutRecoverySummary;
|
|
1422
1550
|
stopped?: boolean;
|
|
1423
1551
|
turnBudget?: TurnBudgetState;
|
|
1424
1552
|
turnBudgetExceeded?: boolean;
|
|
@@ -1429,8 +1557,11 @@ export interface AsyncStatus {
|
|
|
1429
1557
|
skills?: string[];
|
|
1430
1558
|
model?: string;
|
|
1431
1559
|
thinking?: string;
|
|
1560
|
+
thinkingCeiling?: ThinkingLevel;
|
|
1432
1561
|
attemptedModels?: string[];
|
|
1433
1562
|
modelAttempts?: ModelAttempt[];
|
|
1563
|
+
/** True when the child input exceeded the model context window. */
|
|
1564
|
+
contextOverflow?: boolean;
|
|
1434
1565
|
totalCost?: CostSummary;
|
|
1435
1566
|
steering?: SteeringStatus;
|
|
1436
1567
|
error?: string;
|
|
@@ -1467,8 +1598,6 @@ export type AsyncJobStep = NonNullable<AsyncStatus["steps"]>[number] & {
|
|
|
1467
1598
|
export interface AsyncJobState {
|
|
1468
1599
|
asyncId: string;
|
|
1469
1600
|
asyncDir: string;
|
|
1470
|
-
/** True when the job was adopted from a previous session via lineage carry-over. */
|
|
1471
|
-
adopted?: boolean;
|
|
1472
1601
|
/** Host tool-call id retained when it differs from the internal run id. */
|
|
1473
1602
|
toolCallId?: string;
|
|
1474
1603
|
/** Parent-resolved launch directory retained for trusted live artifact lookup. */
|
|
@@ -1480,6 +1609,7 @@ export interface AsyncJobState {
|
|
|
1480
1609
|
description?: string;
|
|
1481
1610
|
pid?: number;
|
|
1482
1611
|
sessionId?: string;
|
|
1612
|
+
completionOwnerId?: string;
|
|
1483
1613
|
activityState?: ActivityState;
|
|
1484
1614
|
lastActivityAt?: number;
|
|
1485
1615
|
currentTool?: string;
|
|
@@ -1496,7 +1626,6 @@ export interface AsyncJobState {
|
|
|
1496
1626
|
chainStepCount?: number;
|
|
1497
1627
|
parallelGroups?: AsyncParallelGroupStatus[];
|
|
1498
1628
|
steps?: AsyncJobStep[];
|
|
1499
|
-
checkpoint?: ChainCheckpointState;
|
|
1500
1629
|
stepsTotal?: number;
|
|
1501
1630
|
runningSteps?: number;
|
|
1502
1631
|
completedSteps?: number;
|
|
@@ -1557,6 +1686,8 @@ export interface ForegroundResumeChild {
|
|
|
1557
1686
|
acceptance?: AcceptanceLedger;
|
|
1558
1687
|
agentContract?: AgentContract;
|
|
1559
1688
|
launchContractDigest?: string;
|
|
1689
|
+
/** Private retained launch authority. Never project into status or result output. */
|
|
1690
|
+
extensionBindings?: ExtensionBindings;
|
|
1560
1691
|
launchResolvedExtensions?: LaunchResolvedChildExtensionsV1;
|
|
1561
1692
|
runtimeAcknowledgedExtensions?: RuntimeAcknowledgedChildExtensionsV1;
|
|
1562
1693
|
execution?: ExecutionProjection;
|
|
@@ -1574,7 +1705,6 @@ export interface ForegroundResumeRun {
|
|
|
1574
1705
|
/** Originating parent session. Detached exits can outlive the active session. */
|
|
1575
1706
|
sessionId?: string;
|
|
1576
1707
|
updatedAt: number;
|
|
1577
|
-
checkpoint?: ChainCheckpointState;
|
|
1578
1708
|
children: ForegroundResumeChild[];
|
|
1579
1709
|
}
|
|
1580
1710
|
|
|
@@ -1667,12 +1797,8 @@ export interface ActiveAsyncCapacitySnapshot {
|
|
|
1667
1797
|
export interface SubagentState {
|
|
1668
1798
|
baseCwd: string;
|
|
1669
1799
|
currentSessionId: string | null;
|
|
1670
|
-
/**
|
|
1671
|
-
|
|
1672
|
-
/** Earliest result-file mtime eligible for adoption from lineage sessions (replay guard). */
|
|
1673
|
-
adoptedResultWindowStart?: number;
|
|
1674
|
-
/** Set when a session switch adopted live workflows; consumed on the first settled turn to inject a carry-over summary. */
|
|
1675
|
-
handoffResumePending?: boolean;
|
|
1800
|
+
/** Reload-stable identity for this parent Pi process/window. */
|
|
1801
|
+
completionOwnerId?: string;
|
|
1676
1802
|
/** Runtime-owned artifact resolution inputs used by Fleet transcript targeting. */
|
|
1677
1803
|
artifactDirPreference?: ArtifactDirPreference;
|
|
1678
1804
|
/** Runtime authority snapshot used by optional inspector controls. */
|
|
@@ -1696,6 +1822,8 @@ export interface SubagentState {
|
|
|
1696
1822
|
};
|
|
1697
1823
|
/** Current-session top-level async capacity projection. */
|
|
1698
1824
|
activeAsyncCapacity?: ActiveAsyncCapacitySnapshot;
|
|
1825
|
+
/** Herdr project panes opened by this Pi session, keyed by project root. */
|
|
1826
|
+
herdrProjectPanes?: Map<string, HerdrProjectPaneSnapshot>;
|
|
1699
1827
|
asyncJobs: Map<string, AsyncJobState>;
|
|
1700
1828
|
/** Current-session active and recent async runs for the native fleet inspector. */
|
|
1701
1829
|
fleetJobs?: Map<string, AsyncJobState>;
|
|
@@ -1722,6 +1850,26 @@ export interface SubagentState {
|
|
|
1722
1850
|
waitSubscriptions?: Map<string, WaitSubscriptionRecord>;
|
|
1723
1851
|
/** Live in-process workflow controllers. Durable status remains on disk after settlement. */
|
|
1724
1852
|
workflowControllers?: Map<string, AbortController>;
|
|
1853
|
+
/** Live in-process workflow child stoppers keyed by parent workflow run id. */
|
|
1854
|
+
workflowChildStops?: Map<string, (childId: string, message?: string) => boolean>;
|
|
1855
|
+
}
|
|
1856
|
+
|
|
1857
|
+
export interface HerdrProjectPaneSnapshot {
|
|
1858
|
+
projectRoot: string;
|
|
1859
|
+
bindingPath: string;
|
|
1860
|
+
paneId: string;
|
|
1861
|
+
openedAt: string;
|
|
1862
|
+
lastFocusedAt?: string;
|
|
1863
|
+
state: "open" | "stale";
|
|
1864
|
+
agentStatus: string;
|
|
1865
|
+
ownership: "verified" | "unknown" | "mismatch";
|
|
1866
|
+
safeToClose: boolean;
|
|
1867
|
+
refreshedAt: number;
|
|
1868
|
+
summary?: string;
|
|
1869
|
+
tabId?: string;
|
|
1870
|
+
workspaceId?: string;
|
|
1871
|
+
terminalTitle?: string;
|
|
1872
|
+
staleReason?: string;
|
|
1725
1873
|
}
|
|
1726
1874
|
|
|
1727
1875
|
// ============================================================================
|
|
@@ -1757,9 +1905,28 @@ export const SUBAGENT_FOREGROUND_COMPLETE_EVENT = "subagent:foreground-complete"
|
|
|
1757
1905
|
export const SUBAGENT_CONTROL_EVENT = "subagent:control-event";
|
|
1758
1906
|
export const SUBAGENT_CONTROL_INTERCOM_EVENT = "subagent:control-intercom";
|
|
1759
1907
|
export const SUBAGENT_STEERING_NOTICE_EVENT = "subagent:steering-notice";
|
|
1908
|
+
export const SUBAGENT_CHILD_STATUS_EVENT = "subagent:child-status";
|
|
1760
1909
|
export const SUBAGENT_RESULT_INTERCOM_EVENT = "subagent:result-intercom";
|
|
1761
1910
|
export const SUBAGENT_RESULT_INTERCOM_DELIVERY_EVENT = "subagent:result-intercom-delivery";
|
|
1762
1911
|
|
|
1912
|
+
export interface SubagentChildStatusEvent {
|
|
1913
|
+
type: "subagent.child-status";
|
|
1914
|
+
version: 1;
|
|
1915
|
+
runId: string;
|
|
1916
|
+
childId: string;
|
|
1917
|
+
status: "stopping" | "stopped";
|
|
1918
|
+
ts: number;
|
|
1919
|
+
reason?: string;
|
|
1920
|
+
source?: "rpc" | "async";
|
|
1921
|
+
asyncDir?: string;
|
|
1922
|
+
stepIndex?: number;
|
|
1923
|
+
agent?: string;
|
|
1924
|
+
childRunId?: string;
|
|
1925
|
+
workflowKey?: string;
|
|
1926
|
+
phase?: string;
|
|
1927
|
+
label?: string;
|
|
1928
|
+
}
|
|
1929
|
+
|
|
1763
1930
|
// ============================================================================
|
|
1764
1931
|
// Execution Options
|
|
1765
1932
|
// ============================================================================
|
|
@@ -1821,22 +1988,29 @@ export interface RunSyncOptions {
|
|
|
1821
1988
|
nestedRoute?: NestedRouteInfo;
|
|
1822
1989
|
/** Override the agent's default model (format: "provider/id" or just "id") */
|
|
1823
1990
|
modelOverride?: string;
|
|
1991
|
+
/** Opt into priority service tier for supported native OpenAI-Codex launches. */
|
|
1992
|
+
fast?: boolean;
|
|
1993
|
+
/** The override came from the running parent session, not configuration. */
|
|
1994
|
+
modelOverrideFromParent?: boolean;
|
|
1824
1995
|
/** LLM intent arbiter for the completion mutation guard (rescues read-only review runs). */
|
|
1825
1996
|
llmIntentArbiter?: import("../runs/shared/llm-intent-arbiter.ts").TaskMutationArbiter;
|
|
1826
1997
|
/** Override the agent's default thinking level for this run */
|
|
1827
1998
|
thinkingOverride?: AgentConfig["thinking"];
|
|
1999
|
+
thinkingCeiling?: ThinkingLevel;
|
|
2000
|
+
extensionBindings?: ExtensionBindings;
|
|
1828
2001
|
/** Registry models available for heuristic bare-model resolution */
|
|
1829
2002
|
availableModels?: Array<{ provider: string; id: string; fullId: string }>;
|
|
1830
2003
|
/** Current parent-session provider to prefer for ambiguous bare model ids */
|
|
1831
2004
|
preferredModelProvider?: string;
|
|
1832
2005
|
/** Optional subagent model-scope enforcement for fallback candidates */
|
|
1833
|
-
modelScope?:
|
|
2006
|
+
modelScope?: ModelScopeRule | ModelScopeRule[];
|
|
1834
2007
|
/** Skills to make available (overrides agent default if provided) */
|
|
1835
2008
|
skills?: string[];
|
|
1836
2009
|
structuredOutput?: {
|
|
1837
2010
|
schema: JsonSchemaObject;
|
|
1838
2011
|
schemaPath: string;
|
|
1839
2012
|
outputPath: string;
|
|
2013
|
+
acceptanceReportPath?: string;
|
|
1840
2014
|
};
|
|
1841
2015
|
agentContract?: AgentContract;
|
|
1842
2016
|
acceptance?: AcceptanceInput;
|
|
@@ -1912,7 +2086,7 @@ export type FleetKeybindingAction = typeof FLEET_KEYBINDING_ACTIONS[number];
|
|
|
1912
2086
|
export type FleetKeybindingsConfig = Partial<Record<FleetKeybindingAction, string[]>>;
|
|
1913
2087
|
|
|
1914
2088
|
export interface OrcaProgressTabsConfig {
|
|
1915
|
-
/** Create one Orca
|
|
2089
|
+
/** Create one Orca observer tab per top-level subagent call. Experimental and opt-in. */
|
|
1916
2090
|
enabled?: boolean;
|
|
1917
2091
|
}
|
|
1918
2092
|
|
|
@@ -1925,6 +2099,8 @@ export interface MainWindowRendererConfig {
|
|
|
1925
2099
|
|
|
1926
2100
|
export interface ExtensionConfig {
|
|
1927
2101
|
asyncByDefault?: boolean;
|
|
2102
|
+
/** Set the context for launches that omit an explicit context. */
|
|
2103
|
+
defaultSubagentContext?: "fresh" | "fork";
|
|
1928
2104
|
/** Optional shortcut that detaches the active foreground single-subagent run. */
|
|
1929
2105
|
foregroundDetachShortcut?: string;
|
|
1930
2106
|
/** Show the Claude Code-style navigable fleet. Defaults to true. */
|
|
@@ -1935,10 +2111,8 @@ export interface ExtensionConfig {
|
|
|
1935
2111
|
fleetKeybindings?: FleetKeybindingsConfig;
|
|
1936
2112
|
/** Show the under-editor async runs widget. Defaults to true, including when FleetView is enabled. */
|
|
1937
2113
|
asyncWidget?: boolean;
|
|
1938
|
-
/** Tool description variant registered for the parent-facing subagent tool. Defaults to
|
|
2114
|
+
/** Tool description variant registered for the parent-facing subagent tool. Defaults to split metadata. */
|
|
1939
2115
|
toolDescriptionMode?: ToolDescriptionMode;
|
|
1940
|
-
/** Include legacy append-step and checkpoint controls in the registered tool schema. Defaults to false. */
|
|
1941
|
-
legacyChainControls?: boolean;
|
|
1942
2116
|
/** Inline chat rendering for the subagent tool. Defaults to rich. */
|
|
1943
2117
|
inlineToolDisplay?: InlineToolDisplay;
|
|
1944
2118
|
/** Density controls for the main chat subagent call/result renderer. */
|
|
@@ -1954,12 +2128,6 @@ export interface ExtensionConfig {
|
|
|
1954
2128
|
maxSubagentSpawnsPerSession?: number;
|
|
1955
2129
|
/** Cumulative logical-child cap for one top-level run tree. Defaults to 64. */
|
|
1956
2130
|
maxSubagentSpawnsPerRun?: number;
|
|
1957
|
-
/**
|
|
1958
|
-
* Max auto-relaunches when a scripted workflow ends with a fan-out budget
|
|
1959
|
-
* result before the goal is clean. Each relaunch is a fresh top-level run
|
|
1960
|
-
* with a new fan-out budget. Defaults to 12; 0 means unlimited.
|
|
1961
|
-
*/
|
|
1962
|
-
maxWorkflowAutoRelaunches?: number;
|
|
1963
2131
|
/** Optional active top-level async run cap per parent session. Unset or 0 means unlimited. */
|
|
1964
2132
|
maxActiveAsyncRunsPerSession?: number;
|
|
1965
2133
|
/** Global cap on simultaneously-running subagent tasks within a single run. Defaults to 20. */
|
|
@@ -1995,11 +2163,18 @@ export interface ExtensionConfig {
|
|
|
1995
2163
|
worktreeSetupHook?: string;
|
|
1996
2164
|
worktreeSetupHookTimeoutMs?: number;
|
|
1997
2165
|
worktreeBaseDir?: string;
|
|
1998
|
-
/** Where to store subagent artifact files. Defaults to "
|
|
2166
|
+
/** Where to store subagent artifact files. Defaults to "session" (the pi session directory, or OS temp when unavailable). Set to "project" for cwd/.pi-subagents. */
|
|
1999
2167
|
artifactDir?: ArtifactDirPreference;
|
|
2000
2168
|
/** Artifact cleanup retention. Set cleanupDays to 0 to disable cleanup. */
|
|
2001
2169
|
artifactConfig?: Pick<ArtifactConfig, "cleanupDays">;
|
|
2002
2170
|
intercomBridge?: IntercomBridgeConfig;
|
|
2171
|
+
/** Control how slow result-index scans are logged. Defaults to \"activity\".
|
|
2172
|
+
* - \"all\": log every slow scan, including scans that find nothing.
|
|
2173
|
+
* - \"activity\": log only slow scans that found or scheduled work. Silences
|
|
2174
|
+
* the periodic healthy rescan that inspects zero files while no async runs
|
|
2175
|
+
* are pending, which otherwise spams the session transcript.
|
|
2176
|
+
* - \"off\": never log slow result-index scans. */
|
|
2177
|
+
resultScanLogging?: "all" | "activity" | "off";
|
|
2003
2178
|
proactiveSkillSubagents?: ProactiveSkillSubagentsConfig | false;
|
|
2004
2179
|
scheduledRuns?: ScheduledRunsConfig;
|
|
2005
2180
|
/** Durable mission behavior. Missions are automatic by default; set enabled:false to disable auto-create. Explicit mission actions/fields still work. */
|
|
@@ -2019,7 +2194,7 @@ export const DEFAULT_MAX_OUTPUT: Required<MaxOutputConfig> = {
|
|
|
2019
2194
|
|
|
2020
2195
|
export const DEFAULT_ARTIFACT_CONFIG: ArtifactConfig = {
|
|
2021
2196
|
enabled: true,
|
|
2022
|
-
dir: "
|
|
2197
|
+
dir: "session",
|
|
2023
2198
|
includeInput: true,
|
|
2024
2199
|
includeOutput: true,
|
|
2025
2200
|
includeJsonl: false,
|
|
@@ -2083,7 +2258,10 @@ export function resolveTempScopeId(options?: {
|
|
|
2083
2258
|
|
|
2084
2259
|
const MAX_PARALLEL = 8;
|
|
2085
2260
|
export const MAX_CONCURRENCY = 4;
|
|
2086
|
-
|
|
2261
|
+
const configuredTempRoot = process.env.SELESAI_SUBAGENTS_TEMP_ROOT?.trim();
|
|
2262
|
+
export const TEMP_ROOT_DIR = configuredTempRoot
|
|
2263
|
+
? path.resolve(configuredTempRoot)
|
|
2264
|
+
: path.join(os.tmpdir(), `pi-subagents-${resolveTempScopeId()}`);
|
|
2087
2265
|
export const RESULTS_DIR = path.join(TEMP_ROOT_DIR, "async-subagent-results");
|
|
2088
2266
|
export const ASYNC_DIR = path.join(TEMP_ROOT_DIR, "async-subagent-runs");
|
|
2089
2267
|
export const CHAIN_RUNS_DIR = path.join(TEMP_ROOT_DIR, "chain-runs");
|
|
@@ -2104,9 +2282,10 @@ export const SLASH_SUBAGENT_RESPONSE_EVENT = "subagent:slash:response";
|
|
|
2104
2282
|
export const SLASH_SUBAGENT_UPDATE_EVENT = "subagent:slash:update";
|
|
2105
2283
|
export const SLASH_SUBAGENT_CANCEL_EVENT = "subagent:slash:cancel";
|
|
2106
2284
|
export const POLL_INTERVAL_MS = 250;
|
|
2285
|
+
export const WIDGET_ANIMATION_INTERVAL_MS = 1000;
|
|
2107
2286
|
export const MAX_WIDGET_JOBS = 4;
|
|
2108
2287
|
export const DEFAULT_SUBAGENT_MAX_DEPTH = 2;
|
|
2109
|
-
export const SUBAGENT_ACTIONS = ["list", "get", "models", "children.list", "guide", "create", "update", "delete", "eject", "disable", "enable", "reset", "mission.create", "mission.list", "mission.show", "mission.update", "mission.resolve-decision", "mission.attach-run", "mission.close", "worktree.discard", "refine", "refine.show", "refine.rollback", "inspector.open", "inspector.status", "inspector.close", "project.open", "project.status", "project.close", "status", "debug.run", "grant-spawn-budget", "interrupt", "resume", "steer", "stop", "dismiss", "
|
|
2288
|
+
export const SUBAGENT_ACTIONS = ["list", "get", "models", "children.list", "guide", "create", "update", "delete", "eject", "disable", "enable", "reset", "mission.create", "mission.list", "mission.show", "mission.update", "mission.resolve-decision", "mission.attach-run", "mission.close", "worktree.discard", "refine", "refine.show", "refine.rollback", "inspector.open", "inspector.status", "inspector.close", "project.open", "project.status", "project.close", "status", "debug.run", "grant-spawn-budget", "interrupt", "resume", "steer", "stop", "dismiss", "doctor", "watchdog.status", "watchdog.check", "watchdog.configure", "watchdog.recommend-model", "schedule.create", "schedule.list", "schedule.show", "schedule.history", "schedule.pause", "schedule.resume", "schedule.run", "schedule.run-due", "schedule.delete"] as const;
|
|
2110
2289
|
|
|
2111
2290
|
export const DEFAULT_FORK_PREAMBLE =
|
|
2112
2291
|
"You are a delegated subagent running from a fork of the parent session. " +
|
|
@@ -15,8 +15,8 @@ import type { AgentProgress, AsyncStatus, Details, DisplayItem, ErrorInfo, Neste
|
|
|
15
15
|
// ============================================================================
|
|
16
16
|
|
|
17
17
|
const DEFAULT_CONFIG_DIR_NAME = ".selesai";
|
|
18
|
-
const
|
|
19
|
-
export const SELESAI_CODING_AGENT_PACKAGE_ROOT_ENV = "
|
|
18
|
+
const SELESAI_CODING_AGENT_PACKAGE_NAME = "@selesai/code";
|
|
19
|
+
export const SELESAI_CODING_AGENT_PACKAGE_ROOT_ENV = "SELESAI_SUBAGENTS_CODING_AGENT_PACKAGE_ROOT";
|
|
20
20
|
export const PROMPT_REDACTED = "[prompt redacted]";
|
|
21
21
|
|
|
22
22
|
export function resolveWatchPath(
|
|
@@ -42,7 +42,7 @@ function readConfigDirNameFromPackageRoot(packageRoot: string | undefined): stri
|
|
|
42
42
|
name?: unknown;
|
|
43
43
|
piConfig?: { configDir?: unknown };
|
|
44
44
|
};
|
|
45
|
-
if (pkg.name !==
|
|
45
|
+
if (pkg.name !== SELESAI_CODING_AGENT_PACKAGE_NAME) return undefined;
|
|
46
46
|
return validConfigDirName(pkg.piConfig?.configDir);
|
|
47
47
|
} catch {
|
|
48
48
|
return undefined;
|
|
@@ -102,6 +102,7 @@ export function getAgentDir(): string {
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
const statusCache = new Map<string, { mtime: number; ctime: number; size: number; ino: number; status: AsyncStatus }>();
|
|
105
|
+
const MAX_STATUS_CACHE_ENTRIES = 512;
|
|
105
106
|
|
|
106
107
|
export function pruneStatusCacheForAsyncRoot(asyncDirRoot: string, runIds: Iterable<string>): number {
|
|
107
108
|
const root = path.resolve(asyncDirRoot);
|
|
@@ -163,6 +164,8 @@ export function readStatus(asyncDir: string): AsyncStatus | null {
|
|
|
163
164
|
&& cached.size === stat.size
|
|
164
165
|
&& cached.ino === stat.ino
|
|
165
166
|
) {
|
|
167
|
+
statusCache.delete(statusPath);
|
|
168
|
+
statusCache.set(statusPath, cached);
|
|
166
169
|
return cached.status;
|
|
167
170
|
}
|
|
168
171
|
|
|
@@ -195,6 +198,11 @@ export function readStatus(asyncDir: string): AsyncStatus | null {
|
|
|
195
198
|
ino: stat.ino,
|
|
196
199
|
status,
|
|
197
200
|
});
|
|
201
|
+
while (statusCache.size > MAX_STATUS_CACHE_ENTRIES) {
|
|
202
|
+
const oldest = statusCache.keys().next().value as string | undefined;
|
|
203
|
+
if (oldest === undefined) break;
|
|
204
|
+
statusCache.delete(oldest);
|
|
205
|
+
}
|
|
198
206
|
return status;
|
|
199
207
|
}
|
|
200
208
|
|