@fitchmultz/pi-subagents 0.44.6 → 0.45.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 +265 -7
- package/LICENSE +1 -0
- package/README.md +58 -1483
- package/agents/context-builder.md +19 -1
- package/agents/debugger.md +10 -3
- package/agents/delegate.md +1 -0
- package/agents/fixer.md +4 -1
- package/agents/oracle.md +13 -2
- package/agents/planner.md +14 -3
- package/agents/researcher.md +11 -2
- package/agents/reviewer-claude.md +11 -2
- package/agents/reviewer-gpt.md +12 -2
- package/agents/reviewer-ponytail.md +11 -1
- package/agents/reviewer-security.md +13 -2
- package/agents/reviewer.md +12 -3
- package/agents/scout.md +12 -1
- package/agents/ui-designer.md +10 -3
- package/agents/watcher.md +1 -0
- package/agents/worker.md +8 -2
- package/agents/writer.md +6 -3
- package/dist/agents/agent-defaults.js +9 -0
- package/dist/agents/agent-definition.js +196 -0
- package/dist/agents/agent-management.js +64 -905
- package/dist/agents/agent-scope.js +4 -2
- package/dist/agents/agent-selection.js +10 -5
- package/dist/agents/agent-serializer.js +55 -67
- package/dist/agents/agents.js +75 -716
- package/dist/agents/builtin-overrides.js +218 -0
- package/dist/agents/chain-serializer.js +3 -367
- package/dist/agents/config-values.js +52 -0
- package/dist/agents/discovery-paths.js +91 -0
- package/dist/agents/frontmatter.js +15 -5
- package/dist/agents/identity.js +25 -8
- package/dist/agents/json-chain.js +254 -0
- package/dist/agents/management-config.js +332 -0
- package/dist/agents/management-format.js +231 -0
- package/dist/agents/management-persistence.js +287 -0
- package/dist/agents/management-targets.js +136 -0
- package/dist/agents/management-warnings.js +81 -0
- package/dist/agents/markdown-chain.js +210 -0
- package/dist/agents/package-agents.js +154 -0
- package/dist/agents/skill-files.js +157 -0
- package/dist/agents/skill-search-paths.js +246 -0
- package/dist/agents/skill-types.js +1 -0
- package/dist/agents/skills.js +54 -499
- package/dist/extension/acceptance-schema.js +55 -0
- package/dist/extension/build-info.js +1 -1
- package/dist/extension/chain-schema.js +196 -0
- package/dist/extension/child-runtime.js +237 -0
- package/dist/extension/compact-tools.js +122 -51
- package/dist/extension/config-schema.js +29 -0
- package/dist/extension/config.js +27 -11
- package/dist/extension/control-notice-schema.js +37 -0
- package/dist/extension/control-notices.js +13 -6
- package/dist/extension/delegation-bridges.js +43 -0
- package/dist/extension/doctor.js +48 -25
- package/dist/extension/everyday-schemas.js +207 -0
- package/dist/extension/fanout-child.js +18 -319
- package/dist/extension/index.js +8 -563
- package/dist/extension/message-renderers.js +225 -0
- package/dist/extension/nested-control-inbox.js +154 -0
- package/dist/extension/parent-runtime.js +339 -0
- package/dist/extension/primary-tool.js +69 -0
- package/dist/extension/result-snapshot.js +22 -0
- package/dist/extension/runtime-reload.js +62 -0
- package/dist/extension/runtime-storage.js +43 -0
- package/dist/extension/schema-overrides.js +75 -0
- package/dist/extension/schemas.js +265 -336
- package/dist/extension/tool-input.js +27 -12
- package/dist/extension/tool-result.js +19 -4
- package/dist/history/answer-texts.js +57 -0
- package/dist/history/canonical-result.js +76 -43
- package/dist/history/canonical-selection.js +40 -0
- package/dist/history/database-generation.js +82 -0
- package/dist/history/database.js +57 -33
- package/dist/history/entry-ingestion.js +61 -0
- package/dist/history/index.js +242 -97
- package/dist/history/ingest.js +168 -331
- package/dist/history/output-digests.js +40 -0
- package/dist/history/preview.js +210 -0
- package/dist/history/prune.js +33 -0
- package/dist/history/queries.js +60 -349
- package/dist/history/query-scope.js +190 -0
- package/dist/history/rows.js +77 -0
- package/dist/history/run-projection.js +137 -0
- package/dist/history/run-queries.js +153 -0
- package/dist/history/schema.js +31 -0
- package/dist/history/search-queries.js +163 -0
- package/dist/history/selected-record.js +108 -0
- package/dist/history/source-file.js +45 -0
- package/dist/history/source-watches.js +141 -0
- package/dist/history/store.js +164 -153
- package/dist/history/text-chunks.js +169 -0
- package/dist/history/text.js +35 -0
- package/dist/history/transcript-queries.js +177 -0
- package/dist/history/types.js +5 -1
- package/dist/history/values.js +36 -0
- package/dist/history/wire-inputs.js +122 -0
- package/dist/history/wire-models.js +38 -0
- package/dist/history/worker-runtime.js +441 -0
- package/dist/history/worker.js +66 -462
- package/dist/intercom/intercom-bridge.js +48 -20
- package/dist/intercom/live-intercom.js +80 -23
- package/dist/intercom/nested-result-tree.js +163 -0
- package/dist/intercom/result-delivery.js +40 -0
- package/dist/intercom/result-intercom.js +178 -261
- package/dist/pi-intercom/agent-dir.js +7 -3
- package/dist/pi-intercom/async.js +27 -0
- package/dist/pi-intercom/bridge-ask.js +57 -0
- package/dist/pi-intercom/bridge-config.js +79 -0
- package/dist/pi-intercom/bridge-http.js +86 -0
- package/dist/pi-intercom/bridge-protocol.js +106 -0
- package/dist/pi-intercom/bridge-routes.js +64 -0
- package/dist/pi-intercom/bridge-session.js +416 -0
- package/dist/pi-intercom/bridge.js +182 -603
- package/dist/pi-intercom/broker/broker.js +236 -244
- package/dist/pi-intercom/broker/client.js +189 -304
- package/dist/pi-intercom/broker/connection.js +165 -0
- package/dist/pi-intercom/broker/framing.js +5 -3
- package/dist/pi-intercom/broker/paths.js +4 -1
- package/dist/pi-intercom/broker/pid.js +53 -25
- package/dist/pi-intercom/broker/snapshot-reader.js +78 -0
- package/dist/pi-intercom/broker/snapshots.js +188 -0
- package/dist/pi-intercom/broker/spawn.js +36 -25
- package/dist/pi-intercom/config.js +85 -71
- package/dist/pi-intercom/connection.js +297 -0
- package/dist/pi-intercom/identity.js +58 -0
- package/dist/pi-intercom/inbound-delivery.js +356 -0
- package/dist/pi-intercom/inbound-journal.js +303 -0
- package/dist/pi-intercom/inbound-record.js +113 -0
- package/dist/pi-intercom/inbound.js +179 -0
- package/dist/pi-intercom/index.js +79 -2933
- package/dist/pi-intercom/inspection.js +62 -0
- package/dist/pi-intercom/interview.js +236 -0
- package/dist/pi-intercom/lifecycle.js +168 -0
- package/dist/pi-intercom/message-format.js +69 -0
- package/dist/pi-intercom/outbound.js +304 -0
- package/dist/pi-intercom/peer-awareness.js +66 -0
- package/dist/pi-intercom/reply-tracker.js +62 -43
- package/dist/pi-intercom/reply-wait.js +201 -0
- package/dist/pi-intercom/runtime-types.js +3 -0
- package/dist/pi-intercom/session-events.js +180 -0
- package/dist/pi-intercom/session-targets.js +42 -34
- package/dist/pi-intercom/subagent-events.js +238 -0
- package/dist/pi-intercom/subagent-live-events.js +129 -86
- package/dist/pi-intercom/supervisor.js +282 -0
- package/dist/pi-intercom/tool-arguments.js +74 -0
- package/dist/pi-intercom/tool-registration.js +95 -0
- package/dist/pi-intercom/tool-results.js +38 -0
- package/dist/pi-intercom/tool-schemas.js +82 -0
- package/dist/pi-intercom/tools.js +51 -0
- package/dist/pi-intercom/topic-actions.js +177 -0
- package/dist/pi-intercom/topics.js +177 -92
- package/dist/pi-intercom/transport.js +1 -0
- package/dist/pi-intercom/types.js +151 -114
- package/dist/pi-intercom/ui/compose-paste.js +93 -0
- package/dist/pi-intercom/ui/compose.js +121 -143
- package/dist/pi-intercom/ui/inline-message.js +59 -59
- package/dist/pi-intercom/ui/message-renderers.js +147 -0
- package/dist/pi-intercom/ui/overlay.js +181 -0
- package/dist/pi-intercom/ui/session-format.js +124 -0
- package/dist/pi-intercom/ui/session-list.js +76 -43
- package/dist/pi-intercom/ui/tool-renderers.js +110 -0
- package/dist/pi-intercom/ui/topic-view.js +88 -0
- package/dist/pi-intercom/validation.js +59 -0
- package/dist/runs/background/async-chain-plan.js +265 -0
- package/dist/runs/background/async-control.js +134 -58
- package/dist/runs/background/async-execution.js +136 -633
- package/dist/runs/background/async-job-admission.js +40 -0
- package/dist/runs/background/async-job-projection.js +169 -0
- package/dist/runs/background/async-job-tracker.js +297 -327
- package/dist/runs/background/async-launch.js +216 -0
- package/dist/runs/background/async-plan.js +116 -0
- package/dist/runs/background/async-result-file.js +47 -23
- package/dist/runs/background/async-resume.js +195 -253
- package/dist/runs/background/async-run-discovery.js +213 -0
- package/dist/runs/background/async-run-location.js +135 -0
- package/dist/runs/background/async-run-record.js +1 -0
- package/dist/runs/background/async-run-repair.js +223 -0
- package/dist/runs/background/async-run-summary.js +1 -0
- package/dist/runs/background/async-single-plan.js +105 -0
- package/dist/runs/background/async-status-projection.js +155 -0
- package/dist/runs/background/async-status-render.js +117 -0
- package/dist/runs/background/async-status-validation.js +181 -0
- package/dist/runs/background/async-status.js +3 -442
- package/dist/runs/background/async-value.js +21 -0
- package/dist/runs/background/completion-dedupe.js +36 -12
- package/dist/runs/background/completion-delivery.js +211 -205
- package/dist/runs/background/completion-receipts.js +237 -0
- package/dist/runs/background/legacy-status-acceptance.js +34 -0
- package/dist/runs/background/notify.js +96 -48
- package/dist/runs/background/parallel-groups.js +36 -19
- package/dist/runs/background/result-payload.js +178 -0
- package/dist/runs/background/result-watcher.js +348 -339
- package/dist/runs/background/run-id-resolver.js +53 -33
- package/dist/runs/background/run-schemas.js +189 -0
- package/dist/runs/background/run-status-contracts.js +14 -0
- package/dist/runs/background/run-status-render.js +270 -0
- package/dist/runs/background/run-status.js +231 -339
- package/dist/runs/background/runner-attempt-output.js +155 -0
- package/dist/runs/background/runner-attempt.js +263 -0
- package/dist/runs/background/runner-child-executor.js +166 -0
- package/dist/runs/background/runner-child-observer.js +192 -0
- package/dist/runs/background/runner-completion-summary.js +71 -0
- package/dist/runs/background/runner-completion.js +211 -0
- package/dist/runs/background/runner-config.js +1 -0
- package/dist/runs/background/runner-contract.js +1 -0
- package/dist/runs/background/runner-dynamic.js +121 -0
- package/dist/runs/background/runner-finalization.js +149 -0
- package/dist/runs/background/runner-graph.js +68 -0
- package/dist/runs/background/runner-initial-status.js +60 -0
- package/dist/runs/background/runner-lifecycle.js +142 -0
- package/dist/runs/background/runner-monitor.js +309 -0
- package/dist/runs/background/runner-parallel.js +204 -0
- package/dist/runs/background/runner-prepare-step.js +86 -0
- package/dist/runs/background/runner-reporting.js +153 -0
- package/dist/runs/background/runner-status.js +148 -0
- package/dist/runs/background/runner-step-output.js +92 -0
- package/dist/runs/background/runner-step-record.js +45 -0
- package/dist/runs/background/runner-step.js +112 -0
- package/dist/runs/background/runner-streaming.js +173 -0
- package/dist/runs/background/runner-workflow.js +213 -0
- package/dist/runs/background/stale-run-reconciler.js +155 -292
- package/dist/runs/background/subagent-runner-launcher.js +33 -13
- package/dist/runs/background/subagent-runner.js +51 -1842
- package/dist/runs/background/top-level-async.js +2 -1
- package/dist/runs/foreground/chain-clarify.js +293 -1017
- package/dist/runs/foreground/clarification-draft.js +87 -0
- package/dist/runs/foreground/clarify-contracts.js +1 -0
- package/dist/runs/foreground/clarify-invocation.js +129 -38
- package/dist/runs/foreground/clarify-text-editor.js +210 -0
- package/dist/runs/foreground/clarify-view.js +167 -0
- package/dist/runs/foreground/execution-input.js +226 -353
- package/dist/runs/foreground/execution-routing.js +33 -0
- package/dist/runs/foreground/execution-timeout.js +81 -0
- package/dist/runs/foreground/foreground-control.js +222 -763
- package/dist/runs/foreground/foreground-memory.js +99 -0
- package/dist/runs/foreground/invocation-context.js +55 -0
- package/dist/runs/foreground/invocation-execution.js +331 -0
- package/dist/runs/foreground/invocation-expansion.js +48 -0
- package/dist/runs/foreground/management-actions.js +295 -0
- package/dist/runs/foreground/nested-control.js +179 -0
- package/dist/runs/foreground/question-continuation.js +78 -0
- package/dist/runs/foreground/question-control.js +155 -50
- package/dist/runs/foreground/resume-target.js +221 -0
- package/dist/runs/foreground/revival-launch-policy.js +58 -0
- package/dist/runs/foreground/run-async-path.js +190 -178
- package/dist/runs/foreground/run-interrupt.js +164 -0
- package/dist/runs/foreground/run-nudge.js +278 -0
- package/dist/runs/foreground/saved-revival.js +251 -0
- package/dist/runs/foreground/subagent-executor.js +135 -424
- package/dist/runs/foreground/subagent-params.js +67 -30
- package/dist/runs/foreground/wait-observation.js +104 -0
- package/dist/runs/foreground/wait-registration.js +17 -0
- package/dist/runs/foreground/wait-run.js +283 -123
- package/dist/runs/shared/acceptance-contract.js +193 -99
- package/dist/runs/shared/acceptance-defaults.js +1 -0
- package/dist/runs/shared/acceptance-evaluation.js +201 -181
- package/dist/runs/shared/acceptance-finalization.js +256 -180
- package/dist/runs/shared/acceptance-outcome.js +53 -0
- package/dist/runs/shared/acceptance-reports.js +137 -72
- package/dist/runs/shared/acceptance-submission.js +167 -0
- package/dist/runs/shared/acceptance-verification.js +100 -0
- package/dist/runs/shared/chain-outputs.js +80 -52
- package/dist/runs/shared/child-attempt-types.js +1 -0
- package/dist/runs/shared/child-attempt.js +314 -667
- package/dist/runs/shared/child-boundaries.js +173 -0
- package/dist/runs/shared/child-context-filter.js +44 -0
- package/dist/runs/shared/child-event-observer.js +390 -0
- package/dist/runs/shared/child-execution-cwd.js +73 -43
- package/dist/runs/shared/child-execution-outcome.js +72 -0
- package/dist/runs/shared/child-invocation.js +54 -0
- package/dist/runs/shared/child-message-validation.js +215 -0
- package/dist/runs/shared/child-native-accounting.js +106 -0
- package/dist/runs/shared/child-native-observation.js +69 -0
- package/dist/runs/shared/child-observation-spool.js +164 -0
- package/dist/runs/shared/child-observations.js +157 -76
- package/dist/runs/shared/child-presence.js +3 -0
- package/dist/runs/shared/child-route-env.js +119 -0
- package/dist/runs/shared/child-stream-observer.js +221 -0
- package/dist/runs/shared/child-stream-projection.js +137 -0
- package/dist/runs/shared/child-structured-tool.js +27 -0
- package/dist/runs/shared/claude-code.js +121 -158
- package/dist/runs/shared/claude-model.js +42 -0
- package/dist/runs/shared/claude-session.js +83 -0
- package/dist/runs/shared/claude-types.js +1 -0
- package/dist/runs/shared/completion-guard.js +18 -18
- package/dist/runs/shared/control-event-policy.js +8 -0
- package/dist/runs/shared/control-notification-owner.js +13 -0
- package/dist/runs/shared/dynamic-fanout.js +188 -173
- package/dist/runs/shared/dynamic-item.js +102 -0
- package/dist/runs/shared/history-index.js +62 -36
- package/dist/runs/shared/legacy-async-recovery.js +114 -0
- package/dist/runs/shared/legacy-output-recovery.js +148 -0
- package/dist/runs/shared/mcp-config-schema.js +36 -0
- package/dist/runs/shared/mcp-direct-tool-allowlist.js +147 -116
- package/dist/runs/shared/model-fallback.js +97 -38
- package/dist/runs/shared/mutating-tool-guard.js +128 -88
- package/dist/runs/shared/native-finalization-types.js +1 -0
- package/dist/runs/shared/native-finalization.js +155 -76
- package/dist/runs/shared/native-usage.js +238 -98
- package/dist/runs/shared/nested-control-records.js +128 -0
- package/dist/runs/shared/nested-events.js +8 -700
- package/dist/runs/shared/nested-path.js +32 -28
- package/dist/runs/shared/nested-projection.js +155 -0
- package/dist/runs/shared/nested-protocol.js +18 -0
- package/dist/runs/shared/nested-registry.js +191 -0
- package/dist/runs/shared/nested-render.js +106 -58
- package/dist/runs/shared/nested-route.js +220 -0
- package/dist/runs/shared/nested-validation.js +216 -0
- package/dist/runs/shared/owned-child-evidence.js +125 -0
- package/dist/runs/shared/owned-run-list.js +146 -0
- package/dist/runs/shared/owned-run-observation.js +267 -0
- package/dist/runs/shared/owned-run-progress.js +109 -0
- package/dist/runs/shared/owned-run-read-state.js +1 -0
- package/dist/runs/shared/owned-run-results.js +202 -0
- package/dist/runs/shared/owned-run-status.js +180 -0
- package/dist/runs/shared/owned-run-view.js +51 -0
- package/dist/runs/shared/owned-workflow-details.js +17 -0
- package/dist/runs/shared/owner-output.js +43 -0
- package/dist/runs/shared/parallel-utils.js +36 -28
- package/dist/runs/shared/parent-receipts.js +90 -32
- package/dist/runs/shared/parent-usage.js +169 -57
- package/dist/runs/shared/pi-args.js +108 -201
- package/dist/runs/shared/pi-launch-input.js +1 -0
- package/dist/runs/shared/pi-session-launch.js +86 -0
- package/dist/runs/shared/pi-spawn.js +35 -21
- package/dist/runs/shared/run-history-queries.js +126 -35
- package/dist/runs/shared/run-history.js +101 -35
- package/dist/runs/shared/run-metadata-paths.js +14 -0
- package/dist/runs/shared/run-metadata.js +158 -0
- package/dist/runs/shared/run-persistence.js +131 -0
- package/dist/runs/shared/run-records.js +9 -679
- package/dist/runs/shared/run-restoration.js +338 -0
- package/dist/runs/shared/run-state-owner.js +26 -0
- package/dist/runs/shared/session-cwd-preload.js +27 -18
- package/dist/runs/shared/single-output.js +148 -70
- package/dist/runs/shared/stable-value.js +15 -0
- package/dist/runs/shared/streaming-text.js +23 -12
- package/dist/runs/shared/structured-output.js +25 -13
- package/dist/runs/shared/subagent-control.js +167 -100
- package/dist/runs/shared/subagent-prompt-runtime.js +27 -130
- package/dist/runs/shared/subagent-tool-loop-guard.js +81 -52
- package/dist/runs/shared/supervisor-question-state.js +145 -0
- package/dist/runs/shared/supervisor-questions.js +185 -254
- package/dist/runs/shared/workflow-graph.js +259 -167
- package/dist/runs/shared/workflow-policy.js +120 -48
- package/dist/runs/shared/worktree-contract.js +1 -0
- package/dist/runs/shared/worktree-hook.js +138 -0
- package/dist/runs/shared/worktree-location.js +47 -0
- package/dist/runs/shared/worktree-preservation.js +8 -0
- package/dist/runs/shared/worktree-process.js +107 -0
- package/dist/runs/shared/worktree.js +183 -322
- package/dist/shared/agent-context-policy.js +34 -44
- package/dist/shared/agent-dir.js +14 -0
- package/dist/shared/artifacts.js +30 -12
- package/dist/shared/atomic-json.js +4 -1
- package/dist/shared/chain-files.js +72 -0
- package/dist/shared/concurrency.js +18 -0
- package/dist/shared/content-preview.js +115 -0
- package/dist/shared/cooperative.js +5 -2
- package/dist/shared/execution-cwd.js +13 -5
- package/dist/shared/file-coalescer.js +2 -1
- package/dist/shared/fork-context.js +10 -12
- package/dist/shared/formatters.js +45 -19
- package/dist/shared/journal-frames.js +164 -0
- package/dist/shared/journal-projections.js +121 -0
- package/dist/shared/journal-reader.js +6 -407
- package/dist/shared/json-projection.js +191 -0
- package/dist/shared/lazy-tools.js +19 -8
- package/dist/shared/message-output.js +116 -0
- package/dist/shared/model-info.js +31 -14
- package/dist/shared/native-import.js +20 -0
- package/dist/shared/native-journal.js +140 -0
- package/dist/shared/native-session.js +5 -2
- package/dist/shared/native-tui.js +7 -2
- package/dist/shared/native-typebox.js +15 -3
- package/dist/shared/output-page.js +63 -0
- package/dist/shared/post-exit-stdio-guard.js +128 -88
- package/dist/shared/prompt-sections.js +2 -0
- package/dist/shared/session-entries.js +70 -35
- package/dist/shared/session-identity.js +5 -3
- package/dist/shared/settings.js +62 -192
- package/dist/shared/status-format.js +97 -37
- package/dist/shared/task-file-policy.js +24 -0
- package/dist/shared/temp-root.js +44 -15
- package/dist/shared/types/acceptance.js +1 -0
- package/dist/shared/types/async.js +1 -0
- package/dist/shared/types/config.js +1 -0
- package/dist/shared/types/details.js +1 -0
- package/dist/shared/types/history.js +1 -0
- package/dist/shared/types/inputs.js +1 -0
- package/dist/shared/types/intercom.js +1 -0
- package/dist/shared/types/launch.js +1 -0
- package/dist/shared/types/messages.js +1 -0
- package/dist/shared/types/nested.js +1 -0
- package/dist/shared/types/owned-runs.js +1 -0
- package/dist/shared/types/progress.js +1 -0
- package/dist/shared/types/questions.js +1 -0
- package/dist/shared/types/results.js +1 -0
- package/dist/shared/types/state.js +1 -0
- package/dist/shared/types/usage.js +1 -0
- package/dist/shared/types/workflow.js +1 -0
- package/dist/shared/types.js +75 -30
- package/dist/shared/unknown.js +52 -0
- package/dist/shared/utils.js +54 -260
- package/dist/slash/command-discovery.js +82 -0
- package/dist/slash/command-input.js +190 -0
- package/dist/slash/prompt-template-bridge.js +94 -270
- package/dist/slash/prompt-template-contract.js +77 -0
- package/dist/slash/prompt-template-results.js +125 -0
- package/dist/slash/request-protocol.js +68 -0
- package/dist/slash/result-delivery.js +237 -0
- package/dist/slash/saved-chain.js +78 -0
- package/dist/slash/slash-bridge.js +123 -89
- package/dist/slash/slash-commands.js +101 -572
- package/dist/slash/slash-live-state.js +68 -47
- package/dist/tui/action-hints.js +50 -22
- package/dist/tui/activity-lines.js +32 -0
- package/dist/tui/agent-browser.js +290 -0
- package/dist/tui/agent-controls.js +289 -0
- package/dist/tui/agent-conversation.js +444 -0
- package/dist/tui/agent-dock.js +171 -0
- package/dist/tui/agent-history.js +50 -183
- package/dist/tui/agent-model.js +62 -0
- package/dist/tui/agent-picker.js +262 -0
- package/dist/tui/agent-view.js +232 -1537
- package/dist/tui/compact-results.js +193 -0
- package/dist/tui/conversation-details.js +190 -0
- package/dist/tui/conversation-frame.js +135 -0
- package/dist/tui/conversation-history.js +201 -0
- package/dist/tui/conversation-menu.js +78 -0
- package/dist/tui/conversation-notices.js +79 -0
- package/dist/tui/conversation-selection.js +58 -0
- package/dist/tui/conversation-viewport.js +129 -0
- package/dist/tui/direction-message.js +27 -0
- package/dist/tui/display.js +282 -0
- package/dist/tui/editor-viewport.js +18 -0
- package/dist/tui/expanded-content.js +87 -0
- package/dist/tui/expanded-multi.js +170 -0
- package/dist/tui/expanded-single.js +65 -0
- package/dist/tui/history-cards.js +216 -0
- package/dist/tui/history-display.js +238 -0
- package/dist/tui/history-json.js +16 -0
- package/dist/tui/history-metadata.js +152 -0
- package/dist/tui/history-record.js +251 -0
- package/dist/tui/history-text.js +34 -0
- package/dist/tui/indexed-history.js +116 -0
- package/dist/tui/nested-widget.js +120 -0
- package/dist/tui/picker-page.js +59 -0
- package/dist/tui/render.js +58 -1501
- package/dist/tui/result-facts.js +64 -0
- package/dist/tui/task-observation.js +59 -0
- package/dist/tui/task-store.js +366 -0
- package/dist/tui/text-values.js +16 -0
- package/dist/tui/view-connections.js +47 -0
- package/dist/tui/view-model.js +94 -0
- package/dist/tui/view-persistence.js +51 -0
- package/dist/tui/view-ports.js +1 -0
- package/dist/tui/view-session.js +37 -0
- package/dist/tui/widget-details.js +144 -0
- package/dist/tui/widget-status.js +245 -0
- package/dist/tui/widget.js +145 -0
- package/dist/tui/workflow-labels.js +223 -0
- package/dist/tui/workflow-outcomes.js +124 -0
- package/docs/code-quality.md +38 -0
- package/docs/development.md +99 -0
- package/docs/intercom-bridge.md +23 -18
- package/docs/intercom.md +132 -106
- package/docs/performance.md +19 -17
- package/docs/reference.md +1472 -0
- package/generated/RunValidators.d.ts +28 -0
- package/generated/RunValidators.js +2 -0
- package/package.json +27 -6
- package/prompts/parallel-cleanup.md +3 -0
- package/prompts/parallel-context-build.md +3 -0
- package/prompts/parallel-handoff-plan.md +6 -0
- package/prompts/parallel-research.md +4 -0
- package/prompts/parallel-review.md +2 -0
- package/prompts/review-loop.md +2 -0
- package/scripts/build.mjs +129 -85
- package/scripts/check-compat.mjs +48 -11
- package/scripts/compat-host.mjs +35 -7
- package/scripts/generate-run-schemas.mjs +210 -0
- package/scripts/intercom-bridge-credentials.mjs +155 -28
- package/scripts/intercom-remote.mjs +175 -50
- package/scripts/local-install-smoke.mjs +47 -37
- package/scripts/native-package-smoke.mjs +135 -25
- package/scripts/package-smoke.mjs +360 -140
- package/scripts/prepare.mjs +54 -34
- package/scripts/real-pi-processes.mjs +261 -0
- package/scripts/real-pi-smoke.mjs +432 -351
- package/scripts/run-tests.mjs +29 -15
- package/skills/pi-intercom/SKILL.md +11 -11
- package/skills/pi-intercom/references/peer-sessions.md +7 -2
- package/skills/pi-subagents/SKILL.md +1 -1
- package/skills/pi-subagents/references/full-orchestration-guide.md +254 -112
- package/src/agents/agent-defaults.ts +13 -0
- package/src/agents/agent-definition.ts +253 -0
- package/src/agents/agent-management.ts +111 -808
- package/src/agents/agent-scope.ts +7 -3
- package/src/agents/agent-selection.ts +26 -16
- package/src/agents/agent-serializer.ts +84 -93
- package/src/agents/agents.ts +199 -906
- package/src/agents/builtin-overrides.ts +297 -0
- package/src/agents/chain-serializer.ts +3 -329
- package/src/agents/config-values.ts +57 -0
- package/src/agents/discovery-paths.ts +134 -0
- package/src/agents/frontmatter.ts +35 -17
- package/src/agents/identity.ts +49 -18
- package/src/agents/json-chain.ts +305 -0
- package/src/agents/management-config.ts +342 -0
- package/src/agents/management-format.ts +243 -0
- package/src/agents/management-persistence.ts +408 -0
- package/src/agents/management-targets.ts +260 -0
- package/src/agents/management-warnings.ts +115 -0
- package/src/agents/markdown-chain.ts +237 -0
- package/src/agents/package-agents.ts +231 -0
- package/src/agents/skill-files.ts +182 -0
- package/src/agents/skill-search-paths.ts +289 -0
- package/src/agents/skill-types.ts +31 -0
- package/src/agents/skills.ts +152 -610
- package/src/extension/acceptance-schema.ts +88 -0
- package/src/extension/chain-schema.ts +276 -0
- package/src/extension/child-runtime.ts +302 -0
- package/src/extension/compact-tools.ts +259 -102
- package/src/extension/config-schema.ts +59 -0
- package/src/extension/config.ts +39 -17
- package/src/extension/control-notice-schema.ts +55 -0
- package/src/extension/control-notices.ts +57 -33
- package/src/extension/delegation-bridges.ts +59 -0
- package/src/extension/doctor.ts +171 -135
- package/src/extension/everyday-schemas.ts +252 -0
- package/src/extension/fanout-child.ts +29 -308
- package/src/extension/index.ts +17 -642
- package/src/extension/message-renderers.ts +334 -0
- package/src/extension/nested-control-inbox.ts +196 -0
- package/src/extension/parent-runtime.ts +405 -0
- package/src/extension/primary-tool.ts +130 -0
- package/src/extension/result-snapshot.ts +35 -0
- package/src/extension/runtime-reload.ts +72 -0
- package/src/extension/runtime-storage.ts +49 -0
- package/src/extension/schema-overrides.ts +114 -0
- package/src/extension/schemas.ts +451 -418
- package/src/extension/tool-input.ts +40 -13
- package/src/extension/tool-result.ts +45 -14
- package/src/history/answer-texts.ts +74 -0
- package/src/history/canonical-result.ts +127 -51
- package/src/history/canonical-selection.ts +54 -0
- package/src/history/database-generation.ts +86 -0
- package/src/history/database.ts +86 -48
- package/src/history/entry-ingestion.ts +129 -0
- package/src/history/index.ts +426 -148
- package/src/history/ingest.ts +372 -342
- package/src/history/output-digests.ts +41 -0
- package/src/history/preview.ts +235 -0
- package/src/history/prune.ts +48 -0
- package/src/history/queries.ts +122 -256
- package/src/history/query-scope.ts +278 -0
- package/src/history/rows.ts +118 -0
- package/src/history/run-projection.ts +164 -0
- package/src/history/run-queries.ts +199 -0
- package/src/history/schema.ts +34 -0
- package/src/history/search-queries.ts +216 -0
- package/src/history/selected-record.ts +140 -0
- package/src/history/source-file.ts +51 -0
- package/src/history/source-watches.ts +156 -0
- package/src/history/store.ts +310 -197
- package/src/history/text-chunks.ts +181 -0
- package/src/history/text.ts +43 -0
- package/src/history/transcript-queries.ts +251 -0
- package/src/history/types.ts +27 -164
- package/src/history/values.ts +36 -0
- package/src/history/wire-inputs.ts +141 -0
- package/src/history/wire-models.ts +51 -0
- package/src/history/worker-runtime.ts +502 -0
- package/src/history/worker.ts +94 -336
- package/src/intercom/intercom-bridge.ts +136 -69
- package/src/intercom/live-intercom.ts +197 -92
- package/src/intercom/nested-result-tree.ts +213 -0
- package/src/intercom/result-delivery.ts +56 -0
- package/src/intercom/result-intercom.ts +364 -382
- package/src/pi-intercom/agent-dir.ts +9 -3
- package/src/pi-intercom/async.ts +33 -0
- package/src/pi-intercom/bridge-ask.ts +64 -0
- package/src/pi-intercom/bridge-config.ts +101 -0
- package/src/pi-intercom/bridge-http.ts +97 -0
- package/src/pi-intercom/bridge-protocol.ts +123 -0
- package/src/pi-intercom/bridge-routes.ts +90 -0
- package/src/pi-intercom/bridge-session.ts +506 -0
- package/src/pi-intercom/bridge.ts +258 -547
- package/src/pi-intercom/broker/broker.ts +326 -263
- package/src/pi-intercom/broker/client.ts +273 -354
- package/src/pi-intercom/broker/connection.ts +192 -0
- package/src/pi-intercom/broker/framing.ts +11 -6
- package/src/pi-intercom/broker/paths.ts +28 -25
- package/src/pi-intercom/broker/pid.ts +68 -24
- package/src/pi-intercom/broker/snapshot-reader.ts +91 -0
- package/src/pi-intercom/broker/snapshots.ts +241 -0
- package/src/pi-intercom/broker/spawn.ts +58 -34
- package/src/pi-intercom/config.ts +113 -108
- package/src/pi-intercom/connection.ts +346 -0
- package/src/pi-intercom/identity.ts +71 -0
- package/src/pi-intercom/inbound-delivery.ts +450 -0
- package/src/pi-intercom/inbound-journal.ts +350 -0
- package/src/pi-intercom/inbound-record.ts +141 -0
- package/src/pi-intercom/inbound.ts +237 -0
- package/src/pi-intercom/index.ts +86 -2923
- package/src/pi-intercom/inspection.ts +82 -0
- package/src/pi-intercom/interview.ts +295 -0
- package/src/pi-intercom/lifecycle.ts +183 -0
- package/src/pi-intercom/message-format.ts +77 -0
- package/src/pi-intercom/outbound.ts +418 -0
- package/src/pi-intercom/peer-awareness.ts +84 -0
- package/src/pi-intercom/reply-tracker.ts +121 -59
- package/src/pi-intercom/reply-wait.ts +247 -0
- package/src/pi-intercom/runtime-types.ts +97 -0
- package/src/pi-intercom/session-events.ts +247 -0
- package/src/pi-intercom/session-targets.ts +124 -72
- package/src/pi-intercom/subagent-events.ts +299 -0
- package/src/pi-intercom/subagent-live-events.ts +212 -109
- package/src/pi-intercom/supervisor.ts +362 -0
- package/src/pi-intercom/tool-arguments.ts +120 -0
- package/src/pi-intercom/tool-registration.ts +121 -0
- package/src/pi-intercom/tool-results.ts +54 -0
- package/src/pi-intercom/tool-schemas.ts +134 -0
- package/src/pi-intercom/tools.ts +80 -0
- package/src/pi-intercom/topic-actions.ts +243 -0
- package/src/pi-intercom/topics.ts +267 -121
- package/src/pi-intercom/transport.ts +14 -0
- package/src/pi-intercom/types.ts +288 -190
- package/src/pi-intercom/ui/compose-paste.ts +109 -0
- package/src/pi-intercom/ui/compose.ts +173 -157
- package/src/pi-intercom/ui/inline-message.ts +80 -62
- package/src/pi-intercom/ui/message-renderers.ts +182 -0
- package/src/pi-intercom/ui/overlay.ts +238 -0
- package/src/pi-intercom/ui/session-format.ts +146 -0
- package/src/pi-intercom/ui/session-list.ts +145 -62
- package/src/pi-intercom/ui/tool-renderers.ts +148 -0
- package/src/pi-intercom/ui/topic-view.ts +107 -0
- package/src/pi-intercom/validation.ts +69 -0
- package/src/runs/background/async-chain-plan.ts +451 -0
- package/src/runs/background/async-control.ts +201 -71
- package/src/runs/background/async-execution.ts +206 -829
- package/src/runs/background/async-job-admission.ts +54 -0
- package/src/runs/background/async-job-projection.ts +225 -0
- package/src/runs/background/async-job-tracker.ts +416 -360
- package/src/runs/background/async-launch.ts +319 -0
- package/src/runs/background/async-plan.ts +285 -0
- package/src/runs/background/async-result-file.ts +79 -37
- package/src/runs/background/async-resume.ts +338 -285
- package/src/runs/background/async-run-discovery.ts +270 -0
- package/src/runs/background/async-run-location.ts +194 -0
- package/src/runs/background/async-run-record.ts +14 -0
- package/src/runs/background/async-run-repair.ts +307 -0
- package/src/runs/background/async-run-summary.ts +71 -0
- package/src/runs/background/async-single-plan.ts +168 -0
- package/src/runs/background/async-status-projection.ts +188 -0
- package/src/runs/background/async-status-render.ts +164 -0
- package/src/runs/background/async-status-validation.ts +238 -0
- package/src/runs/background/async-status.ts +9 -481
- package/src/runs/background/async-value.ts +29 -0
- package/src/runs/background/completion-dedupe.ts +103 -54
- package/src/runs/background/completion-delivery.ts +313 -187
- package/src/runs/background/completion-receipts.ts +309 -0
- package/src/runs/background/legacy-status-acceptance.ts +38 -0
- package/src/runs/background/notify.ts +167 -106
- package/src/runs/background/parallel-groups.ts +95 -46
- package/src/runs/background/result-payload.ts +268 -0
- package/src/runs/background/result-watcher.ts +484 -387
- package/src/runs/background/run-id-resolver.ts +126 -57
- package/src/runs/background/run-schemas.ts +240 -0
- package/src/runs/background/run-status-contracts.ts +46 -0
- package/src/runs/background/run-status-render.ts +364 -0
- package/src/runs/background/run-status.ts +338 -356
- package/src/runs/background/runner-attempt-output.ts +281 -0
- package/src/runs/background/runner-attempt.ts +354 -0
- package/src/runs/background/runner-child-executor.ts +232 -0
- package/src/runs/background/runner-child-observer.ts +270 -0
- package/src/runs/background/runner-completion-summary.ts +106 -0
- package/src/runs/background/runner-completion.ts +274 -0
- package/src/runs/background/runner-config.ts +52 -0
- package/src/runs/background/runner-contract.ts +51 -0
- package/src/runs/background/runner-dynamic.ts +185 -0
- package/src/runs/background/runner-finalization.ts +203 -0
- package/src/runs/background/runner-graph.ts +91 -0
- package/src/runs/background/runner-initial-status.ts +72 -0
- package/src/runs/background/runner-lifecycle.ts +159 -0
- package/src/runs/background/runner-monitor.ts +399 -0
- package/src/runs/background/runner-parallel.ts +280 -0
- package/src/runs/background/runner-prepare-step.ts +128 -0
- package/src/runs/background/runner-reporting.ts +192 -0
- package/src/runs/background/runner-status.ts +220 -0
- package/src/runs/background/runner-step-output.ts +158 -0
- package/src/runs/background/runner-step-record.ts +76 -0
- package/src/runs/background/runner-step.ts +150 -0
- package/src/runs/background/runner-streaming.ts +220 -0
- package/src/runs/background/runner-workflow.ts +284 -0
- package/src/runs/background/stale-run-reconciler.ts +279 -336
- package/src/runs/background/subagent-runner-launcher.ts +67 -35
- package/src/runs/background/subagent-runner.ts +80 -2048
- package/src/runs/background/top-level-async.ts +9 -7
- package/src/runs/foreground/chain-clarify.ts +499 -1334
- package/src/runs/foreground/clarification-draft.ts +92 -0
- package/src/runs/foreground/clarify-contracts.ts +33 -0
- package/src/runs/foreground/clarify-invocation.ts +192 -65
- package/src/runs/foreground/clarify-text-editor.ts +229 -0
- package/src/runs/foreground/clarify-view.ts +222 -0
- package/src/runs/foreground/execution-input.ts +358 -424
- package/src/runs/foreground/execution-routing.ts +41 -0
- package/src/runs/foreground/execution-timeout.ts +92 -0
- package/src/runs/foreground/foreground-control.ts +333 -812
- package/src/runs/foreground/foreground-memory.ts +132 -0
- package/src/runs/foreground/invocation-context.ts +88 -0
- package/src/runs/foreground/invocation-execution.ts +465 -0
- package/src/runs/foreground/invocation-expansion.ts +58 -0
- package/src/runs/foreground/management-actions.ts +360 -0
- package/src/runs/foreground/nested-control.ts +248 -0
- package/src/runs/foreground/question-continuation.ts +112 -0
- package/src/runs/foreground/question-control.ts +297 -70
- package/src/runs/foreground/resume-target.ts +330 -0
- package/src/runs/foreground/revival-launch-policy.ts +112 -0
- package/src/runs/foreground/run-async-path.ts +307 -223
- package/src/runs/foreground/run-interrupt.ts +202 -0
- package/src/runs/foreground/run-nudge.ts +355 -0
- package/src/runs/foreground/saved-revival.ts +356 -0
- package/src/runs/foreground/subagent-executor.ts +195 -493
- package/src/runs/foreground/subagent-params.ts +314 -242
- package/src/runs/foreground/wait-observation.ts +160 -0
- package/src/runs/foreground/wait-registration.ts +18 -0
- package/src/runs/foreground/wait-run.ts +361 -119
- package/src/runs/shared/acceptance-contract.ts +410 -209
- package/src/runs/shared/acceptance-defaults.ts +1 -0
- package/src/runs/shared/acceptance-evaluation.ts +314 -240
- package/src/runs/shared/acceptance-finalization.ts +447 -305
- package/src/runs/shared/acceptance-outcome.ts +69 -0
- package/src/runs/shared/acceptance-reports.ts +220 -126
- package/src/runs/shared/acceptance-submission.ts +251 -0
- package/src/runs/shared/acceptance-verification.ts +118 -0
- package/src/runs/shared/acceptance.ts +25 -25
- package/src/runs/shared/chain-outputs.ts +190 -98
- package/src/runs/shared/child-attempt-types.ts +118 -0
- package/src/runs/shared/child-attempt.ts +372 -608
- package/src/runs/shared/child-boundaries.ts +217 -0
- package/src/runs/shared/child-context-filter.ts +53 -0
- package/src/runs/shared/child-event-observer.ts +496 -0
- package/src/runs/shared/child-execution-cwd.ts +139 -68
- package/src/runs/shared/child-execution-outcome.ts +103 -0
- package/src/runs/shared/child-invocation.ts +74 -0
- package/src/runs/shared/child-message-validation.ts +233 -0
- package/src/runs/shared/child-native-accounting.ts +154 -0
- package/src/runs/shared/child-native-observation.ts +79 -0
- package/src/runs/shared/child-observation-spool.ts +188 -0
- package/src/runs/shared/child-observations.ts +219 -89
- package/src/runs/shared/child-presence.ts +6 -0
- package/src/runs/shared/child-route-env.ts +142 -0
- package/src/runs/shared/child-stream-observer.ts +302 -0
- package/src/runs/shared/child-stream-projection.ts +160 -0
- package/src/runs/shared/child-structured-tool.ts +38 -0
- package/src/runs/shared/claude-code.ts +201 -228
- package/src/runs/shared/claude-model.ts +67 -0
- package/src/runs/shared/claude-session.ts +124 -0
- package/src/runs/shared/claude-types.ts +31 -0
- package/src/runs/shared/completion-guard.ts +35 -26
- package/src/runs/shared/control-event-policy.ts +15 -0
- package/src/runs/shared/control-notification-owner.ts +20 -0
- package/src/runs/shared/dynamic-fanout.ts +402 -238
- package/src/runs/shared/dynamic-item.ts +114 -0
- package/src/runs/shared/history-index.ts +112 -51
- package/src/runs/shared/legacy-async-recovery.ts +153 -0
- package/src/runs/shared/legacy-output-recovery.ts +214 -0
- package/src/runs/shared/mcp-config-schema.ts +46 -0
- package/src/runs/shared/mcp-direct-tool-allowlist.ts +396 -307
- package/src/runs/shared/model-fallback.ts +302 -180
- package/src/runs/shared/mutating-tool-guard.ts +259 -158
- package/src/runs/shared/native-finalization-types.ts +29 -0
- package/src/runs/shared/native-finalization.ts +233 -109
- package/src/runs/shared/native-usage.ts +379 -96
- package/src/runs/shared/nested-control-records.ts +178 -0
- package/src/runs/shared/nested-events.ts +45 -752
- package/src/runs/shared/nested-path.ts +47 -34
- package/src/runs/shared/nested-projection.ts +230 -0
- package/src/runs/shared/nested-protocol.ts +67 -0
- package/src/runs/shared/nested-registry.ts +273 -0
- package/src/runs/shared/nested-render.ts +198 -100
- package/src/runs/shared/nested-route.ts +292 -0
- package/src/runs/shared/nested-validation.ts +291 -0
- package/src/runs/shared/owned-child-evidence.ts +184 -0
- package/src/runs/shared/owned-run-list.ts +187 -0
- package/src/runs/shared/owned-run-observation.ts +368 -0
- package/src/runs/shared/owned-run-progress.ts +172 -0
- package/src/runs/shared/owned-run-read-state.ts +7 -0
- package/src/runs/shared/owned-run-results.ts +289 -0
- package/src/runs/shared/owned-run-status.ts +239 -0
- package/src/runs/shared/owned-run-view.ts +65 -0
- package/src/runs/shared/owned-workflow-details.ts +24 -0
- package/src/runs/shared/owner-output.ts +73 -0
- package/src/runs/shared/parallel-utils.ts +93 -129
- package/src/runs/shared/parent-receipts.ts +177 -50
- package/src/runs/shared/parent-usage.ts +314 -91
- package/src/runs/shared/pi-args.ts +241 -311
- package/src/runs/shared/pi-launch-input.ts +48 -0
- package/src/runs/shared/pi-session-launch.ts +94 -0
- package/src/runs/shared/pi-spawn.ts +57 -33
- package/src/runs/shared/run-history-queries.ts +189 -38
- package/src/runs/shared/run-history.ts +197 -76
- package/src/runs/shared/run-id-ambiguity.ts +7 -3
- package/src/runs/shared/run-metadata-paths.ts +17 -0
- package/src/runs/shared/run-metadata.ts +240 -0
- package/src/runs/shared/run-persistence.ts +181 -0
- package/src/runs/shared/run-records.ts +19 -607
- package/src/runs/shared/run-restoration.ts +455 -0
- package/src/runs/shared/run-state-owner.ts +31 -0
- package/src/runs/shared/session-cwd-preload.ts +39 -19
- package/src/runs/shared/single-output.ts +358 -205
- package/src/runs/shared/stable-value.ts +15 -0
- package/src/runs/shared/streaming-text.ts +39 -12
- package/src/runs/shared/structured-output.ts +76 -46
- package/src/runs/shared/subagent-control.ts +330 -197
- package/src/runs/shared/subagent-prompt-runtime.ts +92 -174
- package/src/runs/shared/subagent-tool-loop-guard.ts +118 -68
- package/src/runs/shared/supervisor-question-state.ts +221 -0
- package/src/runs/shared/supervisor-questions.ts +396 -401
- package/src/runs/shared/workflow-graph.ts +400 -198
- package/src/runs/shared/workflow-policy.ts +245 -110
- package/src/runs/shared/worktree-contract.ts +29 -0
- package/src/runs/shared/worktree-hook.ts +181 -0
- package/src/runs/shared/worktree-location.ts +61 -0
- package/src/runs/shared/worktree-preservation.ts +10 -0
- package/src/runs/shared/worktree-process.ts +132 -0
- package/src/runs/shared/worktree.ts +459 -587
- package/src/shared/agent-context-policy.ts +176 -145
- package/src/shared/agent-dir.ts +15 -0
- package/src/shared/artifacts.ts +99 -68
- package/src/shared/atomic-json.ts +14 -11
- package/src/shared/chain-files.ts +72 -0
- package/src/shared/concurrency.ts +27 -0
- package/src/shared/content-preview.ts +117 -0
- package/src/shared/cooperative.ts +17 -13
- package/src/shared/execution-cwd.ts +34 -9
- package/src/shared/file-coalescer.ts +24 -22
- package/src/shared/fork-context.ts +52 -48
- package/src/shared/formatters.ts +88 -47
- package/src/shared/journal-frames.ts +197 -0
- package/src/shared/journal-projections.ts +133 -0
- package/src/shared/journal-reader.ts +18 -333
- package/src/shared/json-projection.ts +224 -0
- package/src/shared/lazy-tools.ts +76 -27
- package/src/shared/message-output.ts +146 -0
- package/src/shared/model-info.ts +94 -58
- package/src/shared/native-import.ts +25 -0
- package/src/shared/native-journal.ts +172 -0
- package/src/shared/native-session.ts +8 -3
- package/src/shared/native-tui.ts +13 -3
- package/src/shared/native-typebox.ts +18 -3
- package/src/shared/output-page.ts +76 -0
- package/src/shared/post-exit-stdio-guard.ts +232 -172
- package/src/shared/prompt-sections.ts +13 -7
- package/src/shared/session-entries.ts +103 -44
- package/src/shared/session-identity.ts +17 -10
- package/src/shared/settings.ts +182 -367
- package/src/shared/status-format.ts +207 -98
- package/src/shared/stream-json.d.ts +10 -0
- package/src/shared/task-file-policy.ts +35 -0
- package/src/shared/temp-root.ts +122 -71
- package/src/shared/types/acceptance.ts +149 -0
- package/src/shared/types/async.ts +247 -0
- package/src/shared/types/config.ts +139 -0
- package/src/shared/types/details.ts +104 -0
- package/src/shared/types/history.ts +217 -0
- package/src/shared/types/inputs.ts +4 -0
- package/src/shared/types/intercom.ts +57 -0
- package/src/shared/types/launch.ts +39 -0
- package/src/shared/types/messages.ts +104 -0
- package/src/shared/types/nested.ts +153 -0
- package/src/shared/types/owned-runs.ts +148 -0
- package/src/shared/types/progress.ts +106 -0
- package/src/shared/types/questions.ts +103 -0
- package/src/shared/types/results.ts +119 -0
- package/src/shared/types/state.ts +56 -0
- package/src/shared/types/usage.ts +36 -0
- package/src/shared/types/workflow.ts +187 -0
- package/src/shared/types.ts +222 -1161
- package/src/shared/ui-mode.ts +1 -1
- package/src/shared/unknown.ts +59 -0
- package/src/shared/utils.ts +111 -305
- package/src/slash/command-discovery.ts +109 -0
- package/src/slash/command-input.ts +232 -0
- package/src/slash/prompt-template-bridge.ts +153 -400
- package/src/slash/prompt-template-contract.ts +152 -0
- package/src/slash/prompt-template-results.ts +189 -0
- package/src/slash/request-protocol.ts +87 -0
- package/src/slash/result-delivery.ts +312 -0
- package/src/slash/saved-chain.ts +115 -0
- package/src/slash/slash-bridge.ts +202 -156
- package/src/slash/slash-commands.ts +176 -598
- package/src/slash/slash-live-state.ts +287 -229
- package/src/tui/action-hints.ts +147 -61
- package/src/tui/activity-lines.ts +40 -0
- package/src/tui/agent-browser.ts +354 -0
- package/src/tui/agent-controls.ts +355 -0
- package/src/tui/agent-conversation.ts +514 -0
- package/src/tui/agent-dock.ts +250 -0
- package/src/tui/agent-history.ts +78 -203
- package/src/tui/agent-model.ts +78 -0
- package/src/tui/agent-picker.ts +325 -0
- package/src/tui/agent-view.ts +391 -1310
- package/src/tui/compact-results.ts +342 -0
- package/src/tui/conversation-details.ts +206 -0
- package/src/tui/conversation-frame.ts +184 -0
- package/src/tui/conversation-history.ts +246 -0
- package/src/tui/conversation-menu.ts +119 -0
- package/src/tui/conversation-notices.ts +116 -0
- package/src/tui/conversation-selection.ts +66 -0
- package/src/tui/conversation-viewport.ts +169 -0
- package/src/tui/direction-message.ts +35 -0
- package/src/tui/display.ts +409 -0
- package/src/tui/editor-viewport.ts +19 -0
- package/src/tui/expanded-content.ts +134 -0
- package/src/tui/expanded-multi.ts +264 -0
- package/src/tui/expanded-single.ts +92 -0
- package/src/tui/history-cards.ts +316 -0
- package/src/tui/history-display.ts +334 -0
- package/src/tui/history-json.ts +17 -0
- package/src/tui/history-metadata.ts +177 -0
- package/src/tui/history-record.ts +321 -0
- package/src/tui/history-text.ts +34 -0
- package/src/tui/indexed-history.ts +149 -0
- package/src/tui/nested-widget.ts +192 -0
- package/src/tui/picker-page.ts +80 -0
- package/src/tui/render.ts +100 -1546
- package/src/tui/result-facts.ts +99 -0
- package/src/tui/task-observation.ts +96 -0
- package/src/tui/task-store.ts +432 -0
- package/src/tui/text-values.ts +20 -0
- package/src/tui/view-connections.ts +64 -0
- package/src/tui/view-model.ts +181 -0
- package/src/tui/view-persistence.ts +57 -0
- package/src/tui/view-ports.ts +55 -0
- package/src/tui/view-session.ts +42 -0
- package/src/tui/widget-details.ts +220 -0
- package/src/tui/widget-status.ts +331 -0
- package/src/tui/widget.ts +208 -0
- package/src/tui/workflow-labels.ts +340 -0
- package/src/tui/workflow-outcomes.ts +150 -0
- package/tsconfig.build.json +11 -10
- package/tsconfig.json +30 -17
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import type { AcceptanceLedgerStatus } from "./acceptance.ts";
|
|
2
|
+
import type {
|
|
3
|
+
ManagementRunState,
|
|
4
|
+
OwnedRun,
|
|
5
|
+
OwnedRunView,
|
|
6
|
+
ReadonlyForegroundResumeRun,
|
|
7
|
+
} from "./owned-runs.ts";
|
|
8
|
+
import type { SupervisorQuestionView } from "./questions.ts";
|
|
9
|
+
|
|
10
|
+
export interface HistoryOwner {
|
|
11
|
+
readonly ownerSessionId: string;
|
|
12
|
+
readonly ownerSessionFile?: string;
|
|
13
|
+
readonly runs: readonly OwnedRun[];
|
|
14
|
+
readonly foregroundRuns?: readonly ReadonlyForegroundResumeRun[];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface HistoryFreshness {
|
|
18
|
+
/** Browse observations only; never proof of completion, ownership, or receipt absence. */
|
|
19
|
+
readonly authoritative: false;
|
|
20
|
+
readonly state: "current" | "catching-up" | "degraded";
|
|
21
|
+
readonly pending: number;
|
|
22
|
+
readonly errors: number;
|
|
23
|
+
readonly indexedAt: number | null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface HistoryVersion {
|
|
27
|
+
readonly version: number;
|
|
28
|
+
readonly indexedAt: number | null;
|
|
29
|
+
readonly freshness: HistoryFreshness;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface HistoryConfiguration {
|
|
33
|
+
readonly model?: string;
|
|
34
|
+
readonly thinking?: string;
|
|
35
|
+
readonly modelRecordedAt?: number;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface HistoryRunRow extends OwnedRunView {
|
|
39
|
+
readonly summary?: string;
|
|
40
|
+
readonly questions?: readonly SupervisorQuestionView[];
|
|
41
|
+
/** Children satisfying the combined filters, before run pagination. */
|
|
42
|
+
readonly matchedChildIndexes?: readonly number[];
|
|
43
|
+
readonly children: readonly (OwnedRunView["children"][number] & {
|
|
44
|
+
readonly savedConfiguration?: HistoryConfiguration;
|
|
45
|
+
readonly nativeConfiguration?: HistoryConfiguration;
|
|
46
|
+
readonly humanAction?: string;
|
|
47
|
+
readonly acceptanceStatus?: AcceptanceLedgerStatus;
|
|
48
|
+
})[];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export interface HistoryRunOptions {
|
|
52
|
+
readonly offset?: number;
|
|
53
|
+
readonly limit?: number;
|
|
54
|
+
readonly cursor?: string;
|
|
55
|
+
readonly sort?: "attention" | "newest" | "oldest";
|
|
56
|
+
readonly agent?: string;
|
|
57
|
+
readonly state?: ManagementRunState;
|
|
58
|
+
readonly text?: string;
|
|
59
|
+
/** Hide only child attempts superseded by an admitted continuation. */
|
|
60
|
+
readonly latestTasksOnly?: boolean;
|
|
61
|
+
readonly signal?: AbortSignal;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface HistoryRunPage extends HistoryVersion {
|
|
65
|
+
readonly rows: readonly HistoryRunRow[];
|
|
66
|
+
readonly total: number;
|
|
67
|
+
readonly offset: number;
|
|
68
|
+
readonly nextOffset?: number;
|
|
69
|
+
readonly nextCursor?: string;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export interface HistoryByteRef {
|
|
73
|
+
readonly sourceId: string;
|
|
74
|
+
readonly generation: number;
|
|
75
|
+
readonly start: number;
|
|
76
|
+
readonly end: number;
|
|
77
|
+
readonly digest: string;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export interface HistoryEntry {
|
|
81
|
+
readonly id: string;
|
|
82
|
+
/** Missing in older journals; id then identifies the physical byte range. */
|
|
83
|
+
readonly nativeId: string | null;
|
|
84
|
+
readonly parentId: string | null;
|
|
85
|
+
readonly sequence: number;
|
|
86
|
+
readonly timestamp: number | null;
|
|
87
|
+
readonly type: string;
|
|
88
|
+
readonly ref: HistoryByteRef;
|
|
89
|
+
/** Bounded previews; untrusted detail values require narrowing at their consumer. */
|
|
90
|
+
readonly entry: Readonly<Record<string, unknown>>;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export interface HistoryPageInput {
|
|
94
|
+
readonly runId: string;
|
|
95
|
+
readonly index: number;
|
|
96
|
+
readonly limit?: number;
|
|
97
|
+
readonly before?: number;
|
|
98
|
+
readonly after?: number;
|
|
99
|
+
readonly cursor?: string;
|
|
100
|
+
readonly terminalEntryId?: string;
|
|
101
|
+
readonly endedAt?: number;
|
|
102
|
+
/** Configuration ancestry; null is an intentionally empty branch. */
|
|
103
|
+
readonly leaf?: string | null;
|
|
104
|
+
readonly messageIds?: readonly string[];
|
|
105
|
+
readonly readThrough?: string | null;
|
|
106
|
+
readonly signal?: AbortSignal;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export interface HistoryPage extends HistoryVersion {
|
|
110
|
+
readonly entries: readonly HistoryEntry[];
|
|
111
|
+
readonly count: number;
|
|
112
|
+
readonly hasMore: boolean;
|
|
113
|
+
readonly previousBefore?: number;
|
|
114
|
+
readonly previousCursor?: string;
|
|
115
|
+
readonly nextAfter?: number;
|
|
116
|
+
readonly sourceId: string | null;
|
|
117
|
+
readonly generation: number | null;
|
|
118
|
+
readonly sessionId: string | null;
|
|
119
|
+
readonly sourceState: string;
|
|
120
|
+
readonly configuration: HistoryConfiguration;
|
|
121
|
+
readonly deliveredMessages: readonly (readonly [string, boolean])[];
|
|
122
|
+
readonly latestEntryId: string | null;
|
|
123
|
+
readonly unreadAfter?: boolean;
|
|
124
|
+
readonly terminalSequence?: number;
|
|
125
|
+
/** Canonical answer match, not a truncated-preview comparison. */
|
|
126
|
+
readonly finalResultId?: string;
|
|
127
|
+
readonly unavailable?: string;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export interface HistoryResult {
|
|
131
|
+
readonly text: string;
|
|
132
|
+
readonly timestamp: number;
|
|
133
|
+
readonly finalResultId?: string;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export interface HistorySearchInput {
|
|
137
|
+
/** AND tokens or quoted phrase; at most 12 tokens, no operators/prefixes. */
|
|
138
|
+
readonly query: string;
|
|
139
|
+
readonly runId?: string;
|
|
140
|
+
readonly index?: number;
|
|
141
|
+
readonly limit?: number;
|
|
142
|
+
readonly cursor?: string;
|
|
143
|
+
readonly sort?: "relevance" | "newest";
|
|
144
|
+
readonly agent?: string;
|
|
145
|
+
readonly signal?: AbortSignal;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export interface HistorySearchMatch {
|
|
149
|
+
readonly id: number;
|
|
150
|
+
readonly runId: string;
|
|
151
|
+
readonly index: number;
|
|
152
|
+
readonly agent: string;
|
|
153
|
+
readonly entryId: string;
|
|
154
|
+
readonly nativeId: string | null;
|
|
155
|
+
readonly sessionId: string | null;
|
|
156
|
+
readonly sessionFile: string;
|
|
157
|
+
readonly timestamp: number | null;
|
|
158
|
+
readonly ref: HistoryByteRef;
|
|
159
|
+
/** Indexed excerpt, not an authoritative/validated full record. */
|
|
160
|
+
readonly preview: string;
|
|
161
|
+
readonly field: string;
|
|
162
|
+
readonly textStart: number;
|
|
163
|
+
readonly textEnd: number;
|
|
164
|
+
readonly score: number;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export interface HistorySearchPage extends HistoryVersion {
|
|
168
|
+
readonly matches: readonly HistorySearchMatch[];
|
|
169
|
+
readonly nextCursor?: string;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export interface HistoryEntryInput {
|
|
173
|
+
readonly runId: string;
|
|
174
|
+
readonly index: number;
|
|
175
|
+
readonly entryId?: string;
|
|
176
|
+
readonly ref?: HistoryByteRef;
|
|
177
|
+
readonly toolCallId?: string;
|
|
178
|
+
readonly kind?: "call" | "result";
|
|
179
|
+
readonly terminalEntryId?: string;
|
|
180
|
+
readonly endedAt?: number;
|
|
181
|
+
readonly signal?: AbortSignal;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export interface HistoryIndexStatus extends HistoryVersion {
|
|
185
|
+
readonly databaseFile: string;
|
|
186
|
+
readonly physicalSources: number;
|
|
187
|
+
readonly publishedEntries: number;
|
|
188
|
+
readonly operations: {
|
|
189
|
+
readonly sourceChecks: number;
|
|
190
|
+
readonly sourceOpens: number;
|
|
191
|
+
readonly sourceBytesRead: number;
|
|
192
|
+
readonly runProjections: number;
|
|
193
|
+
readonly queries: number;
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/** Public process-owner capability contract; the type model never imports the index implementation. */
|
|
198
|
+
export interface HistoryIndexHandle {
|
|
199
|
+
/** Diagnostic view of the original failure; reading the capability must not permit error mutation. */
|
|
200
|
+
readonly failure: Readonly<Error> | undefined;
|
|
201
|
+
readonly setOwner: (input: HistoryOwner) => Promise<void>;
|
|
202
|
+
readonly updateRun: (run: OwnedRun, foreground?: ReadonlyForegroundResumeRun) => Promise<void>;
|
|
203
|
+
readonly needsControls: () => Promise<boolean>;
|
|
204
|
+
readonly listRuns: (options?: HistoryRunOptions) => Promise<HistoryRunPage>;
|
|
205
|
+
readonly historyPage: (input: HistoryPageInput) => Promise<HistoryPage>;
|
|
206
|
+
readonly search: (input: HistorySearchInput) => Promise<HistorySearchPage>;
|
|
207
|
+
readonly status: () => Promise<HistoryIndexStatus>;
|
|
208
|
+
readonly entry: (input: HistoryEntryInput) => Promise<HistoryEntry | null>;
|
|
209
|
+
readonly record: (input: HistoryEntryInput) => Promise<Record<string, unknown> | null>;
|
|
210
|
+
readonly result: (
|
|
211
|
+
input: Pick<HistoryEntryInput, "runId" | "index" | "signal">,
|
|
212
|
+
) => Promise<HistoryResult | null>;
|
|
213
|
+
readonly refresh: (runId?: string, options?: { readonly signal?: AbortSignal }) => Promise<void>;
|
|
214
|
+
readonly onChanged: (listener: () => void) => () => void;
|
|
215
|
+
readonly cancel: () => void;
|
|
216
|
+
readonly close: () => Promise<void>;
|
|
217
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { PublicNestedRunSummary } from "./nested.ts";
|
|
2
|
+
import type { SubagentResultStatus, SubagentRunMode } from "./progress.ts";
|
|
3
|
+
|
|
4
|
+
export interface SubagentResultIntercomChild {
|
|
5
|
+
readonly agent: string;
|
|
6
|
+
readonly status: SubagentResultStatus;
|
|
7
|
+
readonly summary: string;
|
|
8
|
+
readonly index?: number;
|
|
9
|
+
readonly artifactPath?: string;
|
|
10
|
+
readonly metadataPath?: string;
|
|
11
|
+
readonly sessionPath?: string;
|
|
12
|
+
readonly intercomTarget?: string;
|
|
13
|
+
readonly children?: readonly PublicNestedRunSummary[];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface SubagentResultIntercomPayload {
|
|
17
|
+
readonly completionId?: string;
|
|
18
|
+
readonly to: string;
|
|
19
|
+
readonly message: string;
|
|
20
|
+
readonly requestId?: string;
|
|
21
|
+
readonly runId: string;
|
|
22
|
+
readonly mode: SubagentRunMode;
|
|
23
|
+
readonly status: SubagentResultStatus;
|
|
24
|
+
readonly summary: string;
|
|
25
|
+
readonly error?: string;
|
|
26
|
+
readonly source: "foreground" | "async";
|
|
27
|
+
readonly children: readonly SubagentResultIntercomChild[];
|
|
28
|
+
readonly resultPath?: string;
|
|
29
|
+
readonly asyncId?: string;
|
|
30
|
+
readonly asyncDir?: string;
|
|
31
|
+
readonly chainSteps?: number;
|
|
32
|
+
readonly agent?: string;
|
|
33
|
+
readonly index?: number;
|
|
34
|
+
readonly artifactPath?: string;
|
|
35
|
+
readonly sessionPath?: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface IntercomEventBus {
|
|
39
|
+
readonly on: (channel: string, handler: (data: unknown) => void) => () => void;
|
|
40
|
+
readonly emit: (channel: string, data: unknown) => void;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface SubagentIntercomConnection {
|
|
44
|
+
readonly status: "connected" | "disconnected" | "connecting" | "unknown";
|
|
45
|
+
readonly sessionId?: string;
|
|
46
|
+
readonly reason?: string;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface SubagentLiveIntercomHealth {
|
|
50
|
+
readonly target: string;
|
|
51
|
+
readonly status: "registered" | "none" | "missing" | "ambiguous" | "prefix_too_short";
|
|
52
|
+
readonly sessionId?: string;
|
|
53
|
+
readonly sessionName?: string;
|
|
54
|
+
readonly sessionStatus?: string;
|
|
55
|
+
readonly acceptsAsks?: boolean;
|
|
56
|
+
readonly pendingAsks?: number;
|
|
57
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ResolvedAcceptanceConfig } from "./acceptance.ts";
|
|
2
|
+
import type {
|
|
3
|
+
AgentConfig,
|
|
4
|
+
ChildProjectTrustPolicy,
|
|
5
|
+
JsonSchemaObject,
|
|
6
|
+
MaxOutputConfig,
|
|
7
|
+
OutputMode,
|
|
8
|
+
ResolvedControlConfig,
|
|
9
|
+
} from "./config.ts";
|
|
10
|
+
|
|
11
|
+
/** Persisted launch snapshot. Resume consumers must not modify the original launch. */
|
|
12
|
+
export interface SavedLaunchConfig {
|
|
13
|
+
readonly agent: AgentConfig;
|
|
14
|
+
readonly model?: string;
|
|
15
|
+
readonly thinking?: string;
|
|
16
|
+
/** Timestamp of the native model entry captured with this frozen launch. */
|
|
17
|
+
readonly modelRecordedAt?: number;
|
|
18
|
+
readonly modelCandidates: readonly string[];
|
|
19
|
+
readonly artifacts: boolean;
|
|
20
|
+
readonly artifactsDir?: string;
|
|
21
|
+
readonly share: boolean;
|
|
22
|
+
readonly systemPrompt: string;
|
|
23
|
+
readonly skills: readonly string[];
|
|
24
|
+
readonly cwd: string;
|
|
25
|
+
readonly context: "fresh" | "fork";
|
|
26
|
+
readonly output: string | false;
|
|
27
|
+
/** Proven generated output filename; absent on legacy snapshots. */
|
|
28
|
+
readonly generatedOutputFilename?: string;
|
|
29
|
+
readonly outputMode: OutputMode;
|
|
30
|
+
readonly outputSchema?: JsonSchemaObject;
|
|
31
|
+
readonly effectiveAcceptance?: ResolvedAcceptanceConfig;
|
|
32
|
+
readonly maxOutput?: MaxOutputConfig;
|
|
33
|
+
readonly maxSubagentDepth?: number;
|
|
34
|
+
readonly maxExecutionTimeMs?: number;
|
|
35
|
+
readonly maxTokens?: number;
|
|
36
|
+
readonly controlConfig?: ResolvedControlConfig;
|
|
37
|
+
readonly projectTrust?: ChildProjectTrustPolicy;
|
|
38
|
+
readonly projectTrusted?: boolean;
|
|
39
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/** Native streaming events expose a header before complete content is available. */
|
|
2
|
+
export interface ChildMessageHeader {
|
|
3
|
+
readonly [key: string]: unknown;
|
|
4
|
+
readonly role: string;
|
|
5
|
+
readonly timestamp?: number;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/** Observations from native journals and external runners are not necessarily complete SDK messages. */
|
|
9
|
+
export interface ObservedUsage {
|
|
10
|
+
readonly input?: number;
|
|
11
|
+
readonly output?: number;
|
|
12
|
+
readonly cacheRead?: number;
|
|
13
|
+
readonly cacheWrite?: number;
|
|
14
|
+
readonly cacheWrite1h?: number;
|
|
15
|
+
readonly reasoning?: number;
|
|
16
|
+
readonly totalTokens?: number;
|
|
17
|
+
readonly cost?: {
|
|
18
|
+
readonly input?: number;
|
|
19
|
+
readonly output?: number;
|
|
20
|
+
readonly cacheRead?: number;
|
|
21
|
+
readonly cacheWrite?: number;
|
|
22
|
+
readonly total?: number;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export type ObservedContent =
|
|
27
|
+
| { readonly type: "text"; readonly text: string; readonly textSignature?: string }
|
|
28
|
+
| {
|
|
29
|
+
readonly type: "thinking";
|
|
30
|
+
readonly thinking: string;
|
|
31
|
+
readonly thinkingSignature?: string;
|
|
32
|
+
readonly redacted?: boolean;
|
|
33
|
+
}
|
|
34
|
+
| { readonly type: "image"; readonly data: string; readonly mimeType: string }
|
|
35
|
+
| {
|
|
36
|
+
readonly type: "toolCall";
|
|
37
|
+
readonly id: string;
|
|
38
|
+
readonly name: string;
|
|
39
|
+
readonly arguments: Readonly<Record<string, unknown>>;
|
|
40
|
+
readonly thoughtSignature?: string;
|
|
41
|
+
readonly namespace?: string;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
interface ObservedMessageMetadata {
|
|
45
|
+
readonly timestamp?: number;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export type ObservedMessage =
|
|
49
|
+
| (ObservedMessageMetadata & {
|
|
50
|
+
readonly role: "assistant";
|
|
51
|
+
readonly content: readonly ObservedContent[];
|
|
52
|
+
readonly api?: string;
|
|
53
|
+
readonly provider?: string;
|
|
54
|
+
readonly model?: string;
|
|
55
|
+
readonly responseModel?: string;
|
|
56
|
+
readonly responseId?: string;
|
|
57
|
+
readonly usage?: ObservedUsage;
|
|
58
|
+
readonly stopReason?: string;
|
|
59
|
+
readonly errorMessage?: string;
|
|
60
|
+
})
|
|
61
|
+
| (ObservedMessageMetadata & {
|
|
62
|
+
readonly role: "toolResult";
|
|
63
|
+
readonly content: readonly ObservedContent[];
|
|
64
|
+
readonly toolCallId: string;
|
|
65
|
+
readonly toolName: string;
|
|
66
|
+
readonly isError?: boolean;
|
|
67
|
+
readonly observedExitCode?: number;
|
|
68
|
+
readonly usage?: ObservedUsage;
|
|
69
|
+
readonly details?: unknown;
|
|
70
|
+
})
|
|
71
|
+
| (ObservedMessageMetadata & {
|
|
72
|
+
readonly role: "user" | "system";
|
|
73
|
+
readonly content: string | readonly ObservedContent[];
|
|
74
|
+
})
|
|
75
|
+
| (ObservedMessageMetadata & {
|
|
76
|
+
readonly role: "custom";
|
|
77
|
+
readonly customType: string;
|
|
78
|
+
readonly content: string | readonly ObservedContent[];
|
|
79
|
+
readonly display?: boolean;
|
|
80
|
+
readonly details?: unknown;
|
|
81
|
+
})
|
|
82
|
+
| (ObservedMessageMetadata & {
|
|
83
|
+
readonly role: "bashExecution";
|
|
84
|
+
readonly command: string;
|
|
85
|
+
readonly output: string;
|
|
86
|
+
readonly exitCode?: number;
|
|
87
|
+
readonly cancelled?: boolean;
|
|
88
|
+
readonly truncated?: boolean;
|
|
89
|
+
readonly fullOutputPath?: string;
|
|
90
|
+
readonly excludeFromContext?: boolean;
|
|
91
|
+
readonly content?: never;
|
|
92
|
+
})
|
|
93
|
+
| (ObservedMessageMetadata & {
|
|
94
|
+
readonly role: "branchSummary";
|
|
95
|
+
readonly summary: string;
|
|
96
|
+
readonly fromId: string | null;
|
|
97
|
+
readonly content?: never;
|
|
98
|
+
})
|
|
99
|
+
| (ObservedMessageMetadata & {
|
|
100
|
+
readonly role: "compactionSummary";
|
|
101
|
+
readonly summary: string;
|
|
102
|
+
readonly tokensBefore: number;
|
|
103
|
+
readonly content?: never;
|
|
104
|
+
});
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import type { WritableDeep } from "type-fest";
|
|
2
|
+
import type { ActivityState } from "./config.ts";
|
|
3
|
+
import type { SubagentRunMode } from "./progress.ts";
|
|
4
|
+
import type { TokenUsage } from "./usage.ts";
|
|
5
|
+
|
|
6
|
+
export interface AsyncParallelGroupStatus {
|
|
7
|
+
readonly start: number;
|
|
8
|
+
readonly count: number;
|
|
9
|
+
readonly stepIndex: number;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type NestedRunState = "queued" | "running" | "complete" | "failed" | "blocked" | "paused";
|
|
13
|
+
export type NestedOwnerState = "live" | "gone" | "unknown";
|
|
14
|
+
|
|
15
|
+
export interface NestedRunAddress {
|
|
16
|
+
readonly id: string;
|
|
17
|
+
readonly parentRunId: string;
|
|
18
|
+
readonly parentStepIndex?: number;
|
|
19
|
+
readonly parentAgent?: string;
|
|
20
|
+
readonly depth: number;
|
|
21
|
+
readonly path: readonly {
|
|
22
|
+
readonly runId: string;
|
|
23
|
+
readonly stepIndex?: number;
|
|
24
|
+
readonly agent?: string;
|
|
25
|
+
}[];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface NestedStepSummary {
|
|
29
|
+
readonly agent: string;
|
|
30
|
+
readonly status:
|
|
31
|
+
| "pending"
|
|
32
|
+
| "running"
|
|
33
|
+
| "complete"
|
|
34
|
+
| "completed"
|
|
35
|
+
| "failed"
|
|
36
|
+
| "blocked"
|
|
37
|
+
| "paused"
|
|
38
|
+
| "timed-out";
|
|
39
|
+
readonly sessionFile?: string;
|
|
40
|
+
readonly activityState?: ActivityState;
|
|
41
|
+
readonly lastActivityAt?: number;
|
|
42
|
+
readonly currentTool?: string;
|
|
43
|
+
readonly currentToolStartedAt?: number;
|
|
44
|
+
readonly currentPath?: string;
|
|
45
|
+
readonly turnCount?: number;
|
|
46
|
+
readonly toolCount?: number;
|
|
47
|
+
readonly startedAt?: number;
|
|
48
|
+
readonly endedAt?: number;
|
|
49
|
+
readonly error?: string;
|
|
50
|
+
readonly children?: readonly NestedRunSummary[];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface NestedRunSummary extends NestedRunAddress {
|
|
54
|
+
readonly indexedControl?: boolean;
|
|
55
|
+
readonly asyncDir?: string;
|
|
56
|
+
readonly pid?: number;
|
|
57
|
+
readonly sessionId?: string;
|
|
58
|
+
readonly sessionFile?: string;
|
|
59
|
+
readonly intercomTarget?: string;
|
|
60
|
+
readonly ownerIntercomTarget?: string;
|
|
61
|
+
readonly leafIntercomTarget?: string;
|
|
62
|
+
readonly ownerState?: NestedOwnerState;
|
|
63
|
+
readonly controlInbox?: string;
|
|
64
|
+
readonly capabilityToken?: string;
|
|
65
|
+
readonly mode?: SubagentRunMode;
|
|
66
|
+
readonly state: NestedRunState;
|
|
67
|
+
readonly agent?: string;
|
|
68
|
+
readonly agents?: readonly string[];
|
|
69
|
+
readonly currentStep?: number;
|
|
70
|
+
readonly chainStepCount?: number;
|
|
71
|
+
readonly parallelGroups?: readonly AsyncParallelGroupStatus[];
|
|
72
|
+
readonly steps?: readonly NestedStepSummary[];
|
|
73
|
+
readonly children?: readonly NestedRunSummary[];
|
|
74
|
+
readonly activityState?: ActivityState;
|
|
75
|
+
readonly lastActivityAt?: number;
|
|
76
|
+
readonly currentTool?: string;
|
|
77
|
+
readonly currentToolStartedAt?: number;
|
|
78
|
+
readonly currentPath?: string;
|
|
79
|
+
readonly turnCount?: number;
|
|
80
|
+
readonly toolCount?: number;
|
|
81
|
+
readonly totalTokens?: TokenUsage;
|
|
82
|
+
readonly startedAt?: number;
|
|
83
|
+
readonly endedAt?: number;
|
|
84
|
+
readonly lastUpdate?: number;
|
|
85
|
+
readonly error?: string;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/** The nested-event reducer owns and updates the projected tree before publishing a summary. */
|
|
89
|
+
export type NestedRunProjection = WritableDeep<NestedRunSummary>;
|
|
90
|
+
export type NestedStepProjection = WritableDeep<NestedStepSummary>;
|
|
91
|
+
|
|
92
|
+
export interface NestedRouteInfo {
|
|
93
|
+
readonly rootRunId: string;
|
|
94
|
+
readonly eventSink: string;
|
|
95
|
+
readonly controlInbox: string;
|
|
96
|
+
readonly capabilityToken: string;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export type PublicNestedStepSummary = Pick<
|
|
100
|
+
NestedStepSummary,
|
|
101
|
+
| "agent"
|
|
102
|
+
| "status"
|
|
103
|
+
| "sessionFile"
|
|
104
|
+
| "activityState"
|
|
105
|
+
| "lastActivityAt"
|
|
106
|
+
| "currentTool"
|
|
107
|
+
| "currentToolStartedAt"
|
|
108
|
+
| "currentPath"
|
|
109
|
+
| "turnCount"
|
|
110
|
+
| "toolCount"
|
|
111
|
+
| "startedAt"
|
|
112
|
+
| "endedAt"
|
|
113
|
+
| "error"
|
|
114
|
+
> & { readonly children?: readonly PublicNestedRunSummary[] };
|
|
115
|
+
|
|
116
|
+
export type PublicNestedRunSummary = Pick<
|
|
117
|
+
NestedRunSummary,
|
|
118
|
+
| "id"
|
|
119
|
+
| "parentRunId"
|
|
120
|
+
| "parentStepIndex"
|
|
121
|
+
| "parentAgent"
|
|
122
|
+
| "depth"
|
|
123
|
+
| "path"
|
|
124
|
+
| "asyncDir"
|
|
125
|
+
| "sessionId"
|
|
126
|
+
| "sessionFile"
|
|
127
|
+
| "intercomTarget"
|
|
128
|
+
| "ownerIntercomTarget"
|
|
129
|
+
| "leafIntercomTarget"
|
|
130
|
+
| "ownerState"
|
|
131
|
+
| "mode"
|
|
132
|
+
| "state"
|
|
133
|
+
| "agent"
|
|
134
|
+
| "agents"
|
|
135
|
+
| "currentStep"
|
|
136
|
+
| "chainStepCount"
|
|
137
|
+
| "parallelGroups"
|
|
138
|
+
| "activityState"
|
|
139
|
+
| "lastActivityAt"
|
|
140
|
+
| "currentTool"
|
|
141
|
+
| "currentToolStartedAt"
|
|
142
|
+
| "currentPath"
|
|
143
|
+
| "turnCount"
|
|
144
|
+
| "toolCount"
|
|
145
|
+
| "totalTokens"
|
|
146
|
+
| "startedAt"
|
|
147
|
+
| "endedAt"
|
|
148
|
+
| "lastUpdate"
|
|
149
|
+
| "error"
|
|
150
|
+
> & {
|
|
151
|
+
readonly steps?: readonly PublicNestedStepSummary[];
|
|
152
|
+
readonly children?: readonly PublicNestedRunSummary[];
|
|
153
|
+
};
|