@selesai/code 0.13.6 → 0.13.8
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 +11 -0
- package/README.md +255 -102
- package/dist/cli/credential-print.js +4 -4
- package/dist/cli.js +0 -0
- package/dist/core/compaction/utils.js +2 -2
- 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/messages.js +7 -7
- package/dist/extensions/context-compaction-reminder.test.ts +82 -82
- package/dist/extensions/context-compaction-reminder.ts +28 -28
- package/dist/extensions/pi-hermes-memory/scripts/check-min-sdk.mjs +0 -0
- package/dist/extensions/pi-hermes-memory/tests/run-all.sh +0 -0
- package/dist/extensions/pi-intercom/LICENSE +21 -21
- package/dist/extensions/pi-intercom/broker/client.test.ts +83 -83
- package/dist/extensions/pi-intercom/broker/framing.test.ts +114 -114
- package/dist/extensions/pi-intercom/broker/paths.ts +134 -134
- 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/cwd.test.ts +40 -40
- package/dist/extensions/pi-intercom/cwd.ts +31 -31
- 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 +71 -2
- package/dist/extensions/pi-intercom/test/overlay-width.test.ts +66 -66
- package/dist/extensions/pi-intercom/ui/compose.ts +143 -143
- package/dist/extensions/pi-intercom/ui/session-list.ts +166 -166
- package/dist/extensions/pi-subagents/.github/assets/subagent-fleet-inspector.png +0 -0
- package/dist/extensions/pi-subagents/.github/workflows/release.yml +1 -1
- package/dist/extensions/pi-subagents/.github/workflows/test.yml +1 -1
- package/dist/extensions/pi-subagents/.greptile/config.json +1 -1
- package/dist/extensions/pi-subagents/.greptile/files.json +1 -1
- package/dist/extensions/pi-subagents/.greptile/rules.md +1 -1
- package/dist/extensions/pi-subagents/.oxlintrc.json +2 -2
- package/dist/extensions/pi-subagents/AGENTS.md +1 -1
- package/dist/extensions/pi-subagents/CHANGELOG.md +34 -2
- package/dist/extensions/pi-subagents/LICENSE +1 -1
- package/dist/extensions/pi-subagents/README.md +1 -1
- package/dist/extensions/pi-subagents/VISION.md +1 -1
- package/dist/extensions/pi-subagents/agents/architect.md +1 -1
- package/dist/extensions/pi-subagents/agents/builder.md +1 -1
- package/dist/extensions/pi-subagents/agents/claude-code-writer.md +1 -1
- package/dist/extensions/pi-subagents/agents/claude-code.md +1 -1
- package/dist/extensions/pi-subagents/agents/codex-exec-writer.md +1 -1
- package/dist/extensions/pi-subagents/agents/codex-exec.md +1 -1
- package/dist/extensions/pi-subagents/agents/commentator.md +1 -1
- package/dist/extensions/pi-subagents/agents/cursor-agent-writer.md +1 -1
- package/dist/extensions/pi-subagents/agents/cursor-agent.md +1 -1
- package/dist/extensions/pi-subagents/agents/delegate.md +1 -1
- package/dist/extensions/pi-subagents/agents/explorer.md +1 -1
- package/dist/extensions/pi-subagents/agents/oracle.md +1 -1
- package/dist/extensions/pi-subagents/agents/recapper.md +1 -1
- package/dist/extensions/pi-subagents/agents/researcher.md +1 -1
- package/dist/extensions/pi-subagents/agents/reviewer.md +1 -1
- package/dist/extensions/pi-subagents/agents/scout.md +1 -1
- package/dist/extensions/pi-subagents/agents/worker.md +1 -1
- package/dist/extensions/pi-subagents/async-retention-discovery-worker.mjs +1 -1
- package/dist/extensions/pi-subagents/docs/agents.md +20 -20
- package/dist/extensions/pi-subagents/docs/configuration.md +10 -6
- package/dist/extensions/pi-subagents/docs/extension-api.md +15 -8
- package/dist/extensions/pi-subagents/docs/missions.md +1 -1
- package/dist/extensions/pi-subagents/docs/models.md +2 -2
- package/dist/extensions/pi-subagents/docs/observability.md +2 -2
- package/dist/extensions/pi-subagents/docs/tool-reference.md +13 -4
- package/dist/extensions/pi-subagents/docs/watchdog.md +1 -1
- package/dist/extensions/pi-subagents/docs/workflows.md +15 -14
- package/dist/extensions/pi-subagents/index.ts +1 -1
- package/dist/extensions/pi-subagents/inspector-runner.mjs +1 -1
- package/dist/extensions/pi-subagents/install.mjs +3 -2
- package/dist/extensions/pi-subagents/package-lock.json +3 -3
- package/dist/extensions/pi-subagents/package.json +2 -2
- package/dist/extensions/pi-subagents/prompts/council.md +1 -1
- package/dist/extensions/pi-subagents/prompts/gather-context-and-clarify.md +1 -1
- package/dist/extensions/pi-subagents/prompts/parallel-cleanup.md +1 -1
- package/dist/extensions/pi-subagents/prompts/parallel-research.md +1 -1
- package/dist/extensions/pi-subagents/prompts/parallel-review.md +1 -1
- package/dist/extensions/pi-subagents/prompts/review-loop.md +1 -1
- package/dist/extensions/pi-subagents/skills/council-mode/SKILL.md +1 -1
- package/dist/extensions/pi-subagents/skills/council-mode/references/pass-contracts.md +1 -1
- package/dist/extensions/pi-subagents/skills/pi-subagents/SKILL.md +7 -5
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/constraints-and-recipes.md +2 -2
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/execution-controls.md +43 -12
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/management-authoring-rpc.md +1 -1
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/multi-lane-orchestration.md +2 -2
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/prompting-and-roles.md +5 -5
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/review-and-validation.md +2 -2
- package/dist/extensions/pi-subagents/src/agents/agent-management.ts +103 -64
- package/dist/extensions/pi-subagents/src/agents/agent-memory.ts +1 -1
- package/dist/extensions/pi-subagents/src/agents/agent-refinements.ts +1 -1
- package/dist/extensions/pi-subagents/src/agents/agent-scope.ts +1 -1
- package/dist/extensions/pi-subagents/src/agents/agent-selection.ts +1 -1
- package/dist/extensions/pi-subagents/src/agents/agent-serializer.ts +1 -1
- package/dist/extensions/pi-subagents/src/agents/agents.ts +527 -221
- package/dist/extensions/pi-subagents/src/agents/builtin-names.ts +1 -1
- package/dist/extensions/pi-subagents/src/agents/chain-serializer.ts +1 -1
- package/dist/extensions/pi-subagents/src/agents/frontmatter.ts +1 -1
- package/dist/extensions/pi-subagents/src/agents/identity.ts +1 -1
- package/dist/extensions/pi-subagents/src/agents/proactive-skills.ts +1 -1
- package/dist/extensions/pi-subagents/src/agents/runtime-agent-events.ts +1 -1
- package/dist/extensions/pi-subagents/src/agents/runtime-agent-registry.ts +1 -1
- package/dist/extensions/pi-subagents/src/agents/skills.ts +1 -1
- package/dist/extensions/pi-subagents/src/api/agents.ts +1 -1
- package/dist/extensions/pi-subagents/src/api/background-work.ts +8 -3
- package/dist/extensions/pi-subagents/src/api/capability-ceiling.ts +1 -1
- package/dist/extensions/pi-subagents/src/api/control-channel.ts +1 -1
- package/dist/extensions/pi-subagents/src/api/delegation.ts +1 -1
- package/dist/extensions/pi-subagents/src/api/external-job-provider.ts +1 -1
- package/dist/extensions/pi-subagents/src/api/external-runs.ts +68 -5
- package/dist/extensions/pi-subagents/src/api/intercom-bridge.ts +1 -1
- package/dist/extensions/pi-subagents/src/api/pi-args.ts +1 -1
- package/dist/extensions/pi-subagents/src/api/preflight.ts +14 -9
- package/dist/extensions/pi-subagents/src/api/project-panes.ts +1 -1
- package/dist/extensions/pi-subagents/src/api/shared-types.ts +2 -1
- package/dist/extensions/pi-subagents/src/extension/config.ts +1 -1
- package/dist/extensions/pi-subagents/src/extension/control-notices.ts +1 -1
- package/dist/extensions/pi-subagents/src/extension/doctor.ts +1 -1
- package/dist/extensions/pi-subagents/src/extension/fanout-child.ts +1 -1
- package/dist/extensions/pi-subagents/src/extension/index.ts +8 -5
- package/dist/extensions/pi-subagents/src/extension/public-execution.ts +48 -5
- package/dist/extensions/pi-subagents/src/extension/rpc.ts +63 -5
- package/dist/extensions/pi-subagents/src/extension/schemas.ts +12 -8
- package/dist/extensions/pi-subagents/src/extension/steering-notices.ts +1 -1
- package/dist/extensions/pi-subagents/src/extension/subagent-guide.ts +1 -1
- package/dist/extensions/pi-subagents/src/extension/tool-description.ts +8 -4
- package/dist/extensions/pi-subagents/src/extension/tool-result.ts +1 -1
- package/dist/extensions/pi-subagents/src/inspectors/herdr/actions.ts +1 -1
- package/dist/extensions/pi-subagents/src/inspectors/herdr/client.ts +1 -1
- package/dist/extensions/pi-subagents/src/inspectors/herdr/focus.ts +1 -1
- package/dist/extensions/pi-subagents/src/inspectors/herdr/inspector-runner.ts +1 -1
- package/dist/extensions/pi-subagents/src/inspectors/herdr/project-panes.ts +1 -1
- package/dist/extensions/pi-subagents/src/inspectors/herdr/session-roots-codec.ts +1 -1
- package/dist/extensions/pi-subagents/src/inspectors/herdr/shell-command.ts +1 -1
- package/dist/extensions/pi-subagents/src/integrations/herdr-status.ts +1 -1
- package/dist/extensions/pi-subagents/src/intercom/intercom-bridge.ts +1 -1
- package/dist/extensions/pi-subagents/src/intercom/native-supervisor-channel.ts +1 -1
- package/dist/extensions/pi-subagents/src/intercom/result-intercom.ts +1 -1
- package/dist/extensions/pi-subagents/src/missions/actions.ts +1 -1
- package/dist/extensions/pi-subagents/src/missions/goal-driver.ts +1 -1
- package/dist/extensions/pi-subagents/src/missions/lifecycle.ts +1 -1
- package/dist/extensions/pi-subagents/src/missions/store.ts +1 -1
- package/dist/extensions/pi-subagents/src/missions/types.ts +1 -1
- package/dist/extensions/pi-subagents/src/missions/workflow-state.ts +1 -1
- package/dist/extensions/pi-subagents/src/policy/authority.ts +1 -1
- package/dist/extensions/pi-subagents/src/profiles/profiles.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/active-async-capacity.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/active-run-index.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/async-execution.ts +52 -36
- package/dist/extensions/pi-subagents/src/runs/background/async-job-tracker.ts +63 -4
- package/dist/extensions/pi-subagents/src/runs/background/async-resume.ts +4 -2
- package/dist/extensions/pi-subagents/src/runs/background/async-retention.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/async-status-snapshot.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/async-status.ts +69 -10
- package/dist/extensions/pi-subagents/src/runs/background/auto-drain.ts +2 -2
- package/dist/extensions/pi-subagents/src/runs/background/chain-append.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/chain-root-attachment.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/completion-batcher.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/completion-dedupe.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/completion-replay.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/control-channel.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/fleet-view.ts +2 -2
- package/dist/extensions/pi-subagents/src/runs/background/index-segment.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/inspect-rpc.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/notify.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/owned-process-tree.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/parallel-groups.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/process-terminal.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/result-delivery-ownership.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/result-files.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/result-watcher.ts +2 -2
- package/dist/extensions/pi-subagents/src/runs/background/resume-guidance.ts +2 -2
- package/dist/extensions/pi-subagents/src/runs/background/retained-children.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/run-id-query.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/run-id-resolver.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/run-status.ts +3 -3
- package/dist/extensions/pi-subagents/src/runs/background/scheduled-runs.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/stale-run-reconciler.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/steering.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/subagent-runner.ts +2 -3
- package/dist/extensions/pi-subagents/src/runs/background/subagent-wait.ts +21 -22
- package/dist/extensions/pi-subagents/src/runs/background/terminal-run-index.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/top-level-async.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/wait-completions.ts +2 -2
- package/dist/extensions/pi-subagents/src/runs/background/wait-config.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/wait-subscriptions.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/background/wait-tool.ts +25 -19
- package/dist/extensions/pi-subagents/src/runs/foreground/async-dismiss-action.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/foreground/async-steering-action.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/foreground/async-stop-action.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/foreground/execution.ts +63 -4
- package/dist/extensions/pi-subagents/src/runs/foreground/foreground-control.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/foreground/foreground-history.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/foreground/prompt-audit.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/foreground/subagent-executor.ts +179 -59
- package/dist/extensions/pi-subagents/src/runs/foreground/workflow-detach-reconcile.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/foreground/workflow-foreground-steering.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/abort-recovery.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/acceptance.ts +44 -19
- package/dist/extensions/pi-subagents/src/runs/shared/agent-contract.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/async-status-projection.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/background-process-options.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/capability-ceiling.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/chain-outputs.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/child-identity.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/child-launch-plan.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/child-protocol.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/claude-code-adapter.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/codex-exec-adapter.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/completion-evidence.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/completion-guard.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/context-mode.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/cursor-agent-adapter.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/dynamic-fanout.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/extension-bindings.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/external-cli-contract.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/external-cli-preflight.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/external-cli-runner.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/external-job-bridge.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/external-job-runner.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/fast-mode-extension.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/host-step-status.ts +2 -1
- package/dist/extensions/pi-subagents/src/runs/shared/lane-metadata.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/launch-cwd.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/llm-intent-arbiter.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/long-running-guard.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/mcp-config-sources.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/mcp-direct-tool-grant.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/model-exclusions.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/model-fallback.ts +62 -18
- package/dist/extensions/pi-subagents/src/runs/shared/model-scope.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/mutation-evidence.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/nested-events.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/nested-path.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/nested-render.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/orca-progress-tabs.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/parallel-handoff.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/parallel-utils.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/permissions.ts +2 -2
- package/dist/extensions/pi-subagents/src/runs/shared/pi-args.ts +3 -3
- package/dist/extensions/pi-subagents/src/runs/shared/pi-spawn.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/process-signal.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/run-fanout-budget.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/run-history.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/runtime-acknowledged-extensions.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/session-lease.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/single-output.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/spawn-budget.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/structured-output.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/subagent-control.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.ts +2 -2
- package/dist/extensions/pi-subagents/src/runs/shared/subagent-startup-retry.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/task-intent.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/tool-availability.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/tool-budget.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/tool-timeout.ts +2 -2
- package/dist/extensions/pi-subagents/src/runs/shared/usage-budget.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/workflow-graph.ts +4 -3
- package/dist/extensions/pi-subagents/src/runs/shared/worktree-cleanup-plan.ts +1 -1
- package/dist/extensions/pi-subagents/src/runs/shared/worktree.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/accessible-dir.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/agent-stream-options.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/artifacts.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/atomic-json.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/capacity-resilient-json.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/child-session-name.ts +2 -2
- package/dist/extensions/pi-subagents/src/shared/child-transcript.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/completion-owner.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/display-text.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/extension-context.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/file-coalescer.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/file-system-retry.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/fork-context.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/formatters.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/jsonl-writer.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/launch-contract.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/model-info.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/node-executable.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/post-exit-stdio-guard.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/prompt-resources.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/pruned-fork.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/session-file-trust.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/session-identity.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/session-tokens.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/settings.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/shortcuts.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/status-format.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/thinking-ceiling.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/types.ts +41 -4
- package/dist/extensions/pi-subagents/src/shared/utf8.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/utils.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/watch-strategy.ts +1 -1
- package/dist/extensions/pi-subagents/src/shared/workflow-child-permit.ts +91 -0
- package/dist/extensions/pi-subagents/src/slash/delegation-adapters.ts +1 -1
- package/dist/extensions/pi-subagents/src/slash/delegation-json.ts +1 -1
- package/dist/extensions/pi-subagents/src/slash/delegation-request.ts +1 -1
- package/dist/extensions/pi-subagents/src/slash/prompt-template-bridge.ts +38 -2
- package/dist/extensions/pi-subagents/src/slash/prompt-workflows.ts +1 -1
- package/dist/extensions/pi-subagents/src/slash/selector.ts +1 -1
- package/dist/extensions/pi-subagents/src/slash/slash-bridge.ts +1 -1
- package/dist/extensions/pi-subagents/src/slash/slash-commands.ts +19 -27
- package/dist/extensions/pi-subagents/src/slash/slash-live-state.ts +1 -1
- package/dist/extensions/pi-subagents/src/slash/subagents-admin.ts +1 -1
- package/dist/extensions/pi-subagents/src/tui/fleet-status.ts +1 -1
- package/dist/extensions/pi-subagents/src/tui/fleet-transcript.ts +1 -1
- package/dist/extensions/pi-subagents/src/tui/fleet.ts +1 -1
- package/dist/extensions/pi-subagents/src/tui/render-helpers.ts +1 -1
- package/dist/extensions/pi-subagents/src/tui/render.ts +96 -53
- package/dist/extensions/pi-subagents/src/types/pi-runtime-compat.d.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/change-signature.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/child-status.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/emission-guard.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/lsp-diagnostics.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/model-selection.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/permission-arbiter.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/register-child.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/register-main.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/render.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/review.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/runtime.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/scope.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/settings.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/tool-actions.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/turn-delta.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/types.ts +1 -1
- package/dist/extensions/pi-subagents/src/watchdog/warning-format.ts +1 -1
- package/dist/extensions/pi-subagents/src/workflows/chat-progress.ts +1 -1
- package/dist/extensions/pi-subagents/src/workflows/host-command.ts +1 -1
- package/dist/extensions/pi-subagents/src/workflows/scripted-workflow.ts +154 -5
- package/dist/extensions/pi-subagents/src/workflows/workflow-child-summary.ts +2 -2
- package/dist/extensions/pi-subagents/src/workflows/workflow-preflight.ts +1 -1
- package/dist/extensions/pi-subagents/src/workflows/workflow-receipt.ts +42 -5
- package/dist/extensions/pi-subagents/src/workflows/workflow-resources.ts +150 -0
- package/dist/extensions/pi-subagents/src/workflows/workflow-settlement.ts +1 -1
- package/dist/extensions/pi-subagents/test/e2e/real-session-subagent.test.ts +1 -1
- 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/fixtures/pi-coding-agent-shim/package.json +1 -1
- package/dist/extensions/pi-subagents/test/integration/acceptance-file-report.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/integration/async-execution.test.ts +198 -6
- package/dist/extensions/pi-subagents/test/integration/async-job-tracker.test.ts +250 -18
- package/dist/extensions/pi-subagents/test/integration/async-status.test.ts +323 -4
- package/dist/extensions/pi-subagents/test/integration/claude-code-smoke.test.ts +5 -5
- package/dist/extensions/pi-subagents/test/integration/claude-code-writer-smoke.test.ts +5 -5
- package/dist/extensions/pi-subagents/test/integration/codex-exec-smoke.test.ts +5 -5
- package/dist/extensions/pi-subagents/test/integration/codex-exec-writer-smoke.test.ts +5 -5
- package/dist/extensions/pi-subagents/test/integration/cursor-agent-smoke.test.ts +5 -5
- package/dist/extensions/pi-subagents/test/integration/cursor-agent-writer-smoke.test.ts +5 -5
- package/dist/extensions/pi-subagents/test/integration/detect-error.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/integration/doctor-executor.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/integration/error-handling.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/integration/external-cli-runner.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/integration/foreground-result-size.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/integration/fork-context-execution.test.ts +52 -1
- package/dist/extensions/pi-subagents/test/integration/intercom-result-delivery.test.ts +4 -3
- package/dist/extensions/pi-subagents/test/integration/orca-progress-tabs.test.ts +1 -1
- 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 +75 -7
- package/dist/extensions/pi-subagents/test/integration/result-watcher.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/integration/session-tokens.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/integration/single-execution.test.ts +274 -12
- package/dist/extensions/pi-subagents/test/integration/slash-commands.test.ts +46 -1
- 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 +1 -1
- package/dist/extensions/pi-subagents/test/integration/top-level-async.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/support/cursor-smoke-inputs.ts +5 -5
- package/dist/extensions/pi-subagents/test/support/helpers.ts +1 -1
- package/dist/extensions/pi-subagents/test/support/isolated-temp-root.mjs +1 -1
- package/dist/extensions/pi-subagents/test/support/mock-pi-script.mjs +1 -1
- package/dist/extensions/pi-subagents/test/support/mock-pi.ts +1 -1
- package/dist/extensions/pi-subagents/test/support/node-command.ts +1 -1
- package/dist/extensions/pi-subagents/test/support/real-session-child-cli.mjs +1 -1
- package/dist/extensions/pi-subagents/test/support/real-session-runner.ts +1 -1
- package/dist/extensions/pi-subagents/test/support/register-loader.mjs +1 -1
- package/dist/extensions/pi-subagents/test/support/session-lease-child.mjs +1 -1
- package/dist/extensions/pi-subagents/test/support/ts-loader.mjs +1 -1
- package/dist/extensions/pi-subagents/test/unit/abort-recovery.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/acceptance.test.ts +66 -1
- package/dist/extensions/pi-subagents/test/unit/accessible-dir.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/active-async-capacity.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/agent-contract.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/agent-disabled.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/agent-discovery-cache.test.ts +232 -0
- package/dist/extensions/pi-subagents/test/unit/agent-eject-disable.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/agent-frontmatter.test.ts +3 -3
- package/dist/extensions/pi-subagents/test/unit/agent-management.test.ts +66 -6
- package/dist/extensions/pi-subagents/test/unit/agent-memory.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/agent-overrides.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/agent-refinements.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/agent-scope.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/agent-selection.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/agent-stream-options.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/anti-slop-oxlint.test.ts +16 -4
- package/dist/extensions/pi-subagents/test/unit/artifacts.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/async-execution.test.ts +9 -5
- package/dist/extensions/pi-subagents/test/unit/async-interrupt-action.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/async-permission-session.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/async-recovery-descriptor.test.ts +57 -1
- package/dist/extensions/pi-subagents/test/unit/async-resume.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/async-retention.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/async-status-projection.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/async-status-snapshot.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/atomic-json.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/authority-policy.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/auto-drain.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/background-process-options.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/background-work.test.ts +57 -2
- package/dist/extensions/pi-subagents/test/unit/capability-ceiling-agent-allowlist.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/capability-ceiling-pi-args.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/capability-ceiling.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/capacity-resilient-json.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/chain-append.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/chain-root-attachment.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/chain-serializer.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/child-launch-plan.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/child-protocol.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/child-session-name.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/child-transcript.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/claude-code-adapter.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/close-grace-timer.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/codex-exec-adapter.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/compaction-resume.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/completion-batcher.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/completion-dedupe.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/completion-evidence.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/completion-guard.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/completion-replay.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/config-dir-runtime.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/control-channel.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/control-notices.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/cursor-agent-adapter.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/cursor-smoke-inputs.test.ts +5 -5
- package/dist/extensions/pi-subagents/test/unit/default-extensions.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/delegation-api.test.ts +117 -1
- package/dist/extensions/pi-subagents/test/unit/doctor.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/dynamic-fanout.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/ensure-accessible-dir.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/extension-bindings.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/extension-context.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/external-cli-runner.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/external-job-runner.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/external-runs.test.ts +103 -1
- package/dist/extensions/pi-subagents/test/unit/extra-agent-dirs.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/fast-mode-extension.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/file-coalescer.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/file-system-retry.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/fleet-status.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/fleet-transcript.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/fleet.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/foreground-control.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/foreground-tool-call-compaction.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/fork-cache-key.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/fork-context.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/formatters.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/get-final-output.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/herdr-inspector-bootstrap.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/herdr-inspector.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/herdr-session-roots-codec.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/herdr-shell-command.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/herdr-status-bridge.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/host-command.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/host-peer-runtime-imports.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/host-step-status.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/index-child-registration.test.ts +8 -4
- package/dist/extensions/pi-subagents/test/unit/index-segment.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/inspect-rpc.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/intercom-bridge.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/jsonl-writer.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/llm-intent-arbiter.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/mcp-direct-tool-grant.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/mission-goal-driver.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/mission-lifecycle.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/mission-store.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/mock-pi.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/model-exclusions.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/model-fallback.test.ts +102 -6
- package/dist/extensions/pi-subagents/test/unit/model-info.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/model-scope-settings.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/model-scope.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/mutation-evidence.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/native-supervisor-channel.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/nested-control.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/nested-events.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/node-executable.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/notify.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/orca-progress-tabs.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/owned-process-tree.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/package-manifest.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/parallel-handoff.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/parallel-utils.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/path-handling.test.ts +0 -1
- package/dist/extensions/pi-subagents/test/unit/path-resolution.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/permissions.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/pi-args-permission-system.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/pi-args.test.ts +5 -5
- package/dist/extensions/pi-subagents/test/unit/pi-coding-agent-dir.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/pi-spawn.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/preflight.test.ts +106 -1
- package/dist/extensions/pi-subagents/test/unit/proactive-skills.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/process-terminal.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/profiles.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/project-panes-public-api.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/prompt-template-bridge.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/prompt-workflows.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/pruned-fork.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/public-execution.test.ts +40 -3
- package/dist/extensions/pi-subagents/test/unit/reads-resolution.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/recursion-guard.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/render-helpers.test.ts +60 -10
- package/dist/extensions/pi-subagents/test/unit/result-delivery-ownership.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/result-files.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/result-intercom.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/retained-children.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/rpc.test.ts +98 -1
- package/dist/extensions/pi-subagents/test/unit/run-fanout-budget.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/run-id-resolver.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/run-status.test.ts +3 -3
- package/dist/extensions/pi-subagents/test/unit/runtime-acknowledged-extensions.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/runtime-agent-registration.test.ts +44 -2
- package/dist/extensions/pi-subagents/test/unit/scheduled-runs.test.ts +3 -3
- package/dist/extensions/pi-subagents/test/unit/scheduled-store-root.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/schemas.test.ts +48 -5
- package/dist/extensions/pi-subagents/test/unit/scripted-workflow.test.ts +427 -3
- package/dist/extensions/pi-subagents/test/unit/selector.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/session-lease.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/single-output.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/skills-fallback.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/slash-bridge.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/spawn-budget.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/stale-run-reconciler.test.ts +41 -1
- package/dist/extensions/pi-subagents/test/unit/status-format.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/steering-action.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/steering-notices.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/steering.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/streamed-progress-bounds.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/subagent-action-recovery.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/subagent-control.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/subagent-guide.test.ts +9 -1
- package/dist/extensions/pi-subagents/test/unit/subagent-prompt-runtime.test.ts +11 -11
- package/dist/extensions/pi-subagents/test/unit/subagent-startup-retry.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/subagent-wait.test.ts +5 -5
- package/dist/extensions/pi-subagents/test/unit/task-intent.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/temp-paths.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/thinking-ceiling.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/timeout-defaults.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/tool-budget.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/tool-description.test.ts +8 -6
- package/dist/extensions/pi-subagents/test/unit/tool-timeout.test.ts +3 -3
- package/dist/extensions/pi-subagents/test/unit/total-cost.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/ts-loader.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/types-fork-preamble.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/wait-completions.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/wait-subscriptions.test.ts +7 -5
- package/dist/extensions/pi-subagents/test/unit/watch-strategy.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-change-signature.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-child-status.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-emission-guard.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-lsp-diagnostics.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-model-selection.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-permission-arbiter.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-render.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-review.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-runtime.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-scope.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-settings.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-tool-actions.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/watchdog-turn-delta.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/widget-nested-render.test.ts +8 -6
- package/dist/extensions/pi-subagents/test/unit/windows-hide-spawn.test.ts +13 -1
- package/dist/extensions/pi-subagents/test/unit/workflow-chat-progress.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/workflow-detach-reconcile.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/workflow-graph.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/workflow-launch-params.test.ts +12 -1
- package/dist/extensions/pi-subagents/test/unit/workflow-preflight.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/workflow-receipt.test.ts +31 -1
- package/dist/extensions/pi-subagents/test/unit/workflow-resources.test.ts +98 -0
- package/dist/extensions/pi-subagents/test/unit/workflow-resume-hint.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/worktree-cleanup-plan.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/worktree.test.ts +1 -1
- package/dist/extensions/pi-subagents/test/unit/writer-budget-guidance.test.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/effect/index.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/effect/rules/no-service-constructor-imports.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/index.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-chained-type-assertions.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-conditional-empty-object-spread.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-known-value-widening.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-module-mocking.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-object-parameters.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-reflect-apply.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-reflect-get.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-runtime-typeof.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-shape-in-symbol-names.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-unknown-parameters.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-unknown-returns.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-unknown-type-aliases.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-unsafe-dictionary-type.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-widen-then-assert.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/require-safety-comment-for-type-assertion.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/shared/dictionary-types.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/shared/lexical-type-parameters.ts +1 -1
- package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/shared/reflect-method.ts +1 -1
- package/dist/extensions/pi-subagents/tsconfig.json +1 -1
- 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/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/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/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/fetch-presentation.ts +54 -54
- 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/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/ponytail/package.json +8 -8
- 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/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/package-manager-cli.js +71 -71
- package/dist/rpc-entry.js +0 -0
- package/dist/skills/improve-codebase/REFERENCE.md +78 -78
- package/dist/skills/unlazy/CHANGELOG.md +9 -0
- package/dist/skills/unlazy/CONTRIBUTING.md +6 -9
- package/dist/skills/unlazy/README.md +9 -23
- package/dist/skills/unlazy/SECURITY.md +7 -17
- package/dist/skills/unlazy/SKILL.md +4 -12
- package/dist/skills/unlazy/references/dispatch.md +14 -17
- package/dist/skills/unlazy/references/gates.md +3 -3
- package/dist/skills/unlazy/references/orchestration.md +0 -1
- package/dist/skills/unlazy/references/parallel.md +4 -16
- package/dist/skills/unlazy/references/token-economy.md +1 -1
- package/dist/skills/unlazy/research/validation-protocol.md +1 -1
- package/dist/skills/unlazy/scripts/gate-check.mjs +4 -19
- package/dist/skills/unlazy/scripts/gate-lint.mjs +1 -1
- package/dist/skills/unlazy/scripts/lib/gates.mjs +1 -5
- package/dist/skills/unlazy/templates/PLAN.md +1 -1
- package/dist/skills/unlazy/tests/dispatch-tests.mjs +9 -194
- package/dist/skills/unlazy/tests/hardening-tests.mjs +2 -5
- package/dist/skills/unlazy/tests/lint-tests.mjs +1 -1
- package/dist/skills/unlazy/tests/run-tests.mjs +1 -195
- package/dist/skills/unlazy/tests/self-check.mjs +0 -13
- package/dist/skills/unlazy/tests/stress-tests.mjs +0 -191
- 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/images/selesai-wordmark.png +0 -0
- package/docs/images/tokenin-preview.png +0 -0
- 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/security.md +59 -59
- package/docs/session-format.md +414 -414
- package/docs/sessions.md +145 -145
- 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 +1 -1
- package/dist/extensions/pi-subagents/banner.png +0 -0
- package/dist/skills/unlazy/scripts/install-hooks.mjs +0 -206
- package/dist/skills/unlazy/scripts/stop-hook.mjs +0 -174
|
@@ -794,13 +794,435 @@ describe("scripted workflow runtime", () => {
|
|
|
794
794
|
runWorkflowScript({
|
|
795
795
|
script: `return await runs.run("fails", { agent: "worker", task: "fail" });`,
|
|
796
796
|
timeoutMs: 2_000,
|
|
797
|
-
async launch(key) { return { key, ok: false, output: "failed", artifactPaths: [], results: [] }; },
|
|
797
|
+
async launch(key) { return { key, ok: false, output: "failed", artifactPaths: [], results: [{ acceptance: { status: "rejected" } }] }; },
|
|
798
798
|
async status(key) { return { key, ok: true, output: "ok", artifactPaths: [] }; },
|
|
799
799
|
}),
|
|
800
800
|
(error: unknown) => error instanceof WorkflowScriptError && /Run 'fails' failed: failed/.test(error.message),
|
|
801
801
|
);
|
|
802
802
|
});
|
|
803
803
|
|
|
804
|
+
it("continues with a later review after a durable acceptance metadata rejection", async () => {
|
|
805
|
+
const launches: string[] = [];
|
|
806
|
+
const recovery = {
|
|
807
|
+
status: "available-for-review" as const,
|
|
808
|
+
reason: "acceptance-metadata-rejected" as const,
|
|
809
|
+
reportPath: "/tmp/writer-report.md",
|
|
810
|
+
reportHash: "a".repeat(64),
|
|
811
|
+
};
|
|
812
|
+
const result = await runWorkflowScript({
|
|
813
|
+
script: `
|
|
814
|
+
const writer = await runs.run("writer", { agent: "worker", task: "write" });
|
|
815
|
+
const review = await runs.run("review", { agent: "reviewer", task: "Read-only review. Do not edit files, commit, push, comment, merge, or launch subagents. Review the patch and return findings only. Do not run workers. Do not launch worker subagents. Do not hand off remediation to workers. Do not use worker subagents. Do not have a worker continue follow-up. Do not tell a worker to continue follow-up. Do not get a worker to continue follow-up. Do not let a worker continue follow-up. Do not request implementation follow-up from a worker. Do not ask a reviewer to implement changes. Do not ask for a review from another reviewer. Delta since prior review: fixed quoted git option handling and added exact regressions; mutation detection now includes move/rename/copy file mutation imperatives; Delegation now catches target-after-preposition forms using from/with/via/by and request phrasing: 'Get implementation follow-up via a worker.', 'Get a review via another reviewer.', 'Have implementation follow-up done by a worker.', and 'Request implementation follow-up from a worker.'; 'Launch two workers for implementation follow-up.' and 'Launch review subagents for follow-up.' are blocked; 'Launch two reviewers for follow-up.' is blocked; \`rm -rf .\` is blocked. RECOVERY_REVIEW_MUTATION_VERB_PATTERN now includes append, prepend, and save, with gerund forms. Added exact regressions for 'Append a regression test.', 'Prepend a guard clause.', and 'Save the updated report.' This keeps a later object phrase visible, so a prompt ending with \`save the updated report\` remains blocked. Accepted contract: after rejected durable acceptance-metadata recovery, sequential workflow continuation may only launch explicit read-only review children with acceptance:false, must not mutate durable state, and must not launch mutating/destructive work. state.get remains allowed; state.set, runs.host, runs.steer, ordinary/mutating children, and destructive command wording are blocked. Existing regressions cover plain rm and git clean/reset/restore. Prior regressions covering rm/git clean as evidence only. Validation after fix: npm exec -- tsx --test test/unit/scripted-workflow.test.ts --test-name-pattern \\\"acceptance metadata rejection|mission state writes\\\" (101 pass), npm run typecheck, git diff --check HEAD^..HEAD. (Validation after fix: npm run typecheck) Write findings to reports/review.md.", acceptance: false });
|
|
816
|
+
return { writerOk: writer.ok, writerStatus: writer.results?.[0]?.acceptance?.status, writerRecovery: writer.recovery, reviewOk: review.ok };
|
|
817
|
+
`,
|
|
818
|
+
launch(key) {
|
|
819
|
+
launches.push(key);
|
|
820
|
+
if (key === "writer") {
|
|
821
|
+
return Promise.resolve({
|
|
822
|
+
key,
|
|
823
|
+
ok: false,
|
|
824
|
+
output: "saved writer report",
|
|
825
|
+
error: "Acceptance rejected: malformed acceptance-report",
|
|
826
|
+
runId: "writer-run",
|
|
827
|
+
outputReference: recovery.reportPath,
|
|
828
|
+
recovery,
|
|
829
|
+
artifactPaths: [recovery.reportPath],
|
|
830
|
+
results: [{ acceptance: { status: "rejected", recovery } }],
|
|
831
|
+
});
|
|
832
|
+
}
|
|
833
|
+
return Promise.resolve({ key, ok: true, output: "review complete", runId: "review-run", artifactPaths: [] });
|
|
834
|
+
},
|
|
835
|
+
async status(key) { return { key, ok: true, output: "ok", artifactPaths: [] }; },
|
|
836
|
+
});
|
|
837
|
+
|
|
838
|
+
assert.deepEqual(launches, ["writer", "review"]);
|
|
839
|
+
assert.deepEqual(result.value, { writerOk: false, writerStatus: "rejected", writerRecovery: recovery, reviewOk: true });
|
|
840
|
+
assert.deepEqual(result.trace.filter((entry) => entry.operation === "run" && entry.state !== "started").map(({ key, state }) => ({ key, state })), [
|
|
841
|
+
{ key: "writer", state: "failed" },
|
|
842
|
+
{ key: "review", state: "completed" },
|
|
843
|
+
]);
|
|
844
|
+
});
|
|
845
|
+
|
|
846
|
+
it("allows review prompts to describe mutation nouns after durable acceptance metadata recovery", async () => {
|
|
847
|
+
const launches: string[] = [];
|
|
848
|
+
const recovery = {
|
|
849
|
+
status: "available-for-review" as const,
|
|
850
|
+
reason: "acceptance-metadata-rejected" as const,
|
|
851
|
+
reportPath: "/tmp/writer-report.md",
|
|
852
|
+
reportHash: "a".repeat(64),
|
|
853
|
+
};
|
|
854
|
+
const result = await runWorkflowScript({
|
|
855
|
+
script: `
|
|
856
|
+
const writer = await runs.run("writer", { agent: "worker", task: "write" });
|
|
857
|
+
const review = await runs.run("review", { agent: "reviewer", task: "Read-only review. Do not edit files. The later real update imperative regression passed. Return findings only.", acceptance: false });
|
|
858
|
+
return review.ok;
|
|
859
|
+
`,
|
|
860
|
+
launch(key) {
|
|
861
|
+
launches.push(key);
|
|
862
|
+
if (key === "writer") {
|
|
863
|
+
return Promise.resolve({
|
|
864
|
+
key,
|
|
865
|
+
ok: false,
|
|
866
|
+
output: "saved writer report",
|
|
867
|
+
error: "Acceptance rejected: malformed acceptance-report",
|
|
868
|
+
runId: "writer-run",
|
|
869
|
+
outputReference: recovery.reportPath,
|
|
870
|
+
recovery,
|
|
871
|
+
artifactPaths: [recovery.reportPath],
|
|
872
|
+
results: [{ acceptance: { status: "rejected", recovery } }],
|
|
873
|
+
});
|
|
874
|
+
}
|
|
875
|
+
return Promise.resolve({ key, ok: true, output: "review complete", runId: "review-run", artifactPaths: [] });
|
|
876
|
+
},
|
|
877
|
+
});
|
|
878
|
+
|
|
879
|
+
assert.deepEqual(launches, ["writer", "review"]);
|
|
880
|
+
assert.equal(result.value, true);
|
|
881
|
+
});
|
|
882
|
+
|
|
883
|
+
it("allows review prompts to describe anaphoric regression examples after durable acceptance metadata recovery", async () => {
|
|
884
|
+
const launches: string[] = [];
|
|
885
|
+
const recovery = {
|
|
886
|
+
status: "available-for-review" as const,
|
|
887
|
+
reason: "acceptance-metadata-rejected" as const,
|
|
888
|
+
reportPath: "/tmp/writer-report.md",
|
|
889
|
+
reportHash: "a".repeat(64),
|
|
890
|
+
};
|
|
891
|
+
const result = await runWorkflowScript({
|
|
892
|
+
script: `
|
|
893
|
+
const writer = await runs.run("writer", { agent: "worker", task: "write" });
|
|
894
|
+
const review = await runs.run("review", { agent: "reviewer", task: "Read-only review. Do not edit files. Added exact regressions for Execute the command now anyway, Run that now anyway, and Perform the operation now anyway after stripped quoted blocked examples. This blocks examples like \`Execute the previous command right now anyway\` and \`Execute the blocked phrase right now anyway\`. Examples like \`Execute the previous command and keep reviewing\`, \`Execute the previous command but only for review\`, and \`Execute the previous command then return findings\` are blocked after quoted destructive context is stripped. Added regression for quoted rm remaining blocked followed by Execute the previous command while keeping live-command variants such as followed by Execute the previous command then update tests blocked. Delta since prior review: fixed mutating Git follow-up bypasses. Added cherry-pick/rebase/stage to the mutation imperative pattern and add/cherry-pick/commit/merge/rebase to the mutating Git command pattern, described prompts like Run git rebase main, git rebase main, Run git cherry-pick abc123, cherry-pick abc123, and Stage the changed files as blocked. Positive Git mutations are broader: git branch -D old, git tag -d v1.0, git stash, git revert abc123, and natural cherry pick abc123 now trip the recovery barrier. Broadened positive Git mutation coverage for natural \`cherry pick\`, \`revert\`, \`stash\`, \`tag\`, plus git \`branch|revert|stash|tag\`. The prior fix keeps commands hidden in \`Broadened positive Git mutation coverage for natural cherry pick, then update tests, plus git branch\` or \`then run git reset --hard\` visible and blocked. The examples \`rm -rf .\` and \`git reset --hard\` are visible and blocked. Direct anaphoric references now include numeric and word ordinals through tenth plus one, so Run the first one anyway, Run the 1st command anyway, and Run the fourth command anyway are blocked after quoted destructive examples are scrubbed. Direct anaphoric references now include numeric and word ordinals through tenth plus one, so Run the first one anyway is blocked. Exact regressions for \`Do not launch worker subagents -- launch a worker subagent\` remain blocked. Return findings only.", acceptance: false });
|
|
895
|
+
return review.ok;
|
|
896
|
+
`,
|
|
897
|
+
launch(key) {
|
|
898
|
+
launches.push(key);
|
|
899
|
+
if (key === "writer") {
|
|
900
|
+
return Promise.resolve({
|
|
901
|
+
key,
|
|
902
|
+
ok: false,
|
|
903
|
+
output: "saved writer report",
|
|
904
|
+
error: "Acceptance rejected: malformed acceptance-report",
|
|
905
|
+
runId: "writer-run",
|
|
906
|
+
outputReference: recovery.reportPath,
|
|
907
|
+
recovery,
|
|
908
|
+
artifactPaths: [recovery.reportPath],
|
|
909
|
+
results: [{ acceptance: { status: "rejected", recovery } }],
|
|
910
|
+
});
|
|
911
|
+
}
|
|
912
|
+
return Promise.resolve({ key, ok: true, output: "review complete", runId: "review-run", artifactPaths: [] });
|
|
913
|
+
},
|
|
914
|
+
});
|
|
915
|
+
|
|
916
|
+
assert.deepEqual(launches, ["writer", "review"]);
|
|
917
|
+
assert.equal(result.value, true);
|
|
918
|
+
});
|
|
919
|
+
|
|
920
|
+
it("allows listed blocked examples after durable acceptance metadata recovery", async () => {
|
|
921
|
+
const launches: string[] = [];
|
|
922
|
+
const recovery = {
|
|
923
|
+
status: "available-for-review" as const,
|
|
924
|
+
reason: "acceptance-metadata-rejected" as const,
|
|
925
|
+
reportPath: "/tmp/writer-report.md",
|
|
926
|
+
reportHash: "a".repeat(64),
|
|
927
|
+
};
|
|
928
|
+
const task = "Read-only review. Do not edit files. Review the saved report and return findings only. Blocked examples:\n- update tests\n- launch a worker subagent";
|
|
929
|
+
const result = await runWorkflowScript({
|
|
930
|
+
script: `
|
|
931
|
+
const writer = await runs.run("writer", { agent: "worker", task: "write" });
|
|
932
|
+
const review = await runs.run("review", { agent: "reviewer", task: ${JSON.stringify(task)}, acceptance: false });
|
|
933
|
+
return review.ok;
|
|
934
|
+
`,
|
|
935
|
+
launch(key) {
|
|
936
|
+
launches.push(key);
|
|
937
|
+
if (key === "writer") {
|
|
938
|
+
return Promise.resolve({ key, ok: false, output: "saved writer report", recovery, artifactPaths: [recovery.reportPath], results: [{ acceptance: { status: "rejected", recovery } }] });
|
|
939
|
+
}
|
|
940
|
+
return Promise.resolve({ key, ok: true, output: "review complete", artifactPaths: [] });
|
|
941
|
+
},
|
|
942
|
+
});
|
|
943
|
+
|
|
944
|
+
assert.deepEqual(launches, ["writer", "review"]);
|
|
945
|
+
assert.equal(result.value, true);
|
|
946
|
+
});
|
|
947
|
+
|
|
948
|
+
it("allows quoted blocked examples phrased as blocked examples after durable acceptance metadata recovery", async () => {
|
|
949
|
+
const launches: string[] = [];
|
|
950
|
+
const recovery = {
|
|
951
|
+
status: "available-for-review" as const,
|
|
952
|
+
reason: "acceptance-metadata-rejected" as const,
|
|
953
|
+
reportPath: "/tmp/writer-report.md",
|
|
954
|
+
reportHash: "a".repeat(64),
|
|
955
|
+
};
|
|
956
|
+
const task = "Read-only review. Do not edit files. Review the saved report and return findings only. `update tests` is a blocked example.";
|
|
957
|
+
const result = await runWorkflowScript({
|
|
958
|
+
script: `
|
|
959
|
+
const writer = await runs.run("writer", { agent: "worker", task: "write" });
|
|
960
|
+
const review = await runs.run("review", { agent: "reviewer", task: ${JSON.stringify(task)}, acceptance: false });
|
|
961
|
+
return review.ok;
|
|
962
|
+
`,
|
|
963
|
+
launch(key) {
|
|
964
|
+
launches.push(key);
|
|
965
|
+
if (key === "writer") {
|
|
966
|
+
return Promise.resolve({ key, ok: false, output: "saved writer report", recovery, artifactPaths: [recovery.reportPath], results: [{ acceptance: { status: "rejected", recovery } }] });
|
|
967
|
+
}
|
|
968
|
+
return Promise.resolve({ key, ok: true, output: "review complete", artifactPaths: [] });
|
|
969
|
+
},
|
|
970
|
+
});
|
|
971
|
+
|
|
972
|
+
assert.deepEqual(launches, ["writer", "review"]);
|
|
973
|
+
assert.equal(result.value, true);
|
|
974
|
+
});
|
|
975
|
+
|
|
976
|
+
it("blocks mutating workflow work after a durable acceptance metadata rejection", async () => {
|
|
977
|
+
const recovery = {
|
|
978
|
+
status: "available-for-review" as const,
|
|
979
|
+
reason: "acceptance-metadata-rejected" as const,
|
|
980
|
+
reportPath: "/tmp/writer-report.md",
|
|
981
|
+
reportHash: "a".repeat(64),
|
|
982
|
+
};
|
|
983
|
+
for (const [agent, task] of [
|
|
984
|
+
["worker", "Implement a follow-up change"],
|
|
985
|
+
["worker", "Read-only review. Do not edit files. Return findings only."],
|
|
986
|
+
["reviewer", "Review the saved report and delete files"],
|
|
987
|
+
["custom-reviewer", "Review the saved report and add tests"],
|
|
988
|
+
["oracle", "Review the saved report and create files"],
|
|
989
|
+
["reviewer", "Review the saved report, then add a regression case"],
|
|
990
|
+
["custom-reviewer", "Review the saved report and create a regression test"],
|
|
991
|
+
["oracle", "Review the saved report and replace the brittle assertion"],
|
|
992
|
+
["reviewer", "Review the saved report and patch src/parser.ts"],
|
|
993
|
+
["reviewer", "Change src/parser.ts after reviewing the saved report"],
|
|
994
|
+
["reviewer", "Read-only review. Do not edit files. Append a regression test."],
|
|
995
|
+
["reviewer", "Read-only review. Do not edit files. Prepend a guard clause."],
|
|
996
|
+
["reviewer", "Read-only review. Do not edit files. Save the updated report."],
|
|
997
|
+
["reviewer", "Read-only review. Do not edit files. Move src/a.ts to src/b.ts."],
|
|
998
|
+
["reviewer", "Read-only review. Do not edit files. Rename src/a.ts to src/b.ts."],
|
|
999
|
+
["reviewer", "Read-only review. Do not edit files. Copy src/a.ts to src/b.ts."],
|
|
1000
|
+
["advisor", "Review only, then apply the fix"],
|
|
1001
|
+
["reviewer", "Read-only review. Do not edit files. Launch a worker subagent to continue."],
|
|
1002
|
+
["reviewer", "Read-only review. Do not edit files. Launch worker subagents for implementation follow-up."],
|
|
1003
|
+
["reviewer", "Read-only review. Do not edit files. Launch workers for implementation follow-up."],
|
|
1004
|
+
["reviewer", "Read-only review. Do not edit files. Launch two workers for implementation follow-up."],
|
|
1005
|
+
["reviewer", "Read-only review. Do not edit files. Launch review subagents for follow-up."],
|
|
1006
|
+
["reviewer", "Read-only review. Do not edit files. Launch two reviewers for follow-up."],
|
|
1007
|
+
["reviewer", "Read-only review. Do not edit files. Delegate remediation to a worker."],
|
|
1008
|
+
["reviewer", "Read-only review. Do not edit files. Hand off remediation to a worker."],
|
|
1009
|
+
["reviewer", "Read-only review. Do not edit files. Assign implementation follow-up to a worker."],
|
|
1010
|
+
["reviewer", "Read-only review. Do not edit files. Assign implementation follow-up to workers."],
|
|
1011
|
+
["reviewer", "Read-only review. Do not edit files. Ask a worker to implement the fix."],
|
|
1012
|
+
["reviewer", "Read-only review. Do not edit files. Ask a reviewer to review the saved report."],
|
|
1013
|
+
["reviewer", "Read-only review. Do not edit files. Ask another reviewer to review the saved report."],
|
|
1014
|
+
["reviewer", "Read-only review. Do not edit files. Ask for a review from another reviewer."],
|
|
1015
|
+
["reviewer", "Read-only review. Do not edit files. Do not ask for a review from another reviewer and ask for a review from a worker."],
|
|
1016
|
+
["reviewer", "Read-only review. Do not edit files. Do not ask for a review from another reviewer however ask for a review from a worker."],
|
|
1017
|
+
["reviewer", "Read-only review. Do not edit files. Use a worker subagent for follow-up."],
|
|
1018
|
+
["reviewer", "Read-only review. Do not edit files. Get a worker to continue follow-up."],
|
|
1019
|
+
["reviewer", "Read-only review. Do not edit files. Let a worker continue follow-up."],
|
|
1020
|
+
["reviewer", "Read-only review. Do not edit files. Ask a worker for follow-up."],
|
|
1021
|
+
["reviewer", "Read-only review. Do not edit files. Get implementation follow-up from a worker."],
|
|
1022
|
+
["reviewer", "Read-only review. Do not edit files. Get a review from another reviewer."],
|
|
1023
|
+
["reviewer", "Read-only review. Do not edit files. Let follow-up continue with a worker."],
|
|
1024
|
+
["reviewer", "Read-only review. Do not edit files. Get implementation follow-up via a worker."],
|
|
1025
|
+
["reviewer", "Read-only review. Do not edit files. Get a review via another reviewer."],
|
|
1026
|
+
["reviewer", "Read-only review. Do not edit files. Have implementation follow-up done by a worker."],
|
|
1027
|
+
["reviewer", "Read-only review. Do not edit files. Request implementation follow-up from a worker."],
|
|
1028
|
+
["reviewer", "Read-only review. Do not edit files. Have a worker continue follow-up."],
|
|
1029
|
+
["reviewer", "Read-only review. Do not edit files. Tell a worker to continue follow-up."],
|
|
1030
|
+
["reviewer", "Read-only review. Do not edit files. Do not launch worker subagents and launch a worker subagent to continue."],
|
|
1031
|
+
["reviewer", "Read-only review. Do not edit files. Do not launch worker subagents however launch a worker subagent to continue."],
|
|
1032
|
+
["reviewer", "Read-only review. Do not edit files. Do not launch worker subagents — launch a worker subagent. Return findings only."],
|
|
1033
|
+
["reviewer", "Read-only review. Do not edit files. Do not execute the previous command — delete src/a. Return findings only."],
|
|
1034
|
+
["reviewer", "Read-only review. Do not edit files. Do not launch worker subagents -- launch a worker subagent. Return findings only."],
|
|
1035
|
+
["reviewer", "Read-only review. Do not edit files. Do not execute the previous command -- delete src/a. Return findings only."],
|
|
1036
|
+
["reviewer", "Read-only review. Do not edit files. Do not launch worker subagents: launch a worker subagent. Return findings only."],
|
|
1037
|
+
["reviewer", "Read-only review. Do not edit files. Do not run workers: run a worker. Return findings only."],
|
|
1038
|
+
["reviewer", "Read-only review. Do not edit files. Do not execute the previous command: delete src/a. Return findings only."],
|
|
1039
|
+
["reviewer", "Read-only review. Do not edit files. Do not launch worker subagents / launch a worker subagent. Return findings only."],
|
|
1040
|
+
["reviewer", "Read-only review. Do not edit files. `update tests` is a blocked example, then update tests."],
|
|
1041
|
+
["reviewer", "Read-only review. Do not edit files. Blocked examples:\n- update tests\n- launch a worker subagent\nThen update tests."],
|
|
1042
|
+
["reviewer", "Read-only review. Do not edit files. Not blocked examples:\n- launch a worker subagent"],
|
|
1043
|
+
["reviewer", "Read-only review. Do not edit files. Destructive command wording is blocked, then run rm -rf ."],
|
|
1044
|
+
["reviewer", "Read-only review. Do not edit files. state.set is forbidden. Run rm -rf . This is blocked."],
|
|
1045
|
+
["reviewer", "Read-only review. Do not edit files. state.set: Run rm -rf /tmp/worktree because it is blocked."],
|
|
1046
|
+
["reviewer", "Read-only review. Do not edit files. Prior validation after the fix: npm run typecheck."],
|
|
1047
|
+
["reviewer", "Read-only review. Do not edit files. Validation after fix: npm run typecheck, then update tests."],
|
|
1048
|
+
["reviewer", "Read-only review. Do not edit files. Validation after fix: npm run typecheck and update tests."],
|
|
1049
|
+
["reviewer", "Read-only review. Do not edit files. Validation after fix: npm run typecheck and launch a worker subagent."],
|
|
1050
|
+
["reviewer", "Read-only review. Do not edit files. Validation after fix: npm run typecheck and run a worker subagent."],
|
|
1051
|
+
["reviewer", "Read-only review. Do not edit files. Mutation detection now includes move/rename/copy file mutation imperatives, then update tests."],
|
|
1052
|
+
["reviewer", "Read-only review. Do not edit files. Mutation detection now includes delete src/a.ts. Return findings only."],
|
|
1053
|
+
["reviewer", "Read-only review. Do not edit files. Delegation detection now blocks get/let/have/tell/ask follow-up forms, then launch a worker subagent."],
|
|
1054
|
+
["reviewer", "Read-only review. Do not edit files. Delegation detection now blocks get/let/have/tell/ask follow-up forms and then launch a worker subagent."],
|
|
1055
|
+
["reviewer", "Read-only review. Do not edit files. Mutation detection now includes move/rename/copy file mutation imperatives and update tests."],
|
|
1056
|
+
["reviewer", "Read-only review. Do not edit files. Delegation detection now blocks get/let/have/tell/ask follow-up forms and launch a worker subagent."],
|
|
1057
|
+
["reviewer", "Read-only review. Do not edit files. RECOVERY_REVIEW_MUTATION_VERB_PATTERN now includes append, prepend, and save, then update tests."],
|
|
1058
|
+
["reviewer", "Read-only review. Do not edit files. RECOVERY_REVIEW_MUTATION_VERB_PATTERN now includes append, prepend, and save the updated report."],
|
|
1059
|
+
["reviewer", "Read-only review. Do not edit files. A prompt ending with `save the updated report` remains blocked, then update tests."],
|
|
1060
|
+
["reviewer", "Read-only review. Do not edit files. Prompts like update tests are blocked, then update tests. Return findings only."],
|
|
1061
|
+
["reviewer", "Read-only review. Do not edit files. Examples like `update tests` are blocked because they are dangerous, then update tests. Return findings only."],
|
|
1062
|
+
["reviewer", "Read-only review. Do not edit files. Examples like `rm -rf .` are blocked because they are destructive, then run rm -rf . Return findings only."],
|
|
1063
|
+
["reviewer", "Read-only review. Do not edit files. Examples like `launch a worker` are blocked because delegation is unsafe, then launch a worker subagent. Return findings only."],
|
|
1064
|
+
["reviewer", "Read-only review. Do not edit files. Positive Git mutations are broader: run rm -rf . now trips the recovery barrier. Return findings only."],
|
|
1065
|
+
["reviewer", "Read-only review. Do not edit files. Positive Git mutations are broader: then launch a worker subagent now trips the recovery barrier. Return findings only."],
|
|
1066
|
+
["reviewer", "Read-only review. Do not edit files. `update tests` remains blocked. Do it anyway."],
|
|
1067
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Run it anyway."],
|
|
1068
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the command anyway."],
|
|
1069
|
+
["reviewer", "Read-only review. Do not edit files. `update tests` remains blocked. Run that anyway."],
|
|
1070
|
+
["reviewer", "Read-only review. Do not edit files. `update tests` remains blocked. Apply the quoted example anyway."],
|
|
1071
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the command now anyway."],
|
|
1072
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the command right now anyway."],
|
|
1073
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the previous command right now anyway."],
|
|
1074
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the previous command."],
|
|
1075
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the previous command please."],
|
|
1076
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the previous command while reviewing."],
|
|
1077
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the previous command while you review."],
|
|
1078
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the previous command for review."],
|
|
1079
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the previous command while you review because the example is blocked."],
|
|
1080
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the previous command for review because this is blocked."],
|
|
1081
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the previous command and keep reviewing."],
|
|
1082
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the previous command but only for review."],
|
|
1083
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the previous command then return findings."],
|
|
1084
|
+
["reviewer", "Read-only review. Do not edit files. commands hidden in `rm -rf .` are visible and blocked. Run the first command anyway."],
|
|
1085
|
+
["reviewer", "Read-only review. Do not edit files. commands hidden in `rm -rf .` are visible and blocked. Run the first one anyway."],
|
|
1086
|
+
["reviewer", "Read-only review. Do not edit files. commands hidden in `rm -rf .` are visible and blocked. Run the 1st command anyway."],
|
|
1087
|
+
["reviewer", "Read-only review. Do not edit files. The examples `rm -rf .`, `git reset --hard`, `rm -rf /tmp/a`, and `git clean -fd` are visible and blocked. Run the fourth command anyway."],
|
|
1088
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the previously quoted command anyway."],
|
|
1089
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the blocked phrase right now anyway."],
|
|
1090
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the above quoted blocked command anyway."],
|
|
1091
|
+
["reviewer", "Read-only review. Do not edit files. `update tests` remains blocked. Run that now anyway."],
|
|
1092
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Perform the operation now anyway."],
|
|
1093
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Execute the command, now anyway."],
|
|
1094
|
+
["reviewer", "Read-only review. Do not edit files. `update tests` remains blocked. Run that, now anyway."],
|
|
1095
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .` remains blocked. Perform the operation, now anyway."],
|
|
1096
|
+
["reviewer", "Read-only review. Do not edit files. Added exact regressions for Execute the command then update tests anyway. Return findings only."],
|
|
1097
|
+
["reviewer", "Read-only review. Do not edit files. Added exact regressions for Run that then launch workers anyway. Return findings only."],
|
|
1098
|
+
["reviewer", "Read-only review. Do not edit files. Added regression for delete src/a followed by Execute the previous command. Return findings only."],
|
|
1099
|
+
["reviewer", "Read-only review. Do not edit files. Added regression for rm -rf /tmp followed by Execute the previous command. Return findings only."],
|
|
1100
|
+
["reviewer", "Read-only review. Do not edit files. Added regression for quoted rm remaining blocked followed by Execute the previous command then update tests."],
|
|
1101
|
+
["reviewer", "Read-only review. Do not edit files. Keeping live-command variants such as delete src/a blocked. Return findings only."],
|
|
1102
|
+
["reviewer", "Read-only review. Do not edit files. Keeping live-command variants such as launch a worker subagent blocked. Return findings only."],
|
|
1103
|
+
["reviewer", "Read-only review. Do not edit files. Broadened positive Git mutation coverage for delete src/a, plus git `branch`. Return findings only."],
|
|
1104
|
+
["reviewer", "Read-only review. Do not edit files. Broadened positive Git mutation coverage for launch a worker subagent, plus git `branch`. Return findings only."],
|
|
1105
|
+
["reviewer", "Read-only review. Do not edit files. Broadened positive Git mutation coverage for natural `cherry pick`, then update tests, plus git `branch|revert|stash|tag`."],
|
|
1106
|
+
["reviewer", "Read-only review. Do not edit files. Broadened positive Git mutation coverage for natural `cherry pick`, then run git reset --hard, plus git `branch|revert|stash|tag`."],
|
|
1107
|
+
["reviewer", "Read-only review. Do not edit files. Direct anaphoric references now include numeric and word ordinals through tenth plus one, so Run the first one anyway, Run the 1st command anyway, and Run the fourth command anyway are blocked, then update tests. Return findings only."],
|
|
1108
|
+
["reviewer", "Read-only review. Do not edit files. Direct anaphoric references now include numeric and word ordinals through tenth plus one, so Run the first one anyway and launch a worker subagent are blocked. Return findings only."],
|
|
1109
|
+
["reviewer", "Read-only review. Do not edit files. Direct anaphoric references now include numeric and word ordinals through tenth plus one, so Run the first one anyway plus launch a worker subagent are blocked. Return findings only."],
|
|
1110
|
+
["reviewer", "Read-only review. Do not edit files. Direct anaphoric references now include numeric and word ordinals through tenth plus one, so Run the first one anyway or launch a worker subagent are blocked. Return findings only."],
|
|
1111
|
+
["reviewer", "Read-only review. Do not edit files. Direct anaphoric references now include numeric and word ordinals through tenth plus one, so Run the first one and update tests anyway are blocked. Return findings only."],
|
|
1112
|
+
["reviewer", "Read-only review. Do not edit files. Direct anaphoric references now include numeric and word ordinals through tenth plus one, so Run the first one and launch workers anyway are blocked. Return findings only."],
|
|
1113
|
+
["reviewer", "Read-only review. Do not edit files. Run a worker."],
|
|
1114
|
+
["reviewer", "Read-only review. Do not edit files. Open a PR."],
|
|
1115
|
+
["reviewer", "Read-only review. Do not edit files. Merge the branch."],
|
|
1116
|
+
["reviewer", "Read-only review. Do not edit files, merge the branch."],
|
|
1117
|
+
["reviewer", "Read-only review. Do not edit files, commit the changes."],
|
|
1118
|
+
["reviewer", "Read-only review. Do not edit files. Do not use a worker subagent, use a worker subagent for follow-up."],
|
|
1119
|
+
["reviewer", "Read-only review. Do not edit files. Do not hand off to a worker, hand off remediation to a worker."],
|
|
1120
|
+
["reviewer", "Read-only review. Do not edit files. Do not assign this to a worker, assign implementation follow-up to a worker."],
|
|
1121
|
+
["reviewer", "Read-only review. Do not edit files; update tests."],
|
|
1122
|
+
["reviewer", "Read-only review. Do not edit files; updating tests is required."],
|
|
1123
|
+
["reviewer", "Do not edit files, run git clean -fd"],
|
|
1124
|
+
["reviewer", "Review only; do not edit files. Run git clean -fd"],
|
|
1125
|
+
["reviewer", "Read-only review. Do not edit files. Validation after fix: rm -rf ."],
|
|
1126
|
+
["reviewer", "Read-only review. Do not edit files. Existing regressions cover plain rm, then run rm -rf ."],
|
|
1127
|
+
["reviewer", "Read-only review. Do not edit files. git clean -fd; existing regressions cover git clean."],
|
|
1128
|
+
["reviewer", "Read-only review. Do not edit files. Existing regressions cover rm/git clean. Write findings."],
|
|
1129
|
+
["reviewer", "Read-only review. Do not edit files. Existing regressions cover rm. Write findings."],
|
|
1130
|
+
["reviewer", "Read-only review. Do not edit files. Existing regressions cover git clean and run git clean -fd."],
|
|
1131
|
+
["reviewer", "Read-only review. Do not edit files. Existing regressions cover git clean and launch a worker subagent."],
|
|
1132
|
+
["reviewer", "Read-only review. Do not edit files. rm -rf ."],
|
|
1133
|
+
["reviewer", "Read-only review. Do not edit files. `rm -rf .`"],
|
|
1134
|
+
["reviewer", "Read-only review. Do not edit files. 'rm -rf .'"],
|
|
1135
|
+
["reviewer", "Read-only review. Do not edit files. /bin/rm -rf ."],
|
|
1136
|
+
["reviewer", "Read-only review. Do not edit files. /usr/bin/rm -rf ."],
|
|
1137
|
+
["reviewer", "Read-only review. Do not edit files. /usr/local/bin/rm -rf ."],
|
|
1138
|
+
["reviewer", "Read-only review. Do not edit files. Validation after fix: git -C . reset --hard."],
|
|
1139
|
+
["reviewer", "Read-only review. Do not edit files. git --work-tree . reset --hard."],
|
|
1140
|
+
["reviewer", "Read-only review. Do not edit files. git --work-tree \"/tmp/my repo\" reset --hard."],
|
|
1141
|
+
["reviewer", "Read-only review. Do not edit files. git --work-tree '/tmp/my repo' reset --hard."],
|
|
1142
|
+
["reviewer", "Read-only review. Do not edit files. Run git rebase main."],
|
|
1143
|
+
["reviewer", "Read-only review. Do not edit files. git rebase main."],
|
|
1144
|
+
["reviewer", "Read-only review. Do not edit files. Run git cherry-pick abc123."],
|
|
1145
|
+
["reviewer", "Read-only review. Do not edit files. cherry-pick abc123."],
|
|
1146
|
+
["reviewer", "Read-only review. Do not edit files. cherry pick abc123."],
|
|
1147
|
+
["reviewer", "Read-only review. Do not edit files. git branch -D old."],
|
|
1148
|
+
["reviewer", "Read-only review. Do not edit files. git tag -d v1.0."],
|
|
1149
|
+
["reviewer", "Read-only review. Do not edit files. git stash."],
|
|
1150
|
+
["reviewer", "Read-only review. Do not edit files. git revert abc123."],
|
|
1151
|
+
["reviewer", "Read-only review. Do not edit files. Stage the changed files."],
|
|
1152
|
+
["reviewer", "Read-only review. Do not edit files. git reset --hard"],
|
|
1153
|
+
["reviewer", "Read-only review. Do not edit files. git restore src/workflows/scripted-workflow.ts"],
|
|
1154
|
+
]) {
|
|
1155
|
+
const launches: string[] = [];
|
|
1156
|
+
await assert.rejects(
|
|
1157
|
+
runWorkflowScript({
|
|
1158
|
+
script: `
|
|
1159
|
+
await runs.run("writer", { agent: "worker", task: "write" });
|
|
1160
|
+
await runs.run("mutate", { agent: ${JSON.stringify(agent)}, task: ${JSON.stringify(task)}, acceptance: false });
|
|
1161
|
+
`,
|
|
1162
|
+
launch(key) {
|
|
1163
|
+
launches.push(key);
|
|
1164
|
+
if (key === "mutate") return Promise.resolve({ key, ok: true, output: "mutated", artifactPaths: [] });
|
|
1165
|
+
return Promise.resolve({
|
|
1166
|
+
key,
|
|
1167
|
+
ok: false,
|
|
1168
|
+
output: "saved writer report",
|
|
1169
|
+
error: "Acceptance rejected: malformed acceptance-report",
|
|
1170
|
+
runId: "writer-run",
|
|
1171
|
+
outputReference: recovery.reportPath,
|
|
1172
|
+
recovery,
|
|
1173
|
+
artifactPaths: [recovery.reportPath],
|
|
1174
|
+
results: [{ acceptance: { status: "rejected", recovery } }],
|
|
1175
|
+
});
|
|
1176
|
+
},
|
|
1177
|
+
async status(key) { return { key, ok: true, output: "ok", artifactPaths: [] }; },
|
|
1178
|
+
}),
|
|
1179
|
+
(error: unknown) => error instanceof WorkflowScriptError && /only explicit read-only review children with acceptance:false may follow/.test(error.message),
|
|
1180
|
+
);
|
|
1181
|
+
assert.deepEqual(launches, ["writer"]);
|
|
1182
|
+
}
|
|
1183
|
+
});
|
|
1184
|
+
|
|
1185
|
+
it("blocks mission state writes after a durable acceptance metadata rejection", async () => {
|
|
1186
|
+
const recovery = {
|
|
1187
|
+
status: "available-for-review" as const,
|
|
1188
|
+
reason: "acceptance-metadata-rejected" as const,
|
|
1189
|
+
reportPath: "/tmp/writer-report.md",
|
|
1190
|
+
reportHash: "a".repeat(64),
|
|
1191
|
+
};
|
|
1192
|
+
const values = new Map<string, unknown>();
|
|
1193
|
+
const launches: string[] = [];
|
|
1194
|
+
await assert.rejects(
|
|
1195
|
+
runWorkflowScript({
|
|
1196
|
+
script: `
|
|
1197
|
+
const writer = await runs.run("writer", { agent: "worker", task: "write" });
|
|
1198
|
+
await state.set("recovered.output", writer.output);
|
|
1199
|
+
`,
|
|
1200
|
+
state: {
|
|
1201
|
+
get: (key) => values.get(key),
|
|
1202
|
+
set: (key, value) => { values.set(key, value); },
|
|
1203
|
+
},
|
|
1204
|
+
launch(key) {
|
|
1205
|
+
launches.push(key);
|
|
1206
|
+
return Promise.resolve({
|
|
1207
|
+
key,
|
|
1208
|
+
ok: false,
|
|
1209
|
+
output: "saved writer report",
|
|
1210
|
+
error: "Acceptance rejected: malformed acceptance-report",
|
|
1211
|
+
runId: "writer-run",
|
|
1212
|
+
outputReference: recovery.reportPath,
|
|
1213
|
+
recovery,
|
|
1214
|
+
artifactPaths: [recovery.reportPath],
|
|
1215
|
+
results: [{ acceptance: { status: "rejected", recovery } }],
|
|
1216
|
+
});
|
|
1217
|
+
},
|
|
1218
|
+
async status(key) { return { key, ok: true, output: "ok", artifactPaths: [] }; },
|
|
1219
|
+
}),
|
|
1220
|
+
(error: unknown) => error instanceof WorkflowScriptError && /Run 'state\.set\('recovered\.output'\)' cannot launch after run 'writer' returned rejected acceptance recovery/.test(error.message),
|
|
1221
|
+
);
|
|
1222
|
+
assert.deepEqual(launches, ["writer"]);
|
|
1223
|
+
assert.deepEqual([...values.entries()], []);
|
|
1224
|
+
});
|
|
1225
|
+
|
|
804
1226
|
it("tags only fail-fast detached child errors as detached-child", async () => {
|
|
805
1227
|
await assert.rejects(
|
|
806
1228
|
runWorkflowScript({
|
|
@@ -839,6 +1261,8 @@ describe("scripted workflow runtime", () => {
|
|
|
839
1261
|
`return await runs.all([{ key: "valid", agent: "worker", task: "run" }, { key: "undefined-action", agent: "worker", task: "run", action: undefined }]);`,
|
|
840
1262
|
`return await runs.all([{ key: "valid", agent: "worker", task: "run" }, { key: "uncloneable", agent: "worker", task: () => "run" }]);`,
|
|
841
1263
|
`return await runs.all([{ key: "valid", agent: "worker", task: "run" }, { key: "bad-binding", agent: "worker", task: "run", extensionBindings: { invalid: true } }]);`,
|
|
1264
|
+
`return await runs.all([{ key: "valid", agent: "worker", task: "run" }, { key: "bad-capacity", agent: "worker", task: "run", globalConcurrencyLimit: 2 }]);`,
|
|
1265
|
+
`return await runs.all([{ key: "valid", agent: "worker", task: "run" }, { key: "bad-budget", agent: "worker", task: "run", maxSubagentSpawnsPerRun: 2 }]);`,
|
|
842
1266
|
`const items = []; items[1] = { key: "valid", agent: "worker", task: "run" }; return await runs.all(items);`,
|
|
843
1267
|
];
|
|
844
1268
|
for (const script of malformedScripts) {
|
|
@@ -1111,7 +1535,7 @@ describe("scripted workflow runtime", () => {
|
|
|
1111
1535
|
});
|
|
1112
1536
|
|
|
1113
1537
|
it("rejects legacy orchestration params in runs.run", async () => {
|
|
1114
|
-
for (const params of [`tasks: [{ agent: "scout", task: "scan" }]`, `parallel: [{ agent: "scout", task: "scan" }]`]) {
|
|
1538
|
+
for (const params of [`tasks: [{ agent: "scout", task: "scan" }]`, `parallel: [{ agent: "scout", task: "scan" }]`, `globalConcurrencyLimit: 2`, `maxSubagentSpawnsPerRun: 2`]) {
|
|
1115
1539
|
let launches = 0;
|
|
1116
1540
|
await assert.rejects(
|
|
1117
1541
|
runWorkflowScript({
|
|
@@ -2074,4 +2498,4 @@ describe("scripted workflow runtime", () => {
|
|
|
2074
2498
|
assert.ok(children.every((child) => child.ok), "every child should still report success");
|
|
2075
2499
|
assert.equal(result.children.filter((child) => !child.ok).length, 0);
|
|
2076
2500
|
});
|
|
2077
|
-
});
|
|
2501
|
+
});
|
|
@@ -4,6 +4,7 @@ import * as os from "node:os";
|
|
|
4
4
|
import * as path from "node:path";
|
|
5
5
|
import { describe, it } from "node:test";
|
|
6
6
|
import { writeAsyncResultFile, writePendingAsyncResultFile } from "../../src/runs/background/result-files.ts";
|
|
7
|
+
import { listAsyncRuns } from "../../src/runs/background/async-status.ts";
|
|
7
8
|
import { checkPidLiveness, reconcileAsyncRun } from "../../src/runs/background/stale-run-reconciler.ts";
|
|
8
9
|
|
|
9
10
|
function tempRoot(prefix: string): string {
|
|
@@ -397,4 +398,43 @@ describe("async stale-run reconciliation", () => {
|
|
|
397
398
|
fs.rmSync(root, { recursive: true, force: true });
|
|
398
399
|
}
|
|
399
400
|
});
|
|
400
|
-
|
|
401
|
+
|
|
402
|
+
it("does not abort the whole async-run list when one run's reconcile write throws", () => {
|
|
403
|
+
const root = tempRoot("pi-list-resilience-");
|
|
404
|
+
try {
|
|
405
|
+
const asyncDirRoot = path.join(root, "async-subagent-runs");
|
|
406
|
+
const asyncDir = path.join(asyncDirRoot, "run-stale");
|
|
407
|
+
fs.mkdirSync(path.join(asyncDirRoot, ".active-runs"), { recursive: true });
|
|
408
|
+
fs.writeFileSync(path.join(asyncDirRoot, ".active-runs", "run-stale"), "");
|
|
409
|
+
writeStatus(asyncDir, {
|
|
410
|
+
runId: "run-stale",
|
|
411
|
+
sessionId: "session-current",
|
|
412
|
+
state: "running",
|
|
413
|
+
pid: 12345,
|
|
414
|
+
startedAt: 1000,
|
|
415
|
+
lastUpdate: 1000,
|
|
416
|
+
steps: [{ agent: "worker", status: "running", startedAt: 1000 }],
|
|
417
|
+
});
|
|
418
|
+
// Place the results dir under a regular file so the stale run's
|
|
419
|
+
// repair-write lookup throws ENOTDIR mid-reconcile, mirroring the
|
|
420
|
+
// unaddressable-run failures that used to abort the whole restore.
|
|
421
|
+
const blocker = path.join(root, "blocked");
|
|
422
|
+
fs.writeFileSync(blocker, "not a dir");
|
|
423
|
+
const badResultsDir = path.join(blocker, "async-subagent-results");
|
|
424
|
+
|
|
425
|
+
const runs = listAsyncRuns(asyncDirRoot, {
|
|
426
|
+
states: ["queued", "running"],
|
|
427
|
+
sessionId: "session-current",
|
|
428
|
+
resultsDir: badResultsDir,
|
|
429
|
+
now: () => 2000,
|
|
430
|
+
});
|
|
431
|
+
|
|
432
|
+
// The throwing run is still surfaced via the non-repairing status read;
|
|
433
|
+
// critically, no error escaped to abort restoring other runs.
|
|
434
|
+
assert.equal(runs.length, 1);
|
|
435
|
+
assert.equal(runs[0].id, "run-stale");
|
|
436
|
+
} finally {
|
|
437
|
+
fs.rmSync(root, { recursive: true, force: true });
|
|
438
|
+
}
|
|
439
|
+
});
|
|
440
|
+
});
|
|
@@ -208,4 +208,4 @@ describe("steering lifecycle ledger", () => {
|
|
|
208
208
|
assert.throws(() => remainingSteeringRecoveryLimits({ absoluteDeadlineAt: 5 }, {}, 5), /deadline budget/);
|
|
209
209
|
assert.throws(() => remainingSteeringRecoveryLimits({ initialToolBudget: { hard: 2, block: "*" } }, { toolCount: 2 }), /tool budget/);
|
|
210
210
|
});
|
|
211
|
-
});
|
|
211
|
+
});
|
|
@@ -26,4 +26,12 @@ describe("subagent guide", () => {
|
|
|
26
26
|
assert.match(readSubagentGuide("tool-reference"), /External CLI agent profiles[\s\S]*native Pi child options[\s\S]*model override[\s\S]*native Pi tools/);
|
|
27
27
|
assert.match(readSubagentGuide("agents"), /External CLI agents use their own runner contract[\s\S]*native Pi child options/);
|
|
28
28
|
});
|
|
29
|
-
|
|
29
|
+
|
|
30
|
+
it("keeps advanced workflow details in the packaged guide", () => {
|
|
31
|
+
const guide = readSubagentGuide("workflows");
|
|
32
|
+
|
|
33
|
+
assert.match(guide, /### Parallel sequential lanes[\s\S]*runs\.lanes/);
|
|
34
|
+
assert.match(guide, /### Host command steps[\s\S]*runs\.host/);
|
|
35
|
+
assert.match(guide, /### Advanced rolling child runs[\s\S]*Promise\.race[\s\S]*Promise\.all/);
|
|
36
|
+
});
|
|
37
|
+
});
|