@fitchmultz/pi-subagents 0.49.1 → 0.50.0
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 +23 -1
- package/README.md +88 -94
- package/dist/agent/contracts.js +122 -0
- package/dist/agent/cwd.js +51 -0
- package/dist/agent/host.js +82 -0
- package/dist/agent/index.js +422 -0
- package/dist/agent/journal-tail.js +183 -0
- package/dist/agent/launch.js +87 -0
- package/dist/agent/legacy.js +141 -0
- package/dist/agent/notifications.js +119 -0
- package/dist/agent/observe-screen.js +132 -0
- package/dist/agent/observe.js +234 -0
- package/dist/agent/process.js +173 -0
- package/dist/agent/receipts.js +75 -0
- package/dist/agent/runner.js +372 -0
- package/dist/agent/saved.js +195 -0
- package/dist/agent/shell.js +43 -0
- package/dist/agent/storage.js +113 -0
- package/dist/agent/typebox.js +20 -0
- package/dist/agent/usage.js +232 -0
- package/dist/agent/view.js +164 -0
- package/dist/build-info.js +1 -0
- package/dist/index.js +8 -0
- package/dist/pi-intercom/bridge-config.js +12 -19
- package/dist/pi-intercom/bridge-http.js +1 -2
- package/dist/pi-intercom/bridge-mailbox.js +2 -7
- package/dist/pi-intercom/bridge-protocol.js +3 -10
- package/dist/pi-intercom/bridge-routes.js +15 -186
- package/dist/pi-intercom/bridge-session.js +2 -96
- package/dist/pi-intercom/bridge.js +12 -35
- package/dist/pi-intercom/broker/broker.js +33 -38
- package/dist/pi-intercom/broker/client-last.js +48 -0
- package/dist/pi-intercom/broker/client.js +41 -1
- package/dist/pi-intercom/broker/connection.js +5 -18
- package/dist/pi-intercom/broker/last.js +173 -0
- package/dist/pi-intercom/broker/paths.js +28 -9
- package/dist/pi-intercom/broker/server-connection.js +18 -0
- package/dist/pi-intercom/broker/spawn.js +32 -16
- package/dist/pi-intercom/broker/targets.js +24 -0
- package/dist/pi-intercom/config.js +0 -23
- package/dist/pi-intercom/connection.js +30 -70
- package/dist/pi-intercom/identity.js +14 -44
- package/dist/pi-intercom/inbound-delivery.js +8 -69
- package/dist/pi-intercom/inbound-journal.js +3 -68
- package/dist/pi-intercom/inbound-record.js +2 -48
- package/dist/pi-intercom/inbound.js +6 -53
- package/dist/pi-intercom/index.js +8 -47
- package/dist/pi-intercom/last-message.js +58 -0
- package/dist/pi-intercom/lifecycle.js +8 -33
- package/dist/pi-intercom/message-format.js +1 -32
- package/dist/pi-intercom/outbound.js +9 -1
- package/dist/pi-intercom/reply-tracker.js +2 -12
- package/dist/pi-intercom/reply-wait.js +16 -107
- package/dist/pi-intercom/runtime-types.js +0 -1
- package/dist/pi-intercom/session-events.js +5 -21
- package/dist/pi-intercom/tool-arguments.js +4 -0
- package/dist/pi-intercom/tool-registration.js +5 -86
- package/dist/pi-intercom/tool-schemas.js +12 -52
- package/dist/pi-intercom/tools.js +55 -29
- package/dist/pi-intercom/types.js +10 -3
- package/dist/pi-intercom/ui/session-format.js +3 -3
- package/dist/shared/journal-projections.js +0 -31
- package/dist/shared/types.js +0 -195
- package/docs/code-quality.md +4 -3
- package/docs/development.md +57 -95
- package/docs/intercom-bridge.md +206 -415
- package/docs/intercom.md +142 -593
- package/docs/performance.md +109 -192
- package/docs/reference.md +139 -1452
- package/package.json +12 -19
- package/scripts/build.mjs +1 -1
- package/scripts/intercom-bridge-credentials.mjs +1 -1
- package/scripts/intercom-remote.mjs +55 -272
- package/scripts/local-install-smoke.mjs +3 -1
- package/scripts/measure-size.mjs +64 -0
- package/scripts/native-package-smoke.mjs +267 -109
- package/scripts/package-smoke.mjs +120 -363
- package/scripts/real-pi-processes.mjs +6 -38
- package/scripts/real-pi-smoke.mjs +153 -144
- package/scripts/run-tests.mjs +4 -3
- package/skills/pi-intercom/SKILL.md +53 -107
- package/skills/pi-subagents/SKILL.md +45 -59
- package/src/agent/contracts.ts +144 -0
- package/src/agent/cwd.ts +69 -0
- package/src/agent/host.ts +82 -0
- package/src/agent/index.ts +486 -0
- package/src/agent/journal-tail.ts +184 -0
- package/src/agent/launch.ts +112 -0
- package/src/agent/legacy.ts +167 -0
- package/src/agent/notifications.ts +131 -0
- package/src/agent/observe-screen.ts +167 -0
- package/src/agent/observe.ts +240 -0
- package/src/agent/process.ts +179 -0
- package/src/agent/receipts.ts +88 -0
- package/src/agent/runner.ts +417 -0
- package/src/agent/saved.ts +220 -0
- package/src/agent/shell.ts +56 -0
- package/src/agent/storage.ts +123 -0
- package/src/agent/typebox.ts +17 -0
- package/src/agent/usage.ts +263 -0
- package/src/agent/view.ts +246 -0
- package/src/index.ts +10 -0
- package/src/pi-intercom/bridge-config.ts +13 -24
- package/src/pi-intercom/bridge-http.ts +1 -2
- package/src/pi-intercom/bridge-mailbox.ts +8 -8
- package/src/pi-intercom/bridge-protocol.ts +7 -11
- package/src/pi-intercom/bridge-routes.ts +29 -277
- package/src/pi-intercom/bridge-session.ts +3 -114
- package/src/pi-intercom/bridge.ts +12 -35
- package/src/pi-intercom/broker/broker.ts +39 -54
- package/src/pi-intercom/broker/client-last.ts +65 -0
- package/src/pi-intercom/broker/client.ts +45 -3
- package/src/pi-intercom/broker/connection.ts +5 -17
- package/src/pi-intercom/broker/last.ts +222 -0
- package/src/pi-intercom/broker/paths.ts +31 -9
- package/src/pi-intercom/broker/server-connection.ts +38 -0
- package/src/pi-intercom/broker/spawn.ts +44 -16
- package/src/pi-intercom/broker/targets.ts +42 -0
- package/src/pi-intercom/config.ts +0 -27
- package/src/pi-intercom/connection.ts +41 -84
- package/src/pi-intercom/identity.ts +21 -49
- package/src/pi-intercom/inbound-delivery.ts +10 -93
- package/src/pi-intercom/inbound-journal.ts +4 -81
- package/src/pi-intercom/inbound-record.ts +2 -61
- package/src/pi-intercom/inbound.ts +7 -69
- package/src/pi-intercom/index.ts +10 -49
- package/src/pi-intercom/last-message.ts +73 -0
- package/src/pi-intercom/lifecycle.ts +14 -41
- package/src/pi-intercom/message-format.ts +1 -34
- package/src/pi-intercom/outbound.ts +16 -1
- package/src/pi-intercom/reply-tracker.ts +2 -19
- package/src/pi-intercom/reply-wait.ts +21 -128
- package/src/pi-intercom/runtime-types.ts +5 -58
- package/src/pi-intercom/session-events.ts +7 -35
- package/src/pi-intercom/tool-arguments.ts +6 -0
- package/src/pi-intercom/tool-registration.ts +9 -109
- package/src/pi-intercom/tool-schemas.ts +17 -80
- package/src/pi-intercom/tools.ts +58 -44
- package/src/pi-intercom/transport.ts +1 -0
- package/src/pi-intercom/types.ts +45 -6
- package/src/pi-intercom/ui/session-format.ts +3 -3
- package/src/shared/journal-projections.ts +0 -35
- package/src/shared/post-exit-stdio-guard.ts +7 -1
- package/src/shared/types.ts +0 -257
- package/agents/context-builder.md +0 -115
- package/agents/debugger.md +0 -58
- package/agents/delegate.md +0 -14
- package/agents/fixer.md +0 -40
- package/agents/oracle.md +0 -82
- package/agents/planner.md +0 -83
- package/agents/researcher.md +0 -60
- package/agents/reviewer-claude.md +0 -78
- package/agents/reviewer-gpt.md +0 -78
- package/agents/reviewer-ponytail.md +0 -92
- package/agents/reviewer-security.md +0 -92
- package/agents/reviewer.md +0 -78
- package/agents/scout.md +0 -77
- package/agents/ui-designer.md +0 -58
- package/agents/watcher.md +0 -27
- package/agents/worker.md +0 -52
- package/agents/writer.md +0 -39
- package/dist/agents/agent-defaults.js +0 -9
- package/dist/agents/agent-definition.js +0 -196
- package/dist/agents/agent-management.js +0 -88
- package/dist/agents/agent-scope.js +0 -9
- package/dist/agents/agent-selection.js +0 -13
- package/dist/agents/agent-serializer.js +0 -88
- package/dist/agents/agents.js +0 -111
- package/dist/agents/builtin-overrides.js +0 -218
- package/dist/agents/chain-serializer.js +0 -3
- package/dist/agents/config-values.js +0 -52
- package/dist/agents/discovery-paths.js +0 -91
- package/dist/agents/frontmatter.js +0 -31
- package/dist/agents/identity.js +0 -46
- package/dist/agents/json-chain.js +0 -254
- package/dist/agents/management-config.js +0 -332
- package/dist/agents/management-format.js +0 -231
- package/dist/agents/management-persistence.js +0 -287
- package/dist/agents/management-targets.js +0 -136
- package/dist/agents/management-warnings.js +0 -81
- package/dist/agents/markdown-chain.js +0 -210
- package/dist/agents/package-agents.js +0 -154
- package/dist/agents/skill-files.js +0 -157
- package/dist/agents/skill-search-paths.js +0 -246
- package/dist/agents/skill-types.js +0 -1
- package/dist/agents/skills.js +0 -125
- package/dist/extension/acceptance-schema.js +0 -55
- package/dist/extension/build-info.js +0 -1
- package/dist/extension/chain-schema.js +0 -196
- package/dist/extension/child-runtime.js +0 -237
- package/dist/extension/compact-tools.js +0 -183
- package/dist/extension/config-schema.js +0 -29
- package/dist/extension/config.js +0 -38
- package/dist/extension/control-notice-schema.js +0 -37
- package/dist/extension/control-notices.js +0 -36
- package/dist/extension/delegation-bridges.js +0 -43
- package/dist/extension/doctor.js +0 -166
- package/dist/extension/everyday-schemas.js +0 -207
- package/dist/extension/fanout-child.js +0 -25
- package/dist/extension/index.js +0 -28
- package/dist/extension/message-renderers.js +0 -225
- package/dist/extension/nested-control-inbox.js +0 -154
- package/dist/extension/parent-runtime.js +0 -339
- package/dist/extension/primary-tool.js +0 -69
- package/dist/extension/result-snapshot.js +0 -4
- package/dist/extension/runtime-reload.js +0 -62
- package/dist/extension/runtime-storage.js +0 -43
- package/dist/extension/schema-overrides.js +0 -75
- package/dist/extension/schemas.js +0 -345
- package/dist/extension/tool-input.js +0 -35
- package/dist/extension/tool-result.js +0 -29
- package/dist/history/answer-texts.js +0 -57
- package/dist/history/canonical-result.js +0 -114
- package/dist/history/canonical-selection.js +0 -40
- package/dist/history/database-generation.js +0 -82
- package/dist/history/database.js +0 -96
- package/dist/history/entry-ingestion.js +0 -61
- package/dist/history/index.js +0 -344
- package/dist/history/ingest.js +0 -314
- package/dist/history/output-digests.js +0 -40
- package/dist/history/preview.js +0 -210
- package/dist/history/prune.js +0 -33
- package/dist/history/queries.js +0 -81
- package/dist/history/query-scope.js +0 -190
- package/dist/history/rows.js +0 -77
- package/dist/history/run-projection.js +0 -136
- package/dist/history/run-queries.js +0 -153
- package/dist/history/schema.js +0 -31
- package/dist/history/search-queries.js +0 -169
- package/dist/history/selected-record.js +0 -108
- package/dist/history/source-file.js +0 -45
- package/dist/history/source-watches.js +0 -141
- package/dist/history/store.js +0 -243
- package/dist/history/text-chunks.js +0 -168
- package/dist/history/text.js +0 -35
- package/dist/history/transcript-queries.js +0 -183
- package/dist/history/types.js +0 -8
- package/dist/history/values.js +0 -36
- package/dist/history/wire-inputs.js +0 -122
- package/dist/history/wire-models.js +0 -38
- package/dist/history/worker-runtime.js +0 -441
- package/dist/history/worker.js +0 -91
- package/dist/intercom/intercom-bridge.js +0 -140
- package/dist/intercom/live-intercom.js +0 -151
- package/dist/intercom/nested-result-tree.js +0 -163
- package/dist/intercom/result-delivery.js +0 -40
- package/dist/intercom/result-intercom.js +0 -216
- package/dist/pi-intercom/bridge-ask.js +0 -57
- package/dist/pi-intercom/bridge-broadcast.js +0 -60
- package/dist/pi-intercom/bridge-catalog.js +0 -372
- package/dist/pi-intercom/bridge-control.js +0 -104
- package/dist/pi-intercom/bridge-groups.js +0 -135
- package/dist/pi-intercom/bridge-launch-journal.js +0 -84
- package/dist/pi-intercom/bridge-launch-policy.js +0 -154
- package/dist/pi-intercom/bridge-launch.js +0 -327
- package/dist/pi-intercom/bridge-operations.js +0 -127
- package/dist/pi-intercom/bridge-rpc-process.js +0 -292
- package/dist/pi-intercom/interview.js +0 -236
- package/dist/pi-intercom/native-control-auth.js +0 -80
- package/dist/pi-intercom/native-control-protocol.js +0 -111
- package/dist/pi-intercom/native-control.js +0 -130
- package/dist/pi-intercom/peer-awareness.js +0 -66
- package/dist/pi-intercom/saved-transcript.js +0 -135
- package/dist/pi-intercom/subagent-events.js +0 -238
- package/dist/pi-intercom/subagent-live-events.js +0 -175
- package/dist/pi-intercom/supervisor.js +0 -282
- package/dist/pi-intercom/topic-actions.js +0 -177
- package/dist/pi-intercom/topics.js +0 -242
- package/dist/pi-intercom/transcript.js +0 -175
- package/dist/pi-intercom/ui/compose-paste.js +0 -93
- package/dist/pi-intercom/ui/compose.js +0 -247
- package/dist/pi-intercom/ui/inline-message.js +0 -80
- package/dist/pi-intercom/ui/message-renderers.js +0 -147
- package/dist/pi-intercom/ui/overlay.js +0 -181
- package/dist/pi-intercom/ui/session-list.js +0 -157
- package/dist/pi-intercom/ui/tool-renderers.js +0 -110
- package/dist/pi-intercom/ui/topic-view.js +0 -88
- package/dist/runs/background/async-chain-plan.js +0 -265
- package/dist/runs/background/async-control.js +0 -171
- package/dist/runs/background/async-execution.js +0 -179
- package/dist/runs/background/async-job-admission.js +0 -40
- package/dist/runs/background/async-job-projection.js +0 -169
- package/dist/runs/background/async-job-tracker.js +0 -353
- package/dist/runs/background/async-launch.js +0 -216
- package/dist/runs/background/async-plan.js +0 -116
- package/dist/runs/background/async-result-file.js +0 -82
- package/dist/runs/background/async-resume.js +0 -247
- package/dist/runs/background/async-run-discovery.js +0 -211
- package/dist/runs/background/async-run-location.js +0 -135
- package/dist/runs/background/async-run-record.js +0 -1
- package/dist/runs/background/async-run-repair.js +0 -223
- package/dist/runs/background/async-run-summary.js +0 -1
- package/dist/runs/background/async-single-plan.js +0 -105
- package/dist/runs/background/async-status-projection.js +0 -155
- package/dist/runs/background/async-status-render.js +0 -117
- package/dist/runs/background/async-status-validation.js +0 -181
- package/dist/runs/background/async-status.js +0 -3
- package/dist/runs/background/async-value.js +0 -21
- package/dist/runs/background/completion-dedupe.js +0 -42
- package/dist/runs/background/completion-delivery.js +0 -251
- package/dist/runs/background/completion-receipts.js +0 -237
- package/dist/runs/background/legacy-status-acceptance.js +0 -34
- package/dist/runs/background/notify.js +0 -111
- package/dist/runs/background/parallel-groups.js +0 -72
- package/dist/runs/background/result-payload.js +0 -178
- package/dist/runs/background/result-watcher.js +0 -435
- package/dist/runs/background/run-id-resolver.js +0 -84
- package/dist/runs/background/run-schemas.js +0 -189
- package/dist/runs/background/run-status-contracts.js +0 -14
- package/dist/runs/background/run-status-render.js +0 -270
- package/dist/runs/background/run-status.js +0 -274
- package/dist/runs/background/runner-attempt-output.js +0 -155
- package/dist/runs/background/runner-attempt.js +0 -263
- package/dist/runs/background/runner-child-executor.js +0 -166
- package/dist/runs/background/runner-child-observer.js +0 -197
- package/dist/runs/background/runner-completion-summary.js +0 -71
- package/dist/runs/background/runner-completion.js +0 -211
- package/dist/runs/background/runner-config.js +0 -1
- package/dist/runs/background/runner-contract.js +0 -1
- package/dist/runs/background/runner-dynamic.js +0 -121
- package/dist/runs/background/runner-finalization.js +0 -149
- package/dist/runs/background/runner-graph.js +0 -68
- package/dist/runs/background/runner-initial-status.js +0 -60
- package/dist/runs/background/runner-lifecycle.js +0 -142
- package/dist/runs/background/runner-monitor.js +0 -311
- package/dist/runs/background/runner-parallel.js +0 -203
- package/dist/runs/background/runner-prepare-step.js +0 -86
- package/dist/runs/background/runner-reporting.js +0 -153
- package/dist/runs/background/runner-status.js +0 -148
- package/dist/runs/background/runner-step-output.js +0 -90
- package/dist/runs/background/runner-step-record.js +0 -45
- package/dist/runs/background/runner-step.js +0 -112
- package/dist/runs/background/runner-streaming.js +0 -173
- package/dist/runs/background/runner-workflow.js +0 -213
- package/dist/runs/background/stale-run-reconciler.js +0 -198
- package/dist/runs/background/subagent-runner-launcher.js +0 -75
- package/dist/runs/background/subagent-runner.js +0 -81
- package/dist/runs/background/top-level-async.js +0 -6
- package/dist/runs/foreground/chain-clarify.js +0 -428
- package/dist/runs/foreground/clarification-draft.js +0 -87
- package/dist/runs/foreground/clarify-contracts.js +0 -1
- package/dist/runs/foreground/clarify-invocation.js +0 -163
- package/dist/runs/foreground/clarify-text-editor.js +0 -210
- package/dist/runs/foreground/clarify-view.js +0 -167
- package/dist/runs/foreground/execution-input.js +0 -296
- package/dist/runs/foreground/execution-routing.js +0 -33
- package/dist/runs/foreground/execution-timeout.js +0 -81
- package/dist/runs/foreground/foreground-control.js +0 -276
- package/dist/runs/foreground/foreground-memory.js +0 -99
- package/dist/runs/foreground/invocation-context.js +0 -55
- package/dist/runs/foreground/invocation-execution.js +0 -331
- package/dist/runs/foreground/invocation-expansion.js +0 -48
- package/dist/runs/foreground/management-actions.js +0 -295
- package/dist/runs/foreground/nested-control.js +0 -179
- package/dist/runs/foreground/question-continuation.js +0 -78
- package/dist/runs/foreground/question-control.js +0 -193
- package/dist/runs/foreground/resume-target.js +0 -221
- package/dist/runs/foreground/revival-launch-policy.js +0 -58
- package/dist/runs/foreground/run-async-path.js +0 -217
- package/dist/runs/foreground/run-interrupt.js +0 -164
- package/dist/runs/foreground/run-nudge.js +0 -278
- package/dist/runs/foreground/saved-revival.js +0 -251
- package/dist/runs/foreground/subagent-executor.js +0 -153
- package/dist/runs/foreground/subagent-params.js +0 -202
- package/dist/runs/foreground/wait-observation.js +0 -104
- package/dist/runs/foreground/wait-registration.js +0 -17
- package/dist/runs/foreground/wait-run.js +0 -301
- package/dist/runs/shared/acceptance-contract.js +0 -347
- package/dist/runs/shared/acceptance-defaults.js +0 -1
- package/dist/runs/shared/acceptance-evaluation.js +0 -276
- package/dist/runs/shared/acceptance-finalization.js +0 -356
- package/dist/runs/shared/acceptance-outcome.js +0 -53
- package/dist/runs/shared/acceptance-reports.js +0 -212
- package/dist/runs/shared/acceptance-submission.js +0 -167
- package/dist/runs/shared/acceptance-verification.js +0 -100
- package/dist/runs/shared/acceptance.js +0 -4
- package/dist/runs/shared/chain-outputs.js +0 -138
- package/dist/runs/shared/child-attempt-types.js +0 -1
- package/dist/runs/shared/child-attempt.js +0 -340
- package/dist/runs/shared/child-boundaries.js +0 -173
- package/dist/runs/shared/child-context-filter.js +0 -44
- package/dist/runs/shared/child-event-observer.js +0 -390
- package/dist/runs/shared/child-execution-cwd.js +0 -126
- package/dist/runs/shared/child-execution-outcome.js +0 -72
- package/dist/runs/shared/child-invocation.js +0 -54
- package/dist/runs/shared/child-message-validation.js +0 -215
- package/dist/runs/shared/child-native-accounting.js +0 -106
- package/dist/runs/shared/child-native-observation.js +0 -69
- package/dist/runs/shared/child-observation-spool.js +0 -169
- package/dist/runs/shared/child-observations.js +0 -195
- package/dist/runs/shared/child-presence.js +0 -3
- package/dist/runs/shared/child-route-env.js +0 -119
- package/dist/runs/shared/child-stream-observer.js +0 -221
- package/dist/runs/shared/child-stream-projection.js +0 -137
- package/dist/runs/shared/child-structured-tool.js +0 -27
- package/dist/runs/shared/claude-code.js +0 -162
- package/dist/runs/shared/claude-model.js +0 -42
- package/dist/runs/shared/claude-session.js +0 -83
- package/dist/runs/shared/claude-types.js +0 -1
- package/dist/runs/shared/completion-guard.js +0 -31
- package/dist/runs/shared/control-event-policy.js +0 -8
- package/dist/runs/shared/control-notification-owner.js +0 -13
- package/dist/runs/shared/dynamic-fanout.js +0 -289
- package/dist/runs/shared/dynamic-item.js +0 -102
- package/dist/runs/shared/history-index.js +0 -98
- package/dist/runs/shared/legacy-async-recovery.js +0 -114
- package/dist/runs/shared/legacy-output-recovery.js +0 -148
- package/dist/runs/shared/mcp-config-schema.js +0 -36
- package/dist/runs/shared/mcp-direct-tool-allowlist.js +0 -365
- package/dist/runs/shared/model-fallback.js +0 -247
- package/dist/runs/shared/mutating-tool-guard.js +0 -210
- package/dist/runs/shared/native-finalization-types.js +0 -1
- package/dist/runs/shared/native-finalization.js +0 -180
- package/dist/runs/shared/native-usage.js +0 -293
- package/dist/runs/shared/nested-control-records.js +0 -128
- package/dist/runs/shared/nested-events.js +0 -8
- package/dist/runs/shared/nested-path.js +0 -52
- package/dist/runs/shared/nested-projection.js +0 -155
- package/dist/runs/shared/nested-protocol.js +0 -18
- package/dist/runs/shared/nested-registry.js +0 -191
- package/dist/runs/shared/nested-render.js +0 -156
- package/dist/runs/shared/nested-route.js +0 -220
- package/dist/runs/shared/nested-validation.js +0 -216
- package/dist/runs/shared/owned-child-evidence.js +0 -125
- package/dist/runs/shared/owned-run-list.js +0 -146
- package/dist/runs/shared/owned-run-observation.js +0 -267
- package/dist/runs/shared/owned-run-progress.js +0 -109
- package/dist/runs/shared/owned-run-read-state.js +0 -1
- package/dist/runs/shared/owned-run-results.js +0 -202
- package/dist/runs/shared/owned-run-status.js +0 -180
- package/dist/runs/shared/owned-run-view.js +0 -51
- package/dist/runs/shared/owned-workflow-details.js +0 -17
- package/dist/runs/shared/owner-output.js +0 -43
- package/dist/runs/shared/parallel-utils.js +0 -49
- package/dist/runs/shared/parent-receipts.js +0 -126
- package/dist/runs/shared/parent-usage.js +0 -233
- package/dist/runs/shared/pi-args.js +0 -217
- package/dist/runs/shared/pi-launch-input.js +0 -1
- package/dist/runs/shared/pi-session-launch.js +0 -86
- package/dist/runs/shared/pi-spawn.js +0 -66
- package/dist/runs/shared/run-history-queries.js +0 -136
- package/dist/runs/shared/run-history.js +0 -176
- package/dist/runs/shared/run-id-ambiguity.js +0 -4
- package/dist/runs/shared/run-metadata-paths.js +0 -14
- package/dist/runs/shared/run-metadata.js +0 -158
- package/dist/runs/shared/run-persistence.js +0 -131
- package/dist/runs/shared/run-records.js +0 -9
- package/dist/runs/shared/run-restoration.js +0 -337
- package/dist/runs/shared/run-state-owner.js +0 -26
- package/dist/runs/shared/session-cwd-preload.js +0 -42
- package/dist/runs/shared/single-output.js +0 -297
- package/dist/runs/shared/stable-value.js +0 -15
- package/dist/runs/shared/streaming-text.js +0 -26
- package/dist/runs/shared/structured-output.js +0 -67
- package/dist/runs/shared/subagent-control.js +0 -246
- package/dist/runs/shared/subagent-prompt-runtime.js +0 -94
- package/dist/runs/shared/subagent-tool-loop-guard.js +0 -95
- package/dist/runs/shared/supervisor-question-state.js +0 -145
- package/dist/runs/shared/supervisor-questions.js +0 -284
- package/dist/runs/shared/workflow-graph.js +0 -306
- package/dist/runs/shared/workflow-policy.js +0 -157
- package/dist/runs/shared/worktree-contract.js +0 -1
- package/dist/runs/shared/worktree-hook.js +0 -138
- package/dist/runs/shared/worktree-location.js +0 -47
- package/dist/runs/shared/worktree-preservation.js +0 -8
- package/dist/runs/shared/worktree-process.js +0 -107
- package/dist/runs/shared/worktree.js +0 -386
- package/dist/shared/agent-context-policy.js +0 -116
- package/dist/shared/agent-dir.js +0 -14
- package/dist/shared/artifacts.js +0 -114
- package/dist/shared/atomic-json.js +0 -16
- package/dist/shared/chain-files.js +0 -72
- package/dist/shared/concurrency.js +0 -18
- package/dist/shared/content-preview.js +0 -115
- package/dist/shared/execution-cwd.js +0 -22
- package/dist/shared/file-coalescer.js +0 -22
- package/dist/shared/fork-context.js +0 -47
- package/dist/shared/formatters.js +0 -111
- package/dist/shared/journal-reader.js +0 -6
- package/dist/shared/lazy-tools.js +0 -43
- package/dist/shared/message-output.js +0 -116
- package/dist/shared/model-info.js +0 -85
- package/dist/shared/native-import.js +0 -20
- package/dist/shared/native-session-loader.js +0 -17
- package/dist/shared/native-session.js +0 -4
- package/dist/shared/native-tui.js +0 -23
- package/dist/shared/native-typebox.js +0 -32
- package/dist/shared/prompt-sections.js +0 -10
- package/dist/shared/session-entries.js +0 -87
- package/dist/shared/session-identity.js +0 -16
- package/dist/shared/settings.js +0 -121
- package/dist/shared/status-format.js +0 -171
- package/dist/shared/task-file-policy.js +0 -24
- package/dist/shared/temp-root.js +0 -143
- package/dist/shared/types/acceptance.js +0 -1
- package/dist/shared/types/async.js +0 -1
- package/dist/shared/types/config.js +0 -1
- package/dist/shared/types/details.js +0 -1
- package/dist/shared/types/history.js +0 -1
- package/dist/shared/types/inputs.js +0 -1
- package/dist/shared/types/intercom.js +0 -1
- package/dist/shared/types/launch.js +0 -1
- package/dist/shared/types/messages.js +0 -1
- package/dist/shared/types/nested.js +0 -1
- package/dist/shared/types/owned-runs.js +0 -1
- package/dist/shared/types/progress.js +0 -1
- package/dist/shared/types/questions.js +0 -1
- package/dist/shared/types/results.js +0 -1
- package/dist/shared/types/state.js +0 -1
- package/dist/shared/types/usage.js +0 -1
- package/dist/shared/types/workflow.js +0 -1
- package/dist/shared/ui-mode.js +0 -3
- package/dist/shared/utils.js +0 -128
- package/dist/slash/command-discovery.js +0 -83
- package/dist/slash/command-input.js +0 -190
- package/dist/slash/prompt-template-bridge.js +0 -122
- package/dist/slash/prompt-template-contract.js +0 -77
- package/dist/slash/prompt-template-results.js +0 -125
- package/dist/slash/request-protocol.js +0 -68
- package/dist/slash/result-delivery.js +0 -237
- package/dist/slash/saved-chain.js +0 -78
- package/dist/slash/slash-bridge.js +0 -150
- package/dist/slash/slash-commands.js +0 -136
- package/dist/slash/slash-live-state.js +0 -267
- package/dist/tui/action-hints.js +0 -103
- package/dist/tui/activity-lines.js +0 -32
- package/dist/tui/agent-browser.js +0 -290
- package/dist/tui/agent-controls.js +0 -289
- package/dist/tui/agent-conversation.js +0 -444
- package/dist/tui/agent-dock.js +0 -171
- package/dist/tui/agent-history.js +0 -50
- package/dist/tui/agent-model.js +0 -62
- package/dist/tui/agent-picker.js +0 -262
- package/dist/tui/agent-view.js +0 -350
- package/dist/tui/compact-results.js +0 -193
- package/dist/tui/conversation-details.js +0 -190
- package/dist/tui/conversation-frame.js +0 -135
- package/dist/tui/conversation-history.js +0 -210
- package/dist/tui/conversation-menu.js +0 -78
- package/dist/tui/conversation-notices.js +0 -79
- package/dist/tui/conversation-selection.js +0 -58
- package/dist/tui/conversation-viewport.js +0 -129
- package/dist/tui/direction-message.js +0 -27
- package/dist/tui/display.js +0 -282
- package/dist/tui/editor-viewport.js +0 -18
- package/dist/tui/expanded-content.js +0 -87
- package/dist/tui/expanded-multi.js +0 -170
- package/dist/tui/expanded-single.js +0 -65
- package/dist/tui/history-cards.js +0 -202
- package/dist/tui/history-display.js +0 -238
- package/dist/tui/history-json.js +0 -16
- package/dist/tui/history-metadata.js +0 -152
- package/dist/tui/history-record.js +0 -251
- package/dist/tui/history-text.js +0 -34
- package/dist/tui/indexed-history.js +0 -116
- package/dist/tui/nested-widget.js +0 -120
- package/dist/tui/picker-page.js +0 -59
- package/dist/tui/render.js +0 -72
- package/dist/tui/result-facts.js +0 -64
- package/dist/tui/task-observation.js +0 -59
- package/dist/tui/task-store.js +0 -366
- package/dist/tui/text-values.js +0 -16
- package/dist/tui/view-connections.js +0 -47
- package/dist/tui/view-model.js +0 -94
- package/dist/tui/view-persistence.js +0 -51
- package/dist/tui/view-ports.js +0 -1
- package/dist/tui/view-session.js +0 -37
- package/dist/tui/widget-details.js +0 -144
- package/dist/tui/widget-status.js +0 -245
- package/dist/tui/widget.js +0 -145
- package/dist/tui/workflow-labels.js +0 -223
- package/dist/tui/workflow-outcomes.js +0 -124
- package/generated/RunValidators.d.ts +0 -28
- package/generated/RunValidators.js +0 -2
- package/prompts/gather-context-and-clarify.md +0 -14
- package/prompts/parallel-cleanup.md +0 -65
- package/prompts/parallel-context-build.md +0 -59
- package/prompts/parallel-handoff-plan.md +0 -68
- package/prompts/parallel-research.md +0 -55
- package/prompts/parallel-review.md +0 -61
- package/prompts/review-loop.md +0 -44
- package/scripts/generate-run-schemas.mjs +0 -210
- package/skills/pi-intercom/evals/evals.json +0 -29
- package/skills/pi-intercom/evals/trigger-evals.json +0 -47
- package/skills/pi-intercom/references/peer-sessions.md +0 -74
- package/skills/pi-subagents/evals/evals.json +0 -29
- package/skills/pi-subagents/evals/trigger-evals.json +0 -42
- package/skills/pi-subagents/references/full-orchestration-guide.md +0 -1005
- package/src/agents/agent-defaults.ts +0 -13
- package/src/agents/agent-definition.ts +0 -253
- package/src/agents/agent-management.ts +0 -120
- package/src/agents/agent-scope.ts +0 -11
- package/src/agents/agent-selection.ts +0 -22
- package/src/agents/agent-serializer.ts +0 -90
- package/src/agents/agents.ts +0 -214
- package/src/agents/builtin-overrides.ts +0 -297
- package/src/agents/chain-serializer.ts +0 -3
- package/src/agents/config-values.ts +0 -57
- package/src/agents/discovery-paths.ts +0 -134
- package/src/agents/frontmatter.ts +0 -39
- package/src/agents/identity.ts +0 -61
- package/src/agents/json-chain.ts +0 -305
- package/src/agents/management-config.ts +0 -342
- package/src/agents/management-format.ts +0 -243
- package/src/agents/management-persistence.ts +0 -408
- package/src/agents/management-targets.ts +0 -260
- package/src/agents/management-warnings.ts +0 -115
- package/src/agents/markdown-chain.ts +0 -237
- package/src/agents/package-agents.ts +0 -231
- package/src/agents/skill-files.ts +0 -182
- package/src/agents/skill-search-paths.ts +0 -289
- package/src/agents/skill-types.ts +0 -31
- package/src/agents/skills.ts +0 -179
- package/src/extension/acceptance-schema.ts +0 -88
- package/src/extension/build-info.ts +0 -2
- package/src/extension/chain-schema.ts +0 -276
- package/src/extension/child-runtime.ts +0 -302
- package/src/extension/compact-tools.ts +0 -271
- package/src/extension/config-schema.ts +0 -59
- package/src/extension/config.ts +0 -45
- package/src/extension/control-notice-schema.ts +0 -55
- package/src/extension/control-notices.ts +0 -71
- package/src/extension/delegation-bridges.ts +0 -59
- package/src/extension/doctor.ts +0 -207
- package/src/extension/everyday-schemas.ts +0 -252
- package/src/extension/fanout-child.ts +0 -33
- package/src/extension/index.ts +0 -31
- package/src/extension/message-renderers.ts +0 -334
- package/src/extension/nested-control-inbox.ts +0 -196
- package/src/extension/parent-runtime.ts +0 -405
- package/src/extension/primary-tool.ts +0 -130
- package/src/extension/result-snapshot.ts +0 -9
- package/src/extension/runtime-reload.ts +0 -72
- package/src/extension/runtime-storage.ts +0 -49
- package/src/extension/schema-overrides.ts +0 -114
- package/src/extension/schemas.ts +0 -477
- package/src/extension/tool-input.ts +0 -46
- package/src/extension/tool-result.ts +0 -47
- package/src/history/answer-texts.ts +0 -74
- package/src/history/canonical-result.ts +0 -138
- package/src/history/canonical-selection.ts +0 -54
- package/src/history/database-generation.ts +0 -86
- package/src/history/database.ts +0 -97
- package/src/history/entry-ingestion.ts +0 -129
- package/src/history/index.ts +0 -434
- package/src/history/ingest.ts +0 -387
- package/src/history/output-digests.ts +0 -41
- package/src/history/preview.ts +0 -235
- package/src/history/prune.ts +0 -48
- package/src/history/queries.ts +0 -125
- package/src/history/query-scope.ts +0 -278
- package/src/history/rows.ts +0 -118
- package/src/history/run-projection.ts +0 -162
- package/src/history/run-queries.ts +0 -199
- package/src/history/schema.ts +0 -34
- package/src/history/search-queries.ts +0 -223
- package/src/history/selected-record.ts +0 -140
- package/src/history/source-file.ts +0 -51
- package/src/history/source-watches.ts +0 -156
- package/src/history/store.ts +0 -332
- package/src/history/text-chunks.ts +0 -186
- package/src/history/text.ts +0 -43
- package/src/history/transcript-queries.ts +0 -257
- package/src/history/types.ts +0 -29
- package/src/history/values.ts +0 -36
- package/src/history/wire-inputs.ts +0 -141
- package/src/history/wire-models.ts +0 -51
- package/src/history/worker-runtime.ts +0 -502
- package/src/history/worker.ts +0 -99
- package/src/intercom/intercom-bridge.ts +0 -190
- package/src/intercom/live-intercom.ts +0 -209
- package/src/intercom/nested-result-tree.ts +0 -213
- package/src/intercom/result-delivery.ts +0 -56
- package/src/intercom/result-intercom.ts +0 -308
- package/src/pi-intercom/bridge-ask.ts +0 -64
- package/src/pi-intercom/bridge-broadcast.ts +0 -70
- package/src/pi-intercom/bridge-catalog.ts +0 -489
- package/src/pi-intercom/bridge-control.ts +0 -179
- package/src/pi-intercom/bridge-groups.ts +0 -169
- package/src/pi-intercom/bridge-launch-journal.ts +0 -122
- package/src/pi-intercom/bridge-launch-policy.ts +0 -190
- package/src/pi-intercom/bridge-launch.ts +0 -506
- package/src/pi-intercom/bridge-operations.ts +0 -169
- package/src/pi-intercom/bridge-rpc-process.ts +0 -330
- package/src/pi-intercom/interview.ts +0 -295
- package/src/pi-intercom/native-control-auth.ts +0 -89
- package/src/pi-intercom/native-control-protocol.ts +0 -180
- package/src/pi-intercom/native-control.ts +0 -160
- package/src/pi-intercom/peer-awareness.ts +0 -84
- package/src/pi-intercom/saved-transcript.ts +0 -175
- package/src/pi-intercom/subagent-events.ts +0 -299
- package/src/pi-intercom/subagent-live-events.ts +0 -236
- package/src/pi-intercom/supervisor.ts +0 -362
- package/src/pi-intercom/topic-actions.ts +0 -243
- package/src/pi-intercom/topics.ts +0 -271
- package/src/pi-intercom/transcript.ts +0 -226
- package/src/pi-intercom/ui/compose-paste.ts +0 -109
- package/src/pi-intercom/ui/compose.ts +0 -305
- package/src/pi-intercom/ui/inline-message.ts +0 -110
- package/src/pi-intercom/ui/message-renderers.ts +0 -182
- package/src/pi-intercom/ui/overlay.ts +0 -238
- package/src/pi-intercom/ui/session-list.ts +0 -222
- package/src/pi-intercom/ui/tool-renderers.ts +0 -148
- package/src/pi-intercom/ui/topic-view.ts +0 -107
- package/src/runs/background/async-chain-plan.ts +0 -451
- package/src/runs/background/async-control.ts +0 -219
- package/src/runs/background/async-execution.ts +0 -227
- package/src/runs/background/async-job-admission.ts +0 -54
- package/src/runs/background/async-job-projection.ts +0 -225
- package/src/runs/background/async-job-tracker.ts +0 -441
- package/src/runs/background/async-launch.ts +0 -319
- package/src/runs/background/async-plan.ts +0 -285
- package/src/runs/background/async-result-file.ts +0 -104
- package/src/runs/background/async-resume.ts +0 -386
- package/src/runs/background/async-run-discovery.ts +0 -264
- package/src/runs/background/async-run-location.ts +0 -194
- package/src/runs/background/async-run-record.ts +0 -14
- package/src/runs/background/async-run-repair.ts +0 -307
- package/src/runs/background/async-run-summary.ts +0 -71
- package/src/runs/background/async-single-plan.ts +0 -168
- package/src/runs/background/async-status-projection.ts +0 -188
- package/src/runs/background/async-status-render.ts +0 -164
- package/src/runs/background/async-status-validation.ts +0 -238
- package/src/runs/background/async-status.ts +0 -9
- package/src/runs/background/async-value.ts +0 -29
- package/src/runs/background/completion-dedupe.ts +0 -65
- package/src/runs/background/completion-delivery.ts +0 -321
- package/src/runs/background/completion-receipts.ts +0 -309
- package/src/runs/background/legacy-status-acceptance.ts +0 -38
- package/src/runs/background/notify.ts +0 -174
- package/src/runs/background/parallel-groups.ts +0 -102
- package/src/runs/background/result-payload.ts +0 -268
- package/src/runs/background/result-watcher.ts +0 -520
- package/src/runs/background/run-id-resolver.ts +0 -138
- package/src/runs/background/run-schemas.ts +0 -240
- package/src/runs/background/run-status-contracts.ts +0 -46
- package/src/runs/background/run-status-render.ts +0 -364
- package/src/runs/background/run-status.ts +0 -366
- package/src/runs/background/runner-attempt-output.ts +0 -281
- package/src/runs/background/runner-attempt.ts +0 -354
- package/src/runs/background/runner-child-executor.ts +0 -232
- package/src/runs/background/runner-child-observer.ts +0 -278
- package/src/runs/background/runner-completion-summary.ts +0 -106
- package/src/runs/background/runner-completion.ts +0 -274
- package/src/runs/background/runner-config.ts +0 -52
- package/src/runs/background/runner-contract.ts +0 -51
- package/src/runs/background/runner-dynamic.ts +0 -185
- package/src/runs/background/runner-finalization.ts +0 -203
- package/src/runs/background/runner-graph.ts +0 -91
- package/src/runs/background/runner-initial-status.ts +0 -72
- package/src/runs/background/runner-lifecycle.ts +0 -159
- package/src/runs/background/runner-monitor.ts +0 -401
- package/src/runs/background/runner-parallel.ts +0 -279
- package/src/runs/background/runner-prepare-step.ts +0 -128
- package/src/runs/background/runner-reporting.ts +0 -192
- package/src/runs/background/runner-status.ts +0 -220
- package/src/runs/background/runner-step-output.ts +0 -156
- package/src/runs/background/runner-step-record.ts +0 -76
- package/src/runs/background/runner-step.ts +0 -150
- package/src/runs/background/runner-streaming.ts +0 -220
- package/src/runs/background/runner-workflow.ts +0 -284
- package/src/runs/background/stale-run-reconciler.ts +0 -312
- package/src/runs/background/subagent-runner-launcher.ts +0 -88
- package/src/runs/background/subagent-runner.ts +0 -85
- package/src/runs/background/top-level-async.ts +0 -15
- package/src/runs/foreground/chain-clarify.ts +0 -505
- package/src/runs/foreground/clarification-draft.ts +0 -92
- package/src/runs/foreground/clarify-contracts.ts +0 -33
- package/src/runs/foreground/clarify-invocation.ts +0 -204
- package/src/runs/foreground/clarify-text-editor.ts +0 -229
- package/src/runs/foreground/clarify-view.ts +0 -222
- package/src/runs/foreground/execution-input.ts +0 -401
- package/src/runs/foreground/execution-routing.ts +0 -41
- package/src/runs/foreground/execution-timeout.ts +0 -92
- package/src/runs/foreground/foreground-control.ts +0 -342
- package/src/runs/foreground/foreground-memory.ts +0 -132
- package/src/runs/foreground/invocation-context.ts +0 -88
- package/src/runs/foreground/invocation-execution.ts +0 -465
- package/src/runs/foreground/invocation-expansion.ts +0 -58
- package/src/runs/foreground/management-actions.ts +0 -360
- package/src/runs/foreground/nested-control.ts +0 -248
- package/src/runs/foreground/question-continuation.ts +0 -112
- package/src/runs/foreground/question-control.ts +0 -309
- package/src/runs/foreground/resume-target.ts +0 -330
- package/src/runs/foreground/revival-launch-policy.ts +0 -112
- package/src/runs/foreground/run-async-path.ts +0 -327
- package/src/runs/foreground/run-interrupt.ts +0 -202
- package/src/runs/foreground/run-nudge.ts +0 -355
- package/src/runs/foreground/saved-revival.ts +0 -356
- package/src/runs/foreground/subagent-executor.ts +0 -203
- package/src/runs/foreground/subagent-params.ts +0 -392
- package/src/runs/foreground/wait-observation.ts +0 -160
- package/src/runs/foreground/wait-registration.ts +0 -18
- package/src/runs/foreground/wait-run.ts +0 -366
- package/src/runs/shared/acceptance-contract.ts +0 -458
- package/src/runs/shared/acceptance-defaults.ts +0 -1
- package/src/runs/shared/acceptance-evaluation.ts +0 -349
- package/src/runs/shared/acceptance-finalization.ts +0 -495
- package/src/runs/shared/acceptance-outcome.ts +0 -69
- package/src/runs/shared/acceptance-reports.ts +0 -246
- package/src/runs/shared/acceptance-submission.ts +0 -251
- package/src/runs/shared/acceptance-verification.ts +0 -118
- package/src/runs/shared/acceptance.ts +0 -31
- package/src/runs/shared/chain-outputs.ts +0 -206
- package/src/runs/shared/child-attempt-types.ts +0 -118
- package/src/runs/shared/child-attempt.ts +0 -387
- package/src/runs/shared/child-boundaries.ts +0 -217
- package/src/runs/shared/child-context-filter.ts +0 -53
- package/src/runs/shared/child-event-observer.ts +0 -496
- package/src/runs/shared/child-execution-cwd.ts +0 -162
- package/src/runs/shared/child-execution-outcome.ts +0 -103
- package/src/runs/shared/child-invocation.ts +0 -74
- package/src/runs/shared/child-message-validation.ts +0 -233
- package/src/runs/shared/child-native-accounting.ts +0 -154
- package/src/runs/shared/child-native-observation.ts +0 -79
- package/src/runs/shared/child-observation-spool.ts +0 -193
- package/src/runs/shared/child-observations.ts +0 -229
- package/src/runs/shared/child-presence.ts +0 -6
- package/src/runs/shared/child-route-env.ts +0 -142
- package/src/runs/shared/child-stream-observer.ts +0 -302
- package/src/runs/shared/child-stream-projection.ts +0 -160
- package/src/runs/shared/child-structured-tool.ts +0 -38
- package/src/runs/shared/claude-code.ts +0 -216
- package/src/runs/shared/claude-model.ts +0 -67
- package/src/runs/shared/claude-session.ts +0 -124
- package/src/runs/shared/claude-types.ts +0 -31
- package/src/runs/shared/completion-guard.ts +0 -44
- package/src/runs/shared/control-event-policy.ts +0 -15
- package/src/runs/shared/control-notification-owner.ts +0 -20
- package/src/runs/shared/dynamic-fanout.ts +0 -459
- package/src/runs/shared/dynamic-item.ts +0 -114
- package/src/runs/shared/history-index.ts +0 -130
- package/src/runs/shared/legacy-async-recovery.ts +0 -153
- package/src/runs/shared/legacy-output-recovery.ts +0 -214
- package/src/runs/shared/mcp-config-schema.ts +0 -46
- package/src/runs/shared/mcp-direct-tool-allowlist.ts +0 -465
- package/src/runs/shared/model-fallback.ts +0 -344
- package/src/runs/shared/mutating-tool-guard.ts +0 -295
- package/src/runs/shared/native-finalization-types.ts +0 -29
- package/src/runs/shared/native-finalization.ts +0 -252
- package/src/runs/shared/native-usage.ts +0 -396
- package/src/runs/shared/nested-control-records.ts +0 -178
- package/src/runs/shared/nested-events.ts +0 -45
- package/src/runs/shared/nested-path.ts +0 -65
- package/src/runs/shared/nested-projection.ts +0 -230
- package/src/runs/shared/nested-protocol.ts +0 -67
- package/src/runs/shared/nested-registry.ts +0 -273
- package/src/runs/shared/nested-render.ts +0 -217
- package/src/runs/shared/nested-route.ts +0 -292
- package/src/runs/shared/nested-validation.ts +0 -291
- package/src/runs/shared/owned-child-evidence.ts +0 -184
- package/src/runs/shared/owned-run-list.ts +0 -187
- package/src/runs/shared/owned-run-observation.ts +0 -368
- package/src/runs/shared/owned-run-progress.ts +0 -172
- package/src/runs/shared/owned-run-read-state.ts +0 -7
- package/src/runs/shared/owned-run-results.ts +0 -289
- package/src/runs/shared/owned-run-status.ts +0 -239
- package/src/runs/shared/owned-run-view.ts +0 -65
- package/src/runs/shared/owned-workflow-details.ts +0 -24
- package/src/runs/shared/owner-output.ts +0 -73
- package/src/runs/shared/parallel-utils.ts +0 -93
- package/src/runs/shared/parent-receipts.ts +0 -186
- package/src/runs/shared/parent-usage.ts +0 -344
- package/src/runs/shared/pi-args.ts +0 -280
- package/src/runs/shared/pi-launch-input.ts +0 -48
- package/src/runs/shared/pi-session-launch.ts +0 -94
- package/src/runs/shared/pi-spawn.ts +0 -76
- package/src/runs/shared/run-history-queries.ts +0 -195
- package/src/runs/shared/run-history.ts +0 -221
- package/src/runs/shared/run-id-ambiguity.ts +0 -8
- package/src/runs/shared/run-metadata-paths.ts +0 -17
- package/src/runs/shared/run-metadata.ts +0 -240
- package/src/runs/shared/run-persistence.ts +0 -181
- package/src/runs/shared/run-records.ts +0 -19
- package/src/runs/shared/run-restoration.ts +0 -455
- package/src/runs/shared/run-state-owner.ts +0 -31
- package/src/runs/shared/session-cwd-preload.ts +0 -47
- package/src/runs/shared/single-output.ts +0 -416
- package/src/runs/shared/stable-value.ts +0 -15
- package/src/runs/shared/streaming-text.ts +0 -45
- package/src/runs/shared/structured-output.ts +0 -98
- package/src/runs/shared/subagent-control.ts +0 -352
- package/src/runs/shared/subagent-prompt-runtime.ts +0 -119
- package/src/runs/shared/subagent-tool-loop-guard.ts +0 -139
- package/src/runs/shared/supervisor-question-state.ts +0 -221
- package/src/runs/shared/supervisor-questions.ts +0 -410
- package/src/runs/shared/workflow-graph.ts +0 -422
- package/src/runs/shared/workflow-policy.ts +0 -260
- package/src/runs/shared/worktree-contract.ts +0 -29
- package/src/runs/shared/worktree-hook.ts +0 -181
- package/src/runs/shared/worktree-location.ts +0 -61
- package/src/runs/shared/worktree-preservation.ts +0 -10
- package/src/runs/shared/worktree-process.ts +0 -132
- package/src/runs/shared/worktree.ts +0 -507
- package/src/shared/agent-context-policy.ts +0 -215
- package/src/shared/agent-dir.ts +0 -15
- package/src/shared/artifacts.ts +0 -126
- package/src/shared/atomic-json.ts +0 -19
- package/src/shared/chain-files.ts +0 -72
- package/src/shared/concurrency.ts +0 -27
- package/src/shared/content-preview.ts +0 -117
- package/src/shared/execution-cwd.ts +0 -39
- package/src/shared/file-coalescer.ts +0 -31
- package/src/shared/fork-context.ts +0 -72
- package/src/shared/formatters.ts +0 -125
- package/src/shared/journal-reader.ts +0 -18
- package/src/shared/lazy-tools.ts +0 -85
- package/src/shared/message-output.ts +0 -146
- package/src/shared/model-info.ts +0 -117
- package/src/shared/native-import.ts +0 -25
- package/src/shared/native-session-loader.ts +0 -13
- package/src/shared/native-session.ts +0 -6
- package/src/shared/native-tui.ts +0 -20
- package/src/shared/native-typebox.ts +0 -29
- package/src/shared/prompt-sections.ts +0 -16
- package/src/shared/session-entries.ts +0 -108
- package/src/shared/session-identity.ts +0 -25
- package/src/shared/settings.ts +0 -196
- package/src/shared/status-format.ts +0 -232
- package/src/shared/task-file-policy.ts +0 -35
- package/src/shared/temp-root.ts +0 -158
- package/src/shared/types/acceptance.ts +0 -149
- package/src/shared/types/async.ts +0 -247
- package/src/shared/types/config.ts +0 -139
- package/src/shared/types/details.ts +0 -104
- package/src/shared/types/history.ts +0 -217
- package/src/shared/types/inputs.ts +0 -4
- package/src/shared/types/intercom.ts +0 -57
- package/src/shared/types/launch.ts +0 -39
- package/src/shared/types/messages.ts +0 -104
- package/src/shared/types/nested.ts +0 -153
- package/src/shared/types/owned-runs.ts +0 -148
- package/src/shared/types/progress.ts +0 -106
- package/src/shared/types/questions.ts +0 -103
- package/src/shared/types/results.ts +0 -119
- package/src/shared/types/state.ts +0 -56
- package/src/shared/types/usage.ts +0 -36
- package/src/shared/types/workflow.ts +0 -187
- package/src/shared/ui-mode.ts +0 -5
- package/src/shared/utils.ts +0 -148
- package/src/slash/command-discovery.ts +0 -110
- package/src/slash/command-input.ts +0 -232
- package/src/slash/prompt-template-bridge.ts +0 -161
- package/src/slash/prompt-template-contract.ts +0 -152
- package/src/slash/prompt-template-results.ts +0 -189
- package/src/slash/request-protocol.ts +0 -87
- package/src/slash/result-delivery.ts +0 -312
- package/src/slash/saved-chain.ts +0 -115
- package/src/slash/slash-bridge.ts +0 -224
- package/src/slash/slash-commands.ts +0 -195
- package/src/slash/slash-live-state.ts +0 -350
- package/src/tui/action-hints.ts +0 -155
- package/src/tui/activity-lines.ts +0 -40
- package/src/tui/agent-browser.ts +0 -354
- package/src/tui/agent-controls.ts +0 -355
- package/src/tui/agent-conversation.ts +0 -514
- package/src/tui/agent-dock.ts +0 -250
- package/src/tui/agent-history.ts +0 -68
- package/src/tui/agent-model.ts +0 -78
- package/src/tui/agent-picker.ts +0 -325
- package/src/tui/agent-view.ts +0 -403
- package/src/tui/compact-results.ts +0 -342
- package/src/tui/conversation-details.ts +0 -206
- package/src/tui/conversation-frame.ts +0 -184
- package/src/tui/conversation-history.ts +0 -260
- package/src/tui/conversation-menu.ts +0 -119
- package/src/tui/conversation-notices.ts +0 -116
- package/src/tui/conversation-selection.ts +0 -66
- package/src/tui/conversation-viewport.ts +0 -169
- package/src/tui/direction-message.ts +0 -35
- package/src/tui/display.ts +0 -409
- package/src/tui/editor-viewport.ts +0 -19
- package/src/tui/expanded-content.ts +0 -134
- package/src/tui/expanded-multi.ts +0 -264
- package/src/tui/expanded-single.ts +0 -92
- package/src/tui/history-cards.ts +0 -298
- package/src/tui/history-display.ts +0 -334
- package/src/tui/history-json.ts +0 -17
- package/src/tui/history-metadata.ts +0 -177
- package/src/tui/history-record.ts +0 -321
- package/src/tui/history-text.ts +0 -34
- package/src/tui/indexed-history.ts +0 -149
- package/src/tui/nested-widget.ts +0 -192
- package/src/tui/picker-page.ts +0 -80
- package/src/tui/render.ts +0 -104
- package/src/tui/result-facts.ts +0 -99
- package/src/tui/task-observation.ts +0 -96
- package/src/tui/task-store.ts +0 -432
- package/src/tui/text-values.ts +0 -20
- package/src/tui/view-connections.ts +0 -64
- package/src/tui/view-model.ts +0 -181
- package/src/tui/view-persistence.ts +0 -57
- package/src/tui/view-ports.ts +0 -55
- package/src/tui/view-session.ts +0 -42
- package/src/tui/widget-details.ts +0 -220
- package/src/tui/widget-status.ts +0 -331
- package/src/tui/widget.ts +0 -208
- package/src/tui/workflow-labels.ts +0 -340
- package/src/tui/workflow-outcomes.ts +0 -150
|
@@ -1,76 +1,62 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pi-subagents
|
|
3
|
-
description: "
|
|
3
|
+
description: "Delegate one complete assignment to a native Pi child; inspect, continue, wait for, or stop saved child runs. Use for Pi delegation, not profile administration or non-Pi agents."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Pi
|
|
6
|
+
# Pi delegation
|
|
7
7
|
|
|
8
|
-
Use
|
|
8
|
+
Use the eager `delegate` and `agent_runs` tools. There is one agent type and no
|
|
9
|
+
profile discovery, loader, role body, chain DSL, or nested delegation.
|
|
9
10
|
|
|
10
|
-
##
|
|
11
|
+
## Assignment
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- `continue`/`answer` with `async: false` waits for the actual continuation result. Important steers release foreground waits so the parent can respond while the child keeps working; completion arrives automatically.
|
|
19
|
-
- Stop acknowledgement is a request, not proof of agent or command exit. Use the separately recorded agent-process outcome and actual native tool results; missing command results mean exit unconfirmed.
|
|
20
|
-
- An observed human-only authentication boundary may report a criterion as `blocked`, with concrete `evidence` and an exact `humanAction`. Acceptance stays incomplete and finalization/verification stops until explicit Continue. Retain completed evidence; do not use this for ordinary errors or fixable work.
|
|
21
|
-
- Keep writes single-threaded unless writers are isolated with `worktree: true`.
|
|
22
|
-
- Use fresh-context reviewers for adversarial review; use forked `oracle` for inherited-decision/drift review. Fresh handoffs must include relevant exact original user instructions and settled decisions, or readable source references, alongside the bounded assignment. Summaries do not replace original requirements; the harness does not automatically forward the owner's transcript.
|
|
23
|
-
- Keep bundled children as leaf agents and launch useful fanout from the parent. Nested helpers require explicit user authorization and an already-enabled profile within its native depth budget; do not infer permission to change nesting settings. Keep the original agent responsible for the complete result; do not repeat approvals for already-authorized work.
|
|
24
|
-
- A reviewer timeout is not sign-off. Foreground reviewer budgets are raised to a safe floor; planner/researcher budgets are raised only from local history. Rerun, resume, or split timed-out work.
|
|
25
|
-
- Subagent execution defaults to async/background. Launch a small bounded fanout as separate single-agent runs so each completion wakes the parent, with at most one writer. Continue useful parent work while children run; if none remains, end the turn and wait for completion instead of polling. Use one `tasks` call for non-review fanout when all child results are required together, when shared concurrency/task limits are needed, or when multiple writers require `worktree: true`; the parent receives one aggregate completion. Check status only when the user asks or the run may be blocked or stale.
|
|
26
|
-
- An incomplete active Pi goal follows the same async workflow: if child evidence gates the next step, end the current turn and continue after automatic completion delivery. Do not advance past missing evidence. Use `async: false` for explicitly chosen foreground execution or a non-interactive one-shot caller that needs the result on stdout.
|
|
27
|
-
- Use `acceptance` for goal-style requests and plan/spec/broad-fix worker handoffs; put criteria, evidence, verify commands, stop rules, and loop cap there instead of burying them only in task prose. Require only checks the child can run in its environment; keep checks that need unavailable services, credentials, devices, or deploys for the parent. Revived runs inherit that contract unless the resume call explicitly overrides `acceptance`.
|
|
28
|
-
- Omit `acceptance` from review-only tasks unless the user explicitly requests a same-session acceptance contract; it adds a finalization turn and does not provide independent review.
|
|
29
|
-
- Independent review stays parent-controlled: never put `review` inside `acceptance`; launch reviewer subagents separately after the worker completes.
|
|
30
|
-
- Do not set `acceptance` on static parallel groups or dynamic fanout aggregate groups; set it on each child task/template that owns a session.
|
|
13
|
+
```js
|
|
14
|
+
delegate({
|
|
15
|
+
prompt: "Complete assignment with constraints and expected output",
|
|
16
|
+
name: "short-name",
|
|
17
|
+
});
|
|
18
|
+
```
|
|
31
19
|
|
|
32
|
-
|
|
20
|
+
Supply the complete prompt: relevant original requirements, settled decisions or
|
|
21
|
+
readable references, scope and files, authority and non-goals, verification venue,
|
|
22
|
+
expected result, and stop boundary. Do not rely on a hidden profile to add them.
|
|
33
23
|
|
|
34
|
-
|
|
24
|
+
Fresh context is default; `context:"fork"` preserves the native conversation,
|
|
25
|
+
including prior tool results. A forked child still cannot delegate. Optional
|
|
26
|
+
`cwd` and `model` are explicit launch overrides; do not change global auth/model
|
|
27
|
+
settings to implement an override.
|
|
35
28
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
- `planner`: concrete implementation plans; should read and plan, not edit.
|
|
41
|
-
- `worker`: single-writer implementation for approved scope.
|
|
42
|
-
- `debugger`: root-cause diagnosis and repair evidence.
|
|
43
|
-
- `fixer`: bounded remediation after findings are already decided.
|
|
44
|
-
- `reviewer`: general implementation review.
|
|
45
|
-
- `reviewer-gpt`: strict maintainability and correctness gate.
|
|
46
|
-
- `reviewer-claude`: independent cross-model assumptions and product-risk review.
|
|
47
|
-
- `reviewer-security`: security and data-safety review for trust boundaries.
|
|
48
|
-
- `reviewer-ponytail`: over-engineering and slop review; uses the `ponytail` skill when installed and never trades away intended behavior.
|
|
49
|
-
- `ui-designer`: rendered UI, layout, accessibility, and visual polish.
|
|
50
|
-
- `writer`: human-facing documentation and polished copy.
|
|
51
|
-
- `oracle`: forked advisory second opinion for direction, drift, and assumptions.
|
|
52
|
-
- `delegate`: lightweight generic child; prefer a specialist or `worker` when the task has a real role.
|
|
29
|
+
Runs are asynchronous unless `async:false`. Continue useful independent work;
|
|
30
|
+
when child evidence gates the next step, end the turn and await completion rather
|
|
31
|
+
than polling. A launch receipt is not completion. Review actual outputs and
|
|
32
|
+
validation evidence before accepting the result.
|
|
53
33
|
|
|
54
|
-
|
|
34
|
+
## Controls
|
|
55
35
|
|
|
56
|
-
|
|
36
|
+
- `agent_runs({action:"list"})` discovers this native main's saved runs.
|
|
37
|
+
- `inspect` reads a run by ID; follow returned offsets for complete output.
|
|
38
|
+
- `continue` takes a complete follow-up `prompt` and keeps the saved child chat.
|
|
39
|
+
Active work receives guidance; completed work gets an immutable successor.
|
|
40
|
+
- `wait` observes existing work; cancelling that wait does not stop the producer.
|
|
41
|
+
- `stop` requests termination. Inspect actual process evidence; request acceptance
|
|
42
|
+
does not prove actor or command exit.
|
|
57
43
|
|
|
58
|
-
|
|
44
|
+
Use IDs returned by the tools. Runs belong to their native main session, not a
|
|
45
|
+
cwd, project, name, or forked copy of its transcript. Resume the same main for
|
|
46
|
+
ownership. Do not delete ambiguous launch state to force another attempt.
|
|
59
47
|
|
|
60
|
-
|
|
61
|
-
- `contact_supervisor({ reason: "interview_request", message, interview })`: steered blocking structured questions only when the ephemeral child cannot safely continue until it receives multiple answers.
|
|
62
|
-
- `contact_supervisor({ reason: "progress_update", message })`: a non-blocking discovery or change the supervisor needs while working, delivered at the next tool boundary. Skip starts, redundant narration, and routine completion; retain material findings in the final result.
|
|
63
|
-
- Use `agent_runs({ action: "inspect", id })`, then `agent_runs({ action: "nudge", id, message })` for live child guidance, answers, corrections, or blockers. A nudge supplements the child's active task unless it explicitly says to replace it.
|
|
64
|
-
- Blocking supervisor questions are persisted and do not use the ordinary two-minute ask timeout. After reload/reconnect, resume the same saved supervisor session, call `agent_runs({ action: "questions" })`, then `agent_runs({ action: "answer", id, questionId, message })`. A nudge is not a question answer.
|
|
65
|
-
- Questions, answers, launch contracts, and results use persistent Pi session storage, not temporary logs. The live waiter reads the saved answer, or an exited child resumes its saved session with its saved launch configuration and acceptance contract. Identical repeated answers do not duplicate execution; an answer receipt is not run completion. `agent_runs({ action: "stop", id })` also cancels pending questions.
|
|
66
|
-
- Load `load_intercom({})` if intercom is inactive. Use the status-shown `intercom({ action: "ask", delivery: "steer" })` only when the parent must remain alive waiting for a child reply.
|
|
67
|
-
- Do not use intercom/contact_supervisor for routine completion handoffs; return normal child results.
|
|
68
|
-
- If bridge messages do not appear, call `load_subagent({})` if needed, then `subagent({ action: "doctor" })`.
|
|
48
|
+
## Coordination and delivery
|
|
69
49
|
|
|
70
|
-
|
|
50
|
+
All pairs inside a main/children group can use `intercom` list/send/last. Across
|
|
51
|
+
groups, mains alone can communicate. Children cannot see or address foreign
|
|
52
|
+
groups, and cannot spawn children. `last` reads original completed assistant text
|
|
53
|
+
without waking a peer; it is not a completion notification or replacement for
|
|
54
|
+
run inspection.
|
|
71
55
|
|
|
72
|
-
|
|
56
|
+
Keep writers isolated and integration parent-owned. Prefer bounded independent
|
|
57
|
+
review with a fresh complete brief. Retain native SDK/journal/process boundary
|
|
58
|
+
proof; a child-reported pass is evidence to inspect, not automatic sign-off.
|
|
73
59
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
60
|
+
Normal child completion returns through the run, not a redundant intercom
|
|
61
|
+
message. Use direct `send` for guidance, corrections, or blockers that affect live
|
|
62
|
+
work. Ordinary `ask` is bounded request/reply, not durable supervisor revival.
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type { Static } from "typebox";
|
|
2
|
+
import { Type } from "./typebox.ts";
|
|
3
|
+
|
|
4
|
+
export const thinkingSchema = Type.Union([
|
|
5
|
+
Type.Literal("off"),
|
|
6
|
+
Type.Literal("minimal"),
|
|
7
|
+
Type.Literal("low"),
|
|
8
|
+
Type.Literal("medium"),
|
|
9
|
+
Type.Literal("high"),
|
|
10
|
+
Type.Literal("xhigh"),
|
|
11
|
+
Type.Literal("max"),
|
|
12
|
+
]);
|
|
13
|
+
export const launchSchema = Type.Object({
|
|
14
|
+
version: Type.Literal(1),
|
|
15
|
+
id: Type.String(),
|
|
16
|
+
rootId: Type.String(),
|
|
17
|
+
predecessor: Type.Optional(Type.String()),
|
|
18
|
+
owner: Type.String(),
|
|
19
|
+
cwd: Type.String(),
|
|
20
|
+
agentDir: Type.String(),
|
|
21
|
+
sdk: Type.String(),
|
|
22
|
+
entry: Type.String(),
|
|
23
|
+
sessionFile: Type.String(),
|
|
24
|
+
sessionId: Type.String(),
|
|
25
|
+
prompt: Type.String(),
|
|
26
|
+
context: Type.Union([Type.Literal("fresh"), Type.Literal("fork")]),
|
|
27
|
+
provider: Type.String(),
|
|
28
|
+
model: Type.String(),
|
|
29
|
+
thinking: thinkingSchema,
|
|
30
|
+
trusted: Type.Boolean(),
|
|
31
|
+
name: Type.Optional(Type.String()),
|
|
32
|
+
createdAt: Type.Number(),
|
|
33
|
+
});
|
|
34
|
+
export type Launch = Static<typeof launchSchema>;
|
|
35
|
+
export const processSchema = Type.Object({
|
|
36
|
+
pid: Type.Integer({ minimum: 1 }),
|
|
37
|
+
identity: Type.String(),
|
|
38
|
+
token: Type.String(),
|
|
39
|
+
});
|
|
40
|
+
export type ProcessIdentity = Static<typeof processSchema>;
|
|
41
|
+
export const attachmentSchema = Type.Object({
|
|
42
|
+
pid: Type.Integer({ minimum: 1 }),
|
|
43
|
+
identity: Type.String(),
|
|
44
|
+
generation: Type.String(),
|
|
45
|
+
attached: Type.Boolean(),
|
|
46
|
+
});
|
|
47
|
+
export type Attachment = Static<typeof attachmentSchema>;
|
|
48
|
+
export const usageSchema = Type.Object({
|
|
49
|
+
input: Type.Number({ minimum: 0 }),
|
|
50
|
+
output: Type.Number({ minimum: 0 }),
|
|
51
|
+
cacheRead: Type.Number({ minimum: 0 }),
|
|
52
|
+
cacheWrite: Type.Number({ minimum: 0 }),
|
|
53
|
+
totalTokens: Type.Number({ minimum: 0 }),
|
|
54
|
+
reasoning: Type.Optional(Type.Number({ minimum: 0 })),
|
|
55
|
+
cacheWrite1h: Type.Optional(Type.Number({ minimum: 0 })),
|
|
56
|
+
cost: Type.Object({
|
|
57
|
+
input: Type.Number({ minimum: 0 }),
|
|
58
|
+
output: Type.Number({ minimum: 0 }),
|
|
59
|
+
cacheRead: Type.Number({ minimum: 0 }),
|
|
60
|
+
cacheWrite: Type.Number({ minimum: 0 }),
|
|
61
|
+
total: Type.Number({ minimum: 0 }),
|
|
62
|
+
}),
|
|
63
|
+
});
|
|
64
|
+
export const contributionsSchema = Type.Array(
|
|
65
|
+
Type.Object({
|
|
66
|
+
id: Type.String({ minLength: 1 }),
|
|
67
|
+
provider: Type.String(),
|
|
68
|
+
model: Type.String(),
|
|
69
|
+
usage: usageSchema,
|
|
70
|
+
}),
|
|
71
|
+
);
|
|
72
|
+
export type Contribution = Static<typeof contributionsSchema>[number];
|
|
73
|
+
export const resultSchema = Type.Object({
|
|
74
|
+
id: Type.String(),
|
|
75
|
+
owner: Type.String(),
|
|
76
|
+
status: Type.Union([Type.Literal("completed"), Type.Literal("failed"), Type.Literal("stopped")]),
|
|
77
|
+
endedAt: Type.Number(),
|
|
78
|
+
terminalEntryId: Type.Optional(Type.String()),
|
|
79
|
+
error: Type.Optional(Type.String()),
|
|
80
|
+
contributions: Type.Optional(contributionsSchema),
|
|
81
|
+
accountingError: Type.Optional(Type.String()),
|
|
82
|
+
accountingPending: Type.Optional(
|
|
83
|
+
Type.Object({
|
|
84
|
+
terminalCandidate: Type.String(),
|
|
85
|
+
baseline: Type.Array(Type.String()),
|
|
86
|
+
}),
|
|
87
|
+
),
|
|
88
|
+
});
|
|
89
|
+
export type Result = Static<typeof resultSchema>;
|
|
90
|
+
export const commandSchema = Type.Object({
|
|
91
|
+
id: Type.String(),
|
|
92
|
+
runId: Type.String(),
|
|
93
|
+
action: Type.Union([Type.Literal("run"), Type.Literal("steer"), Type.Literal("stop")]),
|
|
94
|
+
prompt: Type.Optional(Type.String()),
|
|
95
|
+
actorToken: Type.Optional(Type.String()),
|
|
96
|
+
createdAt: Type.Number(),
|
|
97
|
+
});
|
|
98
|
+
export type Command = Static<typeof commandSchema>;
|
|
99
|
+
export const successorSchema = Type.Object({ id: Type.String() });
|
|
100
|
+
export const exitSchema = Type.Object({
|
|
101
|
+
pid: Type.Integer(),
|
|
102
|
+
code: Type.Union([Type.Integer(), Type.Null()]),
|
|
103
|
+
signal: Type.Union([Type.String(), Type.Null()]),
|
|
104
|
+
at: Type.Number(),
|
|
105
|
+
});
|
|
106
|
+
export const admissionSchema = Type.Object({
|
|
107
|
+
id: Type.String(),
|
|
108
|
+
action: Type.String(),
|
|
109
|
+
runId: Type.Optional(Type.String()),
|
|
110
|
+
state: Type.Optional(Type.Union([Type.Literal("accepted"), Type.Literal("stale")])),
|
|
111
|
+
at: Type.Number(),
|
|
112
|
+
});
|
|
113
|
+
export const delegateSchema = Type.Object(
|
|
114
|
+
{
|
|
115
|
+
prompt: Type.String({ minLength: 1 }),
|
|
116
|
+
name: Type.Optional(Type.String({ minLength: 1 })),
|
|
117
|
+
cwd: Type.Optional(Type.String({ minLength: 1 })),
|
|
118
|
+
model: Type.Optional(
|
|
119
|
+
Type.String({ minLength: 1, description: "Exact provider/model ID; no fallback." }),
|
|
120
|
+
),
|
|
121
|
+
context: Type.Optional(Type.Union([Type.Literal("fresh"), Type.Literal("fork")])),
|
|
122
|
+
async: Type.Optional(Type.Boolean({ default: true })),
|
|
123
|
+
},
|
|
124
|
+
{ additionalProperties: false },
|
|
125
|
+
);
|
|
126
|
+
export type DelegateInput = Static<typeof delegateSchema>;
|
|
127
|
+
export const runsSchema = Type.Object(
|
|
128
|
+
{
|
|
129
|
+
action: Type.Union([
|
|
130
|
+
Type.Literal("list"),
|
|
131
|
+
Type.Literal("inspect"),
|
|
132
|
+
Type.Literal("continue"),
|
|
133
|
+
Type.Literal("stop"),
|
|
134
|
+
Type.Literal("wait"),
|
|
135
|
+
]),
|
|
136
|
+
id: Type.Optional(Type.String()),
|
|
137
|
+
prompt: Type.Optional(Type.String({ minLength: 1 })),
|
|
138
|
+
async: Type.Optional(Type.Boolean({ default: true })),
|
|
139
|
+
offset: Type.Optional(Type.Integer({ minimum: 0 })),
|
|
140
|
+
length: Type.Optional(Type.Integer({ minimum: 4, maximum: 262144 })),
|
|
141
|
+
},
|
|
142
|
+
{ additionalProperties: false },
|
|
143
|
+
);
|
|
144
|
+
export type RunsInput = Static<typeof runsSchema>;
|
package/src/agent/cwd.ts
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
4
|
+
import { write } from "./storage.ts";
|
|
5
|
+
|
|
6
|
+
type Request = {
|
|
7
|
+
sessionManager: ExtensionContext["sessionManager"];
|
|
8
|
+
path?: string;
|
|
9
|
+
result?: { cwd?: string; error?: string };
|
|
10
|
+
};
|
|
11
|
+
export function localCwdOwner(source: { source: string; path: string }): boolean {
|
|
12
|
+
return /(?:^|[/\\:@])(?:pi-)?change-working-dir(?:[/\\@:.>]|$)/.test(
|
|
13
|
+
`${source.source}/${source.path}`,
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
function hasOwner(pi: ExtensionAPI): boolean {
|
|
17
|
+
return (
|
|
18
|
+
pi.getAllTools().some((tool) => tool.name === "change_dir" || localCwdOwner(tool.sourceInfo)) ||
|
|
19
|
+
pi
|
|
20
|
+
.getCommands()
|
|
21
|
+
.some(
|
|
22
|
+
(command) =>
|
|
23
|
+
command.source === "extension" &&
|
|
24
|
+
(/^cwd(?::\d+)?$/.test(command.name) || localCwdOwner(command.sourceInfo)),
|
|
25
|
+
)
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
function reply(request: Request): string | undefined {
|
|
29
|
+
if (request.result?.error !== undefined && request.result.error !== "") {
|
|
30
|
+
throw new Error(request.result.error);
|
|
31
|
+
}
|
|
32
|
+
if (request.result && (request.result.cwd === undefined || request.result.cwd === "")) {
|
|
33
|
+
throw new Error("Directory owner returned no execution directory.");
|
|
34
|
+
}
|
|
35
|
+
return request.result?.cwd;
|
|
36
|
+
}
|
|
37
|
+
export function executionCwd(pi: ExtensionAPI, ctx: ExtensionContext): string {
|
|
38
|
+
const request: Request = { sessionManager: ctx.sessionManager };
|
|
39
|
+
pi.events.emit("pi-change-working-dir:resolve-execution-cwd", request);
|
|
40
|
+
const cwd = reply(request);
|
|
41
|
+
if (cwd === undefined && hasOwner(pi)) {
|
|
42
|
+
throw new Error("Loaded directory owner did not resolve cwd; update pi-change-working-dir.");
|
|
43
|
+
}
|
|
44
|
+
return cwd ?? ctx.cwd;
|
|
45
|
+
}
|
|
46
|
+
export function initializeCwd(
|
|
47
|
+
pi: ExtensionAPI,
|
|
48
|
+
ctx: ExtensionContext,
|
|
49
|
+
cwd: string,
|
|
50
|
+
directory: string,
|
|
51
|
+
): void {
|
|
52
|
+
// A saved continuation restores its owner's latest selection, not its frozen launch directory.
|
|
53
|
+
const current = executionCwd(pi, ctx);
|
|
54
|
+
const marker = path.join(directory, "cwd-initialized.json");
|
|
55
|
+
if (fs.existsSync(marker)) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (hasOwner(pi) || fs.realpathSync(current) !== fs.realpathSync(ctx.cwd)) {
|
|
59
|
+
const request: Request = { sessionManager: ctx.sessionManager, path: cwd };
|
|
60
|
+
pi.events.emit("pi-change-working-dir:set-execution-cwd", request);
|
|
61
|
+
const selected = reply(request);
|
|
62
|
+
if (selected === undefined || fs.realpathSync(selected) !== fs.realpathSync(cwd)) {
|
|
63
|
+
throw new Error("Directory owner did not initialize the requested child cwd.");
|
|
64
|
+
}
|
|
65
|
+
} else if (fs.realpathSync(ctx.cwd) !== fs.realpathSync(cwd)) {
|
|
66
|
+
throw new Error("Native child directory does not match launch cwd.");
|
|
67
|
+
}
|
|
68
|
+
write(marker, { cwd }, true);
|
|
69
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { findPackageJSON } from "node:module";
|
|
4
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
5
|
+
import type * as SDK from "@earendil-works/pi-coding-agent";
|
|
6
|
+
|
|
7
|
+
function isPackage(root: string): boolean {
|
|
8
|
+
const file = path.join(root, "package.json");
|
|
9
|
+
if (!fs.existsSync(file)) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
const value: unknown = JSON.parse(fs.readFileSync(file, "utf8"));
|
|
13
|
+
return (
|
|
14
|
+
typeof value === "object" &&
|
|
15
|
+
value !== null &&
|
|
16
|
+
"name" in value &&
|
|
17
|
+
value.name === "@earendil-works/pi-coding-agent"
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
function launcherPackage(): string | undefined {
|
|
21
|
+
const entry = process.argv.at(1);
|
|
22
|
+
if (entry === undefined) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
let directory = path.dirname(fs.realpathSync(entry));
|
|
26
|
+
while (directory !== path.dirname(directory)) {
|
|
27
|
+
if (isPackage(directory)) {
|
|
28
|
+
return directory;
|
|
29
|
+
}
|
|
30
|
+
directory = path.dirname(directory);
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
export function packageRoot(): string {
|
|
35
|
+
const configured = process.env.PI_PACKAGE_DIR;
|
|
36
|
+
if (configured !== undefined && configured.length > 0) {
|
|
37
|
+
if (!isPackage(configured)) {
|
|
38
|
+
throw new Error("PI_PACKAGE_DIR is not a Pi SDK.");
|
|
39
|
+
}
|
|
40
|
+
return configured;
|
|
41
|
+
}
|
|
42
|
+
const launcher = launcherPackage();
|
|
43
|
+
if (launcher !== undefined) {
|
|
44
|
+
return launcher;
|
|
45
|
+
}
|
|
46
|
+
const manifest = findPackageJSON("@earendil-works/pi-coding-agent", import.meta.url);
|
|
47
|
+
if (manifest === undefined) {
|
|
48
|
+
throw new Error("Cannot locate the native Pi SDK.");
|
|
49
|
+
}
|
|
50
|
+
return path.dirname(manifest);
|
|
51
|
+
}
|
|
52
|
+
export async function loadSDK(root: string): Promise<typeof SDK> {
|
|
53
|
+
// Selected host SDK, not a second package-local runtime hidden behind Jiti aliases.
|
|
54
|
+
// oxlint-disable-next-line typescript/no-unsafe-assignment
|
|
55
|
+
const sdk: typeof SDK = await import(pathToFileURL(path.join(root, "dist/index.js")).href);
|
|
56
|
+
return sdk;
|
|
57
|
+
}
|
|
58
|
+
export function runtimeEntry(): string {
|
|
59
|
+
return fileURLToPath(
|
|
60
|
+
new URL(import.meta.url.endsWith(".ts") ? "../index.ts" : "../index.js", import.meta.url),
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
export function isChild(): boolean {
|
|
64
|
+
const root = process.env.PI_INTERCOM_ROOT_SESSION_ID;
|
|
65
|
+
const parent = process.env.PI_INTERCOM_PARENT_SESSION_ID;
|
|
66
|
+
if (root === undefined && parent === undefined) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
if (
|
|
70
|
+
root === undefined ||
|
|
71
|
+
parent === undefined ||
|
|
72
|
+
root.length === 0 ||
|
|
73
|
+
parent.length === 0 ||
|
|
74
|
+
root !== parent
|
|
75
|
+
) {
|
|
76
|
+
throw new Error("Malformed child identity; delegation is disabled.");
|
|
77
|
+
}
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
export function errorText(error: unknown): string {
|
|
81
|
+
return error instanceof Error ? error.message : JSON.stringify(error);
|
|
82
|
+
}
|