@calliopelabs/cli 3.1.0 → 3.2.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/README.md +54 -7
- package/dist/acp.d.ts +1 -4
- package/dist/acp.d.ts.map +1 -1
- package/dist/acp.js +118 -217
- package/dist/acp.js.map +1 -1
- package/dist/approvals/commands.d.ts +35 -0
- package/dist/approvals/commands.d.ts.map +1 -0
- package/dist/approvals/commands.js +51 -0
- package/dist/approvals/commands.js.map +1 -0
- package/dist/approvals/index.d.ts +6 -0
- package/dist/approvals/index.d.ts.map +1 -0
- package/dist/approvals/index.js +6 -0
- package/dist/approvals/index.js.map +1 -0
- package/dist/approvals/queue.d.ts +18 -0
- package/dist/approvals/queue.d.ts.map +1 -0
- package/dist/approvals/queue.js +46 -0
- package/dist/approvals/queue.js.map +1 -0
- package/dist/approvals/request.d.ts +13 -0
- package/dist/approvals/request.d.ts.map +1 -0
- package/dist/approvals/request.js +102 -0
- package/dist/approvals/request.js.map +1 -0
- package/dist/approvals/store.d.ts +24 -0
- package/dist/approvals/store.d.ts.map +1 -0
- package/dist/approvals/store.js +229 -0
- package/dist/approvals/store.js.map +1 -0
- package/dist/approvals/types.d.ts +27 -0
- package/dist/approvals/types.d.ts.map +1 -0
- package/dist/approvals/types.js +4 -0
- package/dist/approvals/types.js.map +1 -0
- package/dist/auto-compressor.d.ts +3 -2
- package/dist/auto-compressor.d.ts.map +1 -1
- package/dist/auto-compressor.js +9 -9
- package/dist/auto-compressor.js.map +1 -1
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +125 -22
- package/dist/bin.js.map +1 -1
- package/dist/brain/access.d.ts +65 -0
- package/dist/brain/access.d.ts.map +1 -0
- package/dist/brain/access.js +216 -0
- package/dist/brain/access.js.map +1 -0
- package/dist/brain/actions.d.ts +120 -0
- package/dist/brain/actions.d.ts.map +1 -0
- package/dist/brain/actions.js +270 -0
- package/dist/brain/actions.js.map +1 -0
- package/dist/brain/cli.d.ts +17 -0
- package/dist/brain/cli.d.ts.map +1 -0
- package/dist/brain/cli.js +206 -0
- package/dist/brain/cli.js.map +1 -0
- package/dist/brain/index.d.ts +16 -0
- package/dist/brain/index.d.ts.map +1 -0
- package/dist/brain/index.js +16 -0
- package/dist/brain/index.js.map +1 -0
- package/dist/brain/journal.d.ts +17 -0
- package/dist/brain/journal.d.ts.map +1 -0
- package/dist/brain/journal.js +189 -0
- package/dist/brain/journal.js.map +1 -0
- package/dist/brain/kg.d.ts +23 -0
- package/dist/brain/kg.d.ts.map +1 -0
- package/dist/brain/kg.js +36 -0
- package/dist/brain/kg.js.map +1 -0
- package/dist/brain/presentation.d.ts +3 -0
- package/dist/brain/presentation.d.ts.map +1 -0
- package/dist/brain/presentation.js +48 -0
- package/dist/brain/presentation.js.map +1 -0
- package/dist/brain/queries.d.ts +179 -0
- package/dist/brain/queries.d.ts.map +1 -0
- package/dist/brain/queries.js +210 -0
- package/dist/brain/queries.js.map +1 -0
- package/dist/brain/run-ingest.d.ts +29 -0
- package/dist/brain/run-ingest.d.ts.map +1 -0
- package/dist/brain/run-ingest.js +200 -0
- package/dist/brain/run-ingest.js.map +1 -0
- package/dist/brain/sqlite.d.ts +19 -0
- package/dist/brain/sqlite.d.ts.map +1 -0
- package/dist/brain/sqlite.js +252 -0
- package/dist/brain/sqlite.js.map +1 -0
- package/dist/brain/store.d.ts +31 -0
- package/dist/brain/store.d.ts.map +1 -0
- package/dist/brain/store.js +324 -0
- package/dist/brain/store.js.map +1 -0
- package/dist/brain/tool-query.d.ts +6 -0
- package/dist/brain/tool-query.d.ts.map +1 -0
- package/dist/brain/tool-query.js +42 -0
- package/dist/brain/tool-query.js.map +1 -0
- package/dist/brain/tools.d.ts +13 -0
- package/dist/brain/tools.d.ts.map +1 -0
- package/dist/brain/tools.js +20 -0
- package/dist/brain/tools.js.map +1 -0
- package/dist/brain/transfer.d.ts +57 -0
- package/dist/brain/transfer.d.ts.map +1 -0
- package/dist/brain/transfer.js +266 -0
- package/dist/brain/transfer.js.map +1 -0
- package/dist/brain/types.d.ts +145 -0
- package/dist/brain/types.d.ts.map +1 -0
- package/dist/brain/types.js +38 -0
- package/dist/brain/types.js.map +1 -0
- package/dist/brain/validation.d.ts +15 -0
- package/dist/brain/validation.d.ts.map +1 -0
- package/dist/brain/validation.js +163 -0
- package/dist/brain/validation.js.map +1 -0
- package/dist/budget.d.ts +5 -4
- package/dist/budget.d.ts.map +1 -1
- package/dist/budget.js +16 -38
- package/dist/budget.js.map +1 -1
- package/dist/cancellation.d.ts +8 -0
- package/dist/cancellation.d.ts.map +1 -0
- package/dist/cancellation.js +42 -0
- package/dist/cancellation.js.map +1 -0
- package/dist/checkpoint.d.ts +2 -2
- package/dist/checkpoint.d.ts.map +1 -1
- package/dist/checkpoint.js +5 -5
- package/dist/checkpoint.js.map +1 -1
- package/dist/config.d.ts +13 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +32 -8
- package/dist/config.js.map +1 -1
- package/dist/doctor.d.ts +30 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +124 -0
- package/dist/doctor.js.map +1 -0
- package/dist/errors.d.ts +15 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +33 -9
- package/dist/errors.js.map +1 -1
- package/dist/execution/attribution.d.ts +17 -0
- package/dist/execution/attribution.d.ts.map +1 -0
- package/dist/execution/attribution.js +21 -0
- package/dist/execution/attribution.js.map +1 -0
- package/dist/execution/authority.d.ts +22 -0
- package/dist/execution/authority.d.ts.map +1 -0
- package/dist/execution/authority.js +134 -0
- package/dist/execution/authority.js.map +1 -0
- package/dist/execution/billing.d.ts +100 -0
- package/dist/execution/billing.d.ts.map +1 -0
- package/dist/execution/billing.js +166 -0
- package/dist/execution/billing.js.map +1 -0
- package/dist/execution/child-grants.d.ts +9 -0
- package/dist/execution/child-grants.d.ts.map +1 -0
- package/dist/execution/child-grants.js +55 -0
- package/dist/execution/child-grants.js.map +1 -0
- package/dist/execution/files.d.ts +6 -0
- package/dist/execution/files.d.ts.map +1 -0
- package/dist/execution/files.js +159 -0
- package/dist/execution/files.js.map +1 -0
- package/dist/execution/guard.d.ts +50 -0
- package/dist/execution/guard.d.ts.map +1 -0
- package/dist/execution/guard.js +158 -0
- package/dist/execution/guard.js.map +1 -0
- package/dist/execution/index.d.ts +12 -0
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/index.js +12 -0
- package/dist/execution/index.js.map +1 -0
- package/dist/execution/ledger.d.ts +23 -0
- package/dist/execution/ledger.d.ts.map +1 -0
- package/dist/execution/ledger.js +379 -0
- package/dist/execution/ledger.js.map +1 -0
- package/dist/execution/project-spend.d.ts +45 -0
- package/dist/execution/project-spend.d.ts.map +1 -0
- package/dist/execution/project-spend.js +274 -0
- package/dist/execution/project-spend.js.map +1 -0
- package/dist/execution/quote.d.ts +19 -0
- package/dist/execution/quote.d.ts.map +1 -0
- package/dist/execution/quote.js +116 -0
- package/dist/execution/quote.js.map +1 -0
- package/dist/execution/types.d.ts +113 -0
- package/dist/execution/types.d.ts.map +1 -0
- package/dist/execution/types.js +9 -0
- package/dist/execution/types.js.map +1 -0
- package/dist/execution/writer-recovery.d.ts +3 -0
- package/dist/execution/writer-recovery.d.ts.map +1 -0
- package/dist/execution/writer-recovery.js +85 -0
- package/dist/execution/writer-recovery.js.map +1 -0
- package/dist/goals/accounting.d.ts +69 -0
- package/dist/goals/accounting.d.ts.map +1 -0
- package/dist/goals/accounting.js +100 -0
- package/dist/goals/accounting.js.map +1 -0
- package/dist/goals/actions.d.ts +33 -0
- package/dist/goals/actions.d.ts.map +1 -0
- package/dist/goals/actions.js +261 -0
- package/dist/goals/actions.js.map +1 -0
- package/dist/goals/authority.d.ts +9 -0
- package/dist/goals/authority.d.ts.map +1 -0
- package/dist/goals/authority.js +47 -0
- package/dist/goals/authority.js.map +1 -0
- package/dist/goals/cli.d.ts +10 -0
- package/dist/goals/cli.d.ts.map +1 -0
- package/dist/goals/cli.js +169 -0
- package/dist/goals/cli.js.map +1 -0
- package/dist/goals/contracts.d.ts +18 -0
- package/dist/goals/contracts.d.ts.map +1 -0
- package/dist/goals/contracts.js +127 -0
- package/dist/goals/contracts.js.map +1 -0
- package/dist/goals/index.d.ts +17 -0
- package/dist/goals/index.d.ts.map +1 -0
- package/dist/goals/index.js +16 -0
- package/dist/goals/index.js.map +1 -0
- package/dist/goals/journal.d.ts +5 -0
- package/dist/goals/journal.d.ts.map +1 -0
- package/dist/goals/journal.js +142 -0
- package/dist/goals/journal.js.map +1 -0
- package/dist/goals/metrics.d.ts +53 -0
- package/dist/goals/metrics.d.ts.map +1 -0
- package/dist/goals/metrics.js +141 -0
- package/dist/goals/metrics.js.map +1 -0
- package/dist/goals/repair.d.ts +10 -0
- package/dist/goals/repair.d.ts.map +1 -0
- package/dist/goals/repair.js +50 -0
- package/dist/goals/repair.js.map +1 -0
- package/dist/goals/routing.d.ts +18 -0
- package/dist/goals/routing.d.ts.map +1 -0
- package/dist/goals/routing.js +60 -0
- package/dist/goals/routing.js.map +1 -0
- package/dist/goals/store.d.ts +30 -0
- package/dist/goals/store.d.ts.map +1 -0
- package/dist/goals/store.js +314 -0
- package/dist/goals/store.js.map +1 -0
- package/dist/goals/supervised-cli.d.ts +5 -0
- package/dist/goals/supervised-cli.d.ts.map +1 -0
- package/dist/goals/supervised-cli.js +44 -0
- package/dist/goals/supervised-cli.js.map +1 -0
- package/dist/goals/supervised.d.ts +8 -0
- package/dist/goals/supervised.d.ts.map +1 -0
- package/dist/goals/supervised.js +65 -0
- package/dist/goals/supervised.js.map +1 -0
- package/dist/goals/team.d.ts +8 -0
- package/dist/goals/team.d.ts.map +1 -0
- package/dist/goals/team.js +64 -0
- package/dist/goals/team.js.map +1 -0
- package/dist/goals/types.d.ts +174 -0
- package/dist/goals/types.d.ts.map +1 -0
- package/dist/goals/types.js +2 -0
- package/dist/goals/types.js.map +1 -0
- package/dist/goals/validation.d.ts +17 -0
- package/dist/goals/validation.d.ts.map +1 -0
- package/dist/goals/validation.js +172 -0
- package/dist/goals/validation.js.map +1 -0
- package/dist/headless.d.ts +1 -0
- package/dist/headless.d.ts.map +1 -1
- package/dist/headless.js +98 -275
- package/dist/headless.js.map +1 -1
- package/dist/health/index.d.ts +5 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/health/index.js +5 -0
- package/dist/health/index.js.map +1 -0
- package/dist/health/store.d.ts +24 -0
- package/dist/health/store.d.ts.map +1 -0
- package/dist/health/store.js +190 -0
- package/dist/health/store.js.map +1 -0
- package/dist/health/summary.d.ts +10 -0
- package/dist/health/summary.d.ts.map +1 -0
- package/dist/health/summary.js +95 -0
- package/dist/health/summary.js.map +1 -0
- package/dist/health/target.d.ts +3 -0
- package/dist/health/target.d.ts.map +1 -0
- package/dist/health/target.js +53 -0
- package/dist/health/target.js.map +1 -0
- package/dist/health/types.d.ts +72 -0
- package/dist/health/types.d.ts.map +1 -0
- package/dist/health/types.js +2 -0
- package/dist/health/types.js.map +1 -0
- package/dist/hooks.d.ts +7 -2
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +35 -17
- package/dist/hooks.js.map +1 -1
- package/dist/improvement/actions.d.ts +27 -0
- package/dist/improvement/actions.d.ts.map +1 -0
- package/dist/improvement/actions.js +116 -0
- package/dist/improvement/actions.js.map +1 -0
- package/dist/improvement/cli.d.ts +9 -0
- package/dist/improvement/cli.d.ts.map +1 -0
- package/dist/improvement/cli.js +58 -0
- package/dist/improvement/cli.js.map +1 -0
- package/dist/improvement/feedback.d.ts +30 -0
- package/dist/improvement/feedback.d.ts.map +1 -0
- package/dist/improvement/feedback.js +7 -0
- package/dist/improvement/feedback.js.map +1 -0
- package/dist/improvement/index.d.ts +7 -0
- package/dist/improvement/index.d.ts.map +1 -0
- package/dist/improvement/index.js +7 -0
- package/dist/improvement/index.js.map +1 -0
- package/dist/improvement/metrics.d.ts +4 -0
- package/dist/improvement/metrics.d.ts.map +1 -0
- package/dist/improvement/metrics.js +38 -0
- package/dist/improvement/metrics.js.map +1 -0
- package/dist/improvement/projection.d.ts +7 -0
- package/dist/improvement/projection.d.ts.map +1 -0
- package/dist/improvement/projection.js +135 -0
- package/dist/improvement/projection.js.map +1 -0
- package/dist/improvement/types.d.ts +115 -0
- package/dist/improvement/types.d.ts.map +1 -0
- package/dist/improvement/types.js +2 -0
- package/dist/improvement/types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.ts +10 -0
- package/dist/instructions.d.ts.map +1 -0
- package/dist/instructions.js +93 -0
- package/dist/instructions.js.map +1 -0
- package/dist/isolation/contracts.d.ts +42 -0
- package/dist/isolation/contracts.d.ts.map +1 -0
- package/dist/isolation/contracts.js +33 -0
- package/dist/isolation/contracts.js.map +1 -0
- package/dist/isolation/coordinator.d.ts +10 -0
- package/dist/isolation/coordinator.d.ts.map +1 -0
- package/dist/isolation/coordinator.js +79 -0
- package/dist/isolation/coordinator.js.map +1 -0
- package/dist/isolation/index.d.ts +5 -0
- package/dist/isolation/index.d.ts.map +1 -0
- package/dist/isolation/index.js +5 -0
- package/dist/isolation/index.js.map +1 -0
- package/dist/isolation/process.d.ts +11 -0
- package/dist/isolation/process.d.ts.map +1 -0
- package/dist/isolation/process.js +131 -0
- package/dist/isolation/process.js.map +1 -0
- package/dist/isolation/worktree.d.ts +25 -0
- package/dist/isolation/worktree.d.ts.map +1 -0
- package/dist/isolation/worktree.js +282 -0
- package/dist/isolation/worktree.js.map +1 -0
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +5 -1
- package/dist/memory.js.map +1 -1
- package/dist/model-detection.d.ts +14 -18
- package/dist/model-detection.d.ts.map +1 -1
- package/dist/model-detection.js +287 -149
- package/dist/model-detection.js.map +1 -1
- package/dist/models/index.d.ts +3 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +3 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/metadata.d.ts +43 -0
- package/dist/models/metadata.d.ts.map +1 -0
- package/dist/models/metadata.js +72 -0
- package/dist/models/metadata.js.map +1 -0
- package/dist/models/openrouter.d.ts +6 -0
- package/dist/models/openrouter.d.ts.map +1 -0
- package/dist/models/openrouter.js +38 -0
- package/dist/models/openrouter.js.map +1 -0
- package/dist/orchestration/accounting.d.ts +35 -0
- package/dist/orchestration/accounting.d.ts.map +1 -0
- package/dist/orchestration/accounting.js +27 -0
- package/dist/orchestration/accounting.js.map +1 -0
- package/dist/orchestration/actions.d.ts +23 -0
- package/dist/orchestration/actions.d.ts.map +1 -0
- package/dist/orchestration/actions.js +65 -0
- package/dist/orchestration/actions.js.map +1 -0
- package/dist/orchestration/cli.d.ts +28 -0
- package/dist/orchestration/cli.d.ts.map +1 -0
- package/dist/orchestration/cli.js +178 -0
- package/dist/orchestration/cli.js.map +1 -0
- package/dist/orchestration/coordinator-actions.d.ts +15 -0
- package/dist/orchestration/coordinator-actions.d.ts.map +1 -0
- package/dist/orchestration/coordinator-actions.js +79 -0
- package/dist/orchestration/coordinator-actions.js.map +1 -0
- package/dist/orchestration/coordinator-types.d.ts +193 -0
- package/dist/orchestration/coordinator-types.d.ts.map +1 -0
- package/dist/orchestration/coordinator-types.js +2 -0
- package/dist/orchestration/coordinator-types.js.map +1 -0
- package/dist/orchestration/coordinator.d.ts +32 -0
- package/dist/orchestration/coordinator.d.ts.map +1 -0
- package/dist/orchestration/coordinator.js +405 -0
- package/dist/orchestration/coordinator.js.map +1 -0
- package/dist/orchestration/execution-cli.d.ts +11 -0
- package/dist/orchestration/execution-cli.d.ts.map +1 -0
- package/dist/orchestration/execution-cli.js +183 -0
- package/dist/orchestration/execution-cli.js.map +1 -0
- package/dist/orchestration/execution-journal.d.ts +15 -0
- package/dist/orchestration/execution-journal.d.ts.map +1 -0
- package/dist/orchestration/execution-journal.js +477 -0
- package/dist/orchestration/execution-journal.js.map +1 -0
- package/dist/orchestration/execution-store.d.ts +39 -0
- package/dist/orchestration/execution-store.d.ts.map +1 -0
- package/dist/orchestration/execution-store.js +325 -0
- package/dist/orchestration/execution-store.js.map +1 -0
- package/dist/orchestration/execution.d.ts +8 -0
- package/dist/orchestration/execution.d.ts.map +1 -0
- package/dist/orchestration/execution.js +47 -0
- package/dist/orchestration/execution.js.map +1 -0
- package/dist/orchestration/index.d.ts +20 -0
- package/dist/orchestration/index.d.ts.map +1 -0
- package/dist/orchestration/index.js +17 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/progress.d.ts +19 -0
- package/dist/orchestration/progress.d.ts.map +1 -0
- package/dist/orchestration/progress.js +20 -0
- package/dist/orchestration/progress.js.map +1 -0
- package/dist/orchestration/recovery.d.ts +4 -0
- package/dist/orchestration/recovery.d.ts.map +1 -0
- package/dist/orchestration/recovery.js +121 -0
- package/dist/orchestration/recovery.js.map +1 -0
- package/dist/orchestration/request-accounting.d.ts +35 -0
- package/dist/orchestration/request-accounting.d.ts.map +1 -0
- package/dist/orchestration/request-accounting.js +71 -0
- package/dist/orchestration/request-accounting.js.map +1 -0
- package/dist/orchestration/routing.d.ts +20 -0
- package/dist/orchestration/routing.d.ts.map +1 -0
- package/dist/orchestration/routing.js +38 -0
- package/dist/orchestration/routing.js.map +1 -0
- package/dist/orchestration/store.d.ts +26 -0
- package/dist/orchestration/store.d.ts.map +1 -0
- package/dist/orchestration/store.js +381 -0
- package/dist/orchestration/store.js.map +1 -0
- package/dist/orchestration/types.d.ts +201 -0
- package/dist/orchestration/types.d.ts.map +1 -0
- package/dist/orchestration/types.js +11 -0
- package/dist/orchestration/types.js.map +1 -0
- package/dist/orchestration/validation.d.ts +29 -0
- package/dist/orchestration/validation.d.ts.map +1 -0
- package/dist/orchestration/validation.js +440 -0
- package/dist/orchestration/validation.js.map +1 -0
- package/dist/orchestration/verification.d.ts +30 -0
- package/dist/orchestration/verification.d.ts.map +1 -0
- package/dist/orchestration/verification.js +204 -0
- package/dist/orchestration/verification.js.map +1 -0
- package/dist/orchestration/worker-context.d.ts +33 -0
- package/dist/orchestration/worker-context.d.ts.map +1 -0
- package/dist/orchestration/worker-context.js +31 -0
- package/dist/orchestration/worker-context.js.map +1 -0
- package/dist/policy.d.ts +1 -0
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +25 -5
- package/dist/policy.js.map +1 -1
- package/dist/preferences/controls.d.ts +21 -0
- package/dist/preferences/controls.d.ts.map +1 -0
- package/dist/preferences/controls.js +36 -0
- package/dist/preferences/controls.js.map +1 -0
- package/dist/preferences/flags.d.ts +8 -0
- package/dist/preferences/flags.d.ts.map +1 -0
- package/dist/preferences/flags.js +27 -0
- package/dist/preferences/flags.js.map +1 -0
- package/dist/preferences/index.d.ts +9 -0
- package/dist/preferences/index.d.ts.map +1 -0
- package/dist/preferences/index.js +9 -0
- package/dist/preferences/index.js.map +1 -0
- package/dist/preferences/once.d.ts +8 -0
- package/dist/preferences/once.d.ts.map +1 -0
- package/dist/preferences/once.js +28 -0
- package/dist/preferences/once.js.map +1 -0
- package/dist/preferences/resolve.d.ts +14 -0
- package/dist/preferences/resolve.d.ts.map +1 -0
- package/dist/preferences/resolve.js +58 -0
- package/dist/preferences/resolve.js.map +1 -0
- package/dist/preferences/store.d.ts +19 -0
- package/dist/preferences/store.d.ts.map +1 -0
- package/dist/preferences/store.js +147 -0
- package/dist/preferences/store.js.map +1 -0
- package/dist/preferences/submission.d.ts +16 -0
- package/dist/preferences/submission.d.ts.map +1 -0
- package/dist/preferences/submission.js +29 -0
- package/dist/preferences/submission.js.map +1 -0
- package/dist/preferences/types.d.ts +23 -0
- package/dist/preferences/types.d.ts.map +1 -0
- package/dist/preferences/types.js +2 -0
- package/dist/preferences/types.js.map +1 -0
- package/dist/preferences/validate.d.ts +3 -0
- package/dist/preferences/validate.d.ts.map +1 -0
- package/dist/preferences/validate.js +15 -0
- package/dist/preferences/validate.js.map +1 -0
- package/dist/process-cancellation.d.ts +6 -0
- package/dist/process-cancellation.d.ts.map +1 -0
- package/dist/process-cancellation.js +39 -0
- package/dist/process-cancellation.js.map +1 -0
- package/dist/providers/anthropic.d.ts +7 -2
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +72 -41
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/bedrock.d.ts +1 -1
- package/dist/providers/bedrock.d.ts.map +1 -1
- package/dist/providers/bedrock.js +39 -23
- package/dist/providers/bedrock.js.map +1 -1
- package/dist/providers/compat.d.ts +4 -3
- package/dist/providers/compat.d.ts.map +1 -1
- package/dist/providers/compat.js +49 -31
- package/dist/providers/compat.js.map +1 -1
- package/dist/providers/deepseek-reasoning.d.ts +64 -0
- package/dist/providers/deepseek-reasoning.d.ts.map +1 -0
- package/dist/providers/deepseek-reasoning.js +28 -0
- package/dist/providers/deepseek-reasoning.js.map +1 -0
- package/dist/providers/google.d.ts +4 -3
- package/dist/providers/google.d.ts.map +1 -1
- package/dist/providers/google.js +128 -19
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +216 -36
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/ollama.d.ts.map +1 -1
- package/dist/providers/ollama.js +79 -43
- package/dist/providers/ollama.js.map +1 -1
- package/dist/providers/openai.d.ts +2 -2
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +50 -46
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/openrouter-bounds.d.ts +22 -0
- package/dist/providers/openrouter-bounds.d.ts.map +1 -0
- package/dist/providers/openrouter-bounds.js +16 -0
- package/dist/providers/openrouter-bounds.js.map +1 -0
- package/dist/providers/stream-attempt.d.ts +29 -0
- package/dist/providers/stream-attempt.d.ts.map +1 -0
- package/dist/providers/stream-attempt.js +63 -0
- package/dist/providers/stream-attempt.js.map +1 -0
- package/dist/providers/types.d.ts +40 -4
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +19 -0
- package/dist/providers/types.js.map +1 -1
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +16 -0
- package/dist/replay.js.map +1 -1
- package/dist/risk.d.ts.map +1 -1
- package/dist/risk.js +5 -0
- package/dist/risk.js.map +1 -1
- package/dist/router.d.ts +7 -110
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +0 -451
- package/dist/router.js.map +1 -1
- package/dist/routing/index.d.ts +6 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +5 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/routing/prompt.d.ts +4 -0
- package/dist/routing/prompt.d.ts.map +1 -0
- package/dist/routing/prompt.js +14 -0
- package/dist/routing/prompt.js.map +1 -0
- package/dist/routing/select.d.ts +9 -0
- package/dist/routing/select.d.ts.map +1 -0
- package/dist/routing/select.js +279 -0
- package/dist/routing/select.js.map +1 -0
- package/dist/routing/smart.d.ts +31 -0
- package/dist/routing/smart.d.ts.map +1 -0
- package/dist/routing/smart.js +46 -0
- package/dist/routing/smart.js.map +1 -0
- package/dist/routing/types.d.ts +79 -0
- package/dist/routing/types.d.ts.map +1 -0
- package/dist/routing/types.js +2 -0
- package/dist/routing/types.js.map +1 -0
- package/dist/runlog.d.ts +32 -4
- package/dist/runlog.d.ts.map +1 -1
- package/dist/runlog.js +22 -6
- package/dist/runlog.js.map +1 -1
- package/dist/runtime/index.d.ts +6 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +6 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/permissions.d.ts +21 -0
- package/dist/runtime/permissions.d.ts.map +1 -0
- package/dist/runtime/permissions.js +110 -0
- package/dist/runtime/permissions.js.map +1 -0
- package/dist/runtime/repair.d.ts +20 -0
- package/dist/runtime/repair.d.ts.map +1 -0
- package/dist/runtime/repair.js +50 -0
- package/dist/runtime/repair.js.map +1 -0
- package/dist/runtime/tool-retry.d.ts +3 -0
- package/dist/runtime/tool-retry.d.ts.map +1 -0
- package/dist/runtime/tool-retry.js +12 -0
- package/dist/runtime/tool-retry.js.map +1 -0
- package/dist/runtime/turn.d.ts +97 -0
- package/dist/runtime/turn.d.ts.map +1 -0
- package/dist/runtime/turn.js +437 -0
- package/dist/runtime/turn.js.map +1 -0
- package/dist/runtime/types.d.ts +11 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +5 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/sandbox/docker.d.ts +4 -4
- package/dist/sandbox/docker.d.ts.map +1 -1
- package/dist/sandbox/docker.js +55 -16
- package/dist/sandbox/docker.js.map +1 -1
- package/dist/sandbox/native.d.ts +1 -0
- package/dist/sandbox/native.d.ts.map +1 -1
- package/dist/sandbox/native.js +11 -2
- package/dist/sandbox/native.js.map +1 -1
- package/dist/scope.d.ts +5 -9
- package/dist/scope.d.ts.map +1 -1
- package/dist/scope.js +43 -20
- package/dist/scope.js.map +1 -1
- package/dist/session-management/actions.d.ts +28 -0
- package/dist/session-management/actions.d.ts.map +1 -0
- package/dist/session-management/actions.js +78 -0
- package/dist/session-management/actions.js.map +1 -0
- package/dist/session-management/cli.d.ts +24 -0
- package/dist/session-management/cli.d.ts.map +1 -0
- package/dist/session-management/cli.js +92 -0
- package/dist/session-management/cli.js.map +1 -0
- package/dist/session-management/files.d.ts +5 -0
- package/dist/session-management/files.d.ts.map +1 -0
- package/dist/session-management/files.js +92 -0
- package/dist/session-management/files.js.map +1 -0
- package/dist/session-management/index.d.ts +7 -0
- package/dist/session-management/index.d.ts.map +1 -0
- package/dist/session-management/index.js +7 -0
- package/dist/session-management/index.js.map +1 -0
- package/dist/session-management/permissions.d.ts +12 -0
- package/dist/session-management/permissions.d.ts.map +1 -0
- package/dist/session-management/permissions.js +33 -0
- package/dist/session-management/permissions.js.map +1 -0
- package/dist/session-management/presentation.d.ts +5 -0
- package/dist/session-management/presentation.d.ts.map +1 -0
- package/dist/session-management/presentation.js +10 -0
- package/dist/session-management/presentation.js.map +1 -0
- package/dist/session-management/transfer.d.ts +9 -0
- package/dist/session-management/transfer.d.ts.map +1 -0
- package/dist/session-management/transfer.js +39 -0
- package/dist/session-management/transfer.js.map +1 -0
- package/dist/sessions/context.d.ts +4 -0
- package/dist/sessions/context.d.ts.map +1 -0
- package/dist/sessions/context.js +6 -0
- package/dist/sessions/context.js.map +1 -0
- package/dist/sessions/format.d.ts +38 -0
- package/dist/sessions/format.d.ts.map +1 -0
- package/dist/sessions/format.js +116 -0
- package/dist/sessions/format.js.map +1 -0
- package/dist/sessions/history.d.ts +37 -0
- package/dist/sessions/history.d.ts.map +1 -0
- package/dist/sessions/history.js +197 -0
- package/dist/sessions/history.js.map +1 -0
- package/dist/sessions/index.d.ts +8 -0
- package/dist/sessions/index.d.ts.map +1 -0
- package/dist/sessions/index.js +8 -0
- package/dist/sessions/index.js.map +1 -0
- package/dist/sessions/output.d.ts +31 -0
- package/dist/sessions/output.d.ts.map +1 -0
- package/dist/sessions/output.js +115 -0
- package/dist/sessions/output.js.map +1 -0
- package/dist/sessions/portable.d.ts +26 -0
- package/dist/sessions/portable.d.ts.map +1 -0
- package/dist/sessions/portable.js +105 -0
- package/dist/sessions/portable.js.map +1 -0
- package/dist/sessions/snapshot.d.ts +11 -0
- package/dist/sessions/snapshot.d.ts.map +1 -0
- package/dist/sessions/snapshot.js +118 -0
- package/dist/sessions/snapshot.js.map +1 -0
- package/dist/sessions/tool-state.d.ts +11 -0
- package/dist/sessions/tool-state.d.ts.map +1 -0
- package/dist/sessions/tool-state.js +152 -0
- package/dist/sessions/tool-state.js.map +1 -0
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +13 -5
- package/dist/setup.js.map +1 -1
- package/dist/spawning/actions.d.ts +23 -0
- package/dist/spawning/actions.d.ts.map +1 -0
- package/dist/spawning/actions.js +120 -0
- package/dist/spawning/actions.js.map +1 -0
- package/dist/spawning/authority.d.ts +15 -0
- package/dist/spawning/authority.d.ts.map +1 -0
- package/dist/spawning/authority.js +16 -0
- package/dist/spawning/authority.js.map +1 -0
- package/dist/spawning/cli.d.ts +4 -0
- package/dist/spawning/cli.d.ts.map +1 -0
- package/dist/spawning/cli.js +46 -0
- package/dist/spawning/cli.js.map +1 -0
- package/dist/spawning/execution.d.ts +13 -0
- package/dist/spawning/execution.d.ts.map +1 -0
- package/dist/spawning/execution.js +59 -0
- package/dist/spawning/execution.js.map +1 -0
- package/dist/spawning/index.d.ts +8 -0
- package/dist/spawning/index.d.ts.map +1 -0
- package/dist/spawning/index.js +8 -0
- package/dist/spawning/index.js.map +1 -0
- package/dist/spawning/store.d.ts +12 -0
- package/dist/spawning/store.d.ts.map +1 -0
- package/dist/spawning/store.js +93 -0
- package/dist/spawning/store.js.map +1 -0
- package/dist/spawning/types.d.ts +34 -0
- package/dist/spawning/types.d.ts.map +1 -0
- package/dist/spawning/types.js +2 -0
- package/dist/spawning/types.js.map +1 -0
- package/dist/spawning/validation.d.ts +14 -0
- package/dist/spawning/validation.d.ts.map +1 -0
- package/dist/spawning/validation.js +95 -0
- package/dist/spawning/validation.js.map +1 -0
- package/dist/storage.d.ts +29 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +112 -40
- package/dist/storage.js.map +1 -1
- package/dist/supervision/approval.d.ts +4 -0
- package/dist/supervision/approval.d.ts.map +1 -0
- package/dist/supervision/approval.js +7 -0
- package/dist/supervision/approval.js.map +1 -0
- package/dist/supervision/availability.d.ts +34 -0
- package/dist/supervision/availability.d.ts.map +1 -0
- package/dist/supervision/availability.js +44 -0
- package/dist/supervision/availability.js.map +1 -0
- package/dist/supervision/context.d.ts +36 -0
- package/dist/supervision/context.d.ts.map +1 -0
- package/dist/supervision/context.js +52 -0
- package/dist/supervision/context.js.map +1 -0
- package/dist/supervision/contracts.d.ts +7 -0
- package/dist/supervision/contracts.d.ts.map +1 -0
- package/dist/supervision/contracts.js +86 -0
- package/dist/supervision/contracts.js.map +1 -0
- package/dist/supervision/effects.d.ts +15 -0
- package/dist/supervision/effects.d.ts.map +1 -0
- package/dist/supervision/effects.js +19 -0
- package/dist/supervision/effects.js.map +1 -0
- package/dist/supervision/evidence.d.ts +32 -0
- package/dist/supervision/evidence.d.ts.map +1 -0
- package/dist/supervision/evidence.js +68 -0
- package/dist/supervision/evidence.js.map +1 -0
- package/dist/supervision/health.d.ts +16 -0
- package/dist/supervision/health.d.ts.map +1 -0
- package/dist/supervision/health.js +86 -0
- package/dist/supervision/health.js.map +1 -0
- package/dist/supervision/index.d.ts +13 -0
- package/dist/supervision/index.d.ts.map +1 -0
- package/dist/supervision/index.js +13 -0
- package/dist/supervision/index.js.map +1 -0
- package/dist/supervision/journal.d.ts +16 -0
- package/dist/supervision/journal.d.ts.map +1 -0
- package/dist/supervision/journal.js +311 -0
- package/dist/supervision/journal.js.map +1 -0
- package/dist/supervision/receipts.d.ts +4 -0
- package/dist/supervision/receipts.d.ts.map +1 -0
- package/dist/supervision/receipts.js +21 -0
- package/dist/supervision/receipts.js.map +1 -0
- package/dist/supervision/reply.d.ts +12 -0
- package/dist/supervision/reply.d.ts.map +1 -0
- package/dist/supervision/reply.js +50 -0
- package/dist/supervision/reply.js.map +1 -0
- package/dist/supervision/runtime.d.ts +8 -0
- package/dist/supervision/runtime.d.ts.map +1 -0
- package/dist/supervision/runtime.js +188 -0
- package/dist/supervision/runtime.js.map +1 -0
- package/dist/supervision/types.d.ts +174 -0
- package/dist/supervision/types.d.ts.map +1 -0
- package/dist/supervision/types.js +2 -0
- package/dist/supervision/types.js.map +1 -0
- package/dist/tools.d.ts +12 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +131 -23
- package/dist/tools.js.map +1 -1
- package/dist/turn-controller.d.ts +12 -0
- package/dist/turn-controller.d.ts.map +1 -0
- package/dist/turn-controller.js +51 -0
- package/dist/turn-controller.js.map +1 -0
- package/dist/types.d.ts +7 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -1
- package/dist/ui/agent.d.ts +11 -10
- package/dist/ui/agent.d.ts.map +1 -1
- package/dist/ui/agent.js +293 -897
- package/dist/ui/agent.js.map +1 -1
- package/dist/ui/commands.d.ts +20 -2
- package/dist/ui/commands.d.ts.map +1 -1
- package/dist/ui/commands.js +208 -155
- package/dist/ui/commands.js.map +1 -1
- package/dist/ui/completions.d.ts.map +1 -1
- package/dist/ui/completions.js +16 -5
- package/dist/ui/completions.js.map +1 -1
- package/dist/ui/index.d.ts +6 -2
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +13 -11
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/messages.d.ts.map +1 -1
- package/dist/ui/messages.js +5 -0
- package/dist/ui/messages.js.map +1 -1
- package/dist/ui/modals/index.d.ts +1 -0
- package/dist/ui/modals/index.d.ts.map +1 -1
- package/dist/ui/modals/index.js +1 -0
- package/dist/ui/modals/index.js.map +1 -1
- package/dist/ui/modals/prompts.d.ts +4 -7
- package/dist/ui/modals/prompts.d.ts.map +1 -1
- package/dist/ui/modals/prompts.js +14 -10
- package/dist/ui/modals/prompts.js.map +1 -1
- package/dist/ui/modals/selectors.d.ts +1 -0
- package/dist/ui/modals/selectors.d.ts.map +1 -1
- package/dist/ui/modals/selectors.js +3 -2
- package/dist/ui/modals/selectors.js.map +1 -1
- package/dist/ui/modals/tool-output.d.ts +8 -0
- package/dist/ui/modals/tool-output.d.ts.map +1 -0
- package/dist/ui/modals/tool-output.js +26 -0
- package/dist/ui/modals/tool-output.js.map +1 -0
- package/dist/ui/model-commands.d.ts +4 -0
- package/dist/ui/model-commands.d.ts.map +1 -0
- package/dist/ui/model-commands.js +69 -0
- package/dist/ui/model-commands.js.map +1 -0
- package/dist/ui/regions/modal-host.d.ts +3 -0
- package/dist/ui/regions/modal-host.d.ts.map +1 -1
- package/dist/ui/regions/modal-host.js +7 -1
- package/dist/ui/regions/modal-host.js.map +1 -1
- package/dist/ui/regions/status-region.d.ts +2 -1
- package/dist/ui/regions/status-region.d.ts.map +1 -1
- package/dist/ui/regions/status-region.js +2 -2
- package/dist/ui/regions/status-region.js.map +1 -1
- package/dist/ui/regions/tool-activity.d.ts +6 -0
- package/dist/ui/regions/tool-activity.d.ts.map +1 -0
- package/dist/ui/regions/tool-activity.js +9 -0
- package/dist/ui/regions/tool-activity.js.map +1 -0
- package/dist/ui/regions/transcript-region.d.ts.map +1 -1
- package/dist/ui/regions/transcript-region.js +2 -1
- package/dist/ui/regions/transcript-region.js.map +1 -1
- package/dist/ui/regions/workflow-region.d.ts +9 -0
- package/dist/ui/regions/workflow-region.d.ts.map +1 -0
- package/dist/ui/regions/workflow-region.js +11 -0
- package/dist/ui/regions/workflow-region.js.map +1 -0
- package/dist/ui/session-commands.d.ts +3 -0
- package/dist/ui/session-commands.d.ts.map +1 -0
- package/dist/ui/session-commands.js +141 -0
- package/dist/ui/session-commands.js.map +1 -0
- package/dist/ui/state/use-approval-state.d.ts +9 -0
- package/dist/ui/state/use-approval-state.d.ts.map +1 -0
- package/dist/ui/state/use-approval-state.js +18 -0
- package/dist/ui/state/use-approval-state.js.map +1 -0
- package/dist/ui/state/use-chat-controller.d.ts +4 -1
- package/dist/ui/state/use-chat-controller.d.ts.map +1 -1
- package/dist/ui/state/use-chat-controller.js +256 -180
- package/dist/ui/state/use-chat-controller.js.map +1 -1
- package/dist/ui/state/use-modal-state.d.ts +6 -8
- package/dist/ui/state/use-modal-state.d.ts.map +1 -1
- package/dist/ui/state/use-modal-state.js +3 -4
- package/dist/ui/state/use-modal-state.js.map +1 -1
- package/dist/ui/state/use-model-state.d.ts +7 -3
- package/dist/ui/state/use-model-state.d.ts.map +1 -1
- package/dist/ui/state/use-model-state.js +24 -17
- package/dist/ui/state/use-model-state.js.map +1 -1
- package/dist/ui/state/use-queue-state.d.ts +4 -3
- package/dist/ui/state/use-queue-state.d.ts.map +1 -1
- package/dist/ui/state/use-queue-state.js +11 -8
- package/dist/ui/state/use-queue-state.js.map +1 -1
- package/dist/ui/state/use-session-init.d.ts +4 -0
- package/dist/ui/state/use-session-init.d.ts.map +1 -1
- package/dist/ui/state/use-session-init.js +19 -3
- package/dist/ui/state/use-session-init.js.map +1 -1
- package/dist/ui/state/use-transcript-state.d.ts +6 -3
- package/dist/ui/state/use-transcript-state.d.ts.map +1 -1
- package/dist/ui/state/use-transcript-state.js +27 -15
- package/dist/ui/state/use-transcript-state.js.map +1 -1
- package/dist/ui/status-bar.d.ts +2 -1
- package/dist/ui/status-bar.d.ts.map +1 -1
- package/dist/ui/status-bar.js +2 -2
- package/dist/ui/status-bar.js.map +1 -1
- package/dist/ui/tool-output-cache.d.ts +12 -0
- package/dist/ui/tool-output-cache.d.ts.map +1 -0
- package/dist/ui/tool-output-cache.js +27 -0
- package/dist/ui/tool-output-cache.js.map +1 -0
- package/dist/ui/tool-output-commands.d.ts +3 -0
- package/dist/ui/tool-output-commands.d.ts.map +1 -0
- package/dist/ui/tool-output-commands.js +37 -0
- package/dist/ui/tool-output-commands.js.map +1 -0
- package/dist/ui/tool-output-wrap.d.ts +3 -0
- package/dist/ui/tool-output-wrap.d.ts.map +1 -0
- package/dist/ui/tool-output-wrap.js +24 -0
- package/dist/ui/tool-output-wrap.js.map +1 -0
- package/dist/ui/tool-progress.d.ts +23 -0
- package/dist/ui/tool-progress.d.ts.map +1 -0
- package/dist/ui/tool-progress.js +42 -0
- package/dist/ui/tool-progress.js.map +1 -0
- package/dist/ui/types.d.ts +8 -0
- package/dist/ui/types.d.ts.map +1 -1
- package/dist/ui/workflow-progress.d.ts +21 -0
- package/dist/ui/workflow-progress.d.ts.map +1 -0
- package/dist/ui/workflow-progress.js +107 -0
- package/dist/ui/workflow-progress.js.map +1 -0
- package/package.json +13 -4
- package/scripts/verify-runlog.mjs +208 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type RunActionOptions } from './actions.js';
|
|
2
|
+
import { type ExecutionCommandOptions } from './execution-cli.js';
|
|
3
|
+
export declare const ORCHESTRATION_USAGE = "calliope run <plan> --dry-run | run prepare <plan> | run [list|status|replay] [run-id] | run approve|cancel <run-id> | agents [--tree] [--run <id>] | tasks [--graph] [--run <id>] [--json]";
|
|
4
|
+
/** Quotes group arguments only; substitutions and commands are never evaluated. */
|
|
5
|
+
export declare function parseOrchestrationArgs(input: string): string[];
|
|
6
|
+
export interface OrchestrationReport {
|
|
7
|
+
version: 1;
|
|
8
|
+
type: 'orchestration';
|
|
9
|
+
action: string;
|
|
10
|
+
localOnly: true;
|
|
11
|
+
execution: 'not-started';
|
|
12
|
+
data?: unknown;
|
|
13
|
+
error?: {
|
|
14
|
+
code: string;
|
|
15
|
+
message: string;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export type OrchestrationNamespace = 'run' | 'agents' | 'tasks';
|
|
19
|
+
export declare function isSpawnArgs(args: string[]): boolean;
|
|
20
|
+
export declare function orchestrationCommand(namespace: OrchestrationNamespace, args: string[], options?: RunActionOptions & {
|
|
21
|
+
cwd?: string;
|
|
22
|
+
}): Promise<{
|
|
23
|
+
report: OrchestrationReport;
|
|
24
|
+
exitCode: number;
|
|
25
|
+
}>;
|
|
26
|
+
export declare function formatOrchestration(report: OrchestrationReport): string;
|
|
27
|
+
export declare function runOrchestrationCommand(namespace: OrchestrationNamespace, args: string[], options?: ExecutionCommandOptions): Promise<number>;
|
|
28
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/orchestration/cli.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0D,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC7G,OAAO,EAAkB,KAAK,uBAAuB,EAAC,MAAM,oBAAoB,CAAC;AACjF,eAAO,MAAM,mBAAmB,gMAAgM,CAAC;AACjO,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAa9D;AACD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,aAAa,CAAC;IAC7F,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D;AACD,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAChE,wBAAgB,WAAW,CAAC,IAAI,EAAC,MAAM,EAAE,GAAE,OAAO,CAEjD;AACD,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,gBAAgB,GAAG;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAM,GAAG,OAAO,CAAC;IAAC,MAAM,EAAC,mBAAmB,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAA;CAAC,CAAC,CAwCpM;AACD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAoBvE;AACD,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,sBAAsB,EAAC,IAAI,EAAC,MAAM,EAAE,EAAC,OAAO,GAAC,uBAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CAOnJ"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { parseArgs } from 'node:util';
|
|
2
|
+
import { SessionPolicyError } from '../session-management/index.js';
|
|
3
|
+
import { isCancellation, throwIfCancelled } from '../cancellation.js';
|
|
4
|
+
import { approvalDisplayText } from '../approvals/index.js';
|
|
5
|
+
import { OrchestrationError } from './types.js';
|
|
6
|
+
import { RunStore } from './store.js';
|
|
7
|
+
import { loadRunPlan, prepareRun, changePreparedRun, inspectRun } from './actions.js';
|
|
8
|
+
import { executionCommand } from './execution-cli.js';
|
|
9
|
+
export const ORCHESTRATION_USAGE = 'calliope run <plan> --dry-run | run prepare <plan> | run [list|status|replay] [run-id] | run approve|cancel <run-id> | agents [--tree] [--run <id>] | tasks [--graph] [--run <id>] [--json]';
|
|
10
|
+
/** Quotes group arguments only; substitutions and commands are never evaluated. */
|
|
11
|
+
export function parseOrchestrationArgs(input) {
|
|
12
|
+
if (input.length > 32768)
|
|
13
|
+
throw new OrchestrationError('invalid', 'Orchestration command exceeds 32,768 characters.');
|
|
14
|
+
const args = [];
|
|
15
|
+
let value = '', quote = '', present = false;
|
|
16
|
+
const push = () => { if (present) {
|
|
17
|
+
args.push(value);
|
|
18
|
+
value = '';
|
|
19
|
+
present = false;
|
|
20
|
+
if (args.length > 128)
|
|
21
|
+
throw new OrchestrationError('invalid', 'Too many orchestration arguments.');
|
|
22
|
+
} };
|
|
23
|
+
for (let i = 0; i < input.length; i++) {
|
|
24
|
+
const char = input[i];
|
|
25
|
+
if (char === '\\' && quote !== "'") {
|
|
26
|
+
if (++i >= input.length)
|
|
27
|
+
throw new OrchestrationError('invalid', 'Incomplete argument escape.');
|
|
28
|
+
value += input[i];
|
|
29
|
+
present = true;
|
|
30
|
+
}
|
|
31
|
+
else if (quote) {
|
|
32
|
+
if (char === quote)
|
|
33
|
+
quote = '';
|
|
34
|
+
else
|
|
35
|
+
value += char;
|
|
36
|
+
}
|
|
37
|
+
else if (char === '"' || char === "'") {
|
|
38
|
+
quote = char;
|
|
39
|
+
present = true;
|
|
40
|
+
}
|
|
41
|
+
else if (/\s/.test(char))
|
|
42
|
+
push();
|
|
43
|
+
else {
|
|
44
|
+
value += char;
|
|
45
|
+
present = true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (quote)
|
|
49
|
+
throw new OrchestrationError('invalid', 'Unclosed argument quote.');
|
|
50
|
+
push();
|
|
51
|
+
return args;
|
|
52
|
+
}
|
|
53
|
+
export function isSpawnArgs(args) {
|
|
54
|
+
try {
|
|
55
|
+
return parseArgs({ args, strict: false, allowPositionals: true, options: { run: { type: 'string' }, approve: { type: 'string' }, resume: { type: 'string' }, 'max-output-tokens': { type: 'string' } } }).positionals[0] === 'spawn';
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export async function orchestrationCommand(namespace, args, options = {}) {
|
|
62
|
+
let action = namespace;
|
|
63
|
+
const response = (data) => ({ exitCode: 0, report: { version: 1, type: 'orchestration', action, localOnly: true, execution: 'not-started', data } });
|
|
64
|
+
const failure = (code, message, exitCode) => ({ exitCode, report: { version: 1, type: 'orchestration', action, localOnly: true, execution: 'not-started', error: { code, message } } });
|
|
65
|
+
let parsed;
|
|
66
|
+
try {
|
|
67
|
+
parsed = parseArgs({ args, allowPositionals: true, options: { json: { type: 'boolean' }, 'dry-run': { type: 'boolean' }, tree: { type: 'boolean' }, graph: { type: 'boolean' }, run: { type: 'string' } } });
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return failure('invalid-arguments', ORCHESTRATION_USAGE, 2);
|
|
71
|
+
}
|
|
72
|
+
const { positionals, values } = parsed;
|
|
73
|
+
if (args.some(arg => arg.length > 4096 || /[\x00-\x1f\x7f]/.test(arg)))
|
|
74
|
+
return failure('invalid-arguments', ORCHESTRATION_USAGE, 2);
|
|
75
|
+
const cwd = options.cwd ?? process.cwd(), store = options.store ?? new RunStore(), opts = { ...options, store };
|
|
76
|
+
try {
|
|
77
|
+
throwIfCancelled(options.signal);
|
|
78
|
+
if (namespace !== 'run') {
|
|
79
|
+
const expected = namespace === 'agents' ? 'tree' : 'graph';
|
|
80
|
+
if (values['dry-run'] || values[expected === 'tree' ? 'graph' : 'tree'] || positionals.length > 2 || positionals[0] && positionals[0] !== expected || positionals[1] && values.run)
|
|
81
|
+
return failure('invalid-arguments', ORCHESTRATION_USAGE, 2);
|
|
82
|
+
const view = await inspectRun(cwd, positionals[1] ?? values.run, opts);
|
|
83
|
+
return response(namespace === 'agents' ? { run: view.run, coordinatorId: view.analysis.coordinatorId, depths: view.analysis.depths, agents: view.manifest.plan.agents }
|
|
84
|
+
: { run: view.run, tasks: view.manifest.plan.tasks, stages: view.analysis.stages, conflicts: view.analysis.conflicts });
|
|
85
|
+
}
|
|
86
|
+
if (values.tree || values.graph || values.run)
|
|
87
|
+
return failure('invalid-arguments', ORCHESTRATION_USAGE, 2);
|
|
88
|
+
action = positionals[0] ?? 'list';
|
|
89
|
+
if (values['dry-run']) {
|
|
90
|
+
if (positionals.length !== 1)
|
|
91
|
+
return failure('invalid-arguments', ORCHESTRATION_USAGE, 2);
|
|
92
|
+
action = 'dry-run';
|
|
93
|
+
const { analysis, project, source } = await loadRunPlan(cwd, positionals[0], true, opts);
|
|
94
|
+
return response({ project, source, planHash: analysis.hash, plan: analysis.plan, coordinatorId: analysis.coordinatorId, stages: analysis.stages, conflicts: analysis.conflicts, approval: 'not-requested', modelDiscovery: 'not-checked', executedTasks: 0 });
|
|
95
|
+
}
|
|
96
|
+
const arities = { list: [0], status: [0, 1], replay: [1], prepare: [1], approve: [1], cancel: [1] };
|
|
97
|
+
const count = positionals.length ? positionals.length - 1 : 0;
|
|
98
|
+
if (!Object.hasOwn(arities, action) || !arities[action].includes(count))
|
|
99
|
+
return failure('invalid-arguments', ORCHESTRATION_USAGE + '. Child execution is not available in this preparation command.', 2);
|
|
100
|
+
if (action === 'list')
|
|
101
|
+
return response(await store.list(cwd, options.signal));
|
|
102
|
+
if (action === 'prepare') {
|
|
103
|
+
const view = await prepareRun(cwd, positionals[1], opts);
|
|
104
|
+
return response({ run: view.run, coordinatorId: view.analysis.coordinatorId, agents: view.manifest.plan.agents.length, tasks: view.manifest.plan.tasks.length, stages: view.analysis.stages, conflicts: view.analysis.conflicts });
|
|
105
|
+
}
|
|
106
|
+
if (action === 'approve' || action === 'cancel')
|
|
107
|
+
return response({ run: (await changePreparedRun(cwd, positionals[1], action === 'approve' ? 'approved' : 'cancelled', opts)).run });
|
|
108
|
+
const view = await inspectRun(cwd, positionals[1], opts);
|
|
109
|
+
return response(action === 'replay' ? { run: view.run, events: view.events } : { run: view.run, coordinatorId: view.analysis.coordinatorId, agents: view.manifest.plan.agents.length, tasks: view.manifest.plan.tasks.length, stages: view.analysis.stages, conflicts: view.analysis.conflicts });
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
if (options.signal?.aborted || isCancellation(error))
|
|
113
|
+
return failure('cancelled', 'Operation cancelled. Inspect recorded state before retrying; no child agents were started.', 130);
|
|
114
|
+
if (error instanceof SessionPolicyError)
|
|
115
|
+
return failure('policy-denied', error.message, 3);
|
|
116
|
+
if (error instanceof OrchestrationError)
|
|
117
|
+
return failure(error.code, approvalDisplayText(error.message), error.code === 'policy-denied' ? 3 : 1);
|
|
118
|
+
return failure('unavailable', 'Run operation failed. Check the project, plan, local store permissions and available space; preserve existing records.', 1);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
export function formatOrchestration(report) {
|
|
122
|
+
if (report.error)
|
|
123
|
+
return report.error.message;
|
|
124
|
+
const data = report.data;
|
|
125
|
+
const lines = [`Orchestration ${report.action} · no child execution`];
|
|
126
|
+
if (data.run)
|
|
127
|
+
lines.push(`Run ${data.run.id} · ${data.run.status} · approval ${data.run.approval}`, `Plan SHA-256 ${data.run.planHash} · revision ${data.run.revision}`);
|
|
128
|
+
if (data.plan)
|
|
129
|
+
lines.push(`Plan ${data.plan.id}: ${data.plan.goal}`, `SHA-256 ${data.planHash}`, `${data.plan.agents.length} declared agents · ${data.plan.tasks.length} tasks · concurrency limit ${data.plan.limits.maxConcurrent}`, `Budgets: ${data.plan.limits.tokenBudget} tokens · $${data.plan.limits.costBudgetUsd} · ${data.plan.limits.timeBudgetMs} ms`, 'Model compatibility has not been checked.');
|
|
130
|
+
if (data.runs) {
|
|
131
|
+
for (const run of data.runs)
|
|
132
|
+
lines.push(`${run.id} · ${run.status} · ${run.eventCount} events · ${run.updatedAt}`);
|
|
133
|
+
if (!data.runs.length)
|
|
134
|
+
lines.push('No prepared runs in this project.');
|
|
135
|
+
if (data.unavailable)
|
|
136
|
+
lines.push(`${data.unavailable} run directories are unavailable; preserve them for inspection.`);
|
|
137
|
+
}
|
|
138
|
+
if (Array.isArray(data.agents)) {
|
|
139
|
+
const agents = data.agents;
|
|
140
|
+
const tree = (parentId, indent) => {
|
|
141
|
+
for (const agent of agents.filter(agent => agent.parentId === parentId).sort((a, b) => a.id.localeCompare(b.id))) {
|
|
142
|
+
lines.push(`${indent}${parentId ? '└─ ' : ''}${agent.id} · ${agent.role} · planned`);
|
|
143
|
+
tree(agent.id, indent + ' ');
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
tree(null, '');
|
|
147
|
+
}
|
|
148
|
+
if (Array.isArray(data.tasks))
|
|
149
|
+
for (const task of data.tasks)
|
|
150
|
+
lines.push(`${task.id} → ${task.agentId} · depends on ${task.dependencies.join(', ') || 'none'} · pending`);
|
|
151
|
+
if (data.stages)
|
|
152
|
+
data.stages.forEach((stage, index) => lines.push(`Dependency stage ${index + 1}: ${stage.join(', ')}`));
|
|
153
|
+
if (data.conflicts?.length) {
|
|
154
|
+
lines.push(`${data.conflicts.length} write/read scope overlaps require scheduling or isolation:`);
|
|
155
|
+
for (const conflict of data.conflicts.slice(0, 40))
|
|
156
|
+
lines.push(`${conflict.tasks.join(' ↔ ')}: ${conflict.paths.join(', ')}`);
|
|
157
|
+
if (data.conflicts.length > 40)
|
|
158
|
+
lines.push('Further overlaps are available with --json.');
|
|
159
|
+
}
|
|
160
|
+
if (data.events)
|
|
161
|
+
for (const event of data.events)
|
|
162
|
+
lines.push(`${event.sequence}. ${event.at} ${event.change.type} · ${event.id}`);
|
|
163
|
+
lines.push('Plan approval records intent; runtime permission and budget gates still apply.');
|
|
164
|
+
const display = approvalDisplayText(lines.join('\n'));
|
|
165
|
+
return display.length > 32000 ? display.slice(0, 32000) + '\n[Display limited to 32,000 characters; use --json for the complete report.]' : display;
|
|
166
|
+
}
|
|
167
|
+
export async function runOrchestrationCommand(namespace, args, options = {}) {
|
|
168
|
+
if (namespace === 'agents' && isSpawnArgs(args))
|
|
169
|
+
return (await import('../spawning/index.js')).spawnCommand(args, options);
|
|
170
|
+
const executed = await executionCommand(namespace, args, options);
|
|
171
|
+
if (executed !== null)
|
|
172
|
+
return executed;
|
|
173
|
+
const result = await orchestrationCommand(namespace, args, options);
|
|
174
|
+
const delimiter = args.indexOf('--'), json = args.slice(0, delimiter < 0 ? args.length : delimiter).includes('--json');
|
|
175
|
+
(options.write ?? (text => { process.stdout.write(text); }))(json ? JSON.stringify(result.report) + '\n' : formatOrchestration(result.report) + '\n');
|
|
176
|
+
return result.exitCode;
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/orchestration/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ExecutionStore } from './execution-store.js';
|
|
2
|
+
import type { RunActionOptions } from './actions.js';
|
|
3
|
+
import type { CoordinatorOptions } from './coordinator.js';
|
|
4
|
+
export declare function inspectExecution(cwd: string, runId: string, options?: RunActionOptions): Promise<{
|
|
5
|
+
view: import("./types.js").RunInspection;
|
|
6
|
+
store: ExecutionStore;
|
|
7
|
+
execution: import("./coordinator-types.js").ExecutionInspection | null;
|
|
8
|
+
owner: {
|
|
9
|
+
id: string;
|
|
10
|
+
pid: number;
|
|
11
|
+
alive: boolean;
|
|
12
|
+
} | null;
|
|
13
|
+
}>;
|
|
14
|
+
export declare function controlExecution(cwd: string, runId: string, action: 'retry' | 'accept' | 'agent-stop' | 'agent-retry' | 'controller-retry', target: string, options?: RunActionOptions & Pick<CoordinatorOptions, 'onProgress'>): Promise<import("./coordinator-types.js").ExecutionInspection>;
|
|
15
|
+
//# sourceMappingURL=coordinator-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinator-actions.d.ts","sourceRoot":"","sources":["../../src/orchestration/coordinator-actions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAIpD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAKzD,wBAAsB,gBAAgB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,OAAO,GAAC,gBAAmB;;;;;;;;;GAGzF;AACD,wBAAsB,gBAAgB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,GAAC,QAAQ,GAAC,YAAY,GAAC,aAAa,GAAC,kBAAkB,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,GAAC,gBAAgB,GAAC,IAAI,CAAC,kBAAkB,EAAC,YAAY,CAAI,iEAkCnN"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { coordinatorProgress } from './progress.js';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { authorizeSessionAction } from '../session-management/index.js';
|
|
4
|
+
import { throwIfCancelled } from '../cancellation.js';
|
|
5
|
+
import { RunStore } from './store.js';
|
|
6
|
+
import { ExecutionStore } from './execution-store.js';
|
|
7
|
+
import { artifactSetHash } from './execution-journal.js';
|
|
8
|
+
import { readCollectedArtifact, checkArtifactSnapshot } from './verification.js';
|
|
9
|
+
import { OrchestrationError } from './types.js';
|
|
10
|
+
import { ReservationLedger } from '../execution/index.js';
|
|
11
|
+
import { inspectSpawnAuthority } from '../spawning/authority.js';
|
|
12
|
+
export async function inspectExecution(cwd, runId, options = {}) {
|
|
13
|
+
const runs = options.store ?? new RunStore(), view = await runs.read(runId, cwd, options.signal), store = new ExecutionStore(join(runs.root, runId), view.manifest);
|
|
14
|
+
return { view, store, execution: store.exists() ? store.read() : null, owner: store.exists() ? store.owner() : null };
|
|
15
|
+
}
|
|
16
|
+
export async function controlExecution(cwd, runId, action, target, options = {}) {
|
|
17
|
+
const initial = await inspectExecution(cwd, runId, options);
|
|
18
|
+
if (!initial.execution)
|
|
19
|
+
throw new OrchestrationError('unavailable', 'Run has no execution history.');
|
|
20
|
+
const { view, store } = initial, agentAction = action.startsWith('agent-'), context = store.context(initial.execution);
|
|
21
|
+
const finish = () => { const execution = store.read(); options.onProgress?.(coordinatorProgress(store, execution)); return execution; };
|
|
22
|
+
const goalAuthority = view.manifest.version === 2 && action !== 'agent-stop' ? (await import('../goals/index.js')).goalRunAuthority(view.manifest, (options.store ?? new RunStore()).root) : undefined;
|
|
23
|
+
const assertAuthority = () => { store.assertApproval(initial.execution.header); goalAuthority?.assertActive(); const authority = inspectSpawnAuthority(store, new ReservationLedger(join(store.root, '..', 'budget'))); if (action === 'accept' && authority.pending.length)
|
|
24
|
+
throw new OrchestrationError('conflict', 'Recover pending child admission before accepting the run.'); };
|
|
25
|
+
if (action === 'controller-retry' ? context.plan.supervision?.controllerId !== target : agentAction ? !context.plan.agents.some(a => a.id === target) : !context.plan.tasks.some(t => t.id === target))
|
|
26
|
+
throw new OrchestrationError('invalid', 'Unknown execution task or agent.');
|
|
27
|
+
if (action === 'accept') {
|
|
28
|
+
const task = initial.execution.state.tasks[target];
|
|
29
|
+
if (task.status !== 'review_required' || !task.output)
|
|
30
|
+
throw new OrchestrationError('conflict', 'Task is not awaiting acceptance.');
|
|
31
|
+
for (const artifact of task.output.artifacts)
|
|
32
|
+
await readCollectedArtifact(store, artifact, options);
|
|
33
|
+
}
|
|
34
|
+
await authorizeSessionAction(cwd, action === 'accept' ? 'orchestration_accept' : action === 'agent-stop' ? 'orchestration_agent_stop' : 'orchestration_retry', { path: cwd, runId, target, action, planHash: initial.execution.state.graph?.hash ?? view.manifest.planHash, revision: initial.execution.state.revision, ...(action === 'accept' ? { artifactsHash: artifactSetHash(initial.execution.state.tasks[target].output.artifacts), acceptanceCriteria: context.plan.tasks.find(t => t.id === target).acceptanceCriteria, agentCriteria: context.plan.agents.find(a => a.id === initial.execution.state.tasks[target].agentId).acceptanceCriteria, evidence: initial.execution.state.tasks[target].output } : {}) }, options);
|
|
35
|
+
throwIfCancelled(options.signal);
|
|
36
|
+
if (action === 'agent-stop') {
|
|
37
|
+
await store.append({ type: 'agent_stop', agentId: target }, options.signal);
|
|
38
|
+
return finish();
|
|
39
|
+
}
|
|
40
|
+
const lease = store.acquire();
|
|
41
|
+
try {
|
|
42
|
+
const current = store.read();
|
|
43
|
+
assertAuthority();
|
|
44
|
+
if (current.state.revision !== initial.execution.state.revision || current.state.ownerId)
|
|
45
|
+
throw new OrchestrationError('conflict', 'Execution changed or needs orphan recovery; inspect and resume before applying this decision.');
|
|
46
|
+
if (action === 'controller-retry') {
|
|
47
|
+
await store.append({ type: 'supervision_reset', source: options.source === 'repl' ? 'repl' : 'cli' }, options.signal, undefined, () => { lease.check(); assertAuthority(); });
|
|
48
|
+
}
|
|
49
|
+
else if (action === 'accept') {
|
|
50
|
+
const output = current.state.tasks[target].output;
|
|
51
|
+
for (const artifact of output.artifacts)
|
|
52
|
+
await readCollectedArtifact(store, artifact, options);
|
|
53
|
+
await store.appendBatch([{ change: { type: 'task_accepted', taskId: target, artifactsHash: artifactSetHash(output.artifacts) } }], options.signal, () => { lease.check(); assertAuthority(); if (store.read().state.revision !== current.state.revision)
|
|
54
|
+
throw new OrchestrationError('conflict', 'Execution changed during acceptance.'); for (const artifact of output.artifacts)
|
|
55
|
+
checkArtifactSnapshot(store, artifact); });
|
|
56
|
+
}
|
|
57
|
+
else if (action === 'retry') {
|
|
58
|
+
await store.append({ type: 'task_reset', taskId: target, source: 'manual' }, options.signal, undefined, () => { lease.check(); store.assertApproval(current.header); goalAuthority?.assertActive(); });
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
const descendants = new Set([target]);
|
|
62
|
+
for (let n = 0; n < context.plan.agents.length; n++)
|
|
63
|
+
for (const agent of context.plan.agents)
|
|
64
|
+
if (agent.parentId && descendants.has(agent.parentId))
|
|
65
|
+
descendants.add(agent.id);
|
|
66
|
+
const candidates = context.plan.tasks.filter(t => descendants.has(t.agentId) && ['failed', 'denied', 'cancelled', 'unknown'].includes(current.state.tasks[t.id].status));
|
|
67
|
+
if (!candidates.length && !current.state.stoppedAgents.some(id => descendants.has(id)))
|
|
68
|
+
throw new OrchestrationError('conflict', 'Agent has no stopped or retryable task.');
|
|
69
|
+
const changes = [...candidates.map(task => ({ type: 'task_reset', taskId: task.id, source: 'manual' })), ...current.state.stoppedAgents.filter(id => descendants.has(id)).map(agentId => ({ type: 'agent_reset', agentId }))];
|
|
70
|
+
await store.appendBatch(changes.map(change => ({ change })), options.signal, () => { lease.check(); store.assertApproval(current.header); goalAuthority?.assertActive(); if (store.read().state.revision !== current.state.revision)
|
|
71
|
+
throw new OrchestrationError('conflict', 'Execution changed during agent retry.'); });
|
|
72
|
+
}
|
|
73
|
+
return finish();
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
lease.release();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=coordinator-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinator-actions.js","sourceRoot":"","sources":["../../src/orchestration/coordinator-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import type { ArtifactSpec, RunManifest } from './types.js';
|
|
2
|
+
import type { SpawnAdmission, SpawnGraph } from '../spawning/types.js';
|
|
3
|
+
export type TaskStatus = 'pending' | 'running' | 'completed' | 'review_required' | 'failed' | 'denied' | 'cancelled' | 'unknown';
|
|
4
|
+
export type ExecutionStatus = 'ready' | 'running' | 'completed' | 'partial' | 'failed' | 'denied' | 'cancelled';
|
|
5
|
+
export interface CollectedArtifact {
|
|
6
|
+
id: string;
|
|
7
|
+
taskId: string;
|
|
8
|
+
agentId: string;
|
|
9
|
+
kind: ArtifactSpec['kind'];
|
|
10
|
+
location: 'project' | 'run';
|
|
11
|
+
path: string;
|
|
12
|
+
sha256: string;
|
|
13
|
+
bytes: number;
|
|
14
|
+
createdAt: string;
|
|
15
|
+
source: {
|
|
16
|
+
runId: string;
|
|
17
|
+
eventId: string;
|
|
18
|
+
};
|
|
19
|
+
confidence: number;
|
|
20
|
+
}
|
|
21
|
+
export interface CheckEvidence {
|
|
22
|
+
id: string;
|
|
23
|
+
artifactId: string;
|
|
24
|
+
kind: string;
|
|
25
|
+
criteria: string[];
|
|
26
|
+
passed: boolean;
|
|
27
|
+
observedHash: string | null;
|
|
28
|
+
}
|
|
29
|
+
export interface TaskOutput {
|
|
30
|
+
version: 1;
|
|
31
|
+
taskId: string;
|
|
32
|
+
agentId: string;
|
|
33
|
+
status: 'success' | 'partial' | 'failed' | 'denied' | 'cancelled';
|
|
34
|
+
summary: string;
|
|
35
|
+
changedFiles: string[];
|
|
36
|
+
artifacts: CollectedArtifact[];
|
|
37
|
+
testEvidence: string[];
|
|
38
|
+
unresolvedRisks: string[];
|
|
39
|
+
recommendedNextAction: string;
|
|
40
|
+
checks: CheckEvidence[];
|
|
41
|
+
}
|
|
42
|
+
export type ExecutionChange = {
|
|
43
|
+
type: 'agent_routed';
|
|
44
|
+
agentId: string;
|
|
45
|
+
sessionId: string;
|
|
46
|
+
taskId?: string;
|
|
47
|
+
route: import('./routing.js').RecordedAgentRoute;
|
|
48
|
+
} | {
|
|
49
|
+
type: 'proposal_validated';
|
|
50
|
+
taskId: string;
|
|
51
|
+
artifactId: string;
|
|
52
|
+
artifactHash: string;
|
|
53
|
+
goalManifestHash: string;
|
|
54
|
+
valid: boolean;
|
|
55
|
+
diagnostics: import('./types.js').PlanDiagnostic[];
|
|
56
|
+
} | import('../supervision/types.js').SupervisionChange | {
|
|
57
|
+
type: 'graph_admitted';
|
|
58
|
+
admission: SpawnAdmission;
|
|
59
|
+
} | {
|
|
60
|
+
type: 'started';
|
|
61
|
+
ownerId: string;
|
|
62
|
+
proposalOnly?: true;
|
|
63
|
+
} | {
|
|
64
|
+
type: 'task_started';
|
|
65
|
+
taskId: string;
|
|
66
|
+
attempt: number;
|
|
67
|
+
sessionId: string;
|
|
68
|
+
requestAttribution?: 1;
|
|
69
|
+
} | {
|
|
70
|
+
type: 'task_recovery_started';
|
|
71
|
+
taskId: string;
|
|
72
|
+
outcomeId: string;
|
|
73
|
+
} | {
|
|
74
|
+
type: 'agent_started';
|
|
75
|
+
agentId: string;
|
|
76
|
+
taskId: string;
|
|
77
|
+
} | {
|
|
78
|
+
type: 'agent_finished';
|
|
79
|
+
agentId: string;
|
|
80
|
+
taskId: string;
|
|
81
|
+
status: Exclude<TaskStatus, 'pending' | 'running'>;
|
|
82
|
+
} | {
|
|
83
|
+
type: 'escalated';
|
|
84
|
+
agentId: string;
|
|
85
|
+
taskId: string;
|
|
86
|
+
target: 'stop' | 'parent' | 'human';
|
|
87
|
+
} | {
|
|
88
|
+
type: 'tool';
|
|
89
|
+
taskId: string;
|
|
90
|
+
callId: string;
|
|
91
|
+
name: string;
|
|
92
|
+
path: string | null;
|
|
93
|
+
stage: 'started' | 'finished';
|
|
94
|
+
mutating: boolean;
|
|
95
|
+
success: boolean;
|
|
96
|
+
} | {
|
|
97
|
+
type: 'artifact';
|
|
98
|
+
artifact: CollectedArtifact;
|
|
99
|
+
} | {
|
|
100
|
+
type: 'task_finished';
|
|
101
|
+
taskId: string;
|
|
102
|
+
status: Exclude<TaskStatus, 'pending' | 'running'>;
|
|
103
|
+
output: TaskOutput;
|
|
104
|
+
} | {
|
|
105
|
+
type: 'task_reset';
|
|
106
|
+
taskId: string;
|
|
107
|
+
source: 'automatic' | 'manual';
|
|
108
|
+
} | {
|
|
109
|
+
type: 'task_accepted';
|
|
110
|
+
taskId: string;
|
|
111
|
+
artifactsHash: string;
|
|
112
|
+
} | {
|
|
113
|
+
type: 'agent_stop';
|
|
114
|
+
agentId: string;
|
|
115
|
+
} | {
|
|
116
|
+
type: 'agent_reset';
|
|
117
|
+
agentId: string;
|
|
118
|
+
} | {
|
|
119
|
+
type: 'finished';
|
|
120
|
+
ownerId: string;
|
|
121
|
+
status: Exclude<ExecutionStatus, 'ready' | 'running'>;
|
|
122
|
+
};
|
|
123
|
+
export interface ExecutionEvent {
|
|
124
|
+
version: 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
|
125
|
+
id: string;
|
|
126
|
+
runId: string;
|
|
127
|
+
sequence: number;
|
|
128
|
+
at: string;
|
|
129
|
+
previous: string;
|
|
130
|
+
change: ExecutionChange;
|
|
131
|
+
hash: string;
|
|
132
|
+
}
|
|
133
|
+
export interface TaskState {
|
|
134
|
+
id: string;
|
|
135
|
+
agentId: string;
|
|
136
|
+
status: TaskStatus;
|
|
137
|
+
attempts: number;
|
|
138
|
+
sessionId: string | null;
|
|
139
|
+
output: TaskOutput | null;
|
|
140
|
+
escalation: 'stop' | 'parent' | 'human' | null;
|
|
141
|
+
artifactIds: string[];
|
|
142
|
+
changedFiles: string[];
|
|
143
|
+
mutations: boolean;
|
|
144
|
+
route?: import('./routing.js').RecordedAgentRoute;
|
|
145
|
+
}
|
|
146
|
+
export interface ExecutionProjection {
|
|
147
|
+
version: 1 | 2 | 3 | 4 | 5 | 6;
|
|
148
|
+
runId: string;
|
|
149
|
+
revision: string;
|
|
150
|
+
status: ExecutionStatus;
|
|
151
|
+
ownerId: string | null;
|
|
152
|
+
deadline: number;
|
|
153
|
+
graph?: SpawnGraph;
|
|
154
|
+
routes?: Record<string, {
|
|
155
|
+
sessionId: string;
|
|
156
|
+
taskId?: string;
|
|
157
|
+
route: import('./routing.js').RecordedAgentRoute;
|
|
158
|
+
}>;
|
|
159
|
+
supervision?: import('../supervision/types.js').SupervisionProjection;
|
|
160
|
+
tasks: Record<string, TaskState>;
|
|
161
|
+
artifacts: Record<string, CollectedArtifact>;
|
|
162
|
+
stoppedAgents: string[];
|
|
163
|
+
}
|
|
164
|
+
export interface ExecutionHeader {
|
|
165
|
+
version: 1;
|
|
166
|
+
runId: string;
|
|
167
|
+
manifestHash: string;
|
|
168
|
+
approvalRevision: string;
|
|
169
|
+
createdAt: string;
|
|
170
|
+
deadline: number;
|
|
171
|
+
}
|
|
172
|
+
export interface ExecutionInspection {
|
|
173
|
+
header: ExecutionHeader;
|
|
174
|
+
events: ExecutionEvent[];
|
|
175
|
+
state: ExecutionProjection;
|
|
176
|
+
}
|
|
177
|
+
export interface ExecutionLease {
|
|
178
|
+
id: string;
|
|
179
|
+
check: () => void;
|
|
180
|
+
release: () => void;
|
|
181
|
+
}
|
|
182
|
+
export interface ExecutionJournal {
|
|
183
|
+
version: 1;
|
|
184
|
+
header: ExecutionHeader;
|
|
185
|
+
events: ExecutionEvent[];
|
|
186
|
+
hash: string;
|
|
187
|
+
}
|
|
188
|
+
export interface BoundExecution {
|
|
189
|
+
manifest: RunManifest;
|
|
190
|
+
header: ExecutionHeader;
|
|
191
|
+
}
|
|
192
|
+
export type RunPlanContext = Pick<RunManifest, 'id' | 'project' | 'plan'>;
|
|
193
|
+
//# sourceMappingURL=coordinator-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinator-types.d.ts","sourceRoot":"","sources":["../../src/orchestration/coordinator-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinator-types.js","sourceRoot":"","sources":["../../src/orchestration/coordinator-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type RunAccounting } from './accounting.js';
|
|
2
|
+
import type { ApprovalStore, ApprovalChoice } from '../approvals/index.js';
|
|
3
|
+
import type { PermissionDecision } from '../runtime/types.js';
|
|
4
|
+
import { type CoordinatorProgress } from './progress.js';
|
|
5
|
+
export { agentPreference } from './progress.js';
|
|
6
|
+
import type { RunActionOptions } from './actions.js';
|
|
7
|
+
import type { ExecutionEvent, ExecutionInspection, ExecutionStatus } from './coordinator-types.js';
|
|
8
|
+
export interface CoordinatorOptions extends RunActionOptions {
|
|
9
|
+
measuredInputReservation?: boolean;
|
|
10
|
+
/** Restrict this invocation to a bounded review; never start workers or apply its decision. */
|
|
11
|
+
proposalOnly?: boolean;
|
|
12
|
+
expectedDecisionId?: string;
|
|
13
|
+
expectedProposalHash?: string;
|
|
14
|
+
resume?: boolean;
|
|
15
|
+
maxOutputTokens?: number;
|
|
16
|
+
approvals?: ApprovalStore;
|
|
17
|
+
approve?: (decision: PermissionDecision, signal?: AbortSignal) => Promise<ApprovalChoice>;
|
|
18
|
+
onEvent?: (event: ExecutionEvent) => void;
|
|
19
|
+
onProgress?: (progress: CoordinatorProgress) => void;
|
|
20
|
+
}
|
|
21
|
+
export interface CoordinatorResult {
|
|
22
|
+
version: 2;
|
|
23
|
+
type: 'orchestration.execution';
|
|
24
|
+
runId: string;
|
|
25
|
+
status: ExecutionStatus;
|
|
26
|
+
execution: ExecutionInspection;
|
|
27
|
+
exitCode: number;
|
|
28
|
+
accounting: RunAccounting;
|
|
29
|
+
}
|
|
30
|
+
/** Execute the reviewed hierarchy and explicitly admitted child graphs. */
|
|
31
|
+
export declare function executeReviewedRun(cwd: string, runId: string, options?: CoordinatorOptions): Promise<CoordinatorResult>;
|
|
32
|
+
//# sourceMappingURL=coordinator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/orchestration/coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAiBrE,OAAO,KAAK,EAAC,aAAa,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAQ5D,OAAO,EAAqC,KAAK,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAC,cAAc,EAAC,mBAAmB,EAAgB,eAAe,EAAuB,MAAM,wBAAwB,CAAC;AAKpI,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,+FAA+F;IAC/F,YAAY,CAAC,EAAC,OAAO,CAAC;IAAA,kBAAkB,CAAC,EAAC,MAAM,CAAC;IAAA,oBAAoB,CAAC,EAAC,MAAM,CAAC;IAC9E,MAAM,CAAC,EAAC,OAAO,CAAC;IAAA,eAAe,CAAC,EAAC,MAAM,CAAC;IAAA,SAAS,CAAC,EAAC,aAAa,CAAC;IACjE,OAAO,CAAC,EAAC,CAAC,QAAQ,EAAC,kBAAkB,EAAC,MAAM,CAAC,EAAC,WAAW,KAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACpF,OAAO,CAAC,EAAC,CAAC,KAAK,EAAC,cAAc,KAAG,IAAI,CAAC;IACtC,UAAU,CAAC,EAAC,CAAC,QAAQ,EAAC,mBAAmB,KAAG,IAAI,CAAC;CAClD;AACD,MAAM,WAAW,iBAAiB;IAAE,OAAO,EAAC,CAAC,CAAC;IAAA,IAAI,EAAC,yBAAyB,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,eAAe,CAAC;IAAA,SAAS,EAAC,mBAAmB,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,aAAa,CAAA;CAAC;AAgCxL,2EAA2E;AAC3E,wBAAsB,kBAAkB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,OAAO,GAAC,kBAAqB,GAAE,OAAO,CAAC,iBAAiB,CAAC,CA8MzH"}
|