@calliopelabs/cli 3.0.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/circuit-breaker/breaker.d.ts.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/cost.js.map +1 -1
- package/dist/diff.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/env-expansion.js.map +1 -1
- 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/fuzzy-search.js.map +1 -1
- 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/iteration-ledger.d.ts.map +1 -1
- package/dist/iteration-ledger.js.map +1 -1
- package/dist/local-model.d.ts +2 -2
- package/dist/local-model.d.ts.map +1 -1
- package/dist/mcp.js.map +1 -1
- 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/parallel-tools.js.map +1 -1
- package/dist/plugins.d.ts.map +1 -1
- 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 +12 -12
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +54 -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/scuttlebot/client.d.ts.map +1 -1
- package/dist/scuttlebot/client.js.map +1 -1
- package/dist/scuttlebot/http-client.d.ts.map +1 -1
- package/dist/scuttlebot/irc-client.d.ts +5 -5
- package/dist/scuttlebot/irc-client.d.ts.map +1 -1
- package/dist/scuttlebot/irc-client.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 +16 -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/streaming.d.ts.map +1 -1
- package/dist/streaming.js.map +1 -1
- package/dist/styles.d.ts +56 -56
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js.map +1 -1
- package/dist/summarization.d.ts.map +1 -1
- package/dist/summarization.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/terminal-image.js.map +1 -1
- 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/trust.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/chat-input.d.ts +2 -1
- package/dist/ui/chat-input.d.ts.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/components.d.ts +6 -6
- package/dist/ui/components.d.ts.map +1 -1
- package/dist/ui/debug-log.d.ts.map +1 -1
- package/dist/ui/error-boundary.d.ts +1 -1
- package/dist/ui/error-boundary.d.ts.map +1 -1
- package/dist/ui/frame.d.ts +1 -1
- package/dist/ui/frame.d.ts.map +1 -1
- package/dist/ui/index.d.ts +7 -3
- 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 +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 +9 -11
- package/dist/ui/modals/prompts.d.ts.map +1 -1
- package/dist/ui/modals/prompts.js +15 -11
- package/dist/ui/modals/prompts.js.map +1 -1
- package/dist/ui/modals/selectors.d.ts +5 -3
- 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/setup.d.ts +3 -2
- package/dist/ui/modals/setup.d.ts.map +1 -1
- package/dist/ui/modals/setup.js +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/input-region.d.ts +1 -1
- package/dist/ui/regions/input-region.d.ts.map +1 -1
- package/dist/ui/regions/modal-host.d.ts +4 -1
- 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/static-scrollback.d.ts +1 -1
- package/dist/ui/regions/static-scrollback.d.ts.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 +1 -1
- package/dist/ui/regions/transcript-region.d.ts.map +1 -1
- package/dist/ui/regions/transcript-region.js +3 -2
- 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/self-restart.js.map +1 -1
- 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-processing-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 +3 -2
- package/dist/ui/status-bar.d.ts.map +1 -1
- package/dist/ui/status-bar.js +3 -3
- 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/dist/version-check.js.map +1 -1
- package/package.json +21 -12
- package/scripts/verify-runlog.mjs +208 -0
package/dist/ui/commands.js
CHANGED
|
@@ -9,10 +9,8 @@
|
|
|
9
9
|
import * as fs from 'fs';
|
|
10
10
|
import * as path from 'path';
|
|
11
11
|
import * as config from '../config.js';
|
|
12
|
-
import { selectProvider, getAvailableProviders } from '../providers/index.js';
|
|
13
12
|
import { MODE_CONFIG } from '../types.js';
|
|
14
13
|
import { getSystemPromptForProvider } from '../local-model.js';
|
|
15
|
-
import { getAvailableModels, getModelContextLimit } from '../model-detection.js';
|
|
16
14
|
import * as storage from '../storage.js';
|
|
17
15
|
import * as mcp from '../mcp.js';
|
|
18
16
|
import * as skills from '../skills.js';
|
|
@@ -41,10 +39,30 @@ export const COMMAND_NAMES = [
|
|
|
41
39
|
'/quit',
|
|
42
40
|
'/model',
|
|
43
41
|
'/provider',
|
|
42
|
+
'/doctor',
|
|
43
|
+
'/permissions',
|
|
44
|
+
'/auto',
|
|
45
|
+
'/tools',
|
|
46
|
+
'/run',
|
|
47
|
+
'/orchestrate',
|
|
48
|
+
'/brain',
|
|
49
|
+
'/kg',
|
|
50
|
+
'/improve',
|
|
51
|
+
'/agents',
|
|
52
|
+
'/tasks',
|
|
53
|
+
'/defaults',
|
|
54
|
+
'/once',
|
|
44
55
|
'/mode',
|
|
45
56
|
'/undo',
|
|
46
57
|
'/export',
|
|
58
|
+
'/import',
|
|
59
|
+
'/branch',
|
|
60
|
+
'/checkout',
|
|
61
|
+
'/diff',
|
|
62
|
+
'/replay',
|
|
47
63
|
'/resume',
|
|
64
|
+
'/new',
|
|
65
|
+
'/sessions',
|
|
48
66
|
'/compact',
|
|
49
67
|
'/scope',
|
|
50
68
|
'/memory',
|
|
@@ -70,6 +88,19 @@ function buildFullSystemPrompt(dir, provider) {
|
|
|
70
88
|
function getActiveProjectDir(ctx) {
|
|
71
89
|
return ctx.sessionRef.current?.projectPath ?? process.cwd();
|
|
72
90
|
}
|
|
91
|
+
/** Refresh the active prompt; a failed reload must not retain revoked context. */
|
|
92
|
+
function refreshProjectContext(ctx) {
|
|
93
|
+
ctx.reloadDefaults?.(getActiveProjectDir(ctx));
|
|
94
|
+
let content = getSystemPromptForProvider(ctx.actualProvider);
|
|
95
|
+
try {
|
|
96
|
+
content = buildFullSystemPrompt(getActiveProjectDir(ctx), ctx.actualProvider);
|
|
97
|
+
}
|
|
98
|
+
finally {
|
|
99
|
+
const messages = ctx.llmMessages.current;
|
|
100
|
+
ctx.llmMessages.current = [{ role: 'system', content }, ...messages.filter(message => message.role !== 'system')];
|
|
101
|
+
ctx.setContextTokens(ctx.estimateContextTokens());
|
|
102
|
+
}
|
|
103
|
+
}
|
|
73
104
|
function formatSessionLogLimit(limit) {
|
|
74
105
|
return limit > 0 ? String(limit) : 'unlimited';
|
|
75
106
|
}
|
|
@@ -110,12 +141,47 @@ export async function handleCommand(cmd, ctx) {
|
|
|
110
141
|
Model & Mode
|
|
111
142
|
/model [name|list] Switch model, or list/pick available models
|
|
112
143
|
/provider [name|list] Switch provider, or list providers
|
|
113
|
-
/
|
|
144
|
+
/doctor [providers|provider <name>] Provider health; --probe checks discovery
|
|
145
|
+
/defaults [save|reset] Inspect or persist project model defaults
|
|
146
|
+
/once --provider <name> -- <prompt> Override one turn (also --model)
|
|
147
|
+
/mode [plan|hybrid|work|auto] Switch execution mode (Shift+Tab cycles safe modes)
|
|
114
148
|
|
|
115
149
|
Conversation
|
|
116
150
|
/undo Undo the last change (up to 10 steps)
|
|
117
|
-
/
|
|
118
|
-
/
|
|
151
|
+
/branch [name] Branch and switch conversation with current tool state
|
|
152
|
+
/checkout <id|name> Switch conversation; workspace files stay in place
|
|
153
|
+
/diff <id|name> Compare another conversation with the current one
|
|
154
|
+
/replay [revision] Read recorded conversation without executing tools
|
|
155
|
+
/auto [on|off] Run without prompts for this REPL session
|
|
156
|
+
/permissions [off|on|list|reset|revoke <id>] Control prompts and saved approvals
|
|
157
|
+
/brain init|status|ingest|search|entity|neighbors|path Project knowledge
|
|
158
|
+
/kg search|graph Knowledge graph
|
|
159
|
+
/improve history|propose|run|rollback [--run <id>] Bounded improvement cycles
|
|
160
|
+
/orchestrate <goal> Plan, review and run within one goal budget
|
|
161
|
+
/orchestrate <goal> --worker-provider NAME --worker-model ID --reviewer-provider NAME --reviewer-model ID --attempts 1..4
|
|
162
|
+
/orchestrate <goal> --supervise --isolation-image sha256:ID --principle robustness
|
|
163
|
+
--controller-provider NAME --controller-model ID [--supervision-reviewer-provider NAME --supervision-reviewer-model ID]
|
|
164
|
+
/orchestrate status|proposal|replay|resume|cancel <id> Inspect or control a goal
|
|
165
|
+
/orchestrate approve <id> <hash> Review and approve the exact proposal
|
|
166
|
+
/orchestrate revise <id> <plan> Correct a proposal before execution
|
|
167
|
+
/run <plan> --dry-run Validate a task plan without starting agents
|
|
168
|
+
/run prepare <plan> Record an inactive orchestration run
|
|
169
|
+
/run <plan> Execute a reviewed task graph with tool approvals
|
|
170
|
+
/run execute|resume <id> Start or resume bounded workers
|
|
171
|
+
/run retry|accept <id> <task> Retry work or accept recorded evidence
|
|
172
|
+
/run status|approve|cancel <id> Inspect or review a prepared run
|
|
173
|
+
/agents hud agents|workflows|off Choose compact live progress
|
|
174
|
+
/agents [tree] [run-id] Inspect declared agents
|
|
175
|
+
/agents stop|retry <agent> --run <id> Control a bounded agent
|
|
176
|
+
/agents spawn <children.json> --run <id> Review and execute bounded children
|
|
177
|
+
/agents spawn --resume <hash> --run <id> Recover an approved child admission
|
|
178
|
+
/tasks [graph] [run-id] Inspect task dependencies
|
|
179
|
+
/tools [list|last|output-id] Inspect retained tool output; expand/collapse and page
|
|
180
|
+
/export [file.json|file.md] Save private history JSON or readable markdown
|
|
181
|
+
/import <file.json> Validate and import into a separate inactive session
|
|
182
|
+
/new Start a separate session
|
|
183
|
+
/sessions List saved sessions
|
|
184
|
+
/resume [sessionId] Resume validated conversation and tool context
|
|
119
185
|
/compact [status] Compress conversation context; status shows a summary
|
|
120
186
|
|
|
121
187
|
Workspace
|
|
@@ -146,79 +212,110 @@ File references: @filename, ./path, /absolute/path`;
|
|
|
146
212
|
ctx.addMessage('system', help);
|
|
147
213
|
break;
|
|
148
214
|
}
|
|
149
|
-
case '/
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
215
|
+
case '/brain':
|
|
216
|
+
case '/kg': {
|
|
217
|
+
const { runBrainCommand } = await import('../brain/index.js');
|
|
218
|
+
const { parseOrchestrationArgs } = await import('../orchestration/index.js');
|
|
219
|
+
await runBrainCommand(parseOrchestrationArgs(cmd.slice(parts[0].length)), { kg: parts[0] === '/kg', cwd: getActiveProjectDir(ctx), signal: ctx.signal, mode: ctx.mode, confirmation: ctx.confirmMode ? 'mutating' : 'none', approve: ctx.approve ? (decision) => ctx.approve(decision, ctx.signal) : undefined, write: text => ctx.addMessage('system', text.trimEnd()) });
|
|
220
|
+
break;
|
|
221
|
+
}
|
|
222
|
+
case '/improve': {
|
|
223
|
+
const { runImprovementCommand } = await import('../improvement/index.js');
|
|
224
|
+
const { parseOrchestrationArgs } = await import('../orchestration/index.js');
|
|
225
|
+
await runImprovementCommand(parseOrchestrationArgs(cmd.slice(parts[0].length)), { onProgress: ctx.onWorkflowProgress, cwd: getActiveProjectDir(ctx), signal: ctx.signal, mode: ctx.mode, source: 'repl', approvals: ctx.approvals, confirmation: ctx.confirmMode ? 'mutating' : 'none', approve: ctx.approve ? (decision, signal) => ctx.approve(decision, signal ?? ctx.signal) : undefined, write: text => ctx.addMessage('system', text.trimEnd()) });
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
case '/orchestrate': {
|
|
229
|
+
const { runGoalCommand } = await import('../goals/index.js');
|
|
230
|
+
const { parseOrchestrationArgs } = await import('../orchestration/index.js');
|
|
231
|
+
await runGoalCommand(parseOrchestrationArgs(cmd.slice(parts[0].length)), { onProgress: ctx.onWorkflowProgress, cwd: getActiveProjectDir(ctx), signal: ctx.signal, mode: ctx.mode, source: 'repl', ...(ctx.provider ? { preference: { provider: ctx.provider, ...(ctx.model ? { model: ctx.model } : {}) } } : {}), approvals: ctx.approvals, confirmation: ctx.confirmMode ? 'mutating' : 'none', approve: ctx.approve ? (decision, signal) => ctx.approve(decision, signal ?? ctx.signal) : undefined, write: text => ctx.addMessage('system', text.trimEnd()) });
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
case '/run':
|
|
235
|
+
case '/agents':
|
|
236
|
+
case '/tasks': {
|
|
237
|
+
const { runOrchestrationCommand, parseOrchestrationArgs } = await import('../orchestration/index.js');
|
|
238
|
+
if (command === '/agents' && parts[1] === 'hud') {
|
|
239
|
+
const mode = parts[2] ?? 'agents';
|
|
240
|
+
if (parts.length > 3 || !['agents', 'workflows', 'off'].includes(mode)) {
|
|
241
|
+
ctx.addMessage('error', 'Usage: /agents hud agents|workflows|off');
|
|
242
|
+
return;
|
|
156
243
|
}
|
|
157
|
-
ctx.
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
config.set('defaultProvider', requested);
|
|
161
|
-
config.unset('defaultModel');
|
|
162
|
-
ctx.addMessage('system', `Provider: ${selectProvider(requested)} (saved as default)`);
|
|
163
|
-
}
|
|
164
|
-
else if (parts[1] === 'list') {
|
|
165
|
-
ctx.addMessage('system', `Provider: ${ctx.actualProvider} | Available: ${getAvailableProviders().join(', ')}`);
|
|
244
|
+
ctx.setWorkflowHudMode?.(mode);
|
|
245
|
+
ctx.addMessage('system', `Workflow HUD: ${mode}.`);
|
|
246
|
+
return;
|
|
166
247
|
}
|
|
167
|
-
|
|
168
|
-
|
|
248
|
+
await runOrchestrationCommand(command.slice(1), parseOrchestrationArgs(cmd.slice(parts[0].length)), { onProgress: ctx.onWorkflowProgress, cwd: getActiveProjectDir(ctx), signal: ctx.signal, mode: ctx.mode, source: 'repl', approvals: ctx.approvals, confirmation: ctx.confirmMode ? 'mutating' : 'none', approve: ctx.approve ? (decision, signal) => ctx.approve(decision, signal ?? ctx.signal) : undefined, write: text => ctx.addMessage('system', text.trimEnd()) });
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
case '/tools': {
|
|
252
|
+
const { handleToolOutputCommand } = await import('./tool-output-commands.js');
|
|
253
|
+
handleToolOutputCommand(parts, ctx);
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
case '/auto':
|
|
257
|
+
case '/permissions': {
|
|
258
|
+
const setting = parts[1]?.toLowerCase();
|
|
259
|
+
const enableAuto = command === '/auto' && setting === 'on'
|
|
260
|
+
|| command === '/permissions' && ['off', 'auto'].includes(setting ?? '');
|
|
261
|
+
const disableAuto = command === '/auto' && setting === 'off'
|
|
262
|
+
|| command === '/permissions' && ['on', 'ask'].includes(setting ?? '');
|
|
263
|
+
if (enableAuto || disableAuto) {
|
|
264
|
+
if (enableAuto)
|
|
265
|
+
ctx.setMode('work');
|
|
266
|
+
ctx.setConfirmMode(disableAuto);
|
|
267
|
+
ctx.addMessage('system', enableAuto
|
|
268
|
+
? 'Auto mode ON — tool confirmation prompts are disabled for this REPL session. Project policy, scope, sandbox and orchestration authority still apply.'
|
|
269
|
+
: 'Auto mode OFF — tool confirmation prompts are enabled.');
|
|
270
|
+
break;
|
|
169
271
|
}
|
|
170
|
-
|
|
171
|
-
ctx.addMessage('system', `
|
|
272
|
+
if (command === '/auto') {
|
|
273
|
+
ctx.addMessage('system', `Auto mode ${ctx.confirmMode ? 'OFF' : 'ON'}. Use /auto on or /auto off.`);
|
|
274
|
+
break;
|
|
172
275
|
}
|
|
276
|
+
const { runPermissions } = await import('../approvals/index.js');
|
|
277
|
+
await runPermissions(parts.slice(1), { cwd: getActiveProjectDir(ctx), sessionId: ctx.sessionRef.current?.id,
|
|
278
|
+
store: ctx.approvals, signal: ctx.signal, write: text => ctx.addMessage('system', text.trimEnd()) });
|
|
173
279
|
break;
|
|
280
|
+
}
|
|
281
|
+
case '/doctor': {
|
|
282
|
+
const { diagnoseProviders, formatDoctor } = await import('../doctor.js');
|
|
283
|
+
const { report, exitCode } = await diagnoseProviders(parts.slice(1), {
|
|
284
|
+
signal: ctx.signal,
|
|
285
|
+
onProgress: provider => ctx.addMessage('system', `Checking ${provider} model discovery...`),
|
|
286
|
+
});
|
|
287
|
+
ctx.addMessage(exitCode ? 'error' : 'system', parts.includes('--json') ? JSON.stringify(report) : formatDoctor(report));
|
|
288
|
+
break;
|
|
289
|
+
}
|
|
290
|
+
case '/provider':
|
|
174
291
|
case '/model':
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
ctx.setContextTokens(currentTokens);
|
|
186
|
-
let switchWarning = '';
|
|
187
|
-
if (newPct > 80) {
|
|
188
|
-
switchWarning = `\n⚠️ Context at ${newPct}% of new model limit (${Math.round(currentTokens / 1000)}K/${Math.round(newLimit / 1000)}K). Consider /compact.`;
|
|
189
|
-
}
|
|
190
|
-
else if (newLimit < oldLimit) {
|
|
191
|
-
switchWarning = `\n📉 Context window: ${Math.round(oldLimit / 1000)}K → ${Math.round(newLimit / 1000)}K (${newPct}% used)`;
|
|
192
|
-
}
|
|
193
|
-
ctx.addMessage('system', `Model: ${oldModel} → ${newModel} (saved as default)${switchWarning}`);
|
|
194
|
-
}
|
|
195
|
-
else {
|
|
196
|
-
// No arg or `list`: open the model picker (absorbs the old /models listing)
|
|
197
|
-
ctx.addMessage('system', `Fetching models for ${ctx.actualProvider}...`);
|
|
198
|
-
try {
|
|
199
|
-
const models = await getAvailableModels(ctx.actualProvider, { throwOnError: true });
|
|
200
|
-
if (models.length > 0) {
|
|
201
|
-
ctx.setAvailableModels(models);
|
|
202
|
-
ctx.setModalMode('model');
|
|
203
|
-
}
|
|
204
|
-
else {
|
|
205
|
-
ctx.addMessage('error', `No models found for ${ctx.actualProvider} — API key may be invalid`);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
catch (e) {
|
|
209
|
-
ctx.addMessage('error', `Failed to fetch models for ${ctx.actualProvider}: ${e instanceof Error ? e.message : String(e)}. Check your API key.`);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
292
|
+
case '/defaults': {
|
|
293
|
+
const { handleModelCommand } = await import('./model-commands.js');
|
|
294
|
+
await handleModelCommand(cmd, ctx);
|
|
295
|
+
break;
|
|
296
|
+
}
|
|
297
|
+
case '/once': {
|
|
298
|
+
if (ctx.submitOnce)
|
|
299
|
+
await ctx.submitOnce(cmd);
|
|
300
|
+
else
|
|
301
|
+
ctx.addMessage('error', 'Usage: /once [--provider <name>] [--model <id>] -- <prompt>');
|
|
212
302
|
break;
|
|
303
|
+
}
|
|
213
304
|
case '/mode':
|
|
214
|
-
if (parts[1]
|
|
305
|
+
if (parts[1] === 'auto') {
|
|
306
|
+
ctx.setMode('work');
|
|
307
|
+
ctx.setConfirmMode(false);
|
|
308
|
+
ctx.addMessage('system', 'Mode: ⚡ Auto — work mode with tool confirmation prompts disabled for this REPL session. Project policy, scope, sandbox and orchestration authority still apply.');
|
|
309
|
+
}
|
|
310
|
+
else if (parts[1] && ['plan', 'hybrid', 'work'].includes(parts[1])) {
|
|
215
311
|
const m = parts[1];
|
|
216
312
|
ctx.setMode(m);
|
|
313
|
+
ctx.setConfirmMode(true);
|
|
217
314
|
ctx.addMessage('system', `Mode: ${MODE_CONFIG[m].icon} ${MODE_CONFIG[m].label} - ${MODE_CONFIG[m].description}`);
|
|
218
315
|
}
|
|
219
316
|
else {
|
|
220
317
|
const currentConfig = MODE_CONFIG[ctx.mode];
|
|
221
|
-
ctx.addMessage('system', `Mode: ${currentConfig.icon} ${currentConfig.label}\nOptions: plan (\u{1F4CB}), hybrid (\u{1F504}), work (\u{1F527})\nUse Shift+Tab to cycle`);
|
|
318
|
+
ctx.addMessage('system', `Mode: ${ctx.confirmMode ? `${currentConfig.icon} ${currentConfig.label}` : '⚡ Auto'}\nOptions: plan (\u{1F4CB}), hybrid (\u{1F504}), work (\u{1F527}), auto (⚡)\nUse Shift+Tab to cycle safe modes`);
|
|
222
319
|
}
|
|
223
320
|
break;
|
|
224
321
|
case '/clear':
|
|
@@ -228,37 +325,6 @@ File references: @filename, ./path, /absolute/path`;
|
|
|
228
325
|
ctx.setStats({ inputTokens: 0, outputTokens: 0, cost: 0, messageCount: 0 });
|
|
229
326
|
resetContextWarnings(); // Reset context warning state
|
|
230
327
|
break;
|
|
231
|
-
case '/export': {
|
|
232
|
-
// Export conversation to markdown
|
|
233
|
-
const filename = parts[1] || `calliope-export-${Date.now()}.md`;
|
|
234
|
-
const fsModule = await import('fs');
|
|
235
|
-
const path = await import('path');
|
|
236
|
-
let markdown = `# Calliope Conversation Export\n\n`;
|
|
237
|
-
markdown += `**Date:** ${new Date().toLocaleString()}\n`;
|
|
238
|
-
markdown += `**Provider:** ${ctx.actualProvider}\n`;
|
|
239
|
-
markdown += `**Model:** ${ctx.actualModel}\n\n---\n\n`;
|
|
240
|
-
for (const msg of ctx.messages) {
|
|
241
|
-
if (msg.type === 'user') {
|
|
242
|
-
markdown += `## \u{1F464} User\n\n${msg.content}\n\n`;
|
|
243
|
-
}
|
|
244
|
-
else if (msg.type === 'assistant') {
|
|
245
|
-
markdown += `## \u{1F916} Assistant\n\n${msg.content}\n\n`;
|
|
246
|
-
}
|
|
247
|
-
else if (msg.type === 'tool') {
|
|
248
|
-
markdown += `> \u{1F527} Tool: ${msg.content}\n\n`;
|
|
249
|
-
}
|
|
250
|
-
else if (msg.type === 'system') {
|
|
251
|
-
markdown += `> \u{2139}\u{FE0F} ${msg.content}\n\n`;
|
|
252
|
-
}
|
|
253
|
-
else if (msg.type === 'error') {
|
|
254
|
-
markdown += `> \u{26A0}\u{FE0F} Error: ${msg.content}\n\n`;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
const filepath = path.resolve(process.cwd(), filename);
|
|
258
|
-
fsModule.writeFileSync(filepath, markdown);
|
|
259
|
-
ctx.addMessage('system', `✓ Exported to ${filename}`);
|
|
260
|
-
break;
|
|
261
|
-
}
|
|
262
328
|
case '/undo': {
|
|
263
329
|
if (ctx.undoStack.current.length === 0) {
|
|
264
330
|
ctx.addMessage('system', 'Nothing to undo.');
|
|
@@ -280,7 +346,7 @@ File references: @filename, ./path, /absolute/path`;
|
|
|
280
346
|
}
|
|
281
347
|
case '/status': {
|
|
282
348
|
const imgInfo = getTerminalImageInfo();
|
|
283
|
-
let statusMsg = `${ctx.actualProvider}:${ctx.actualModel} | ${ctx.stats.messageCount} msgs | ${ctx.stats.inputTokens + ctx.stats.outputTokens} tokens | terminal: ${getImageModeLabel(imgInfo.mode)}${imgInfo.truecolor ? ' (truecolor)' : ''} ${imgInfo.width}cols`;
|
|
349
|
+
let statusMsg = `${ctx.actualProvider}:${ctx.actualModel} | mode: ${ctx.confirmMode ? ctx.mode : 'auto'} | ${ctx.stats.messageCount} msgs | ${ctx.stats.inputTokens + ctx.stats.outputTokens} tokens | terminal: ${getImageModeLabel(imgInfo.mode)}${imgInfo.truecolor ? ' (truecolor)' : ''} ${imgInfo.width}cols`;
|
|
284
350
|
// Add fleet status if active
|
|
285
351
|
const fleetSt = fleetStatus();
|
|
286
352
|
if (fleetSt) {
|
|
@@ -509,6 +575,7 @@ Available keys:
|
|
|
509
575
|
if (parts[1] === 'stop') {
|
|
510
576
|
if (ctx.loopActive) {
|
|
511
577
|
ctx.loopCancelledRef.current = true;
|
|
578
|
+
ctx.cancelActiveTurn?.();
|
|
512
579
|
ctx.setLoopActive(false);
|
|
513
580
|
ctx.addMessage('system', '\u{1F6D1} Loop cancelled');
|
|
514
581
|
}
|
|
@@ -522,6 +589,10 @@ Available keys:
|
|
|
522
589
|
ctx.addMessage('system', 'Loop already running. Use /loop stop to stop it first.');
|
|
523
590
|
break;
|
|
524
591
|
}
|
|
592
|
+
if (ctx.isProcessing) {
|
|
593
|
+
ctx.addMessage('system', 'A turn is already running. Cancel it before starting a loop.');
|
|
594
|
+
break;
|
|
595
|
+
}
|
|
525
596
|
const loopArgs = parts.slice(1).join(' ');
|
|
526
597
|
const maxIterMatch = loopArgs.match(/--max-iterations\s+(\d+)/);
|
|
527
598
|
const completionMatch = loopArgs.match(/--completion-promise\s+"([^"]+)"/);
|
|
@@ -717,8 +788,24 @@ Stop a running loop with /loop stop`);
|
|
|
717
788
|
case '/memory': {
|
|
718
789
|
const memoryModule = await import('../memory.js');
|
|
719
790
|
const subCmd = parts[1];
|
|
720
|
-
const cwd =
|
|
721
|
-
if (subCmd === '
|
|
791
|
+
const cwd = getActiveProjectDir(ctx);
|
|
792
|
+
if (subCmd === 'sources' || subCmd === 'reload') {
|
|
793
|
+
try {
|
|
794
|
+
if (subCmd === 'reload')
|
|
795
|
+
refreshProjectContext(ctx);
|
|
796
|
+
const { loadRepositoryInstructions } = await import('../instructions.js');
|
|
797
|
+
const sources = loadRepositoryInstructions(cwd);
|
|
798
|
+
ctx.addMessage('system', [
|
|
799
|
+
subCmd === 'reload' ? 'Project context reloaded for subsequent turns.' : 'Applicable AGENTS.md files on disk (use /memory reload after edits):',
|
|
800
|
+
...sources.map(source => `${source.path}\n Scope: ${source.scope} (${Buffer.byteLength(source.content)} bytes)`),
|
|
801
|
+
...(sources.length ? [] : ['No trusted AGENTS.md files apply. Use /trust status to inspect project trust.']),
|
|
802
|
+
].join('\n'));
|
|
803
|
+
}
|
|
804
|
+
catch (error) {
|
|
805
|
+
ctx.addMessage('error', error instanceof Error ? error.message : String(error));
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
else if (subCmd === 'init') {
|
|
722
809
|
const memPath = memoryModule.initProjectMemory(cwd);
|
|
723
810
|
ctx.addMessage('system', `Created: ${memPath}\nEdit the file to add context and preferences.`);
|
|
724
811
|
}
|
|
@@ -779,7 +866,7 @@ Stop a running loop with /loop stop`);
|
|
|
779
866
|
ctx.addMessage('system', info || 'No global memories yet.');
|
|
780
867
|
}
|
|
781
868
|
else {
|
|
782
|
-
ctx.addMessage('system', 'Usage: /memory [init|show|add <type> <text>|remove <type> <text>|global]');
|
|
869
|
+
ctx.addMessage('system', 'Usage: /memory [init|show|sources|reload|add <type> <text>|remove <type> <text>|global]');
|
|
783
870
|
}
|
|
784
871
|
break;
|
|
785
872
|
}
|
|
@@ -833,17 +920,17 @@ Stop a running loop with /loop stop`);
|
|
|
833
920
|
const { checkTrust, trustProject, untrustProject, listTrustedProjects, removeFromRegistry } = await import('../trust.js');
|
|
834
921
|
const trustSubCmd = parts[1] || 'status';
|
|
835
922
|
if (trustSubCmd === 'status') {
|
|
836
|
-
const trust = checkTrust(
|
|
923
|
+
const trust = checkTrust(getActiveProjectDir(ctx));
|
|
837
924
|
ctx.addMessage('system', `Trust: ${trust.trusted ? '✓ Trusted' : '✗ Untrusted'}\n${trust.reason}${trust.changed ? '\n⚠️ CALLIOPE.md has changed since trust was granted' : ''}`);
|
|
838
925
|
}
|
|
839
926
|
else if (trustSubCmd === 'add' || trustSubCmd === 'yes') {
|
|
840
|
-
const dir = parts[2] ||
|
|
927
|
+
const dir = parts[2] || getActiveProjectDir(ctx);
|
|
841
928
|
trustProject(dir, parts.slice(3).join(' ') || undefined);
|
|
842
929
|
ctx.addMessage('system', `✓ Trusted: ${dir}`);
|
|
843
930
|
}
|
|
844
931
|
else if (trustSubCmd === 'remove' || trustSubCmd === 'no') {
|
|
845
932
|
// Absorbs the old /untrust
|
|
846
|
-
const dir = parts[2] ||
|
|
933
|
+
const dir = parts[2] || getActiveProjectDir(ctx);
|
|
847
934
|
untrustProject(dir);
|
|
848
935
|
ctx.addMessage('system', `✗ Untrusted: ${dir}`);
|
|
849
936
|
}
|
|
@@ -858,13 +945,21 @@ Stop a running loop with /loop stop`);
|
|
|
858
945
|
}
|
|
859
946
|
}
|
|
860
947
|
else if (trustSubCmd === 'clear') {
|
|
861
|
-
const dir = parts[2] ||
|
|
948
|
+
const dir = parts[2] || getActiveProjectDir(ctx);
|
|
862
949
|
removeFromRegistry(dir);
|
|
863
950
|
ctx.addMessage('system', `Removed from trust registry: ${dir}`);
|
|
864
951
|
}
|
|
865
952
|
else {
|
|
866
953
|
ctx.addMessage('system', 'Usage: /trust [status|add|remove|list|clear]\n /trust add [path] - trust a project\n /trust remove [path] - untrust a project');
|
|
867
954
|
}
|
|
955
|
+
if (['add', 'yes', 'remove', 'no', 'clear'].includes(trustSubCmd)) {
|
|
956
|
+
try {
|
|
957
|
+
refreshProjectContext(ctx);
|
|
958
|
+
}
|
|
959
|
+
catch (error) {
|
|
960
|
+
ctx.addMessage('error', error instanceof Error ? error.message : String(error));
|
|
961
|
+
}
|
|
962
|
+
}
|
|
868
963
|
break;
|
|
869
964
|
}
|
|
870
965
|
case '/cost': {
|
|
@@ -941,59 +1036,17 @@ Stop a running loop with /loop stop`);
|
|
|
941
1036
|
}
|
|
942
1037
|
break;
|
|
943
1038
|
}
|
|
1039
|
+
case '/export':
|
|
1040
|
+
case '/import':
|
|
1041
|
+
case '/branch':
|
|
1042
|
+
case '/checkout':
|
|
1043
|
+
case '/diff':
|
|
1044
|
+
case '/replay':
|
|
1045
|
+
case '/new':
|
|
1046
|
+
case '/sessions':
|
|
944
1047
|
case '/resume': {
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
const targetSessionId = parts[1];
|
|
948
|
-
if (targetSessionId) {
|
|
949
|
-
const resumedSession = storage.setCurrentSessionById(targetSessionId);
|
|
950
|
-
if (!resumedSession) {
|
|
951
|
-
ctx.addMessage('system', `Session not found: ${targetSessionId}`);
|
|
952
|
-
break;
|
|
953
|
-
}
|
|
954
|
-
ctx.sessionRef.current = resumedSession;
|
|
955
|
-
}
|
|
956
|
-
if (ctx.ledger) {
|
|
957
|
-
ctx.ledger.loadSnapshot(storage.loadIterationLedger(targetSessionId || ctx.sessionRef.current?.id));
|
|
958
|
-
if (ctx.sessionRef.current?.id) {
|
|
959
|
-
storage.saveIterationLedger(ctx.ledger, ctx.sessionRef.current.id);
|
|
960
|
-
}
|
|
961
|
-
}
|
|
962
|
-
// Try loading full message history first (preferred - preserves tool calls etc.)
|
|
963
|
-
const savedMessages = storage.loadMessageHistory(targetSessionId);
|
|
964
|
-
if (savedMessages && savedMessages.length > 0) {
|
|
965
|
-
// Replace current LLM messages with saved ones
|
|
966
|
-
ctx.llmMessages.current.length = 0;
|
|
967
|
-
for (const msg of savedMessages) {
|
|
968
|
-
ctx.llmMessages.current.push(msg);
|
|
969
|
-
}
|
|
970
|
-
ctx.addMessage('system', `Restored ${savedMessages.length} messages from saved session${targetSessionId ? ` (${targetSessionId})` : ''}`);
|
|
971
|
-
ctx.setContextTokens(ctx.estimateContextTokens());
|
|
972
|
-
}
|
|
973
|
-
else {
|
|
974
|
-
// Fall back to chat.log history (legacy format, user/assistant only)
|
|
975
|
-
const history = storage.getChatHistory(20, targetSessionId);
|
|
976
|
-
if (history.length === 0) {
|
|
977
|
-
ctx.addMessage('system', 'No previous messages to resume. Start a conversation first, messages are auto-saved.');
|
|
978
|
-
}
|
|
979
|
-
else {
|
|
980
|
-
ctx.llmMessages.current.length = 0;
|
|
981
|
-
ctx.llmMessages.current.push({
|
|
982
|
-
role: 'system',
|
|
983
|
-
content: buildFullSystemPrompt(getActiveProjectDir(ctx), ctx.actualProvider),
|
|
984
|
-
});
|
|
985
|
-
for (const msg of history) {
|
|
986
|
-
if (msg.role === 'user' || msg.role === 'assistant') {
|
|
987
|
-
ctx.llmMessages.current.push({
|
|
988
|
-
role: msg.role,
|
|
989
|
-
content: msg.content,
|
|
990
|
-
});
|
|
991
|
-
}
|
|
992
|
-
}
|
|
993
|
-
ctx.addMessage('system', `Loaded ${history.length} messages from chat log (legacy format, tool context not preserved)`);
|
|
994
|
-
ctx.setContextTokens(ctx.estimateContextTokens());
|
|
995
|
-
}
|
|
996
|
-
}
|
|
1048
|
+
const { handleSessionCommand } = await import('./session-commands.js');
|
|
1049
|
+
await handleSessionCommand(parts, ctx);
|
|
997
1050
|
break;
|
|
998
1051
|
}
|
|
999
1052
|
case '/restore': {
|