@caupulican/pi-adaptative 0.81.39 → 0.81.41
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 +77 -0
- package/README.md +2 -0
- package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.d.ts +2 -0
- package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.d.ts.map +1 -1
- package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.js +3 -0
- package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.js.map +1 -1
- package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.ts +4 -0
- package/dist/bundled-resources/extensions/tmux-agent-manager/index.d.ts +9 -0
- package/dist/bundled-resources/extensions/tmux-agent-manager/index.d.ts.map +1 -1
- package/dist/bundled-resources/extensions/tmux-agent-manager/index.js +290 -107
- package/dist/bundled-resources/extensions/tmux-agent-manager/index.js.map +1 -1
- package/dist/bundled-resources/extensions/tmux-agent-manager/index.ts +357 -122
- package/dist/bundled-resources/skills/tool-call-repair/references/repair-catalogue.md +2 -2
- package/dist/cli/args.d.ts +4 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +31 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/core/agent-directory-layout.d.ts +15 -0
- package/dist/core/agent-directory-layout.d.ts.map +1 -0
- package/dist/core/agent-directory-layout.js +72 -0
- package/dist/core/agent-directory-layout.js.map +1 -0
- package/dist/core/agent-paths.d.ts +25 -2
- package/dist/core/agent-paths.d.ts.map +1 -1
- package/dist/core/agent-paths.js +79 -4
- package/dist/core/agent-paths.js.map +1 -1
- package/dist/core/agent-session-contracts.d.ts +293 -0
- package/dist/core/agent-session-contracts.d.ts.map +1 -0
- package/dist/core/agent-session-contracts.js +26 -0
- package/dist/core/agent-session-contracts.js.map +1 -0
- package/dist/core/agent-session-runtime.d.ts +52 -8
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +400 -79
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +1 -0
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +1 -0
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +74 -518
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +370 -1432
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +3 -1
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/autonomy/approval-gate.d.ts +3 -2
- package/dist/core/autonomy/approval-gate.d.ts.map +1 -1
- package/dist/core/autonomy/approval-gate.js +6 -28
- package/dist/core/autonomy/approval-gate.js.map +1 -1
- package/dist/core/autonomy/bounded-completion.d.ts +1 -1
- package/dist/core/autonomy/bounded-completion.d.ts.map +1 -1
- package/dist/core/autonomy/bounded-completion.js +1 -1
- package/dist/core/autonomy/bounded-completion.js.map +1 -1
- package/dist/core/autonomy/contracts.d.ts +20 -12
- package/dist/core/autonomy/contracts.d.ts.map +1 -1
- package/dist/core/autonomy/contracts.js.map +1 -1
- package/dist/core/autonomy/foreground-envelope.d.ts +8 -2
- package/dist/core/autonomy/foreground-envelope.d.ts.map +1 -1
- package/dist/core/autonomy/foreground-envelope.js +8 -25
- package/dist/core/autonomy/foreground-envelope.js.map +1 -1
- package/dist/core/autonomy/gates.d.ts.map +1 -1
- package/dist/core/autonomy/gates.js +8 -10
- package/dist/core/autonomy/gates.js.map +1 -1
- package/dist/core/autonomy/lane-private-paths.d.ts +2 -0
- package/dist/core/autonomy/lane-private-paths.d.ts.map +1 -0
- package/dist/core/autonomy/lane-private-paths.js +16 -0
- package/dist/core/autonomy/lane-private-paths.js.map +1 -0
- package/dist/core/autonomy/lane-tool-surface.d.ts +10 -0
- package/dist/core/autonomy/lane-tool-surface.d.ts.map +1 -1
- package/dist/core/autonomy/lane-tool-surface.js +48 -9
- package/dist/core/autonomy/lane-tool-surface.js.map +1 -1
- package/dist/core/autonomy/lane-tracker.d.ts +14 -0
- package/dist/core/autonomy/lane-tracker.d.ts.map +1 -1
- package/dist/core/autonomy/lane-tracker.js +38 -0
- package/dist/core/autonomy/lane-tracker.js.map +1 -1
- package/dist/core/autonomy/risk-assessment.d.ts +1 -2
- package/dist/core/autonomy/risk-assessment.d.ts.map +1 -1
- package/dist/core/autonomy/risk-assessment.js +1 -123
- package/dist/core/autonomy/risk-assessment.js.map +1 -1
- package/dist/core/autonomy/session-lane-record.d.ts +4 -4
- package/dist/core/autonomy/session-lane-record.d.ts.map +1 -1
- package/dist/core/autonomy/session-lane-record.js +16 -29
- package/dist/core/autonomy/session-lane-record.js.map +1 -1
- package/dist/core/autonomy/telemetry-events.d.ts +1 -1
- package/dist/core/autonomy/telemetry-events.d.ts.map +1 -1
- package/dist/core/autonomy/telemetry-events.js +1 -1
- package/dist/core/autonomy/telemetry-events.js.map +1 -1
- package/dist/core/autonomy-telemetry.d.ts +7 -7
- package/dist/core/autonomy-telemetry.d.ts.map +1 -1
- package/dist/core/autonomy-telemetry.js +9 -9
- package/dist/core/autonomy-telemetry.js.map +1 -1
- package/dist/core/background-lane-controller.d.ts +56 -236
- package/dist/core/background-lane-controller.d.ts.map +1 -1
- package/dist/core/background-lane-controller.js +141 -1273
- package/dist/core/background-lane-controller.js.map +1 -1
- package/dist/core/bedrock-sso-login.d.ts +16 -0
- package/dist/core/bedrock-sso-login.d.ts.map +1 -0
- package/dist/core/bedrock-sso-login.js +98 -0
- package/dist/core/bedrock-sso-login.js.map +1 -0
- package/dist/core/capability-contract.d.ts +4 -0
- package/dist/core/capability-contract.d.ts.map +1 -0
- package/dist/core/capability-contract.js +28 -0
- package/dist/core/capability-contract.js.map +1 -0
- package/dist/core/compaction-controller.d.ts +90 -0
- package/dist/core/compaction-controller.d.ts.map +1 -0
- package/dist/core/compaction-controller.js +452 -0
- package/dist/core/compaction-controller.js.map +1 -0
- package/dist/core/compaction-support.d.ts +13 -17
- package/dist/core/compaction-support.d.ts.map +1 -1
- package/dist/core/compaction-support.js +3 -3
- package/dist/core/compaction-support.js.map +1 -1
- package/dist/core/context/context-artifacts.d.ts +6 -2
- package/dist/core/context/context-artifacts.d.ts.map +1 -1
- package/dist/core/context/context-artifacts.js +34 -2
- package/dist/core/context/context-artifacts.js.map +1 -1
- package/dist/core/context/context-store-retention.d.ts +8 -2
- package/dist/core/context/context-store-retention.d.ts.map +1 -1
- package/dist/core/context/context-store-retention.js +158 -35
- package/dist/core/context/context-store-retention.js.map +1 -1
- package/dist/core/context/okf-memory.d.ts.map +1 -1
- package/dist/core/context/okf-memory.js +9 -11
- package/dist/core/context/okf-memory.js.map +1 -1
- package/dist/core/context/sqlite-runtime-index.d.ts.map +1 -1
- package/dist/core/context/sqlite-runtime-index.js +6 -8
- package/dist/core/context/sqlite-runtime-index.js.map +1 -1
- package/dist/core/context-gc.d.ts +3 -0
- package/dist/core/context-gc.d.ts.map +1 -1
- package/dist/core/context-gc.js +10 -5
- package/dist/core/context-gc.js.map +1 -1
- package/dist/core/context-pipeline.d.ts +1 -1
- package/dist/core/context-pipeline.d.ts.map +1 -1
- package/dist/core/context-pipeline.js +16 -37
- package/dist/core/context-pipeline.js.map +1 -1
- package/dist/core/cost/cost-summary.d.ts.map +1 -1
- package/dist/core/cost/cost-summary.js +5 -3
- package/dist/core/cost/cost-summary.js.map +1 -1
- package/dist/core/cost/daily-usage.d.ts.map +1 -1
- package/dist/core/cost/daily-usage.js +4 -5
- package/dist/core/cost/daily-usage.js.map +1 -1
- package/dist/core/default-tool-surface.d.ts.map +1 -1
- package/dist/core/default-tool-surface.js +2 -0
- package/dist/core/default-tool-surface.js.map +1 -1
- package/dist/core/delegation/managed-lane-controller.d.ts +34 -0
- package/dist/core/delegation/managed-lane-controller.d.ts.map +1 -0
- package/dist/core/delegation/managed-lane-controller.js +217 -0
- package/dist/core/delegation/managed-lane-controller.js.map +1 -0
- package/dist/core/delegation/session-worker-claim.d.ts +44 -0
- package/dist/core/delegation/session-worker-claim.d.ts.map +1 -0
- package/dist/core/delegation/session-worker-claim.js +98 -0
- package/dist/core/delegation/session-worker-claim.js.map +1 -0
- package/dist/core/delegation/worker-actions.d.ts +7 -5
- package/dist/core/delegation/worker-actions.d.ts.map +1 -1
- package/dist/core/delegation/worker-actions.js +20 -4
- package/dist/core/delegation/worker-actions.js.map +1 -1
- package/dist/core/delegation/{worker-result.d.ts → worker-claim.d.ts} +13 -13
- package/dist/core/delegation/worker-claim.d.ts.map +1 -0
- package/dist/core/delegation/{worker-result.js → worker-claim.js} +61 -51
- package/dist/core/delegation/worker-claim.js.map +1 -0
- package/dist/core/delegation/worker-delegation-controller.d.ts +110 -0
- package/dist/core/delegation/worker-delegation-controller.d.ts.map +1 -0
- package/dist/core/delegation/worker-delegation-controller.js +861 -0
- package/dist/core/delegation/worker-delegation-controller.js.map +1 -0
- package/dist/core/delegation/worker-delegation-request.d.ts +11 -0
- package/dist/core/delegation/worker-delegation-request.d.ts.map +1 -0
- package/dist/core/delegation/worker-delegation-request.js +2 -0
- package/dist/core/delegation/worker-delegation-request.js.map +1 -0
- package/dist/core/delegation/worker-dispatch-scheduler.d.ts +40 -0
- package/dist/core/delegation/worker-dispatch-scheduler.d.ts.map +1 -0
- package/dist/core/delegation/worker-dispatch-scheduler.js +93 -0
- package/dist/core/delegation/worker-dispatch-scheduler.js.map +1 -0
- package/dist/core/delegation/worker-execution-policy.d.ts +62 -0
- package/dist/core/delegation/worker-execution-policy.d.ts.map +1 -0
- package/dist/core/delegation/worker-execution-policy.js +160 -0
- package/dist/core/delegation/worker-execution-policy.js.map +1 -0
- package/dist/core/delegation/worker-lane-projection.d.ts +14 -0
- package/dist/core/delegation/worker-lane-projection.d.ts.map +1 -0
- package/dist/core/delegation/worker-lane-projection.js +100 -0
- package/dist/core/delegation/worker-lane-projection.js.map +1 -0
- package/dist/core/delegation/worker-lifecycle.d.ts +97 -0
- package/dist/core/delegation/worker-lifecycle.d.ts.map +1 -0
- package/dist/core/delegation/worker-lifecycle.js +339 -0
- package/dist/core/delegation/worker-lifecycle.js.map +1 -0
- package/dist/core/delegation/worker-notification-coordinator.d.ts +36 -0
- package/dist/core/delegation/worker-notification-coordinator.d.ts.map +1 -0
- package/dist/core/delegation/worker-notification-coordinator.js +90 -0
- package/dist/core/delegation/worker-notification-coordinator.js.map +1 -0
- package/dist/core/delegation/worker-profile-resolver.d.ts +55 -0
- package/dist/core/delegation/worker-profile-resolver.d.ts.map +1 -0
- package/dist/core/delegation/worker-profile-resolver.js +113 -0
- package/dist/core/delegation/worker-profile-resolver.js.map +1 -0
- package/dist/core/delegation/worker-runner.d.ts +25 -14
- package/dist/core/delegation/worker-runner.d.ts.map +1 -1
- package/dist/core/delegation/worker-runner.js +122 -53
- package/dist/core/delegation/worker-runner.js.map +1 -1
- package/dist/core/delegation/worker-task-label.d.ts +3 -0
- package/dist/core/delegation/worker-task-label.d.ts.map +1 -0
- package/dist/core/delegation/worker-task-label.js +11 -0
- package/dist/core/delegation/worker-task-label.js.map +1 -0
- package/dist/core/doctor.d.ts +8 -0
- package/dist/core/doctor.d.ts.map +1 -1
- package/dist/core/doctor.js +32 -1
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/extension-import-authority.d.ts +6 -0
- package/dist/core/extension-import-authority.d.ts.map +1 -0
- package/dist/core/extension-import-authority.js +10 -0
- package/dist/core/extension-import-authority.js.map +1 -0
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +5 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +52 -18
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +3 -0
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +20 -5
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/stale-context.d.ts +2 -0
- package/dist/core/extensions/stale-context.d.ts.map +1 -0
- package/dist/core/extensions/stale-context.js +2 -0
- package/dist/core/extensions/stale-context.js.map +1 -0
- package/dist/core/extensions/storage.d.ts +8 -0
- package/dist/core/extensions/storage.d.ts.map +1 -0
- package/dist/core/extensions/storage.js +28 -0
- package/dist/core/extensions/storage.js.map +1 -0
- package/dist/core/extensions/types.d.ts +78 -21
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/failure-corpus.d.ts +1 -15
- package/dist/core/failure-corpus.d.ts.map +1 -1
- package/dist/core/failure-corpus.js +9 -37
- package/dist/core/failure-corpus.js.map +1 -1
- package/dist/core/foreground-recovery-controller.d.ts +53 -0
- package/dist/core/foreground-recovery-controller.d.ts.map +1 -0
- package/dist/core/foreground-recovery-controller.js +111 -0
- package/dist/core/foreground-recovery-controller.js.map +1 -0
- package/dist/core/gateways/channel-provider.d.ts +3 -0
- package/dist/core/gateways/channel-provider.d.ts.map +1 -1
- package/dist/core/gateways/channel-provider.js +31 -6
- package/dist/core/gateways/channel-provider.js.map +1 -1
- package/dist/core/goal-loop-controller.d.ts +14 -9
- package/dist/core/goal-loop-controller.d.ts.map +1 -1
- package/dist/core/goal-loop-controller.js +47 -75
- package/dist/core/goal-loop-controller.js.map +1 -1
- package/dist/core/goals/compact-goal-context.d.ts +11 -0
- package/dist/core/goals/compact-goal-context.d.ts.map +1 -0
- package/dist/core/goals/compact-goal-context.js +59 -0
- package/dist/core/goals/compact-goal-context.js.map +1 -0
- package/dist/core/goals/goal-acceptance.d.ts +11 -0
- package/dist/core/goals/goal-acceptance.d.ts.map +1 -0
- package/dist/core/goals/goal-acceptance.js +27 -0
- package/dist/core/goals/goal-acceptance.js.map +1 -0
- package/dist/core/goals/goal-auto-continue-controller.d.ts +28 -0
- package/dist/core/goals/goal-auto-continue-controller.d.ts.map +1 -0
- package/dist/core/goals/goal-auto-continue-controller.js +90 -0
- package/dist/core/goals/goal-auto-continue-controller.js.map +1 -0
- package/dist/core/goals/goal-continuation-controller.d.ts +2 -2
- package/dist/core/goals/goal-continuation-controller.d.ts.map +1 -1
- package/dist/core/goals/goal-continuation-controller.js +52 -11
- package/dist/core/goals/goal-continuation-controller.js.map +1 -1
- package/dist/core/goals/goal-continuation-defaults.d.ts +4 -29
- package/dist/core/goals/goal-continuation-defaults.d.ts.map +1 -1
- package/dist/core/goals/goal-continuation-defaults.js +4 -32
- package/dist/core/goals/goal-continuation-defaults.js.map +1 -1
- package/dist/core/goals/goal-continuation-prompt.d.ts +8 -18
- package/dist/core/goals/goal-continuation-prompt.d.ts.map +1 -1
- package/dist/core/goals/goal-continuation-prompt.js +9 -179
- package/dist/core/goals/goal-continuation-prompt.js.map +1 -1
- package/dist/core/goals/goal-lifecycle.d.ts +43 -0
- package/dist/core/goals/goal-lifecycle.d.ts.map +1 -0
- package/dist/core/goals/goal-lifecycle.js +102 -0
- package/dist/core/goals/goal-lifecycle.js.map +1 -0
- package/dist/core/goals/goal-record.d.ts +17 -0
- package/dist/core/goals/goal-record.d.ts.map +1 -0
- package/dist/core/goals/goal-record.js +31 -0
- package/dist/core/goals/goal-record.js.map +1 -0
- package/dist/core/goals/goal-runtime-snapshot.d.ts +11 -9
- package/dist/core/goals/goal-runtime-snapshot.d.ts.map +1 -1
- package/dist/core/goals/goal-runtime-snapshot.js +10 -8
- package/dist/core/goals/goal-runtime-snapshot.js.map +1 -1
- package/dist/core/goals/goal-session-controller.d.ts +42 -0
- package/dist/core/goals/goal-session-controller.d.ts.map +1 -0
- package/dist/core/goals/goal-session-controller.js +128 -0
- package/dist/core/goals/goal-session-controller.js.map +1 -0
- package/dist/core/goals/goal-state.d.ts +46 -25
- package/dist/core/goals/goal-state.d.ts.map +1 -1
- package/dist/core/goals/goal-state.js +91 -24
- package/dist/core/goals/goal-state.js.map +1 -1
- package/dist/core/goals/goal-tool-core.d.ts +9 -10
- package/dist/core/goals/goal-tool-core.d.ts.map +1 -1
- package/dist/core/goals/goal-tool-core.js +60 -75
- package/dist/core/goals/goal-tool-core.js.map +1 -1
- package/dist/core/goals/session-goal-state.d.ts +20 -12
- package/dist/core/goals/session-goal-state.d.ts.map +1 -1
- package/dist/core/goals/session-goal-state.js +133 -33
- package/dist/core/goals/session-goal-state.js.map +1 -1
- package/dist/core/human-input-controller.d.ts +47 -0
- package/dist/core/human-input-controller.d.ts.map +1 -0
- package/dist/core/human-input-controller.js +181 -0
- package/dist/core/human-input-controller.js.map +1 -0
- package/dist/core/human-input.d.ts +100 -0
- package/dist/core/human-input.d.ts.map +1 -0
- package/dist/core/human-input.js +362 -0
- package/dist/core/human-input.js.map +1 -0
- package/dist/core/index.d.ts +9 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +9 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/{telemetry.d.ts → install-telemetry.d.ts} +1 -1
- package/dist/core/install-telemetry.d.ts.map +1 -0
- package/dist/core/{telemetry.js → install-telemetry.js} +1 -1
- package/dist/core/install-telemetry.js.map +1 -0
- package/dist/core/keybindings.d.ts +17 -1
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +24 -6
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/learning/learning-audit.d.ts +2 -4
- package/dist/core/learning/learning-audit.d.ts.map +1 -1
- package/dist/core/learning/learning-audit.js +9 -29
- package/dist/core/learning/learning-audit.js.map +1 -1
- package/dist/core/learning/learning-gate.d.ts.map +1 -1
- package/dist/core/learning/learning-gate.js +1 -6
- package/dist/core/learning/learning-gate.js.map +1 -1
- package/dist/core/learning/session-learning-decision.d.ts +2 -4
- package/dist/core/learning/session-learning-decision.d.ts.map +1 -1
- package/dist/core/learning/session-learning-decision.js +9 -29
- package/dist/core/learning/session-learning-decision.js.map +1 -1
- package/dist/core/local-runtime-controller.d.ts +1 -1
- package/dist/core/local-runtime-controller.d.ts.map +1 -1
- package/dist/core/local-runtime-controller.js.map +1 -1
- package/dist/core/memory-controller.d.ts.map +1 -1
- package/dist/core/memory-controller.js +4 -4
- package/dist/core/memory-controller.js.map +1 -1
- package/dist/core/model-capability.d.ts +0 -19
- package/dist/core/model-capability.d.ts.map +1 -1
- package/dist/core/model-capability.js +1 -19
- package/dist/core/model-capability.js.map +1 -1
- package/dist/core/model-registry.d.ts +6 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +13 -5
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +17 -2
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +38 -25
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-router/intent-classifier.d.ts +1 -4
- package/dist/core/model-router/intent-classifier.d.ts.map +1 -1
- package/dist/core/model-router/intent-classifier.js +1 -156
- package/dist/core/model-router/intent-classifier.js.map +1 -1
- package/dist/core/model-router-controller.d.ts +1 -1
- package/dist/core/model-router-controller.d.ts.map +1 -1
- package/dist/core/model-router-controller.js +2 -2
- package/dist/core/model-router-controller.js.map +1 -1
- package/dist/core/model-selection-controller.d.ts +5 -5
- package/dist/core/model-selection-controller.d.ts.map +1 -1
- package/dist/core/model-selection-controller.js.map +1 -1
- package/dist/core/model-tool-protocol.d.ts +23 -0
- package/dist/core/model-tool-protocol.d.ts.map +1 -0
- package/dist/core/model-tool-protocol.js +43 -0
- package/dist/core/model-tool-protocol.js.map +1 -0
- package/dist/core/models/adaptation-store.d.ts +4 -6
- package/dist/core/models/adaptation-store.d.ts.map +1 -1
- package/dist/core/models/adaptation-store.js +95 -83
- package/dist/core/models/adaptation-store.js.map +1 -1
- package/dist/core/models/fitness-store.d.ts +2 -12
- package/dist/core/models/fitness-store.d.ts.map +1 -1
- package/dist/core/models/fitness-store.js +84 -57
- package/dist/core/models/fitness-store.js.map +1 -1
- package/dist/core/models/host-state-store.d.ts +34 -0
- package/dist/core/models/host-state-store.d.ts.map +1 -0
- package/dist/core/models/host-state-store.js +86 -0
- package/dist/core/models/host-state-store.js.map +1 -0
- package/dist/core/orchestration/agent-resume.d.ts +24 -0
- package/dist/core/orchestration/agent-resume.d.ts.map +1 -0
- package/dist/core/orchestration/agent-resume.js +90 -0
- package/dist/core/orchestration/agent-resume.js.map +1 -0
- package/dist/core/orchestration/capability-gateway.d.ts +61 -0
- package/dist/core/orchestration/capability-gateway.d.ts.map +1 -0
- package/dist/core/orchestration/capability-gateway.js +152 -0
- package/dist/core/orchestration/capability-gateway.js.map +1 -0
- package/dist/core/orchestration/contracts.d.ts +343 -0
- package/dist/core/orchestration/contracts.d.ts.map +1 -0
- package/dist/core/orchestration/contracts.js +135 -0
- package/dist/core/orchestration/contracts.js.map +1 -0
- package/dist/core/orchestration/delegation-ledger.d.ts +56 -0
- package/dist/core/orchestration/delegation-ledger.d.ts.map +1 -0
- package/dist/core/orchestration/delegation-ledger.js +200 -0
- package/dist/core/orchestration/delegation-ledger.js.map +1 -0
- package/dist/core/orchestration/event-store.d.ts +83 -0
- package/dist/core/orchestration/event-store.d.ts.map +1 -0
- package/dist/core/orchestration/event-store.js +560 -0
- package/dist/core/orchestration/event-store.js.map +1 -0
- package/dist/core/orchestration/lane-tool-manifests.d.ts +9 -0
- package/dist/core/orchestration/lane-tool-manifests.d.ts.map +1 -0
- package/dist/core/orchestration/lane-tool-manifests.js +37 -0
- package/dist/core/orchestration/lane-tool-manifests.js.map +1 -0
- package/dist/core/orchestration/model-binding.d.ts +15 -0
- package/dist/core/orchestration/model-binding.d.ts.map +1 -0
- package/dist/core/orchestration/model-binding.js +29 -0
- package/dist/core/orchestration/model-binding.js.map +1 -0
- package/dist/core/orchestration/policy-compiler.d.ts +49 -0
- package/dist/core/orchestration/policy-compiler.d.ts.map +1 -0
- package/dist/core/orchestration/policy-compiler.js +191 -0
- package/dist/core/orchestration/policy-compiler.js.map +1 -0
- package/dist/core/orchestration/policy-gate.d.ts +18 -0
- package/dist/core/orchestration/policy-gate.d.ts.map +1 -0
- package/dist/core/orchestration/policy-gate.js +24 -0
- package/dist/core/orchestration/policy-gate.js.map +1 -0
- package/dist/core/orchestration/profile-registry.d.ts +51 -0
- package/dist/core/orchestration/profile-registry.d.ts.map +1 -0
- package/dist/core/orchestration/profile-registry.js +393 -0
- package/dist/core/orchestration/profile-registry.js.map +1 -0
- package/dist/core/orchestration/profile-store.d.ts +31 -0
- package/dist/core/orchestration/profile-store.d.ts.map +1 -0
- package/dist/core/orchestration/profile-store.js +136 -0
- package/dist/core/orchestration/profile-store.js.map +1 -0
- package/dist/core/orchestration/risk-budget.d.ts +9 -0
- package/dist/core/orchestration/risk-budget.d.ts.map +1 -0
- package/dist/core/orchestration/risk-budget.js +48 -0
- package/dist/core/orchestration/risk-budget.js.map +1 -0
- package/dist/core/orchestration/task-runtime.d.ts +168 -0
- package/dist/core/orchestration/task-runtime.d.ts.map +1 -0
- package/dist/core/orchestration/task-runtime.js +1600 -0
- package/dist/core/orchestration/task-runtime.js.map +1 -0
- package/dist/core/orchestration/work-state-projection.d.ts +32 -0
- package/dist/core/orchestration/work-state-projection.d.ts.map +1 -0
- package/dist/core/orchestration/work-state-projection.js +116 -0
- package/dist/core/orchestration/work-state-projection.js.map +1 -0
- package/dist/core/orchestration/worker-execution-contract.d.ts +21 -0
- package/dist/core/orchestration/worker-execution-contract.d.ts.map +1 -0
- package/dist/core/orchestration/worker-execution-contract.js +179 -0
- package/dist/core/orchestration/worker-execution-contract.js.map +1 -0
- package/dist/core/orchestration/worker-result-adapter.d.ts +21 -0
- package/dist/core/orchestration/worker-result-adapter.d.ts.map +1 -0
- package/dist/core/orchestration/worker-result-adapter.js +109 -0
- package/dist/core/orchestration/worker-result-adapter.js.map +1 -0
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +20 -3
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/process-identity.d.ts +11 -0
- package/dist/core/process-identity.d.ts.map +1 -0
- package/dist/core/process-identity.js +26 -0
- package/dist/core/process-identity.js.map +1 -0
- package/dist/core/process-matrix/codes.d.ts +14 -3
- package/dist/core/process-matrix/codes.d.ts.map +1 -1
- package/dist/core/process-matrix/codes.js.map +1 -1
- package/dist/core/process-matrix/resume-launcher.d.ts +26 -0
- package/dist/core/process-matrix/resume-launcher.d.ts.map +1 -0
- package/dist/core/process-matrix/resume-launcher.js +62 -0
- package/dist/core/process-matrix/resume-launcher.js.map +1 -0
- package/dist/core/process-matrix/runtime.d.ts +37 -22
- package/dist/core/process-matrix/runtime.d.ts.map +1 -1
- package/dist/core/process-matrix/runtime.js +399 -76
- package/dist/core/process-matrix/runtime.js.map +1 -1
- package/dist/core/process-matrix/store.d.ts +5 -2
- package/dist/core/process-matrix/store.d.ts.map +1 -1
- package/dist/core/process-matrix/store.js +123 -14
- package/dist/core/process-matrix/store.js.map +1 -1
- package/dist/core/process-matrix/supervisor.d.ts +10 -7
- package/dist/core/process-matrix/supervisor.d.ts.map +1 -1
- package/dist/core/process-matrix/supervisor.js +45 -14
- package/dist/core/process-matrix/supervisor.js.map +1 -1
- package/dist/core/profile-filter-controller.d.ts +8 -1
- package/dist/core/profile-filter-controller.d.ts.map +1 -1
- package/dist/core/profile-filter-controller.js +23 -5
- package/dist/core/profile-filter-controller.js.map +1 -1
- package/dist/core/profile-registry.d.ts.map +1 -1
- package/dist/core/profile-registry.js +6 -8
- package/dist/core/profile-registry.js.map +1 -1
- package/dist/core/prompt-templates.d.ts +1 -0
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +18 -29
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/reflection-controller.d.ts +5 -5
- package/dist/core/reflection-controller.d.ts.map +1 -1
- package/dist/core/reflection-controller.js +5 -2
- package/dist/core/reflection-controller.js.map +1 -1
- package/dist/core/reload-blockers.d.ts.map +1 -1
- package/dist/core/reload-blockers.js +6 -8
- package/dist/core/reload-blockers.js.map +1 -1
- package/dist/core/request-auth.d.ts +7 -0
- package/dist/core/request-auth.d.ts.map +1 -0
- package/dist/core/request-auth.js +8 -0
- package/dist/core/request-auth.js.map +1 -0
- package/dist/core/research/evidence-bundle.d.ts.map +1 -1
- package/dist/core/research/evidence-bundle.js +1 -6
- package/dist/core/research/evidence-bundle.js.map +1 -1
- package/dist/core/research/lane-model-resolver.d.ts +33 -0
- package/dist/core/research/lane-model-resolver.d.ts.map +1 -0
- package/dist/core/research/lane-model-resolver.js +65 -0
- package/dist/core/research/lane-model-resolver.js.map +1 -0
- package/dist/core/research/model-fitness-controller.d.ts +38 -0
- package/dist/core/research/model-fitness-controller.d.ts.map +1 -0
- package/dist/core/research/model-fitness-controller.js +106 -0
- package/dist/core/research/model-fitness-controller.js.map +1 -0
- package/dist/core/research/model-fitness.d.ts +1 -1
- package/dist/core/research/model-fitness.d.ts.map +1 -1
- package/dist/core/research/model-fitness.js +4 -4
- package/dist/core/research/model-fitness.js.map +1 -1
- package/dist/core/research/research-gate.d.ts.map +1 -1
- package/dist/core/research/research-gate.js +7 -7
- package/dist/core/research/research-gate.js.map +1 -1
- package/dist/core/research/research-lane-controller.d.ts +62 -0
- package/dist/core/research/research-lane-controller.d.ts.map +1 -0
- package/dist/core/research/research-lane-controller.js +292 -0
- package/dist/core/research/research-lane-controller.js.map +1 -0
- package/dist/core/research/session-evidence-bundle.d.ts +2 -4
- package/dist/core/research/session-evidence-bundle.d.ts.map +1 -1
- package/dist/core/research/session-evidence-bundle.js +10 -46
- package/dist/core/research/session-evidence-bundle.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +23 -8
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/risk-classifier.d.ts +6 -0
- package/dist/core/risk-classifier.d.ts.map +1 -0
- package/dist/core/risk-classifier.js +233 -0
- package/dist/core/risk-classifier.js.map +1 -0
- package/dist/core/runtime-builder.d.ts +41 -23
- package/dist/core/runtime-builder.d.ts.map +1 -1
- package/dist/core/runtime-builder.js +365 -253
- package/dist/core/runtime-builder.js.map +1 -1
- package/dist/core/sdk.d.ts +6 -3
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +68 -25
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/secrets/credential-exposure-guard.d.ts +9 -0
- package/dist/core/secrets/credential-exposure-guard.d.ts.map +1 -0
- package/dist/core/secrets/credential-exposure-guard.js +241 -0
- package/dist/core/secrets/credential-exposure-guard.js.map +1 -0
- package/dist/core/secrets/secret-dotenv.d.ts +27 -0
- package/dist/core/secrets/secret-dotenv.d.ts.map +1 -0
- package/dist/core/secrets/secret-dotenv.js +183 -0
- package/dist/core/secrets/secret-dotenv.js.map +1 -0
- package/dist/core/secrets/secret-vault-format.d.ts +112 -0
- package/dist/core/secrets/secret-vault-format.d.ts.map +1 -0
- package/dist/core/secrets/secret-vault-format.js +397 -0
- package/dist/core/secrets/secret-vault-format.js.map +1 -0
- package/dist/core/secrets/secret-vault.d.ts +72 -0
- package/dist/core/secrets/secret-vault.d.ts.map +1 -0
- package/dist/core/secrets/secret-vault.js +671 -0
- package/dist/core/secrets/secret-vault.js.map +1 -0
- package/dist/core/session-analytics.d.ts +4 -23
- package/dist/core/session-analytics.d.ts.map +1 -1
- package/dist/core/session-analytics.js +67 -70
- package/dist/core/session-analytics.js.map +1 -1
- package/dist/core/session-image-store.d.ts +33 -0
- package/dist/core/session-image-store.d.ts.map +1 -0
- package/dist/core/session-image-store.js +283 -0
- package/dist/core/session-image-store.js.map +1 -0
- package/dist/core/session-role.d.ts +11 -4
- package/dist/core/session-role.d.ts.map +1 -1
- package/dist/core/session-role.js +24 -5
- package/dist/core/session-role.js.map +1 -1
- package/dist/core/session-snapshot.d.ts +34 -0
- package/dist/core/session-snapshot.d.ts.map +1 -0
- package/dist/core/session-snapshot.js +68 -0
- package/dist/core/session-snapshot.js.map +1 -0
- package/dist/core/session-supervision-runtime.d.ts +31 -0
- package/dist/core/session-supervision-runtime.d.ts.map +1 -0
- package/dist/core/session-supervision-runtime.js +97 -0
- package/dist/core/session-supervision-runtime.js.map +1 -0
- package/dist/core/session-tree-navigator.d.ts +4 -6
- package/dist/core/session-tree-navigator.d.ts.map +1 -1
- package/dist/core/session-tree-navigator.js +4 -1
- package/dist/core/session-tree-navigator.js.map +1 -1
- package/dist/core/settings-manager.d.ts +10 -5
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +81 -29
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +2 -2
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/tasks/session-task-state.d.ts +2 -4
- package/dist/core/tasks/session-task-state.d.ts.map +1 -1
- package/dist/core/tasks/session-task-state.js +10 -28
- package/dist/core/tasks/session-task-state.js.map +1 -1
- package/dist/core/tasks/task-projection.d.ts +20 -0
- package/dist/core/tasks/task-projection.d.ts.map +1 -0
- package/dist/core/tasks/task-projection.js +47 -0
- package/dist/core/tasks/task-projection.js.map +1 -0
- package/dist/core/tasks/task-state.d.ts +4 -0
- package/dist/core/tasks/task-state.d.ts.map +1 -1
- package/dist/core/tasks/task-state.js +28 -11
- package/dist/core/tasks/task-state.js.map +1 -1
- package/dist/core/tool-capability-policy.d.ts +13 -0
- package/dist/core/tool-capability-policy.d.ts.map +1 -0
- package/dist/core/tool-capability-policy.js +86 -0
- package/dist/core/tool-capability-policy.js.map +1 -0
- package/dist/core/tool-gate-controller.d.ts.map +1 -1
- package/dist/core/tool-gate-controller.js +8 -2
- package/dist/core/tool-gate-controller.js.map +1 -1
- package/dist/core/tool-protocol-controller.d.ts +89 -0
- package/dist/core/tool-protocol-controller.d.ts.map +1 -0
- package/dist/core/tool-protocol-controller.js +512 -0
- package/dist/core/tool-protocol-controller.js.map +1 -0
- package/dist/core/tool-recovery-log-records.d.ts +2 -3
- package/dist/core/tool-recovery-log-records.d.ts.map +1 -1
- package/dist/core/tool-recovery-log-records.js +9 -35
- package/dist/core/tool-recovery-log-records.js.map +1 -1
- package/dist/core/tool-recovery-stats.d.ts +21 -1
- package/dist/core/tool-recovery-stats.d.ts.map +1 -1
- package/dist/core/tool-recovery-stats.js.map +1 -1
- package/dist/core/tool-selection/tool-performance-store.d.ts +3 -7
- package/dist/core/tool-selection/tool-performance-store.d.ts.map +1 -1
- package/dist/core/tool-selection/tool-performance-store.js +97 -138
- package/dist/core/tool-selection/tool-performance-store.js.map +1 -1
- package/dist/core/tools/ask-question.d.ts +124 -0
- package/dist/core/tools/ask-question.d.ts.map +1 -0
- package/dist/core/tools/ask-question.js +693 -0
- package/dist/core/tools/ask-question.js.map +1 -0
- package/dist/core/tools/bash.d.ts +5 -0
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +59 -5
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/delegate-status.d.ts +31 -3
- package/dist/core/tools/delegate-status.d.ts.map +1 -1
- package/dist/core/tools/delegate-status.js +148 -29
- package/dist/core/tools/delegate-status.js.map +1 -1
- package/dist/core/tools/delegate.d.ts +15 -13
- package/dist/core/tools/delegate.d.ts.map +1 -1
- package/dist/core/tools/delegate.js +106 -23
- package/dist/core/tools/delegate.js.map +1 -1
- package/dist/core/tools/extensionify.d.ts.map +1 -1
- package/dist/core/tools/extensionify.js +1 -0
- package/dist/core/tools/extensionify.js.map +1 -1
- package/dist/core/tools/git-filter.d.ts +1 -8
- package/dist/core/tools/git-filter.d.ts.map +1 -1
- package/dist/core/tools/git-filter.js +2 -63
- package/dist/core/tools/git-filter.js.map +1 -1
- package/dist/core/tools/goal.d.ts +10 -8
- package/dist/core/tools/goal.d.ts.map +1 -1
- package/dist/core/tools/goal.js +106 -28
- package/dist/core/tools/goal.js.map +1 -1
- package/dist/core/tools/index.d.ts +1 -0
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +1 -0
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/model-fitness.d.ts.map +1 -1
- package/dist/core/tools/model-fitness.js +2 -2
- package/dist/core/tools/model-fitness.js.map +1 -1
- package/dist/core/tools/orchestration-panel.d.ts +40 -0
- package/dist/core/tools/orchestration-panel.d.ts.map +1 -0
- package/dist/core/tools/orchestration-panel.js +124 -0
- package/dist/core/tools/orchestration-panel.js.map +1 -0
- package/dist/core/tools/output-accumulator.d.ts +11 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +36 -3
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/python.d.ts +2 -0
- package/dist/core/tools/python.d.ts.map +1 -1
- package/dist/core/tools/python.js +3 -1
- package/dist/core/tools/python.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +1 -1
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/run-process.d.ts +26 -0
- package/dist/core/tools/run-process.d.ts.map +1 -0
- package/dist/core/tools/run-process.js +138 -0
- package/dist/core/tools/run-process.js.map +1 -0
- package/dist/core/tools/search-command-guard.d.ts +14 -0
- package/dist/core/tools/search-command-guard.d.ts.map +1 -0
- package/dist/core/tools/search-command-guard.js +333 -0
- package/dist/core/tools/search-command-guard.js.map +1 -0
- package/dist/core/tools/secret-store.d.ts +38 -0
- package/dist/core/tools/secret-store.d.ts.map +1 -0
- package/dist/core/tools/secret-store.js +412 -0
- package/dist/core/tools/secret-store.js.map +1 -0
- package/dist/core/tools/shell-command-parser.d.ts +16 -0
- package/dist/core/tools/shell-command-parser.d.ts.map +1 -0
- package/dist/core/tools/shell-command-parser.js +113 -0
- package/dist/core/tools/shell-command-parser.js.map +1 -0
- package/dist/core/tools/task-steps.d.ts +2 -0
- package/dist/core/tools/task-steps.d.ts.map +1 -1
- package/dist/core/tools/task-steps.js +99 -0
- package/dist/core/tools/task-steps.js.map +1 -1
- package/dist/core/tools/tmux-dispatch.d.ts +3 -5
- package/dist/core/tools/tmux-dispatch.d.ts.map +1 -1
- package/dist/core/tools/tmux-dispatch.js +4 -4
- package/dist/core/tools/tmux-dispatch.js.map +1 -1
- package/dist/core/tools/windows-shell-engine.d.ts.map +1 -1
- package/dist/core/tools/windows-shell-engine.js +4 -6
- package/dist/core/tools/windows-shell-engine.js.map +1 -1
- package/dist/core/util/atomic-file.d.ts +6 -2
- package/dist/core/util/atomic-file.d.ts.map +1 -1
- package/dist/core/util/atomic-file.js +4 -4
- package/dist/core/util/atomic-file.js.map +1 -1
- package/dist/core/util/bounded-jsonl.d.ts +10 -0
- package/dist/core/util/bounded-jsonl.d.ts.map +1 -0
- package/dist/core/util/bounded-jsonl.js +75 -0
- package/dist/core/util/bounded-jsonl.js.map +1 -0
- package/dist/core/util/value-guards.d.ts +5 -0
- package/dist/core/util/value-guards.d.ts.map +1 -0
- package/dist/core/util/value-guards.js +12 -0
- package/dist/core/util/value-guards.js.map +1 -0
- package/dist/core/worktree-sync/store.d.ts +3 -3
- package/dist/core/worktree-sync/store.d.ts.map +1 -1
- package/dist/core/worktree-sync/store.js +10 -5
- package/dist/core/worktree-sync/store.js.map +1 -1
- package/dist/index.d.ts +15 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +149 -51
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts +4 -6
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +186 -28
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/auth-dialogs-controller.d.ts +4 -0
- package/dist/modes/interactive/auth-dialogs-controller.d.ts.map +1 -1
- package/dist/modes/interactive/auth-dialogs-controller.js +60 -1
- package/dist/modes/interactive/auth-dialogs-controller.js.map +1 -1
- package/dist/modes/interactive/clipboard-input.d.ts +7 -1
- package/dist/modes/interactive/clipboard-input.d.ts.map +1 -1
- package/dist/modes/interactive/clipboard-input.js +44 -6
- package/dist/modes/interactive/clipboard-input.js.map +1 -1
- package/dist/modes/interactive/components/activity-lane.d.ts +55 -0
- package/dist/modes/interactive/components/activity-lane.d.ts.map +1 -0
- package/dist/modes/interactive/components/activity-lane.js +304 -0
- package/dist/modes/interactive/components/activity-lane.js.map +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +19 -10
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/expandable-text.d.ts +12 -0
- package/dist/modes/interactive/components/expandable-text.d.ts.map +1 -0
- package/dist/modes/interactive/components/expandable-text.js +17 -0
- package/dist/modes/interactive/components/expandable-text.js.map +1 -0
- package/dist/modes/interactive/components/extension-editor.d.ts +15 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +30 -21
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts +1 -0
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js +6 -1
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +2 -2
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +23 -14
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +6 -6
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts +19 -11
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +53 -20
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tool-group.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-group.js +3 -0
- package/dist/modes/interactive/components/tool-group.js.map +1 -1
- package/dist/modes/interactive/components/usage-action-selector.d.ts +16 -0
- package/dist/modes/interactive/components/usage-action-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/usage-action-selector.js +46 -0
- package/dist/modes/interactive/components/usage-action-selector.js.map +1 -0
- package/dist/modes/interactive/config-backup.d.ts.map +1 -1
- package/dist/modes/interactive/config-backup.js +5 -4
- package/dist/modes/interactive/config-backup.js.map +1 -1
- package/dist/modes/interactive/extension-ui-host.d.ts +14 -0
- package/dist/modes/interactive/extension-ui-host.d.ts.map +1 -1
- package/dist/modes/interactive/extension-ui-host.js +77 -15
- package/dist/modes/interactive/extension-ui-host.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts +15 -0
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +27 -19
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/history-reload-math.d.ts +6 -2
- package/dist/modes/interactive/history-reload-math.d.ts.map +1 -1
- package/dist/modes/interactive/history-reload-math.js +10 -5
- package/dist/modes/interactive/history-reload-math.js.map +1 -1
- package/dist/modes/interactive/interactive-event-controller.d.ts +74 -0
- package/dist/modes/interactive/interactive-event-controller.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-event-controller.js +328 -0
- package/dist/modes/interactive/interactive-event-controller.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +22 -24
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +245 -595
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/key-handlers.d.ts.map +1 -1
- package/dist/modes/interactive/key-handlers.js +1 -1
- package/dist/modes/interactive/key-handlers.js.map +1 -1
- package/dist/modes/interactive/loaded-resources-view.d.ts +20 -0
- package/dist/modes/interactive/loaded-resources-view.d.ts.map +1 -0
- package/dist/modes/interactive/loaded-resources-view.js +147 -0
- package/dist/modes/interactive/loaded-resources-view.js.map +1 -0
- package/dist/modes/interactive/profile-menu-controller.d.ts.map +1 -1
- package/dist/modes/interactive/profile-menu-controller.js +7 -7
- package/dist/modes/interactive/profile-menu-controller.js.map +1 -1
- package/dist/modes/interactive/report-commands.d.ts.map +1 -1
- package/dist/modes/interactive/report-commands.js +21 -0
- package/dist/modes/interactive/report-commands.js.map +1 -1
- package/dist/modes/interactive/resource-display.d.ts.map +1 -1
- package/dist/modes/interactive/resource-display.js +8 -2
- package/dist/modes/interactive/resource-display.js.map +1 -1
- package/dist/modes/interactive/resource-shell-commands.d.ts +1 -5
- package/dist/modes/interactive/resource-shell-commands.d.ts.map +1 -1
- package/dist/modes/interactive/resource-shell-commands.js +0 -5
- package/dist/modes/interactive/resource-shell-commands.js.map +1 -1
- package/dist/modes/interactive/session-flow-commands.d.ts +27 -8
- package/dist/modes/interactive/session-flow-commands.d.ts.map +1 -1
- package/dist/modes/interactive/session-flow-commands.js +150 -64
- package/dist/modes/interactive/session-flow-commands.js.map +1 -1
- package/dist/modes/interactive/session-io-commands.d.ts.map +1 -1
- package/dist/modes/interactive/session-io-commands.js +16 -6
- package/dist/modes/interactive/session-io-commands.js.map +1 -1
- package/dist/modes/interactive/session-replacement-errors.d.ts +7 -0
- package/dist/modes/interactive/session-replacement-errors.d.ts.map +1 -0
- package/dist/modes/interactive/session-replacement-errors.js +15 -0
- package/dist/modes/interactive/session-replacement-errors.js.map +1 -0
- package/dist/modes/interactive/startup-checks.d.ts.map +1 -1
- package/dist/modes/interactive/startup-checks.js +1 -1
- package/dist/modes/interactive/startup-checks.js.map +1 -1
- package/dist/modes/interactive/usage-commands.d.ts +34 -0
- package/dist/modes/interactive/usage-commands.d.ts.map +1 -0
- package/dist/modes/interactive/usage-commands.js +225 -0
- package/dist/modes/interactive/usage-commands.js.map +1 -0
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +82 -23
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +15 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js +138 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js +2 -13
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard-native.d.ts +1 -0
- package/dist/utils/clipboard-native.d.ts.map +1 -1
- package/dist/utils/clipboard-native.js.map +1 -1
- package/dist/utils/clipboard.d.ts +1 -0
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +52 -1
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/platform.d.ts +3 -0
- package/dist/utils/platform.d.ts.map +1 -0
- package/dist/utils/platform.js +8 -0
- package/dist/utils/platform.js.map +1 -0
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +5 -3
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +3 -1
- package/dist/utils/version-check.js.map +1 -1
- package/dist/utils/work-directory.d.ts +11 -0
- package/dist/utils/work-directory.d.ts.map +1 -1
- package/dist/utils/work-directory.js +30 -9
- package/dist/utils/work-directory.js.map +1 -1
- package/docs/UI_POLISH_ORCHESTRATION.md +38 -0
- package/docs/UI_QUALITY_ORCHESTRATION.md +28 -0
- package/docs/docs.json +4 -0
- package/docs/extensions.md +62 -2
- package/docs/harness-architecture.md +156 -0
- package/docs/keybindings.md +11 -1
- package/docs/process-matrix.md +59 -26
- package/docs/providers.md +9 -1
- package/docs/rpc.md +45 -2
- package/docs/sessions.md +15 -0
- package/docs/settings.md +125 -11
- package/docs/task-steps.md +8 -0
- package/docs/telemetry.md +19 -0
- package/docs/tmux-agent-manager.md +10 -3
- package/docs/ui-reference/README.md +9 -0
- package/docs/ui-reference/orchestration-after.txt +14 -0
- package/docs/ui-reference/orchestration-before.txt +13 -0
- package/docs/ui-reference/orchestration-reference.txt +16 -0
- package/docs/usage.md +22 -2
- package/docs/work-directory.md +19 -8
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/question.ts +34 -245
- package/examples/extensions/questionnaire.ts +41 -407
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/npm-shrinkwrap.json +13 -13
- package/package.json +4 -4
- package/dist/core/delegation/session-worker-result.d.ts +0 -46
- package/dist/core/delegation/session-worker-result.d.ts.map +0 -1
- package/dist/core/delegation/session-worker-result.js +0 -113
- package/dist/core/delegation/session-worker-result.js.map +0 -1
- package/dist/core/delegation/worker-result.d.ts.map +0 -1
- package/dist/core/delegation/worker-result.js.map +0 -1
- package/dist/core/telemetry.d.ts.map +0 -1
- package/dist/core/telemetry.js.map +0 -1
|
@@ -4,7 +4,12 @@ import * as fs from "node:fs";
|
|
|
4
4
|
import { homedir } from "node:os";
|
|
5
5
|
import * as path from "node:path";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
type ExtensionAPI,
|
|
9
|
+
type ExtensionContext,
|
|
10
|
+
getProcessWorkRun,
|
|
11
|
+
PI_ORCHESTRATION_AGENT_ID_ENV,
|
|
12
|
+
} from "@caupulican/pi-adaptative";
|
|
8
13
|
import type { AgentToolResult } from "@caupulican/pi-agent-core";
|
|
9
14
|
import type { Usage } from "@caupulican/pi-ai";
|
|
10
15
|
import { Type } from "typebox";
|
|
@@ -14,6 +19,7 @@ import {
|
|
|
14
19
|
buildLaunchProfileFlags,
|
|
15
20
|
buildTombstone,
|
|
16
21
|
countGrantUsages,
|
|
22
|
+
DEFAULT_READ_BIASED_TOOLS,
|
|
17
23
|
decodeTmuxWorkerUsageClaim,
|
|
18
24
|
describeGrant,
|
|
19
25
|
GRANT_CUSTOM_TYPE,
|
|
@@ -99,8 +105,8 @@ type Params = {
|
|
|
99
105
|
dryRun?: boolean;
|
|
100
106
|
force?: boolean;
|
|
101
107
|
confirm?: string;
|
|
102
|
-
/** Goal this dispatch/grant is scoped to.
|
|
103
|
-
*
|
|
108
|
+
/** Goal this dispatch/grant is scoped to. Goal-bound dispatch wires this through to grant
|
|
109
|
+
* coverage, managed-lane ownership, and the child process's task-recovery fence. */
|
|
104
110
|
goalId?: string;
|
|
105
111
|
/** grant_dispatch: target agent for the standing grant. revoke_grant: unused (the active grant's own
|
|
106
112
|
* agent is used for its tombstone; this field is not required to revoke). */
|
|
@@ -162,6 +168,15 @@ type FireAgentPlan = {
|
|
|
162
168
|
/** Mirrors `AgentSpec.worktreeLane` -- carried onto the plan so `applyLaunchProfile` (per-agent
|
|
163
169
|
* flags) and the dispatch-phase `reportManagedLane` call can both read it after `buildFireTaskPlan`. */
|
|
164
170
|
worktreeLane?: string;
|
|
171
|
+
/** Durable host-lifecycle metadata for the current turn. */
|
|
172
|
+
dispatchAuthorizationId?: string;
|
|
173
|
+
dispatchAuthorizationKind?: "standing-grant" | "one-shot-owner-approval" | "legacy-recovery";
|
|
174
|
+
dispatchAllowedTools?: string[];
|
|
175
|
+
dispatchWritePaths?: string[];
|
|
176
|
+
dispatchMaxCostUsd?: number;
|
|
177
|
+
dispatchInstructions?: string;
|
|
178
|
+
dispatchGoalId?: string;
|
|
179
|
+
dispatchLeaseTtlMs?: number;
|
|
165
180
|
};
|
|
166
181
|
type FireTaskPlan = {
|
|
167
182
|
id: string;
|
|
@@ -192,22 +207,37 @@ type FireTaskPlan = {
|
|
|
192
207
|
* synthesized single-agent, single-turn spec (send_followup, reconcile resume) can reuse it without
|
|
193
208
|
* fabricating unrelated FireTaskPlan fields (createdAt, jobPath, task, ...). */
|
|
194
209
|
type PaneWatcherJobSpec = Pick<FireTaskPlan, "id" | "sessionName" | "deadlineSeconds" | "agents">;
|
|
195
|
-
type
|
|
210
|
+
type ManagedLaneDispatchBridge = {
|
|
211
|
+
sequence: number;
|
|
212
|
+
instructions: string;
|
|
213
|
+
profileId: string;
|
|
214
|
+
provider: string;
|
|
215
|
+
authorizationId: string;
|
|
216
|
+
authorizationKind: "standing-grant" | "one-shot-owner-approval" | "legacy-recovery";
|
|
217
|
+
allowedTools: readonly string[];
|
|
218
|
+
writePaths: readonly string[];
|
|
219
|
+
maxCostUsd?: number;
|
|
220
|
+
leaseTtlMs: number;
|
|
221
|
+
};
|
|
222
|
+
type ManagedLaneBridgeEventBase = {
|
|
196
223
|
laneId: string;
|
|
197
|
-
phase: "dispatch" | "terminal";
|
|
198
224
|
goalId?: string;
|
|
199
|
-
status?: string;
|
|
200
|
-
reasonCode?: string;
|
|
201
|
-
changedFiles?: string[];
|
|
202
225
|
worktreeLaneKey?: string;
|
|
203
|
-
request?: unknown;
|
|
204
|
-
usage?: Usage;
|
|
205
226
|
};
|
|
227
|
+
type ManagedLaneBridgeEvent =
|
|
228
|
+
| (ManagedLaneBridgeEventBase & { phase: "dispatch"; dispatch: ManagedLaneDispatchBridge })
|
|
229
|
+
| (ManagedLaneBridgeEventBase & {
|
|
230
|
+
phase: "terminal";
|
|
231
|
+
status?: string;
|
|
232
|
+
reasonCode?: string;
|
|
233
|
+
changedFiles?: string[];
|
|
234
|
+
usage?: Usage;
|
|
235
|
+
});
|
|
206
236
|
/** The subset of `ExtensionAPI` this file calls through a narrow local type instead of the full
|
|
207
237
|
* `ExtensionAPI`, so a lightweight test double only needs to implement what a given test path actually
|
|
208
|
-
* exercises. `reportManagedLane
|
|
209
|
-
*
|
|
210
|
-
*
|
|
238
|
+
* exercises. Production hosts provide `reportManagedLane`, making its pre-launch durable reservation a
|
|
239
|
+
* hard gate. The optional shape only preserves standalone extension-test hosts; without the bridge,
|
|
240
|
+
* lifecycle durability is explicitly unavailable. `reportSpawnedUsage` remains an advisory claim sink.
|
|
211
241
|
* `appendEntry`/`getFlag`/`registerFlag` back the STANDING GRANT itself (session persistence + the
|
|
212
242
|
* non-interactive opt-in flag); `registerFlag` is called unconditionally at extension load so it stays
|
|
213
243
|
* optional-chained too, while `appendEntry`/`getFlag` are asserted present at the point a grant action
|
|
@@ -226,6 +256,126 @@ function agentLaneId(jobId: string, agentId: string): string {
|
|
|
226
256
|
return `tmux:${jobId}:${agentId}`;
|
|
227
257
|
}
|
|
228
258
|
|
|
259
|
+
function managedDispatch(job: FireTaskPlan, agent: FireAgentPlan): ManagedLaneDispatchBridge {
|
|
260
|
+
const sequence = agent.currentTurn ?? 1;
|
|
261
|
+
const instructions = agent.dispatchInstructions ?? job.task;
|
|
262
|
+
const authorizationId = agent.dispatchAuthorizationId ?? `legacy-job:${job.id}:turn:${sequence}`;
|
|
263
|
+
return {
|
|
264
|
+
sequence,
|
|
265
|
+
instructions,
|
|
266
|
+
profileId: `tmux:${agent.provider}`,
|
|
267
|
+
provider: agent.provider,
|
|
268
|
+
authorizationId,
|
|
269
|
+
authorizationKind: agent.dispatchAuthorizationKind ?? "legacy-recovery",
|
|
270
|
+
allowedTools: agent.dispatchAllowedTools ?? DEFAULT_READ_BIASED_TOOLS,
|
|
271
|
+
writePaths: agent.dispatchWritePaths ?? [],
|
|
272
|
+
...(agent.dispatchMaxCostUsd !== undefined ? { maxCostUsd: agent.dispatchMaxCostUsd } : {}),
|
|
273
|
+
leaseTtlMs: agent.dispatchLeaseTtlMs ?? job.deadlineSeconds * 1_000,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
function managedAuthorization(
|
|
278
|
+
grant: TmuxDispatchGrant | undefined,
|
|
279
|
+
fallbackId: string,
|
|
280
|
+
): {
|
|
281
|
+
authorizationId: string;
|
|
282
|
+
authorizationKind: "standing-grant" | "one-shot-owner-approval";
|
|
283
|
+
launchSource: LaunchProfileSource;
|
|
284
|
+
allowedTools: string[];
|
|
285
|
+
writePaths: string[];
|
|
286
|
+
maxCostUsd?: number;
|
|
287
|
+
} {
|
|
288
|
+
const launchSource = grant ? launchProfileSourceFromGrant(grant) : ONE_SHOT_LAUNCH_PROFILE_SOURCE;
|
|
289
|
+
return {
|
|
290
|
+
authorizationId: grant?.grantId ?? fallbackId,
|
|
291
|
+
authorizationKind: grant ? "standing-grant" : "one-shot-owner-approval",
|
|
292
|
+
launchSource,
|
|
293
|
+
allowedTools: [...(launchSource.allowedTools?.length ? launchSource.allowedTools : DEFAULT_READ_BIASED_TOOLS)],
|
|
294
|
+
writePaths: [...(launchSource.writePaths ?? [])],
|
|
295
|
+
...(grant?.budget.maxUsdAdvisory !== undefined ? { maxCostUsd: grant.budget.maxUsdAdvisory } : {}),
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
function applyManagedAuthorization(
|
|
300
|
+
agent: FireAgentPlan,
|
|
301
|
+
authorization: ReturnType<typeof managedAuthorization>,
|
|
302
|
+
args: { instructions: string; goalId?: string; leaseTtlMs: number },
|
|
303
|
+
): void {
|
|
304
|
+
agent.dispatchAuthorizationId = authorization.authorizationId;
|
|
305
|
+
agent.dispatchAuthorizationKind = authorization.authorizationKind;
|
|
306
|
+
agent.dispatchAllowedTools = [...authorization.allowedTools];
|
|
307
|
+
agent.dispatchWritePaths = [...authorization.writePaths];
|
|
308
|
+
if (authorization.maxCostUsd !== undefined) agent.dispatchMaxCostUsd = authorization.maxCostUsd;
|
|
309
|
+
else delete agent.dispatchMaxCostUsd;
|
|
310
|
+
agent.dispatchInstructions = args.instructions;
|
|
311
|
+
agent.dispatchGoalId = args.goalId;
|
|
312
|
+
agent.dispatchLeaseTtlMs = args.leaseTtlMs;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
function reportManagedDispatchReservations(
|
|
316
|
+
bridge: HostBridge,
|
|
317
|
+
job: FireTaskPlan,
|
|
318
|
+
agents: readonly FireAgentPlan[],
|
|
319
|
+
): void {
|
|
320
|
+
if (!bridge.reportManagedLane) return;
|
|
321
|
+
const attemptedLaneIds: string[] = [];
|
|
322
|
+
try {
|
|
323
|
+
for (const agent of agents) {
|
|
324
|
+
const laneId = agentLaneId(job.id, agent.id);
|
|
325
|
+
attemptedLaneIds.push(laneId);
|
|
326
|
+
bridge.reportManagedLane({
|
|
327
|
+
laneId,
|
|
328
|
+
phase: "dispatch",
|
|
329
|
+
goalId: agent.dispatchGoalId,
|
|
330
|
+
worktreeLaneKey: agent.worktreeLane,
|
|
331
|
+
dispatch: managedDispatch(job, agent),
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
} catch (error: unknown) {
|
|
335
|
+
for (const laneId of attemptedLaneIds) {
|
|
336
|
+
try {
|
|
337
|
+
bridge.reportManagedLane({
|
|
338
|
+
laneId,
|
|
339
|
+
phase: "terminal",
|
|
340
|
+
status: "failed",
|
|
341
|
+
reasonCode: "managed_process_launch_reservation_failed",
|
|
342
|
+
});
|
|
343
|
+
} catch {
|
|
344
|
+
// Preserve the reservation error; durable leases fence any compensation failure.
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
throw error;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
function reportManagedLaunchFailure(bridge: HostBridge, job: FireTaskPlan, reasonCode: string): void {
|
|
352
|
+
if (!bridge.reportManagedLane) return;
|
|
353
|
+
for (const agent of job.agents) {
|
|
354
|
+
reportManagedAgentFailure(bridge, job.id, agent.id, reasonCode);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
function reportManagedAgentFailure(bridge: HostBridge, jobId: string, agentId: string, reasonCode: string): void {
|
|
359
|
+
if (!bridge.reportManagedLane) return;
|
|
360
|
+
try {
|
|
361
|
+
bridge.reportManagedLane({
|
|
362
|
+
laneId: agentLaneId(jobId, agentId),
|
|
363
|
+
phase: "terminal",
|
|
364
|
+
status: "failed",
|
|
365
|
+
reasonCode,
|
|
366
|
+
});
|
|
367
|
+
} catch {
|
|
368
|
+
// Preserve the launch failure; durable leases fence any terminal-report failure.
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
function sameStringValues(left: readonly string[], right: readonly string[]): boolean {
|
|
373
|
+
if (left.length !== right.length) return false;
|
|
374
|
+
const sortedLeft = [...left].sort();
|
|
375
|
+
const sortedRight = [...right].sort();
|
|
376
|
+
return sortedLeft.every((value, index) => value === sortedRight[index]);
|
|
377
|
+
}
|
|
378
|
+
|
|
229
379
|
const EXTENSION_ROOT = path.dirname(fileURLToPath(import.meta.url));
|
|
230
380
|
export function getTmuxAgentManagerDataRoot(): string {
|
|
231
381
|
const agentDir =
|
|
@@ -379,6 +529,9 @@ function runTmux(args: string[], timeoutMs = 5_000): RunResult {
|
|
|
379
529
|
args: [tmux, ...args],
|
|
380
530
|
};
|
|
381
531
|
}
|
|
532
|
+
function requireTmuxRun(result: RunResult, action: string): void {
|
|
533
|
+
if (!result.ok) throw new Error(`${action} failed: ${result.error || result.stderr || `exit ${result.status}`}`);
|
|
534
|
+
}
|
|
382
535
|
function detectTmux(): TmuxDetection {
|
|
383
536
|
const tmuxBin = process.env.PI_TMUX_MANAGER_TMUX_BIN || findExecutable("tmux");
|
|
384
537
|
const errors: string[] = [];
|
|
@@ -887,6 +1040,22 @@ function turnWatcherPath(job: FireTaskPlan, turn: number): string {
|
|
|
887
1040
|
function currentResultPath(job: FireTaskPlan, agent: FireAgentPlan): string {
|
|
888
1041
|
return turnResultPath(job.jobDir, agent.id, agent.currentTurn ?? 1, agent.resultPath);
|
|
889
1042
|
}
|
|
1043
|
+
|
|
1044
|
+
function persistAgentTurnFailure(jobId: string, agentId: string, turn: number, reason: string): void {
|
|
1045
|
+
persistJobPatch(jobId, (current) => {
|
|
1046
|
+
const agent = current.agents.find((entry) => entry.id === agentId);
|
|
1047
|
+
if (!agent || agent.currentTurn !== turn) return undefined;
|
|
1048
|
+
const result: AgentResult = {
|
|
1049
|
+
status: "failed",
|
|
1050
|
+
detectedAt: new Date().toISOString(),
|
|
1051
|
+
reason,
|
|
1052
|
+
};
|
|
1053
|
+
fs.writeFileSync(currentResultPath(current, agent), `${JSON.stringify(result, null, 2)}\n`, { mode: 0o600 });
|
|
1054
|
+
agent.result = result;
|
|
1055
|
+
delete agent.pendingTurn;
|
|
1056
|
+
return current;
|
|
1057
|
+
});
|
|
1058
|
+
}
|
|
890
1059
|
/** Atomically read-modify-write job.json, always from a FRESH read (never from a caller's possibly
|
|
891
1060
|
* stale in-memory copy), mirroring the temp+rename pattern the original notify path used. */
|
|
892
1061
|
function persistJobPatch(jobId: string, mutate: (current: FireTaskPlan) => FireTaskPlan | undefined): FireTaskPlan {
|
|
@@ -899,8 +1068,8 @@ function persistJobPatch(jobId: string, mutate: (current: FireTaskPlan) => FireT
|
|
|
899
1068
|
return mutated;
|
|
900
1069
|
}
|
|
901
1070
|
function sendCommandToPane(paneId: string, command: string): void {
|
|
902
|
-
runTmux(["send-keys", "-t", paneId, "-l", command]);
|
|
903
|
-
runTmux(["send-keys", "-t", paneId, "Enter"]);
|
|
1071
|
+
requireTmuxRun(runTmux(["send-keys", "-t", paneId, "-l", command]), `tmux command injection for ${paneId}`);
|
|
1072
|
+
requireTmuxRun(runTmux(["send-keys", "-t", paneId, "Enter"]), `tmux command submit for ${paneId}`);
|
|
904
1073
|
}
|
|
905
1074
|
function launchTmuxSession(
|
|
906
1075
|
sessionName: string,
|
|
@@ -921,36 +1090,50 @@ function launchTmuxSession(
|
|
|
921
1090
|
runs.push(create);
|
|
922
1091
|
if (!create.ok)
|
|
923
1092
|
throw new Error(`tmux new-session failed: ${create.error || create.stderr || `exit ${create.status}`}`);
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
const
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
1093
|
+
try {
|
|
1094
|
+
const firstPane = create.stdout.trim();
|
|
1095
|
+
paneIds.push(firstPane);
|
|
1096
|
+
sendCommandToPane(firstPane, first.command);
|
|
1097
|
+
for (const pane of panes.slice(1)) {
|
|
1098
|
+
const split = runTmux(
|
|
1099
|
+
["split-window", "-d", "-P", "-F", "#{pane_id}", "-t", `${sessionName}:0`, "-c", pane.cwd || cwd],
|
|
1100
|
+
5_000,
|
|
1101
|
+
);
|
|
1102
|
+
runs.push(split);
|
|
1103
|
+
if (!split.ok)
|
|
1104
|
+
throw new Error(`tmux split-window failed: ${split.error || split.stderr || `exit ${split.status}`}`);
|
|
1105
|
+
const paneId = split.stdout.trim();
|
|
1106
|
+
paneIds.push(paneId);
|
|
1107
|
+
sendCommandToPane(paneId, pane.command);
|
|
1108
|
+
}
|
|
1109
|
+
runs.push(runTmux(["select-layout", "-t", `${sessionName}:0`, "tiled"], 3_000));
|
|
1110
|
+
return { runs, paneIds };
|
|
1111
|
+
} catch (error: unknown) {
|
|
1112
|
+
runTmux(["kill-session", "-t", sessionName], 5_000);
|
|
1113
|
+
throw error;
|
|
938
1114
|
}
|
|
939
|
-
runs.push(runTmux(["select-layout", "-t", `${sessionName}:0`, "tiled"], 3_000));
|
|
940
|
-
return { runs, paneIds };
|
|
941
1115
|
}
|
|
942
1116
|
function injectPromptToPane(paneId: string, prompt: string, provider: Provider): void {
|
|
943
1117
|
const text = interactivePromptText(prompt);
|
|
944
1118
|
if (provider === "claude") {
|
|
945
1119
|
const bufferName = `pi-tmux-${crypto.randomBytes(4).toString("hex")}`;
|
|
946
|
-
runTmux(["set-buffer", "-b", bufferName, text], 10_000);
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
1120
|
+
requireTmuxRun(runTmux(["set-buffer", "-b", bufferName, text], 10_000), "tmux prompt buffer creation");
|
|
1121
|
+
try {
|
|
1122
|
+
requireTmuxRun(
|
|
1123
|
+
runTmux(["paste-buffer", "-b", bufferName, "-t", paneId], 10_000),
|
|
1124
|
+
`tmux prompt injection for ${paneId}`,
|
|
1125
|
+
);
|
|
1126
|
+
requireTmuxRun(runTmux(["send-keys", "-t", paneId, "Enter"], 3_000), `tmux prompt submit for ${paneId}`);
|
|
1127
|
+
} finally {
|
|
1128
|
+
runTmux(["delete-buffer", "-b", bufferName], 3_000);
|
|
1129
|
+
}
|
|
950
1130
|
return;
|
|
951
1131
|
}
|
|
952
|
-
runTmux(["send-keys", "-t", paneId, "-l", text], 10_000);
|
|
953
|
-
|
|
1132
|
+
requireTmuxRun(runTmux(["send-keys", "-t", paneId, "-l", text], 10_000), `tmux prompt injection for ${paneId}`);
|
|
1133
|
+
requireTmuxRun(
|
|
1134
|
+
runTmux(["send-keys", "-t", paneId, provider === "agy" ? "C-m" : "Enter"], 3_000),
|
|
1135
|
+
`tmux prompt submit for ${paneId}`,
|
|
1136
|
+
);
|
|
954
1137
|
}
|
|
955
1138
|
/** Write a fresh per-turn prompt + single-agent watcher script and arm `pipe-pane -O` for it. Used by
|
|
956
1139
|
* send_followup to open a NEW turn on an already-live pane. Does not inject the prompt text into the
|
|
@@ -1296,7 +1479,11 @@ function applyLaunchProfile(job: FireTaskPlan, source: LaunchProfileSource): voi
|
|
|
1296
1479
|
const flags = buildLaunchProfileFlags(
|
|
1297
1480
|
agent.worktreeLane ? { ...source, worktreeLane: agent.worktreeLane } : source,
|
|
1298
1481
|
);
|
|
1299
|
-
|
|
1482
|
+
const profiledCommand = appendLaunchProfileFlags(
|
|
1483
|
+
agent.command || defaultProviderInvocation(agent.provider),
|
|
1484
|
+
flags,
|
|
1485
|
+
);
|
|
1486
|
+
agent.command = `env ${PI_ORCHESTRATION_AGENT_ID_ENV}=${quoteShell(agentLaneId(job.id, agent.id))} ${profiledCommand}`;
|
|
1300
1487
|
}
|
|
1301
1488
|
}
|
|
1302
1489
|
/** Read an OPTIONAL, cooperative worker-reported usage claim for the turn that just went terminal (a
|
|
@@ -1498,55 +1685,77 @@ async function executeTool(
|
|
|
1498
1685
|
jobId: job.id,
|
|
1499
1686
|
description: `fire_task launch of job ${job.id} (${job.agents.length} child process${job.agents.length === 1 ? "" : "es"}: ${job.agents.map((agent) => `${agent.name}/${agent.provider}`).join(", ")})`,
|
|
1500
1687
|
});
|
|
1688
|
+
const managedAuthority = managedAuthorization(authorization.grant, `one-shot:${job.id}:turn:1`);
|
|
1689
|
+
for (const agent of job.agents) {
|
|
1690
|
+
agent.currentTurn = 1;
|
|
1691
|
+
applyManagedAuthorization(agent, managedAuthority, {
|
|
1692
|
+
instructions: job.task,
|
|
1693
|
+
goalId: params.goalId,
|
|
1694
|
+
leaseTtlMs: job.deadlineSeconds * 1_000,
|
|
1695
|
+
});
|
|
1696
|
+
}
|
|
1501
1697
|
applyLaunchProfile(job, {
|
|
1502
|
-
...
|
|
1698
|
+
...managedAuthority.launchSource,
|
|
1699
|
+
...(params.goalId ? { taskRef: params.goalId } : {}),
|
|
1503
1700
|
// Process-matrix parent identity: the dispatched child self-registers as a worker of THIS
|
|
1504
1701
|
// session and winds down gracefully if this session disappears (see dispatch-grant.ts's
|
|
1505
1702
|
// `LaunchProfileSource.parentPid`/`parentSession` doc).
|
|
1506
1703
|
parentPid: process.pid,
|
|
1507
1704
|
parentSession: ctx.sessionManager.getSessionId?.() ?? ctx.sessionManager.getSessionFile(),
|
|
1508
1705
|
});
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
bridge.reportManagedLane?.({
|
|
1525
|
-
laneId: agentLaneId(job.id, agent.id),
|
|
1526
|
-
phase: "dispatch",
|
|
1527
|
-
status: "launched",
|
|
1528
|
-
goalId: params.goalId,
|
|
1529
|
-
worktreeLaneKey: agent.worktreeLane,
|
|
1706
|
+
// The host commits the full execution grant and starts the durable lease before any child
|
|
1707
|
+
// process, job artifact, watcher, or prompt side effect occurs.
|
|
1708
|
+
reportManagedDispatchReservations(bridge, job, job.agents);
|
|
1709
|
+
let sessionCreated = false;
|
|
1710
|
+
try {
|
|
1711
|
+
const archivedJobDir = prepareJobDirForLaunch(job, params.force);
|
|
1712
|
+
const panes = job.agents.map((agent) => ({
|
|
1713
|
+
title: agent.name,
|
|
1714
|
+
cwd: agent.cwd,
|
|
1715
|
+
command: agent.command || defaultProviderInvocation(agent.provider),
|
|
1716
|
+
}));
|
|
1717
|
+
const launch = launchTmuxSession(job.sessionName, job.cwd, panes);
|
|
1718
|
+
sessionCreated = true;
|
|
1719
|
+
job.agents.forEach((agent, index) => {
|
|
1720
|
+
agent.paneId = launch.paneIds[index];
|
|
1530
1721
|
});
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1722
|
+
writeFireTaskFiles(job);
|
|
1723
|
+
const watcherPanes = startPaneWatchers(job);
|
|
1724
|
+
for (const agent of job.agents) {
|
|
1725
|
+
if (!agent.paneId) continue;
|
|
1726
|
+
injectPromptToPane(agent.paneId, fs.readFileSync(agent.promptPath, "utf8"), agent.provider);
|
|
1727
|
+
}
|
|
1728
|
+
return {
|
|
1729
|
+
content: [
|
|
1730
|
+
{
|
|
1731
|
+
type: "text",
|
|
1732
|
+
text: [
|
|
1733
|
+
`Launched tmux interactive fire-and-forget job ${job.id}.`,
|
|
1734
|
+
`Session: ${job.sessionName}`,
|
|
1735
|
+
`Attach: tmux attach -t ${job.sessionName}`,
|
|
1736
|
+
`Job state: ${job.jobPath}`,
|
|
1737
|
+
archivedJobDir ? `Archived previous job dir: ${archivedJobDir}` : undefined,
|
|
1738
|
+
"Completion: event-driven pane output watchers armed (no polling).",
|
|
1739
|
+
]
|
|
1740
|
+
.filter(Boolean)
|
|
1741
|
+
.join("\n"),
|
|
1742
|
+
},
|
|
1743
|
+
],
|
|
1744
|
+
details: {
|
|
1745
|
+
action,
|
|
1746
|
+
detection,
|
|
1747
|
+
job,
|
|
1748
|
+
runs: launch.runs,
|
|
1749
|
+
paneIds: launch.paneIds,
|
|
1750
|
+
watcherPanes,
|
|
1751
|
+
archivedJobDir,
|
|
1546
1752
|
},
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1753
|
+
};
|
|
1754
|
+
} catch (error: unknown) {
|
|
1755
|
+
if (sessionCreated) runTmux(["kill-session", "-t", job.sessionName], 5_000);
|
|
1756
|
+
reportManagedLaunchFailure(bridge, job, "managed_process_launch_failed");
|
|
1757
|
+
throw error;
|
|
1758
|
+
}
|
|
1550
1759
|
}
|
|
1551
1760
|
if (action === "send_followup") {
|
|
1552
1761
|
if (!params.jobId) throw new Error("send_followup requires jobId");
|
|
@@ -1595,12 +1804,23 @@ async function executeTool(
|
|
|
1595
1804
|
// APPROVAL-GATED LAUNCH (doctrine-regression mandatory): a follow-up dispatches a fresh
|
|
1596
1805
|
// turn into an already-running child, so there is no new child command to profile — only the
|
|
1597
1806
|
// grant/one-shot authorization is resolved here (no applyLaunchProfile call).
|
|
1598
|
-
await authorizeLaunch(bridge, ctx, {
|
|
1807
|
+
const authorization = await authorizeLaunch(bridge, ctx, {
|
|
1599
1808
|
agents: [targetAgent.provider],
|
|
1600
1809
|
goalId: params.goalId,
|
|
1601
1810
|
jobId: `${job.id}:turn:${turn}`,
|
|
1602
1811
|
description: `send_followup turn ${turn} to ${targetAgent.name} in job ${job.id}`,
|
|
1603
1812
|
});
|
|
1813
|
+
const managedAuthority = managedAuthorization(authorization.grant, `one-shot:${job.id}:turn:${turn}`);
|
|
1814
|
+
const launchAllowedTools = targetAgent.dispatchAllowedTools ?? [...DEFAULT_READ_BIASED_TOOLS];
|
|
1815
|
+
const launchWritePaths = targetAgent.dispatchWritePaths ?? [];
|
|
1816
|
+
if (
|
|
1817
|
+
!sameStringValues(launchAllowedTools, managedAuthority.allowedTools) ||
|
|
1818
|
+
!sameStringValues(launchWritePaths, managedAuthority.writePaths)
|
|
1819
|
+
) {
|
|
1820
|
+
throw new Error(
|
|
1821
|
+
`send_followup refused: authorization scope differs from the already-running process for ${targetAgent.name}; relaunch the worker to apply a new tool or write-path scope.`,
|
|
1822
|
+
);
|
|
1823
|
+
}
|
|
1604
1824
|
// Reserve before watcher/prompt side effects. Reconcile re-arms a reserved turn but never
|
|
1605
1825
|
// re-injects it, so crash recovery cannot duplicate a provider prompt.
|
|
1606
1826
|
const reserved = persistJobPatch(job.id, (current) => {
|
|
@@ -1609,28 +1829,38 @@ async function executeTool(
|
|
|
1609
1829
|
agent.currentTurn = turn;
|
|
1610
1830
|
agent.pendingTurn = turn;
|
|
1611
1831
|
agent.result = undefined;
|
|
1832
|
+
applyManagedAuthorization(agent, managedAuthority, {
|
|
1833
|
+
instructions: followupTask,
|
|
1834
|
+
goalId: params.goalId,
|
|
1835
|
+
leaseTtlMs: job.deadlineSeconds * 1_000,
|
|
1836
|
+
});
|
|
1612
1837
|
current.currentTurn = turn;
|
|
1613
1838
|
return current;
|
|
1614
1839
|
});
|
|
1615
1840
|
const reservedAgent = reserved.agents.find((agent) => agent.id === targetAgent.id);
|
|
1616
1841
|
if (!reservedAgent || reservedAgent.pendingTurn !== turn)
|
|
1617
1842
|
throw new Error(`send_followup refused: failed to reserve turn ${turn} for ${targetAgent.id}`);
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1843
|
+
try {
|
|
1844
|
+
reportManagedDispatchReservations(bridge, reserved, [reservedAgent]);
|
|
1845
|
+
} catch (error: unknown) {
|
|
1846
|
+
persistAgentTurnFailure(job.id, reservedAgent.id, turn, "managed_process_launch_reservation_failed");
|
|
1847
|
+
throw error;
|
|
1848
|
+
}
|
|
1849
|
+
let written: ReturnType<typeof dispatchAgentTurn>;
|
|
1850
|
+
try {
|
|
1851
|
+
written = dispatchAgentTurn(reserved, reservedAgent, turn, promptText);
|
|
1852
|
+
injectPromptToPane(reservedAgent.paneId as string, promptText, reservedAgent.provider);
|
|
1853
|
+
persistJobPatch(job.id, (current) => {
|
|
1854
|
+
const agent = current.agents.find((entry) => entry.id === reservedAgent.id);
|
|
1855
|
+
if (!agent || agent.pendingTurn !== turn) return undefined;
|
|
1856
|
+
delete agent.pendingTurn;
|
|
1857
|
+
return current;
|
|
1858
|
+
});
|
|
1859
|
+
} catch (error: unknown) {
|
|
1860
|
+
persistAgentTurnFailure(job.id, reservedAgent.id, turn, "managed_process_followup_failed");
|
|
1861
|
+
reportManagedAgentFailure(bridge, job.id, reservedAgent.id, "managed_process_followup_failed");
|
|
1862
|
+
throw error;
|
|
1863
|
+
}
|
|
1634
1864
|
return {
|
|
1635
1865
|
content: [
|
|
1636
1866
|
{
|
|
@@ -1796,13 +2026,8 @@ function reconcileTmuxSessions(ctx: ExtensionContext, bridge: HostBridge): void
|
|
|
1796
2026
|
if (agent.result !== undefined) continue;
|
|
1797
2027
|
if (!agent.paneId || !tmuxPaneExists(job.sessionName, agent.paneId)) continue;
|
|
1798
2028
|
if (tmuxPaneHasPipe(agent.paneId)) continue;
|
|
2029
|
+
reportManagedDispatchReservations(bridge, job, [agent]);
|
|
1799
2030
|
rearmAgentWatcher(job, agent);
|
|
1800
|
-
bridge.reportManagedLane?.({
|
|
1801
|
-
laneId: agentLaneId(job.id, agent.id),
|
|
1802
|
-
phase: "dispatch",
|
|
1803
|
-
status: "resumed",
|
|
1804
|
-
worktreeLaneKey: agent.worktreeLane,
|
|
1805
|
-
});
|
|
1806
2031
|
}
|
|
1807
2032
|
}
|
|
1808
2033
|
}
|
|
@@ -1837,27 +2062,6 @@ export default function tmuxAgentManagerExtension(pi: ExtensionAPI) {
|
|
|
1837
2062
|
// single whole-job notifiedAt flag.
|
|
1838
2063
|
const pendingAgents = job.agents.filter((agent) => (agent.notifiedTurn ?? 0) < (agent.currentTurn ?? 1));
|
|
1839
2064
|
if (pendingAgents.length === 0) continue;
|
|
1840
|
-
pi.sendMessage(
|
|
1841
|
-
{
|
|
1842
|
-
customType: "tmux-background-completion",
|
|
1843
|
-
content: formatFireTaskHandoff(job),
|
|
1844
|
-
display: true,
|
|
1845
|
-
details: {
|
|
1846
|
-
jobId: job.id,
|
|
1847
|
-
sessionName: job.sessionName,
|
|
1848
|
-
agents: job.agents.map((agent) => ({ id: agent.id, name: agent.name, status: agent.result?.status })),
|
|
1849
|
-
},
|
|
1850
|
-
},
|
|
1851
|
-
{ triggerTurn: true, deliverAs: "followUp" },
|
|
1852
|
-
);
|
|
1853
|
-
persistJobPatch(job.id, (current) => {
|
|
1854
|
-
current.notifiedAt = new Date().toISOString();
|
|
1855
|
-
for (const agent of current.agents) {
|
|
1856
|
-
const inMemoryAgent = job.agents.find((entry) => entry.id === agent.id);
|
|
1857
|
-
agent.notifiedTurn = inMemoryAgent?.currentTurn ?? agent.currentTurn ?? 1;
|
|
1858
|
-
}
|
|
1859
|
-
return current;
|
|
1860
|
-
});
|
|
1861
2065
|
for (const agent of pendingAgents) {
|
|
1862
2066
|
// Advisory-only, and only ever reported when the worker itself chose to write the
|
|
1863
2067
|
// claim file — never fabricated, never a hard cross-process cap.
|
|
@@ -1875,6 +2079,37 @@ export default function tmuxAgentManagerExtension(pi: ExtensionAPI) {
|
|
|
1875
2079
|
});
|
|
1876
2080
|
}
|
|
1877
2081
|
}
|
|
2082
|
+
// Production hosts own the sole durable wake path through reportManagedLane. The direct
|
|
2083
|
+
// message remains only for lightweight/standalone hosts that omit that bridge entirely.
|
|
2084
|
+
if (!bridge.reportManagedLane) {
|
|
2085
|
+
pi.sendMessage(
|
|
2086
|
+
{
|
|
2087
|
+
customType: "tmux-background-completion",
|
|
2088
|
+
content: formatFireTaskHandoff(job),
|
|
2089
|
+
display: true,
|
|
2090
|
+
details: {
|
|
2091
|
+
jobId: job.id,
|
|
2092
|
+
sessionName: job.sessionName,
|
|
2093
|
+
agents: job.agents.map((agent) => ({
|
|
2094
|
+
id: agent.id,
|
|
2095
|
+
name: agent.name,
|
|
2096
|
+
status: agent.result?.status,
|
|
2097
|
+
})),
|
|
2098
|
+
},
|
|
2099
|
+
},
|
|
2100
|
+
{ triggerTurn: true, deliverAs: "followUp" },
|
|
2101
|
+
);
|
|
2102
|
+
}
|
|
2103
|
+
// reportManagedLane persisted the terminal result + outbox synchronously before returning.
|
|
2104
|
+
// This marker only suppresses duplicate extension reports; it is not notification truth.
|
|
2105
|
+
persistJobPatch(job.id, (current) => {
|
|
2106
|
+
current.notifiedAt = new Date().toISOString();
|
|
2107
|
+
for (const agent of current.agents) {
|
|
2108
|
+
const inMemoryAgent = job.agents.find((entry) => entry.id === agent.id);
|
|
2109
|
+
agent.notifiedTurn = inMemoryAgent?.currentTurn ?? agent.currentTurn ?? 1;
|
|
2110
|
+
}
|
|
2111
|
+
return current;
|
|
2112
|
+
});
|
|
1878
2113
|
if (ctx.hasUI) ctx.ui.notify(`tmux background task ${job.id} completed.`, "info");
|
|
1879
2114
|
}
|
|
1880
2115
|
|
|
@@ -184,8 +184,8 @@ clean|repaired|bounced, failureModes: [1..5|other], repairsApplied:
|
|
|
184
184
|
[registry names], taught: none|note|rule}`. Link repair events to the same call's execution
|
|
185
185
|
outcome (did the repaired call succeed?) and compute recurrence-after-teach
|
|
186
186
|
per (model, failureMode). Aggregate per model into the table below. Wire
|
|
187
|
-
through the existing
|
|
188
|
-
|
|
187
|
+
through the existing tool-recovery logger and session analytics rather than a
|
|
188
|
+
new sink. The "round-trips saved" metric is simply the repaired
|
|
189
189
|
count; the "teach works" metric is recurrence decay.
|
|
190
190
|
|
|
191
191
|
## Model notes (living table; append, do not rewrite)
|
package/dist/cli/args.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { ThinkingLevel } from "@caupulican/pi-agent-core";
|
|
5
5
|
import type { ExtensionFlag } from "../core/extensions/types.ts";
|
|
6
|
+
import { type TerminalSessionMode } from "../core/session-role.ts";
|
|
6
7
|
export type Mode = "text" | "json" | "rpc";
|
|
7
8
|
export interface Args {
|
|
8
9
|
provider?: string;
|
|
@@ -13,6 +14,8 @@ export interface Args {
|
|
|
13
14
|
worktreeLane?: string;
|
|
14
15
|
parentPid?: number;
|
|
15
16
|
parentSession?: string;
|
|
17
|
+
taskRef?: string;
|
|
18
|
+
sessionMode?: TerminalSessionMode;
|
|
16
19
|
thinking?: ThinkingLevel;
|
|
17
20
|
continue?: boolean;
|
|
18
21
|
resume?: boolean;
|
|
@@ -32,6 +35,7 @@ export interface Args {
|
|
|
32
35
|
noBuiltinTools?: boolean;
|
|
33
36
|
resourceProfiles?: string[];
|
|
34
37
|
resourceProfileJson?: string[];
|
|
38
|
+
orchestrationProfile?: string;
|
|
35
39
|
extensions?: string[];
|
|
36
40
|
noExtensions?: boolean;
|
|
37
41
|
print?: boolean;
|