@calliopelabs/cli 3.1.0 → 3.2.1
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 +68 -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,16 @@
|
|
|
1
|
+
export * from './types.js';
|
|
2
|
+
export * from './validation.js';
|
|
3
|
+
export * from './journal.js';
|
|
4
|
+
export * from './store.js';
|
|
5
|
+
export * from './authority.js';
|
|
6
|
+
export * from './contracts.js';
|
|
7
|
+
export * from './actions.js';
|
|
8
|
+
export * from './cli.js';
|
|
9
|
+
export * from './team.js';
|
|
10
|
+
export * from './supervised.js';
|
|
11
|
+
export * from './supervised-cli.js';
|
|
12
|
+
export * from './repair.js';
|
|
13
|
+
export * from './accounting.js';
|
|
14
|
+
export * from './metrics.js';
|
|
15
|
+
export { validateGoalRouting, loadGoalRouting } from './routing.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/goals/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAC,mBAAmB,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { GoalManifest, GoalEvent, GoalProjection } from './types.js';
|
|
2
|
+
export declare const goalHistoryHash: (manifest: GoalManifest, events: GoalEvent[]) => string;
|
|
3
|
+
export declare function validateGoalEvent(value: unknown, manifest: GoalManifest): GoalEvent;
|
|
4
|
+
export declare function replayGoal(manifest: GoalManifest, events: GoalEvent[]): GoalProjection;
|
|
5
|
+
//# sourceMappingURL=journal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/goals/journal.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,SAAS,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;AAEtE,eAAO,MAAM,eAAe,aAAW,YAAY,UAAQ,SAAS,EAAE,WAAmF,CAAC;AAC1J,wBAAgB,iBAAiB,CAAC,KAAK,EAAC,OAAO,EAAC,QAAQ,EAAC,YAAY,GAAE,SAAS,CAY/E;AACD,wBAAgB,UAAU,CAAC,QAAQ,EAAC,YAAY,EAAC,MAAM,EAAC,SAAS,EAAE,GAAE,cAAc,CAqBlF"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { canonicalJson, digest } from '../approvals/index.js';
|
|
2
|
+
import { shape, integer, iso, uuid, hex, array, text, fail } from '../orchestration/validation.js';
|
|
3
|
+
import { OrchestrationError } from '../orchestration/types.js';
|
|
4
|
+
import { validateGoalManifest, validateAllocation, validatePlanningSpend, verifyHash, MAX_GOAL_EVENTS, MAX_GOAL_EVENT_BYTES } from './validation.js';
|
|
5
|
+
export const goalHistoryHash = (manifest, events) => digest(canonicalJson({ manifestHash: manifest.hash, events: events.map(e => e.hash) }));
|
|
6
|
+
export function validateGoalEvent(value, manifest) {
|
|
7
|
+
shape(value, ['version', 'id', 'goalId', 'sequence', 'at', 'previous', 'change', 'hash']);
|
|
8
|
+
if (value.version !== 1 || !uuid(value.id) || value.goalId !== manifest.id || !iso(value.at) || !hex(value.previous))
|
|
9
|
+
fail('Invalid goal event.');
|
|
10
|
+
integer(value.sequence, 1, MAX_GOAL_EVENTS);
|
|
11
|
+
shape(value.change, ['type'], ['allocation', 'status', 'spend', 'proposalHash', 'reason', 'source', 'runId', 'revision', 'completed', 'total']);
|
|
12
|
+
const c = value.change;
|
|
13
|
+
if (c.type === 'planning_allocated') {
|
|
14
|
+
shape(c, ['type', 'allocation']);
|
|
15
|
+
validateAllocation(c.allocation, manifest, 'planning');
|
|
16
|
+
}
|
|
17
|
+
else if (c.type === 'planning_finished') {
|
|
18
|
+
shape(c, ['type', 'status', 'spend', 'proposalHash', 'reason']);
|
|
19
|
+
if (!['review_required', 'failed', 'denied', 'cancelled'].includes(String(c.status)) || c.proposalHash !== null && !hex(c.proposalHash))
|
|
20
|
+
fail('Invalid planning outcome.');
|
|
21
|
+
if (c.spend !== null)
|
|
22
|
+
validatePlanningSpend(c.spend);
|
|
23
|
+
text(c.reason);
|
|
24
|
+
}
|
|
25
|
+
else if (c.type === 'proposal_revised') {
|
|
26
|
+
shape(c, ['type', 'proposalHash']);
|
|
27
|
+
if (!hex(c.proposalHash))
|
|
28
|
+
fail('Invalid revised proposal.');
|
|
29
|
+
}
|
|
30
|
+
else if (c.type === 'execution_allocated') {
|
|
31
|
+
shape(c, ['type', 'allocation', 'proposalHash', 'source']);
|
|
32
|
+
validateAllocation(c.allocation, manifest, 'execution');
|
|
33
|
+
if (!hex(c.proposalHash) || !['cli', 'repl'].includes(String(c.source)))
|
|
34
|
+
fail('Invalid plan approval.');
|
|
35
|
+
}
|
|
36
|
+
else if (c.type === 'execution_started') {
|
|
37
|
+
shape(c, ['type', 'runId']);
|
|
38
|
+
if (!uuid(c.runId))
|
|
39
|
+
fail('Invalid execution run.');
|
|
40
|
+
}
|
|
41
|
+
else if (c.type === 'execution_interrupted') {
|
|
42
|
+
shape(c, ['type', 'runId', 'status', 'reason']);
|
|
43
|
+
if (!uuid(c.runId) || !['failed', 'denied', 'cancelled'].includes(String(c.status)))
|
|
44
|
+
fail('Invalid execution interruption.');
|
|
45
|
+
text(c.reason);
|
|
46
|
+
}
|
|
47
|
+
else if (c.type === 'execution_finished') {
|
|
48
|
+
shape(c, ['type', 'runId', 'revision', 'status', 'completed', 'total']);
|
|
49
|
+
if (!uuid(c.runId) || !hex(c.revision) || !['completed', 'partial', 'failed', 'denied', 'cancelled'].includes(String(c.status)))
|
|
50
|
+
fail('Invalid execution evidence.');
|
|
51
|
+
integer(c.total, 1, manifest.limits.maxTasks);
|
|
52
|
+
integer(c.completed, 0, c.total);
|
|
53
|
+
if (c.status === 'completed' && c.completed !== c.total)
|
|
54
|
+
fail('Goal completion requires all task evidence.');
|
|
55
|
+
}
|
|
56
|
+
else if (c.type === 'cancelled') {
|
|
57
|
+
shape(c, ['type', 'source']);
|
|
58
|
+
if (!['cli', 'repl'].includes(String(c.source)))
|
|
59
|
+
fail('Invalid cancellation source.');
|
|
60
|
+
}
|
|
61
|
+
else
|
|
62
|
+
fail('Unknown goal event.');
|
|
63
|
+
verifyHash(value);
|
|
64
|
+
if (Buffer.byteLength(JSON.stringify(value)) > MAX_GOAL_EVENT_BYTES)
|
|
65
|
+
fail('Goal event exceeds its byte limit.');
|
|
66
|
+
return value;
|
|
67
|
+
}
|
|
68
|
+
export function replayGoal(manifest, events) {
|
|
69
|
+
validateGoalManifest(manifest);
|
|
70
|
+
array(events, MAX_GOAL_EVENTS);
|
|
71
|
+
const state = { version: 1, id: manifest.id, revision: goalHistoryHash(manifest, []), status: 'created', revoked: false, planning: null, execution: null, planningSpend: null, planningFrozen: false, proposalHash: null, approvedProposalHash: null, result: null };
|
|
72
|
+
const seen = new Set();
|
|
73
|
+
let at = manifest.createdAt;
|
|
74
|
+
const conflict = (message) => { throw new OrchestrationError('conflict', message); };
|
|
75
|
+
for (const event of events) {
|
|
76
|
+
validateGoalEvent(event, manifest);
|
|
77
|
+
if (seen.has(event.id) || event.sequence !== seen.size + 1 || event.previous !== state.revision || event.at < at)
|
|
78
|
+
fail('Broken goal event ancestry.');
|
|
79
|
+
seen.add(event.id);
|
|
80
|
+
at = event.at;
|
|
81
|
+
const c = event.change;
|
|
82
|
+
if (c.type === 'planning_allocated') {
|
|
83
|
+
if (state.status !== 'created' || state.planning || Date.parse(at) >= c.allocation.deadline)
|
|
84
|
+
conflict('Goal cannot allocate a new planner.');
|
|
85
|
+
state.planning = c.allocation;
|
|
86
|
+
state.status = 'planning';
|
|
87
|
+
}
|
|
88
|
+
else if (c.type === 'planning_finished') {
|
|
89
|
+
if (!state.planning || state.planningFrozen || !['planning', 'cancelled'].includes(state.status))
|
|
90
|
+
conflict('Planning is already frozen or was never allocated.');
|
|
91
|
+
if (c.status === 'review_required' && (!c.proposalHash || !c.spend || c.spend.tokens > state.planning.tokens || c.spend.costNanos > state.planning.costNanos) || c.status !== 'review_required' && c.proposalHash !== null)
|
|
92
|
+
fail('A proposal requires bounded planning evidence.');
|
|
93
|
+
state.planningSpend = c.spend;
|
|
94
|
+
state.planningFrozen = true;
|
|
95
|
+
state.proposalHash = c.proposalHash;
|
|
96
|
+
if (state.status !== 'cancelled')
|
|
97
|
+
state.status = c.status;
|
|
98
|
+
}
|
|
99
|
+
else if (c.type === 'proposal_revised') {
|
|
100
|
+
if (!['review_required', 'failed', 'denied', 'cancelled'].includes(state.status) || state.revoked || state.execution || !state.planningFrozen || !state.planningSpend)
|
|
101
|
+
conflict('Only frozen, unallocated planning can be revised.');
|
|
102
|
+
state.proposalHash = c.proposalHash;
|
|
103
|
+
state.status = 'review_required';
|
|
104
|
+
}
|
|
105
|
+
else if (c.type === 'execution_allocated') {
|
|
106
|
+
if (state.status !== 'review_required' || state.execution || !state.planningSpend || state.proposalHash !== c.proposalHash || Date.parse(at) >= c.allocation.deadline || c.allocation.runId === state.planning.runId || c.allocation.id === state.planning.id)
|
|
107
|
+
conflict('Execution needs the current unallocated proposal and deadline.');
|
|
108
|
+
if (c.allocation.tokens > manifest.limits.tokenBudget - state.planningSpend.tokens || c.allocation.costNanos > manifest.limits.costBudgetNanos - state.planningSpend.costNanos)
|
|
109
|
+
conflict('Execution allocation exceeds remaining goal budget.');
|
|
110
|
+
state.execution = c.allocation;
|
|
111
|
+
state.approvedProposalHash = c.proposalHash;
|
|
112
|
+
state.status = 'approved';
|
|
113
|
+
}
|
|
114
|
+
else if (c.type === 'execution_started') {
|
|
115
|
+
if (!state.execution || c.runId !== state.execution.runId || state.revoked || state.status === 'completed' || Date.parse(at) >= state.execution.deadline)
|
|
116
|
+
conflict('Execution cannot start or refresh its deadline.');
|
|
117
|
+
state.status = 'running';
|
|
118
|
+
}
|
|
119
|
+
else if (c.type === 'execution_interrupted') {
|
|
120
|
+
if (!state.execution || c.runId !== state.execution.runId || state.status === 'completed')
|
|
121
|
+
conflict('Goal interruption belongs to another or completed execution.');
|
|
122
|
+
if (!state.revoked)
|
|
123
|
+
state.status = c.status;
|
|
124
|
+
}
|
|
125
|
+
else if (c.type === 'execution_finished') {
|
|
126
|
+
if (!state.execution || c.runId !== state.execution.runId)
|
|
127
|
+
conflict('Goal result belongs to another execution.');
|
|
128
|
+
state.result = { runId: c.runId, revision: c.revision, status: c.status, completed: c.completed, total: c.total };
|
|
129
|
+
if (!state.revoked)
|
|
130
|
+
state.status = c.status;
|
|
131
|
+
}
|
|
132
|
+
else if (c.type === 'cancelled') {
|
|
133
|
+
if (state.status === 'completed')
|
|
134
|
+
conflict('Completed goals cannot be cancelled.');
|
|
135
|
+
state.status = 'cancelled';
|
|
136
|
+
state.revoked = true;
|
|
137
|
+
}
|
|
138
|
+
state.revision = event.hash;
|
|
139
|
+
}
|
|
140
|
+
return state;
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=journal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journal.js","sourceRoot":"","sources":["../../src/goals/journal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type GoalAccounting } from './accounting.js';
|
|
2
|
+
import type { GoalOptions } from './actions.js';
|
|
3
|
+
export interface GoalMetrics {
|
|
4
|
+
version: 1;
|
|
5
|
+
kind: 'goal.metrics';
|
|
6
|
+
goalId: string;
|
|
7
|
+
goalRevision: string;
|
|
8
|
+
executionRevision: string | null;
|
|
9
|
+
accounting: GoalAccounting;
|
|
10
|
+
tasks: {
|
|
11
|
+
total: number;
|
|
12
|
+
mechanicallyVerified: number;
|
|
13
|
+
humanAccepted: number;
|
|
14
|
+
unverified: number;
|
|
15
|
+
successRate: number | null;
|
|
16
|
+
} | null;
|
|
17
|
+
attempts: {
|
|
18
|
+
started: number;
|
|
19
|
+
finishedOutcomes: number;
|
|
20
|
+
failedOutcomes: number;
|
|
21
|
+
cancelledOutcomes: number;
|
|
22
|
+
deniedOutcomes: number;
|
|
23
|
+
unknownOutcomes: number;
|
|
24
|
+
} | null;
|
|
25
|
+
checks: {
|
|
26
|
+
passed: number;
|
|
27
|
+
total: number;
|
|
28
|
+
passRate: number | null;
|
|
29
|
+
scope: 'recorded-acceptance-checks-across-all-attempts';
|
|
30
|
+
} | null;
|
|
31
|
+
recovery: {
|
|
32
|
+
samples: number;
|
|
33
|
+
meanMs: number | null;
|
|
34
|
+
openFailures: number;
|
|
35
|
+
scope: 'recorded-failure-to-mechanical-completion';
|
|
36
|
+
} | null;
|
|
37
|
+
evidence: {
|
|
38
|
+
status: 'verified' | 'unavailable' | 'not-executed' | 'no-mechanical-result';
|
|
39
|
+
artifactEventIds: string[];
|
|
40
|
+
checkedBytes: number;
|
|
41
|
+
};
|
|
42
|
+
costPerVerifiedTask: {
|
|
43
|
+
value: number | null;
|
|
44
|
+
unit: 'nano-usd';
|
|
45
|
+
numerator: number | null;
|
|
46
|
+
denominator: number;
|
|
47
|
+
reason: string;
|
|
48
|
+
};
|
|
49
|
+
limitations: string;
|
|
50
|
+
}
|
|
51
|
+
/** Revalidate final artifact bytes under current policy before a completed task enters the cost denominator. */
|
|
52
|
+
export declare function inspectGoalMetrics(cwd: string, id: string, options?: GoalOptions): Promise<GoalMetrics>;
|
|
53
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/goals/metrics.ts"],"names":[],"mappings":"AASA,OAAO,EAAyC,KAAK,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC5F,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAC,CAAC,CAAC;IAAA,IAAI,EAAC,cAAc,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,iBAAiB,EAAC,MAAM,GAAC,IAAI,CAAC;IAAA,UAAU,EAAC,cAAc,CAAC;IACxH,KAAK,EAAC;QAAC,KAAK,EAAC,MAAM,CAAC;QAAA,oBAAoB,EAAC,MAAM,CAAC;QAAA,aAAa,EAAC,MAAM,CAAC;QAAA,UAAU,EAAC,MAAM,CAAC;QAAA,WAAW,EAAC,MAAM,GAAC,IAAI,CAAA;KAAC,GAAC,IAAI,CAAC;IACrH,QAAQ,EAAC;QAAC,OAAO,EAAC,MAAM,CAAC;QAAA,gBAAgB,EAAC,MAAM,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,iBAAiB,EAAC,MAAM,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,eAAe,EAAC,MAAM,CAAA;KAAC,GAAC,IAAI,CAAC;IACnJ,MAAM,EAAC;QAAC,MAAM,EAAC,MAAM,CAAC;QAAA,KAAK,EAAC,MAAM,CAAC;QAAA,QAAQ,EAAC,MAAM,GAAC,IAAI,CAAC;QAAA,KAAK,EAAC,gDAAgD,CAAA;KAAC,GAAC,IAAI,CAAC;IACrH,QAAQ,EAAC;QAAC,OAAO,EAAC,MAAM,CAAC;QAAA,MAAM,EAAC,MAAM,GAAC,IAAI,CAAC;QAAA,YAAY,EAAC,MAAM,CAAC;QAAA,KAAK,EAAC,2CAA2C,CAAA;KAAC,GAAC,IAAI,CAAC;IACxH,QAAQ,EAAC;QAAC,MAAM,EAAC,UAAU,GAAC,aAAa,GAAC,cAAc,GAAC,sBAAsB,CAAC;QAAA,gBAAgB,EAAC,MAAM,EAAE,CAAC;QAAA,YAAY,EAAC,MAAM,CAAA;KAAC,CAAC;IAC/H,mBAAmB,EAAC;QAAC,KAAK,EAAC,MAAM,GAAC,IAAI,CAAC;QAAA,IAAI,EAAC,UAAU,CAAC;QAAA,SAAS,EAAC,MAAM,GAAC,IAAI,CAAC;QAAA,WAAW,EAAC,MAAM,CAAC;QAAA,MAAM,EAAC,MAAM,CAAA;KAAC,CAAC;IAC/G,WAAW,EAAC,MAAM,CAAC;CACpB;AAYD,gHAAgH;AAChH,wBAAsB,kBAAkB,CAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,OAAO,GAAC,WAAc,GAAE,OAAO,CAAC,WAAW,CAAC,CAwCzG"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { throwIfCancelled } from '../cancellation.js';
|
|
2
|
+
import { SessionPolicyError } from '../session-management/index.js';
|
|
3
|
+
import { inspectExecution } from '../orchestration/coordinator-actions.js';
|
|
4
|
+
import { mechanicallyVerified } from '../orchestration/execution-journal.js';
|
|
5
|
+
import { readCollectedArtifact, checkArtifactSnapshot } from '../orchestration/verification.js';
|
|
6
|
+
import { RunStore } from '../orchestration/store.js';
|
|
7
|
+
import { OrchestrationError } from '../orchestration/types.js';
|
|
8
|
+
import { GoalStore } from './store.js';
|
|
9
|
+
import { assertGoalRunBinding, readGoalAccounting } from './accounting.js';
|
|
10
|
+
function observations(execution) {
|
|
11
|
+
const attempts = { started: 0, finishedOutcomes: 0, failedOutcomes: 0, cancelledOutcomes: 0, deniedOutcomes: 0, unknownOutcomes: 0 }, failed = new Map();
|
|
12
|
+
let passed = 0, total = 0, recovered = 0, recoveryMs = 0;
|
|
13
|
+
for (const event of execution.events) {
|
|
14
|
+
const c = event.change;
|
|
15
|
+
if (c.type === 'task_started')
|
|
16
|
+
attempts.started++;
|
|
17
|
+
if (c.type !== 'task_finished')
|
|
18
|
+
continue;
|
|
19
|
+
attempts.finishedOutcomes++;
|
|
20
|
+
passed += c.output.checks.filter(v => v.passed).length;
|
|
21
|
+
total += c.output.checks.length;
|
|
22
|
+
if (c.status === 'failed') {
|
|
23
|
+
attempts.failedOutcomes++;
|
|
24
|
+
if (!failed.has(c.taskId))
|
|
25
|
+
failed.set(c.taskId, Date.parse(event.at));
|
|
26
|
+
}
|
|
27
|
+
if (c.status === 'cancelled')
|
|
28
|
+
attempts.cancelledOutcomes++;
|
|
29
|
+
if (c.status === 'denied')
|
|
30
|
+
attempts.deniedOutcomes++;
|
|
31
|
+
if (c.status === 'unknown')
|
|
32
|
+
attempts.unknownOutcomes++;
|
|
33
|
+
if (c.status === 'completed' && failed.has(c.taskId)) {
|
|
34
|
+
recoveryMs += Date.parse(event.at) - failed.get(c.taskId);
|
|
35
|
+
recovered++;
|
|
36
|
+
failed.delete(c.taskId);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return { attempts, checks: { passed, total, passRate: total ? passed / total : null, scope: 'recorded-acceptance-checks-across-all-attempts' }, recovery: { samples: recovered, meanMs: recovered ? recoveryMs / recovered : null, openFailures: failed.size, scope: 'recorded-failure-to-mechanical-completion' } };
|
|
40
|
+
}
|
|
41
|
+
/** Revalidate final artifact bytes under current policy before a completed task enters the cost denominator. */
|
|
42
|
+
export async function inspectGoalMetrics(cwd, id, options = {}) {
|
|
43
|
+
throwIfCancelled(options.signal);
|
|
44
|
+
const goals = options.goals ?? new GoalStore(), goal = goals.read(id, cwd), runs = options.store ?? new RunStore(goal.manifest.runsRoot);
|
|
45
|
+
if (runs.root !== goal.manifest.runsRoot)
|
|
46
|
+
throw new OrchestrationError('conflict', 'Goal metrics require the original run store.');
|
|
47
|
+
const accounting = readGoalAccounting(goal, goals, undefined, options.signal), metric = { version: 1, kind: 'goal.metrics', goalId: id, goalRevision: goal.state.revision, executionRevision: null, accounting, tasks: null, attempts: null, checks: null, recovery: null, evidence: { status: 'not-executed', artifactEventIds: [], checkedBytes: 0 }, costPerVerifiedTask: { value: null, unit: 'nano-usd', numerator: accounting.status === 'available' ? accounting.accounted.costNanos : null, denominator: 0, reason: 'No mechanically verified execution task is available.' }, limitations: 'The numerator includes all planning, worker retry and controller/reviewer charges once. Accounted costs are not invoices. Human acceptance is separate from mechanical verification. Task counts change with decomposition; these observations do not establish causal improvement or cross-run comparability. Recovery and check counts describe recorded executor observations, not test assertions or fresh reproduction.' };
|
|
48
|
+
if (!goal.state.execution)
|
|
49
|
+
return metric;
|
|
50
|
+
try {
|
|
51
|
+
const current = await inspectExecution(cwd, goal.state.execution.runId, { ...options, store: runs });
|
|
52
|
+
assertGoalRunBinding(goal, goal.state.execution, current.view.manifest, goals);
|
|
53
|
+
const execution = current.execution;
|
|
54
|
+
if (!execution) {
|
|
55
|
+
metric.evidence.status = 'unavailable';
|
|
56
|
+
return metric;
|
|
57
|
+
}
|
|
58
|
+
const context = current.store.context(execution), states = Object.values(execution.state.tasks), accepted = new Set();
|
|
59
|
+
metric.executionRevision = execution.state.revision;
|
|
60
|
+
Object.assign(metric, observations(execution));
|
|
61
|
+
for (const event of execution.events) {
|
|
62
|
+
const c = event.change;
|
|
63
|
+
if (c.type === 'task_accepted')
|
|
64
|
+
accepted.add(c.taskId);
|
|
65
|
+
if (c.type === 'task_reset')
|
|
66
|
+
accepted.delete(c.taskId);
|
|
67
|
+
}
|
|
68
|
+
let human = 0, unavailable = false;
|
|
69
|
+
const seen = new Set(), verifiedTasks = new Set(), proofs = [];
|
|
70
|
+
for (const task of states) {
|
|
71
|
+
throwIfCancelled(options.signal);
|
|
72
|
+
if (task.status !== 'completed')
|
|
73
|
+
continue;
|
|
74
|
+
if (accepted.has(task.id)) {
|
|
75
|
+
human++;
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
if (!task.output || !mechanicallyVerified(task.output, context)) {
|
|
79
|
+
unavailable = true;
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
let intact = true;
|
|
83
|
+
for (const artifact of task.output.artifacts) {
|
|
84
|
+
if (seen.has(artifact.source.eventId))
|
|
85
|
+
continue;
|
|
86
|
+
if (metric.evidence.checkedBytes + artifact.bytes > 64 * 1024 * 1024)
|
|
87
|
+
throw new OrchestrationError('limit', 'Goal metrics exceed the 64 MiB evidence inspection limit.');
|
|
88
|
+
if (seen.size % 32 === 0)
|
|
89
|
+
await new Promise(resolve => setImmediate(resolve));
|
|
90
|
+
throwIfCancelled(options.signal);
|
|
91
|
+
try {
|
|
92
|
+
await readCollectedArtifact(current.store, artifact, options);
|
|
93
|
+
seen.add(artifact.source.eventId);
|
|
94
|
+
proofs.push(artifact);
|
|
95
|
+
metric.evidence.artifactEventIds.push(artifact.source.eventId);
|
|
96
|
+
metric.evidence.checkedBytes += artifact.bytes;
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
throwIfCancelled(options.signal);
|
|
100
|
+
if (error instanceof SessionPolicyError || error instanceof OrchestrationError && ['policy-denied', 'limit'].includes(error.code))
|
|
101
|
+
throw error;
|
|
102
|
+
intact = false;
|
|
103
|
+
unavailable = true;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (intact)
|
|
107
|
+
verifiedTasks.add(task.id);
|
|
108
|
+
}
|
|
109
|
+
for (const artifact of proofs) {
|
|
110
|
+
throwIfCancelled(options.signal);
|
|
111
|
+
try {
|
|
112
|
+
checkArtifactSnapshot(current.store, artifact);
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
unavailable = true;
|
|
116
|
+
verifiedTasks.delete(artifact.taskId);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const verified = verifiedTasks.size;
|
|
120
|
+
metric.tasks = { total: states.length, mechanicallyVerified: verified, humanAccepted: human, unverified: states.length - verified - human, successRate: !unavailable && states.length ? verified / states.length : null };
|
|
121
|
+
metric.evidence.status = unavailable ? 'unavailable' : verified ? 'verified' : 'no-mechanical-result';
|
|
122
|
+
metric.costPerVerifiedTask.denominator = verified;
|
|
123
|
+
// A revision mismatch is an incomplete observation, not permission to reread until something passes.
|
|
124
|
+
const latest = readGoalAccounting(goal, goals, undefined, options.signal), phase = accounting.status !== 'unavailable' ? accounting.phases.execution : undefined;
|
|
125
|
+
const stable = accounting.status === 'available' && latest.status === 'available' && latest.revision === accounting.revision && phase?.status === 'available' && phase.executionRevision === execution.state.revision && current.store.read().state.revision === execution.state.revision;
|
|
126
|
+
const eligible = stable && accounting.usageComplete && !unavailable && verified > 0;
|
|
127
|
+
metric.costPerVerifiedTask.value = eligible ? accounting.accounted.costNanos / verified : null;
|
|
128
|
+
metric.costPerVerifiedTask.reason = eligible ? 'Fully accounted goal charges, including planning and all reviews/retries, divided by final mechanically verified tasks at these revisions.' : !stable ? 'Goal, execution or budget evidence is missing, inconsistent or changed during inspection.' : unavailable ? 'A final artifact is unavailable or changed after collection.' : !accounting.usageComplete ? 'Active execution, unresolved usage or pending child admission prevents a final cost measurement.' : 'No mechanically verified execution task is available.';
|
|
129
|
+
return metric;
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
throwIfCancelled(options.signal);
|
|
133
|
+
if (error instanceof SessionPolicyError || error instanceof OrchestrationError && ['policy-denied', 'limit'].includes(error.code))
|
|
134
|
+
throw error;
|
|
135
|
+
metric.evidence.status = 'unavailable';
|
|
136
|
+
metric.costPerVerifiedTask.value = null;
|
|
137
|
+
metric.costPerVerifiedTask.reason = 'Execution or artifact evidence is unavailable or inconsistent; preserve the goal and linked runs.';
|
|
138
|
+
return metric;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/goals/metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type ProjectTask } from '../orchestration/types.js';
|
|
2
|
+
import type { ExecutionStore } from '../orchestration/execution-store.js';
|
|
3
|
+
import type { TaskOutput, TaskStatus } from '../orchestration/coordinator-types.js';
|
|
4
|
+
import type { RunActionOptions } from '../orchestration/actions.js';
|
|
5
|
+
/** Validate data before recording a planning outcome, including direct run/resume entry points. */
|
|
6
|
+
export declare function validatePlanningArtifact(store: ExecutionStore, task: ProjectTask, collected: {
|
|
7
|
+
status: TaskStatus;
|
|
8
|
+
output: TaskOutput;
|
|
9
|
+
}, options: RunActionOptions, assertActive: () => void): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=repair.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../../src/goals/repair.ts"],"names":[],"mappings":"AAKA,OAAO,EAAwC,KAAK,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAClG,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAC,UAAU,EAAC,UAAU,EAAC,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAMlE,mGAAmG;AACnG,wBAAsB,wBAAwB,CAAC,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,WAAW,EAAC,SAAS,EAAC;IAAC,MAAM,EAAC,UAAU,CAAC;IAAA,MAAM,EAAC,UAAU,CAAA;CAAC,EAAC,OAAO,EAAC,gBAAgB,EAAC,YAAY,EAAC,MAAI,IAAI,GAAE,OAAO,CAAC,IAAI,CAAC,CAwBjM"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
import { ReservationLedger } from '../execution/ledger.js';
|
|
3
|
+
import { ExecutionLimitError } from '../execution/types.js';
|
|
4
|
+
import { throwIfCancelled } from '../cancellation.js';
|
|
5
|
+
import { analyzePlan, bindPlan } from '../orchestration/validation.js';
|
|
6
|
+
import { OrchestrationError } from '../orchestration/types.js';
|
|
7
|
+
import { readCollectedArtifact, checkArtifactSnapshot, workerSummary } from '../orchestration/verification.js';
|
|
8
|
+
import { GoalStore } from './store.js';
|
|
9
|
+
import { goalRunAuthority } from './authority.js';
|
|
10
|
+
import { proposePlan } from './contracts.js';
|
|
11
|
+
/** Validate data before recording a planning outcome, including direct run/resume entry points. */
|
|
12
|
+
export async function validatePlanningArtifact(store, task, collected, options, assertActive) {
|
|
13
|
+
const link = store.manifest.goal, goal = new GoalStore(link.root).read(link.id, store.manifest.project.root);
|
|
14
|
+
const authority = goalRunAuthority(store.manifest, goal.manifest.runsRoot);
|
|
15
|
+
authority.assertActive();
|
|
16
|
+
if (!goal.manifest.planningRepair)
|
|
17
|
+
throw new OrchestrationError('conflict', 'Planning repair is absent from the original goal authority.');
|
|
18
|
+
const artifact = collected.output.artifacts.find(a => a.id === (task.id === 'draft' ? 'draft' : 'proposal'));
|
|
19
|
+
if (!artifact)
|
|
20
|
+
return; // Missing or malformed worker reports already fail collection.
|
|
21
|
+
const bytes = await readCollectedArtifact(store, artifact, options), ledger = new ReservationLedger(join(goal.manifest.runsRoot, store.manifest.id, 'budget')).read(store.manifest.project.root);
|
|
22
|
+
authority.checkBudget(ledger.manifest);
|
|
23
|
+
if (ledger.projection.exceeded)
|
|
24
|
+
throw new ExecutionLimitError('budget', 'Planning usage exceeded its request reservation.');
|
|
25
|
+
let diagnostics = [];
|
|
26
|
+
try {
|
|
27
|
+
let value;
|
|
28
|
+
try {
|
|
29
|
+
value = JSON.parse(bytes.toString('utf8'));
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
throw new OrchestrationError('invalid', 'Planner artifact is not a valid JSON plan.');
|
|
33
|
+
}
|
|
34
|
+
const proposal = proposePlan(goal.manifest, value, { kind: 'agent', runId: store.manifest.id, artifactId: artifact.id, artifactHash: artifact.sha256, eventId: artifact.source.eventId }, { ...ledger.projection.spent, revision: ledger.projection.revision });
|
|
35
|
+
bindPlan(analyzePlan(proposal.plan), store.manifest.project.root);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
if (!(error instanceof OrchestrationError) || !['invalid', 'limit'].includes(error.code))
|
|
39
|
+
throw error;
|
|
40
|
+
diagnostics = error.diagnostics ?? [{ path: '$', message: workerSummary(error.message).slice(0, 1024) }];
|
|
41
|
+
}
|
|
42
|
+
const valid = diagnostics.length === 0;
|
|
43
|
+
await store.append({ type: 'proposal_validated', taskId: task.id, artifactId: artifact.id, artifactHash: artifact.sha256, goalManifestHash: goal.manifest.hash, valid, diagnostics }, options.signal, undefined, () => { throwIfCancelled(options.signal); assertActive(); authority.assertActive(); checkArtifactSnapshot(store, artifact); });
|
|
44
|
+
if (!valid) {
|
|
45
|
+
const feedback = workerSummary('Proposal rejected: ' + diagnostics.map(d => d.path + ': ' + d.message + (d.parentPath ? ' Parent authority: ' + d.parentPath + '.' : '') + (d.actual === undefined ? '' : ` Actual ${d.actual}; limit ${d.limit}.`)).join(' '));
|
|
46
|
+
collected.status = 'failed';
|
|
47
|
+
collected.output = { ...collected.output, status: 'failed', summary: feedback, unresolvedRisks: [feedback], recommendedNextAction: 'Return a corrected complete proposal within the same scope, remaining planning budget and original deadline. Human approval is still required.' };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=repair.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repair.js","sourceRoot":"","sources":["../../src/goals/repair.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type SmartRoutingPolicy } from '../routing/smart.js';
|
|
2
|
+
import type { RunActionOptions } from '../orchestration/actions.js';
|
|
3
|
+
import type { ProjectPlan } from '../orchestration/types.js';
|
|
4
|
+
import type { GoalManifest } from './types.js';
|
|
5
|
+
export interface GoalRouting {
|
|
6
|
+
version: 1;
|
|
7
|
+
default: SmartRoutingPolicy;
|
|
8
|
+
planner?: SmartRoutingPolicy;
|
|
9
|
+
workers?: SmartRoutingPolicy;
|
|
10
|
+
reviewer?: SmartRoutingPolicy;
|
|
11
|
+
controller?: SmartRoutingPolicy;
|
|
12
|
+
supervisionReviewer?: SmartRoutingPolicy;
|
|
13
|
+
}
|
|
14
|
+
export declare function validateGoalRouting(value: unknown): GoalRouting;
|
|
15
|
+
export declare function loadGoalRouting(cwd: string, path: string, options: RunActionOptions): Promise<GoalRouting>;
|
|
16
|
+
/** Captured operator choices overwrite model-proposed policies before hash review. */
|
|
17
|
+
export declare function applyGoalRouting(plan: ProjectPlan, manifest: GoalManifest, phase: 'planning' | 'execution'): ProjectPlan;
|
|
18
|
+
//# sourceMappingURL=routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/goals/routing.ts"],"names":[],"mappings":"AAOA,OAAO,EAAqB,KAAK,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAEhF,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAC,CAAC,CAAC;IAAA,OAAO,EAAC,kBAAkB,CAAC;IAAA,OAAO,CAAC,EAAC,kBAAkB,CAAC;IAAA,OAAO,CAAC,EAAC,kBAAkB,CAAC;IAC7F,QAAQ,CAAC,EAAC,kBAAkB,CAAC;IAAA,UAAU,CAAC,EAAC,kBAAkB,CAAC;IAAA,mBAAmB,CAAC,EAAC,kBAAkB,CAAC;CACrG;AACD,wBAAgB,mBAAmB,CAAC,KAAK,EAAC,OAAO,GAAE,WAAW,CAK7D;AACD,wBAAsB,eAAe,CAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,gBAAgB,GAAE,OAAO,CAAC,WAAW,CAAC,CAO1G;AACD,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,IAAI,EAAC,WAAW,EAAC,QAAQ,EAAC,YAAY,EAAC,KAAK,EAAC,UAAU,GAAC,WAAW,GAAE,WAAW,CAQhH"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { dirname, relative, resolve } from 'node:path';
|
|
2
|
+
import { realpathSync } from 'node:fs';
|
|
3
|
+
import { canonicalPath, projectIdentity } from '../approvals/index.js';
|
|
4
|
+
import { readPrivateSessionFile } from '../sessions/index.js';
|
|
5
|
+
import { authorizeSessionAction } from '../session-management/index.js';
|
|
6
|
+
import { throwIfCancelled } from '../cancellation.js';
|
|
7
|
+
import { withScope, validatePath } from '../scope.js';
|
|
8
|
+
import { validateSmartPolicy } from '../routing/smart.js';
|
|
9
|
+
import { shape, fail, pathName } from '../orchestration/validation.js';
|
|
10
|
+
export function validateGoalRouting(value) {
|
|
11
|
+
shape(value, ['version', 'default'], ['planner', 'workers', 'reviewer', 'controller', 'supervisionReviewer']);
|
|
12
|
+
if (value.version !== 1)
|
|
13
|
+
fail('Unsupported goal routing version.');
|
|
14
|
+
for (const [key, policy] of Object.entries(value))
|
|
15
|
+
if (key !== 'version')
|
|
16
|
+
try {
|
|
17
|
+
validateSmartPolicy(policy);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
fail('Invalid Smart routing policy for ' + key + '.');
|
|
21
|
+
}
|
|
22
|
+
return structuredClone(value);
|
|
23
|
+
}
|
|
24
|
+
export async function loadGoalRouting(cwd, path, options) {
|
|
25
|
+
throwIfCancelled(options.signal);
|
|
26
|
+
const identity = projectIdentity(cwd), file = resolve(identity.project, path);
|
|
27
|
+
pathName(relative(identity.project, file));
|
|
28
|
+
if (canonicalPath(file) !== file || realpathSync(dirname(file)) !== dirname(file))
|
|
29
|
+
fail('Routing policy must be a regular file inside the canonical project.');
|
|
30
|
+
withScope(identity.project, () => validatePath(file, identity.project));
|
|
31
|
+
await authorizeSessionAction(identity.project, 'read_file', { path: file, operation: 'smart-routing-policy' }, options);
|
|
32
|
+
throwIfCancelled(options.signal);
|
|
33
|
+
if (canonicalPath(file) !== file || projectIdentity(cwd).projectKey !== identity.projectKey)
|
|
34
|
+
fail('Routing policy path changed during authorization.');
|
|
35
|
+
const raw = readPrivateSessionFile(file, 65536);
|
|
36
|
+
let value;
|
|
37
|
+
try {
|
|
38
|
+
value = JSON.parse(raw ?? '');
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
fail('Routing policy must be valid JSON.');
|
|
42
|
+
}
|
|
43
|
+
return validateGoalRouting(value);
|
|
44
|
+
}
|
|
45
|
+
/** Captured operator choices overwrite model-proposed policies before hash review. */
|
|
46
|
+
export function applyGoalRouting(plan, manifest, phase) {
|
|
47
|
+
const routing = manifest.routing;
|
|
48
|
+
if (!routing)
|
|
49
|
+
return plan;
|
|
50
|
+
for (const agent of plan.agents) {
|
|
51
|
+
const role = phase === 'planning' ? (agent.parentId === null ? 'planner' : 'reviewer') : agent.parentId === null ? 'controller' : agent.id === plan.supervision?.reviewerId ? 'supervisionReviewer' : 'workers';
|
|
52
|
+
agent.routing = structuredClone(routing[role] ?? routing.default);
|
|
53
|
+
if (phase === 'execution' && agent.maxChildCount && agent.maxChildDepth)
|
|
54
|
+
agent.childRouting = structuredClone(routing.workers ?? routing.default);
|
|
55
|
+
else
|
|
56
|
+
delete agent.childRouting;
|
|
57
|
+
}
|
|
58
|
+
return plan;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/goals/routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { GoalManifest, GoalProposal, GoalInspection, GoalChange, GoalEvent, GoalOwner, PlanningSpend } from './types.js';
|
|
2
|
+
/** Goal allocations are durable grants, separate from provider request reservations. */
|
|
3
|
+
export declare class GoalStore {
|
|
4
|
+
private readonly onEvent?;
|
|
5
|
+
readonly root: string;
|
|
6
|
+
constructor(root?: string, onEvent?: ((event: GoalEvent) => void) | undefined);
|
|
7
|
+
directory(id: string): string;
|
|
8
|
+
private identity;
|
|
9
|
+
private names;
|
|
10
|
+
create(input: GoalManifest, signal?: AbortSignal): GoalInspection;
|
|
11
|
+
read(id: string, cwd?: string): GoalInspection;
|
|
12
|
+
list(cwd: string): {
|
|
13
|
+
goals: GoalInspection[];
|
|
14
|
+
unavailable: number;
|
|
15
|
+
};
|
|
16
|
+
proposal(manifest: GoalManifest, hash: string, spend?: PlanningSpend): GoalProposal;
|
|
17
|
+
writeProposal(input: GoalProposal, spend: PlanningSpend, signal?: AbortSignal): GoalProposal;
|
|
18
|
+
append(id: string, change: GoalChange, options?: {
|
|
19
|
+
signal?: AbortSignal;
|
|
20
|
+
expectedRevision?: string;
|
|
21
|
+
beforeCommit?: () => void;
|
|
22
|
+
}): Promise<GoalEvent>;
|
|
23
|
+
owner(id: string): {
|
|
24
|
+
id: string;
|
|
25
|
+
pid: number;
|
|
26
|
+
alive: boolean;
|
|
27
|
+
} | null;
|
|
28
|
+
acquire(id: string): GoalOwner;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/goals/store.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAC,YAAY,EAAC,YAAY,EAAC,cAAc,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAgB,aAAa,EAAC,MAAM,YAAY,CAAC;AAYrI,wFAAwF;AACxF,qBAAa,SAAS;IAEqC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IADlF,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAC;IACrB,YAAY,IAAI,SAAwC,EAAkB,OAAO,CAAC,GAAC,CAAC,KAAK,EAAC,SAAS,KAAG,IAAI,aAAA,EAA2B;IACrI,SAAS,CAAC,EAAE,EAAC,MAAM,GAAE,MAAM,CAA2G;IACtI,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,KAAK;IAIb,MAAM,CAAC,KAAK,EAAC,YAAY,EAAC,MAAM,CAAC,EAAC,WAAW,GAAE,cAAc,CAO5D;IACD,IAAI,CAAC,EAAE,EAAC,MAAM,EAAC,GAAG,CAAC,EAAC,MAAM,GAAE,cAAc,CAOzC;IACD,IAAI,CAAC,GAAG,EAAC,MAAM,GAAE;QAAC,KAAK,EAAC,cAAc,EAAE,CAAC;QAAA,WAAW,EAAC,MAAM,CAAA;KAAC,CAAgX;IAC5a,QAAQ,CAAC,QAAQ,EAAC,YAAY,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,CAAC,EAAC,aAAa,GAAE,YAAY,CAAyU;IACtZ,aAAa,CAAC,KAAK,EAAC,YAAY,EAAC,KAAK,EAAC,aAAa,EAAC,MAAM,CAAC,EAAC,WAAW,GAAE,YAAY,CAKrF;IACK,MAAM,CAAC,EAAE,EAAC,MAAM,EAAC,MAAM,EAAC,UAAU,EAAC,OAAO,GAAC;QAAC,MAAM,CAAC,EAAC,WAAW,CAAC;QAAA,gBAAgB,CAAC,EAAC,MAAM,CAAC;QAAA,YAAY,CAAC,EAAC,MAAI,IAAI,CAAA;KAAI,GAAE,OAAO,CAAC,SAAS,CAAC,CAa5I;IACD,KAAK,CAAC,EAAE,EAAC,MAAM,GAAE;QAAC,EAAE,EAAC,MAAM,CAAC;QAAA,GAAG,EAAC,MAAM,CAAC;QAAA,KAAK,EAAC,OAAO,CAAA;KAAC,GAAC,IAAI,CAEzD;IACD,OAAO,CAAC,EAAE,EAAC,MAAM,GAAE,SAAS,CAO3B;CACF"}
|