@cleocode/core 2026.9.21 → 2026.9.23
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/dist/agents/scaffold.d.ts.map +1 -1
- package/dist/agents/scaffold.js +0 -1
- package/dist/agents/scaffold.js.map +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +4 -0
- package/dist/bootstrap.js.map +1 -1
- package/dist/build-provenance.json +6 -0
- package/dist/decide/audit.d.ts +7 -1
- package/dist/decide/audit.d.ts.map +1 -1
- package/dist/decide/audit.js.map +1 -1
- package/dist/decide/client.d.ts +46 -4
- package/dist/decide/client.d.ts.map +1 -1
- package/dist/decide/client.js +328 -33
- package/dist/decide/client.js.map +1 -1
- package/dist/decide/credentials.d.ts +28 -4
- package/dist/decide/credentials.d.ts.map +1 -1
- package/dist/decide/credentials.js +50 -12
- package/dist/decide/credentials.js.map +1 -1
- package/dist/decide/index.d.ts +10 -4
- package/dist/decide/index.d.ts.map +1 -1
- package/dist/decide/index.js +10 -4
- package/dist/decide/index.js.map +1 -1
- package/dist/decide/jev-wire.d.ts +100 -8
- package/dist/decide/jev-wire.d.ts.map +1 -1
- package/dist/decide/jev-wire.js +402 -55
- package/dist/decide/jev-wire.js.map +1 -1
- package/dist/decide/operations.d.ts +97 -20
- package/dist/decide/operations.d.ts.map +1 -1
- package/dist/decide/operations.js +180 -28
- package/dist/decide/operations.js.map +1 -1
- package/dist/decide/provider-state.d.ts +89 -0
- package/dist/decide/provider-state.d.ts.map +1 -0
- package/dist/decide/provider-state.js +134 -0
- package/dist/decide/provider-state.js.map +1 -0
- package/dist/decide/provider.d.ts +26 -5
- package/dist/decide/provider.d.ts.map +1 -1
- package/dist/decide/provider.js.map +1 -1
- package/dist/decide/providers.d.ts +58 -0
- package/dist/decide/providers.d.ts.map +1 -0
- package/dist/decide/providers.js +69 -0
- package/dist/decide/providers.js.map +1 -0
- package/dist/decide/site.d.ts +2 -2
- package/dist/decide/site.d.ts.map +1 -1
- package/dist/decide/site.js +2 -0
- package/dist/decide/site.js.map +1 -1
- package/dist/decide/sites/list.d.ts +46 -0
- package/dist/decide/sites/list.d.ts.map +1 -0
- package/dist/decide/sites/list.js +206 -0
- package/dist/decide/sites/list.js.map +1 -0
- package/dist/decide/sites/registry.d.ts +130 -0
- package/dist/decide/sites/registry.d.ts.map +1 -0
- package/dist/decide/sites/registry.js +375 -0
- package/dist/decide/sites/registry.js.map +1 -0
- package/dist/decide/spend.d.ts +196 -0
- package/dist/decide/spend.d.ts.map +1 -0
- package/dist/decide/spend.js +387 -0
- package/dist/decide/spend.js.map +1 -0
- package/dist/decide/wizard.d.ts +53 -0
- package/dist/decide/wizard.d.ts.map +1 -0
- package/dist/decide/wizard.js +144 -0
- package/dist/decide/wizard.js.map +1 -0
- package/dist/dispatch/mutate-projection.d.ts.map +1 -1
- package/dist/dispatch/mutate-projection.js +5 -0
- package/dist/dispatch/mutate-projection.js.map +1 -1
- package/dist/docs/docs-audit.d.ts.map +1 -1
- package/dist/docs/docs-audit.js +1 -2
- package/dist/docs/docs-audit.js.map +1 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +25 -9
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/export-document.js +1073 -628
- package/dist/docs/export-document.js.map +3 -3
- package/dist/doctor/knowledge.d.ts +16 -1
- package/dist/doctor/knowledge.d.ts.map +1 -1
- package/dist/doctor/knowledge.js +53 -17
- package/dist/doctor/knowledge.js.map +1 -1
- package/dist/engine/engine-ops.d.ts +36 -6
- package/dist/engine/engine-ops.d.ts.map +1 -1
- package/dist/engine/engine-ops.js +115 -14
- package/dist/engine/engine-ops.js.map +1 -1
- package/dist/gateway-client/generated/types.gen.d.ts +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/init/scaffold-workflows.d.ts.map +1 -1
- package/dist/init/scaffold-workflows.js +6 -3
- package/dist/init/scaffold-workflows.js.map +1 -1
- package/dist/init/upgrade-workflows.d.ts.map +1 -1
- package/dist/init/upgrade-workflows.js +6 -3
- package/dist/init/upgrade-workflows.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +51 -11
- package/dist/init.js.map +1 -1
- package/dist/inject/index.d.ts.map +1 -1
- package/dist/inject/index.js +8 -3
- package/dist/inject/index.js.map +1 -1
- package/dist/internal.d.ts +3 -3
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +2 -2
- package/dist/internal.js.map +1 -1
- package/dist/llm/plugin-facade.js +1184 -739
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/memory/attention.d.ts.map +1 -1
- package/dist/memory/attention.js +2 -2
- package/dist/memory/attention.js.map +1 -1
- package/dist/memory/decision-contradiction.d.ts +3 -3
- package/dist/memory/decision-contradiction.d.ts.map +1 -1
- package/dist/memory/decision-contradiction.js +4 -3
- package/dist/memory/decision-contradiction.js.map +1 -1
- package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
- package/dist/memory/graph-memory-bridge.js +2 -0
- package/dist/memory/graph-memory-bridge.js.map +1 -1
- package/dist/memory/observation-type-decision.d.ts +2 -2
- package/dist/memory/observation-type-decision.d.ts.map +1 -1
- package/dist/memory/observation-type-decision.js +3 -2
- package/dist/memory/observation-type-decision.js.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.d.ts +111 -0
- package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.js +230 -2
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts +38 -0
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +96 -21
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/knowledge.d.ts.map +1 -1
- package/dist/nexus/knowledge.js +15 -4
- package/dist/nexus/knowledge.js.map +1 -1
- package/dist/nexus/migrations/M-split-graph.d.ts.map +1 -1
- package/dist/nexus/migrations/M-split-graph.js +4 -0
- package/dist/nexus/migrations/M-split-graph.js.map +1 -1
- package/dist/nexus/store.d.ts.map +1 -1
- package/dist/nexus/store.js +2 -0
- package/dist/nexus/store.js.map +1 -1
- package/dist/nexus/stored-roots.d.ts +65 -0
- package/dist/nexus/stored-roots.d.ts.map +1 -1
- package/dist/nexus/stored-roots.js +73 -0
- package/dist/nexus/stored-roots.js.map +1 -1
- package/dist/orchestrate/lifecycle-ops.d.ts.map +1 -1
- package/dist/orchestrate/lifecycle-ops.js +4 -1
- package/dist/orchestrate/lifecycle-ops.js.map +1 -1
- package/dist/orchestrate/pivot.d.ts.map +1 -1
- package/dist/orchestrate/pivot.js +13 -8
- package/dist/orchestrate/pivot.js.map +1 -1
- package/dist/orchestrate/plan.d.ts.map +1 -1
- package/dist/orchestrate/plan.js +8 -2
- package/dist/orchestrate/plan.js.map +1 -1
- package/dist/orchestrate/query-ops.d.ts +7 -2
- package/dist/orchestrate/query-ops.d.ts.map +1 -1
- package/dist/orchestrate/query-ops.js +17 -6
- package/dist/orchestrate/query-ops.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +5 -14
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/bootstrap.d.ts.map +1 -1
- package/dist/orchestration/bootstrap.js +4 -2
- package/dist/orchestration/bootstrap.js.map +1 -1
- package/dist/orchestration/index.d.ts +1 -0
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +4 -3
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/lead-rollup.d.ts +8 -5
- package/dist/orchestration/lead-rollup.d.ts.map +1 -1
- package/dist/orchestration/lead-rollup.js +46 -17
- package/dist/orchestration/lead-rollup.js.map +1 -1
- package/dist/orchestration/owner-decision-readiness.d.ts +2 -2
- package/dist/orchestration/owner-decision-readiness.d.ts.map +1 -1
- package/dist/orchestration/owner-decision-readiness.js +3 -2
- package/dist/orchestration/owner-decision-readiness.js.map +1 -1
- package/dist/orchestration/parallel.d.ts.map +1 -1
- package/dist/orchestration/parallel.js +10 -17
- package/dist/orchestration/parallel.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts +4 -1
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +3 -2
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/status.d.ts +8 -3
- package/dist/orchestration/status.d.ts.map +1 -1
- package/dist/orchestration/status.js +9 -6
- package/dist/orchestration/status.js.map +1 -1
- package/dist/orchestration/validate-spawn.d.ts.map +1 -1
- package/dist/orchestration/validate-spawn.js +2 -0
- package/dist/orchestration/validate-spawn.js.map +1 -1
- package/dist/orchestration/wave-topic.d.ts +54 -0
- package/dist/orchestration/wave-topic.d.ts.map +1 -0
- package/dist/orchestration/wave-topic.js +68 -0
- package/dist/orchestration/wave-topic.js.map +1 -0
- package/dist/orchestration/waves.d.ts +47 -8
- package/dist/orchestration/waves.d.ts.map +1 -1
- package/dist/orchestration/waves.js +152 -43
- package/dist/orchestration/waves.js.map +1 -1
- package/dist/phases/index.d.ts.map +1 -1
- package/dist/phases/index.js +6 -2
- package/dist/phases/index.js.map +1 -1
- package/dist/project-scope.d.ts +34 -0
- package/dist/project-scope.d.ts.map +1 -1
- package/dist/project-scope.js +73 -0
- package/dist/project-scope.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +10 -0
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +23 -7
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/release/github-pr.d.ts +30 -0
- package/dist/release/github-pr.d.ts.map +1 -1
- package/dist/release/github-pr.js +42 -1
- package/dist/release/github-pr.js.map +1 -1
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +6 -3
- package/dist/release/plan.js.map +1 -1
- package/dist/release/pr-evidence.d.ts.map +1 -1
- package/dist/release/pr-evidence.js +12 -4
- package/dist/release/pr-evidence.js.map +1 -1
- package/dist/routing/capability-matrix.d.ts.map +1 -1
- package/dist/routing/capability-matrix.js +7 -0
- package/dist/routing/capability-matrix.js.map +1 -1
- package/dist/security/input-sanitization.d.ts.map +1 -1
- package/dist/security/input-sanitization.js +9 -2
- package/dist/security/input-sanitization.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +1193 -748
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/session/engine-ops.d.ts +6 -0
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +36 -4
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/sessions/briefing.d.ts +17 -0
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +68 -68
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/drift-watchdog.d.ts.map +1 -1
- package/dist/sessions/drift-watchdog.js +4 -3
- package/dist/sessions/drift-watchdog.js.map +1 -1
- package/dist/sessions/focus-state-store.d.ts +94 -1
- package/dist/sessions/focus-state-store.d.ts.map +1 -1
- package/dist/sessions/focus-state-store.js +100 -1
- package/dist/sessions/focus-state-store.js.map +1 -1
- package/dist/sessions/index.d.ts +2 -2
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +1 -1
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/session-drift.d.ts.map +1 -1
- package/dist/sessions/session-drift.js +4 -3
- package/dist/sessions/session-drift.js.map +1 -1
- package/dist/setup/config-json-merge.d.ts +28 -0
- package/dist/setup/config-json-merge.d.ts.map +1 -1
- package/dist/setup/config-json-merge.js +51 -0
- package/dist/setup/config-json-merge.js.map +1 -1
- package/dist/setup/index.d.ts +13 -10
- package/dist/setup/index.d.ts.map +1 -1
- package/dist/setup/index.js +15 -10
- package/dist/setup/index.js.map +1 -1
- package/dist/setup/sections/llm.js +1 -1
- package/dist/setup/sections/llm.js.map +1 -1
- package/dist/setup/sections/system-one.d.ts +28 -0
- package/dist/setup/sections/system-one.d.ts.map +1 -0
- package/dist/setup/sections/system-one.js +53 -0
- package/dist/setup/sections/system-one.js.map +1 -0
- package/dist/setup/wizard.d.ts +15 -1
- package/dist/setup/wizard.d.ts.map +1 -1
- package/dist/setup/wizard.js +15 -0
- package/dist/setup/wizard.js.map +1 -1
- package/dist/skills/discovery.d.ts +12 -1
- package/dist/skills/discovery.d.ts.map +1 -1
- package/dist/skills/discovery.js +27 -2
- package/dist/skills/discovery.js.map +1 -1
- package/dist/skills/orchestrator/startup.d.ts.map +1 -1
- package/dist/skills/orchestrator/startup.js +10 -5
- package/dist/skills/orchestrator/startup.js.map +1 -1
- package/dist/skills/prune-bundled.d.ts +306 -0
- package/dist/skills/prune-bundled.d.ts.map +1 -0
- package/dist/skills/prune-bundled.js +652 -0
- package/dist/skills/prune-bundled.js.map +1 -0
- package/dist/skills/types.d.ts +9 -1
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/skills/types.js +17 -34
- package/dist/skills/types.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +26 -2
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/stats/index.d.ts.map +1 -1
- package/dist/stats/index.js +4 -2
- package/dist/stats/index.js.map +1 -1
- package/dist/store/agent-registry-accessor.d.ts.map +1 -1
- package/dist/store/agent-registry-accessor.js +2 -0
- package/dist/store/agent-registry-accessor.js.map +1 -1
- package/dist/store/backup-pack.js +1 -1
- package/dist/store/backup-pack.js.map +1 -1
- package/dist/store/backup.d.ts +15 -1
- package/dist/store/backup.d.ts.map +1 -1
- package/dist/store/backup.js +18 -2
- package/dist/store/backup.js.map +1 -1
- package/dist/store/conduit-sqlite.d.ts.map +1 -1
- package/dist/store/conduit-sqlite.js +3 -0
- package/dist/store/conduit-sqlite.js.map +1 -1
- package/dist/store/credential-transfer.d.ts.map +1 -1
- package/dist/store/credential-transfer.js +2 -0
- package/dist/store/credential-transfer.js.map +1 -1
- package/dist/store/cross-db-cleanup.d.ts.map +1 -1
- package/dist/store/cross-db-cleanup.js +2 -0
- package/dist/store/cross-db-cleanup.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +13 -2
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/migrate-signaldock-to-conduit.d.ts.map +1 -1
- package/dist/store/migrate-signaldock-to-conduit.js +3 -0
- package/dist/store/migrate-signaldock-to-conduit.js.map +1 -1
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +37 -3
- package/dist/store/migration-manager.js.map +1 -1
- package/dist/store/migration-sqlite.d.ts.map +1 -1
- package/dist/store/migration-sqlite.js +2 -0
- package/dist/store/migration-sqlite.js.map +1 -1
- package/dist/store/nexus-sqlite.d.ts.map +1 -1
- package/dist/store/nexus-sqlite.js +3 -0
- package/dist/store/nexus-sqlite.js.map +1 -1
- package/dist/store/open-cleo-db.d.ts.map +1 -1
- package/dist/store/open-cleo-db.js +3 -0
- package/dist/store/open-cleo-db.js.map +1 -1
- package/dist/store/portable-bundle-import.d.ts.map +1 -1
- package/dist/store/portable-bundle-import.js +2 -0
- package/dist/store/portable-bundle-import.js.map +1 -1
- package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
- package/dist/store/portable-bundle-relocate.js +2 -0
- package/dist/store/portable-bundle-relocate.js.map +1 -1
- package/dist/store/portable-bundle-scan.js +1 -1
- package/dist/store/portable-bundle-scan.js.map +1 -1
- package/dist/store/ports/domain-binding.d.ts.map +1 -1
- package/dist/store/ports/domain-binding.js +5 -0
- package/dist/store/ports/domain-binding.js.map +1 -1
- package/dist/store/skills-db.d.ts +17 -0
- package/dist/store/skills-db.d.ts.map +1 -1
- package/dist/store/skills-db.js +30 -0
- package/dist/store/skills-db.js.map +1 -1
- package/dist/store/snapshot-gate.d.ts.map +1 -1
- package/dist/store/snapshot-gate.js +3 -0
- package/dist/store/snapshot-gate.js.map +1 -1
- package/dist/store/split-brain-import.d.ts.map +1 -1
- package/dist/store/split-brain-import.js +2 -0
- package/dist/store/split-brain-import.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +19 -2
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite-native.d.ts.map +1 -1
- package/dist/store/sqlite-native.js +1 -0
- package/dist/store/sqlite-native.js.map +1 -1
- package/dist/store/sqlite.d.ts +14 -0
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +31 -4
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/twin-collapse.d.ts +46 -1
- package/dist/store/twin-collapse.d.ts.map +1 -1
- package/dist/store/twin-collapse.js +131 -5
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/store/worktree-build-guard.d.ts +191 -0
- package/dist/store/worktree-build-guard.d.ts.map +1 -0
- package/dist/store/worktree-build-guard.js +486 -0
- package/dist/store/worktree-build-guard.js.map +1 -0
- package/dist/store/worktree-isolation-guard.d.ts +27 -0
- package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
- package/dist/store/worktree-isolation-guard.js +71 -3
- package/dist/store/worktree-isolation-guard.js.map +1 -1
- package/dist/store/writer-lease.d.ts.map +1 -1
- package/dist/store/writer-lease.js +2 -0
- package/dist/store/writer-lease.js.map +1 -1
- package/dist/system/backup.d.ts +6 -2
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +6 -3
- package/dist/system/backup.js.map +1 -1
- package/dist/system/inject-generate.d.ts.map +1 -1
- package/dist/system/inject-generate.js +4 -4
- package/dist/system/inject-generate.js.map +1 -1
- package/dist/task-tools/index.d.ts +4 -2
- package/dist/task-tools/index.d.ts.map +1 -1
- package/dist/task-tools/index.js +3 -2
- package/dist/task-tools/index.js.map +1 -1
- package/dist/task-tools/score-task-priority.d.ts +93 -18
- package/dist/task-tools/score-task-priority.d.ts.map +1 -1
- package/dist/task-tools/score-task-priority.js +193 -81
- package/dist/task-tools/score-task-priority.js.map +1 -1
- package/dist/task-work/index.d.ts +6 -0
- package/dist/task-work/index.d.ts.map +1 -1
- package/dist/task-work/index.js +6 -3
- package/dist/task-work/index.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +62 -13
- package/dist/tasks/affected-packages.d.ts.map +1 -1
- package/dist/tasks/affected-packages.js +158 -33
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +59 -0
- package/dist/tasks/affected-scope.d.ts.map +1 -0
- package/dist/tasks/affected-scope.js +81 -0
- package/dist/tasks/affected-scope.js.map +1 -0
- package/dist/tasks/analyze.d.ts +29 -1
- package/dist/tasks/analyze.d.ts.map +1 -1
- package/dist/tasks/analyze.js +52 -36
- package/dist/tasks/analyze.js.map +1 -1
- package/dist/tasks/backfill-child-projections.d.ts.map +1 -1
- package/dist/tasks/backfill-child-projections.js +4 -1
- package/dist/tasks/backfill-child-projections.js.map +1 -1
- package/dist/tasks/change-set.d.ts +24 -0
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +143 -11
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/command-line.d.ts +54 -0
- package/dist/tasks/command-line.d.ts.map +1 -0
- package/dist/tasks/command-line.js +151 -0
- package/dist/tasks/command-line.js.map +1 -0
- package/dist/tasks/complete.d.ts +10 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +49 -0
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/component-pr.d.ts +106 -0
- package/dist/tasks/component-pr.d.ts.map +1 -0
- package/dist/tasks/component-pr.js +275 -0
- package/dist/tasks/component-pr.js.map +1 -0
- package/dist/tasks/delete.d.ts.map +1 -1
- package/dist/tasks/delete.js +20 -0
- package/dist/tasks/delete.js.map +1 -1
- package/dist/tasks/done-plan.d.ts +21 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +170 -15
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/done-record.d.ts.map +1 -1
- package/dist/tasks/done-record.js +9 -80
- package/dist/tasks/done-record.js.map +1 -1
- package/dist/tasks/duplicate-detector.d.ts +3 -3
- package/dist/tasks/duplicate-detector.d.ts.map +1 -1
- package/dist/tasks/duplicate-detector.js +4 -3
- package/dist/tasks/duplicate-detector.js.map +1 -1
- package/dist/tasks/engine-wrap-ops.d.ts +29 -0
- package/dist/tasks/engine-wrap-ops.d.ts.map +1 -1
- package/dist/tasks/engine-wrap-ops.js +40 -0
- package/dist/tasks/engine-wrap-ops.js.map +1 -1
- package/dist/tasks/engine-wrap.d.ts +1 -1
- package/dist/tasks/engine-wrap.d.ts.map +1 -1
- package/dist/tasks/engine-wrap.js +1 -1
- package/dist/tasks/engine-wrap.js.map +1 -1
- package/dist/tasks/evidence.d.ts +49 -2
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +85 -9
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +48 -12
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/index.d.ts +1 -1
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +1 -1
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/ops.d.ts +1 -0
- package/dist/tasks/ops.d.ts.map +1 -1
- package/dist/tasks/ranking-audit.d.ts +122 -0
- package/dist/tasks/ranking-audit.d.ts.map +1 -0
- package/dist/tasks/ranking-audit.js +193 -0
- package/dist/tasks/ranking-audit.js.map +1 -0
- package/dist/tasks/task-analyze.d.ts.map +1 -1
- package/dist/tasks/task-analyze.js +19 -32
- package/dist/tasks/task-analyze.js.map +1 -1
- package/dist/tasks/task-next.d.ts +48 -2
- package/dist/tasks/task-next.d.ts.map +1 -1
- package/dist/tasks/task-next.js +84 -102
- package/dist/tasks/task-next.js.map +1 -1
- package/dist/tasks/task-ops.d.ts +1 -1
- package/dist/tasks/task-ops.d.ts.map +1 -1
- package/dist/tasks/task-ops.js +1 -1
- package/dist/tasks/task-ops.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +7 -1
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +24 -10
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/update.d.ts +8 -2
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +28 -1
- package/dist/tasks/update.js.map +1 -1
- package/dist/telemetry/sqlite.d.ts.map +1 -1
- package/dist/telemetry/sqlite.js +2 -0
- package/dist/telemetry/sqlite.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +2 -2
- package/dist/validation/doctor/checks.js.map +1 -1
- package/dist/validation/engine-ops.d.ts +9 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +24 -1
- package/dist/validation/engine-ops.js.map +1 -1
- package/dist/validation/validate-ops.d.ts.map +1 -1
- package/dist/validation/validate-ops.js +9 -3
- package/dist/validation/validate-ops.js.map +1 -1
- package/dist/worktree/worktree-adopt.d.ts.map +1 -1
- package/dist/worktree/worktree-adopt.js +5 -2
- package/dist/worktree/worktree-adopt.js.map +1 -1
- package/package.json +14 -14
- package/schemas/config.schema.json +13 -0
- package/templates/CLEO-INJECTION.md +1 -1
- package/templates/CLEO-REFERENCE.md +5 -1
package/dist/decide/client.js
CHANGED
|
@@ -11,10 +11,16 @@
|
|
|
11
11
|
* request with the contract schema (invalid → fallback).
|
|
12
12
|
* 3. In-memory LRU cache hit → `source: 'cache'`.
|
|
13
13
|
* 4. Within ONE per-site deadline (default {@link DEFAULT_DECISION_TIMEOUT_MS}):
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
14
|
+
* check the monthly spend cap (`./spend.ts`, D11159), take a token from the
|
|
15
|
+
* machine-wide request budget, then call the provider. Spend cap reached
|
|
16
|
+
* (`budget`), key monthly limit (`key_limit_exceeded`), budget denial,
|
|
17
|
+
* timeout, 401/402/403/429/5xx, network failure or a malformed answer →
|
|
18
|
+
* fallback. A 429 empties the shared budget for its `retry-after`; a
|
|
19
|
+
* 503/529 trips it as a short circuit breaker; a 403 key limit stops
|
|
20
|
+
* decisions until the UTC month ends. Reported cost is added to the spend
|
|
21
|
+
* ledger. A call aborted AFTER it was sent (deadline or caller) may still be
|
|
22
|
+
* billed, so its reserved estimate is committed; only a failure before send
|
|
23
|
+
* or an error response releases the reservation.
|
|
18
24
|
* 5. Append one audit line (never containing the key or raw state).
|
|
19
25
|
*
|
|
20
26
|
* Provider-specific knowledge (endpoints, wire JSON) lives only in
|
|
@@ -32,10 +38,16 @@ import { createDecisionCache, decisionCacheKey, hashCanonical, } from './cache.j
|
|
|
32
38
|
import { loadDecideConnection } from './credentials.js';
|
|
33
39
|
import { createJevProvider, JEV_ADAPTER_VERSION } from './jev-wire.js';
|
|
34
40
|
import { DecisionProviderError, } from './provider.js';
|
|
41
|
+
import { cachedCapabilities } from './provider-state.js';
|
|
42
|
+
import { createFileSpendLedger, DEFAULT_MONTHLY_SPEND_CAP_MICROS, MONTHLY_SPEND_CAP_KEY, } from './spend.js';
|
|
35
43
|
/** Default per-site deadline for the budget + provider round trip, in ms. */
|
|
36
44
|
export const DEFAULT_DECISION_TIMEOUT_MS = 300;
|
|
45
|
+
/** Circuit-breaker trip after a 503/529 that carried no `retry-after`, ms. */
|
|
46
|
+
export const OVERLOADED_COOLDOWN_MS = 30_000;
|
|
37
47
|
let defaultCache = null;
|
|
38
48
|
let defaultBudget = null;
|
|
49
|
+
let defaultSpend = null;
|
|
50
|
+
let defaultSpendCap = null;
|
|
39
51
|
function processCache() {
|
|
40
52
|
defaultCache ??= createDecisionCache();
|
|
41
53
|
return defaultCache;
|
|
@@ -44,6 +56,28 @@ function processBudget() {
|
|
|
44
56
|
defaultBudget ??= createFileTokenBucket();
|
|
45
57
|
return defaultBudget;
|
|
46
58
|
}
|
|
59
|
+
function processSpend() {
|
|
60
|
+
defaultSpend ??= createFileSpendLedger();
|
|
61
|
+
return defaultSpend;
|
|
62
|
+
}
|
|
63
|
+
/** The configured monthly cap, read once per process; the $1 default when unset or unreadable. */
|
|
64
|
+
function processSpendCap(projectRoot) {
|
|
65
|
+
defaultSpendCap ??= (async () => {
|
|
66
|
+
try {
|
|
67
|
+
const { getConfigValue } = await import('../config/registry.js');
|
|
68
|
+
const value = await getConfigValue(MONTHLY_SPEND_CAP_KEY, {
|
|
69
|
+
projectRoot: projectRoot ?? getProjectRoot(),
|
|
70
|
+
});
|
|
71
|
+
return typeof value === 'number' && Number.isFinite(value) && value >= 0
|
|
72
|
+
? value
|
|
73
|
+
: DEFAULT_MONTHLY_SPEND_CAP_MICROS;
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return DEFAULT_MONTHLY_SPEND_CAP_MICROS;
|
|
77
|
+
}
|
|
78
|
+
})();
|
|
79
|
+
return defaultSpendCap;
|
|
80
|
+
}
|
|
47
81
|
/**
|
|
48
82
|
* Reset the process-default cache and budget. Tests only.
|
|
49
83
|
*
|
|
@@ -52,6 +86,8 @@ function processBudget() {
|
|
|
52
86
|
export function _resetDecideDefaultsForTest() {
|
|
53
87
|
defaultCache = null;
|
|
54
88
|
defaultBudget = null;
|
|
89
|
+
defaultSpend = null;
|
|
90
|
+
defaultSpendCap = null;
|
|
55
91
|
}
|
|
56
92
|
function redactJson(value) {
|
|
57
93
|
if (typeof value === 'string')
|
|
@@ -98,7 +134,8 @@ function resolveProvider(opts, connection) {
|
|
|
98
134
|
return null;
|
|
99
135
|
if (!decisionProviderConfigSchema.safeParse({ baseUrl: connection.baseUrl }).success)
|
|
100
136
|
return null;
|
|
101
|
-
|
|
137
|
+
const capabilities = cachedCapabilities(connection);
|
|
138
|
+
return createJevProvider(connection, capabilities ? { capabilities } : {});
|
|
102
139
|
}
|
|
103
140
|
function resolveAudit(opts) {
|
|
104
141
|
if (opts.audit !== undefined)
|
|
@@ -120,17 +157,54 @@ function reasonForError(err) {
|
|
|
120
157
|
return err.kind;
|
|
121
158
|
}
|
|
122
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* The gates for a call. The configured cap is read BEFORE the deadline
|
|
162
|
+
* starts (a cold config read is not provider wait), once per process.
|
|
163
|
+
*/
|
|
164
|
+
async function resolveGates(opts) {
|
|
165
|
+
const budget = opts.budget === undefined ? processBudget() : opts.budget;
|
|
166
|
+
const spend = opts.spend === undefined ? processSpend() : opts.spend;
|
|
167
|
+
const capMicros = opts.spendCapMicros ??
|
|
168
|
+
(spend ? await processSpendCap(opts.projectRoot) : Number.POSITIVE_INFINITY);
|
|
169
|
+
return { budget, spend, capMicros };
|
|
170
|
+
}
|
|
123
171
|
/** True when `outcome` is contract-valid and answers every question with the right type. */
|
|
124
172
|
function coversRequest(outcome, req) {
|
|
125
173
|
if (!decisionOutcomeSchema.safeParse(outcome).success)
|
|
126
174
|
return false;
|
|
127
175
|
return Object.entries(req.questions).every(([name, q]) => outcome.answers[name]?.type === q.type);
|
|
128
176
|
}
|
|
129
|
-
/**
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
177
|
+
/**
|
|
178
|
+
* Cost reserved per question before a call, micro-dollars. Only a
|
|
179
|
+
* reservation: the provider-reported cost replaces it on commit, so this is
|
|
180
|
+
* never what is recorded (layahost bills 5–15 µ$ per decision, 2026-09).
|
|
181
|
+
*/
|
|
182
|
+
export const DECISION_COST_ESTIMATE_MICROS_PER_QUESTION = 15;
|
|
183
|
+
/** Estimated cost of asking `reqs`. */
|
|
184
|
+
function estimateMicros(reqs) {
|
|
185
|
+
return reqs.reduce((n, r) => n + Object.keys(r.questions).length * DECISION_COST_ESTIMATE_MICROS_PER_QUESTION, 0);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Spend cap (check and reserve, atomically) then request budget. A
|
|
189
|
+
* reservation is released again when the budget refuses.
|
|
190
|
+
*/
|
|
191
|
+
async function passGates(gates, estimate) {
|
|
192
|
+
let reservation;
|
|
193
|
+
if (gates.spend) {
|
|
194
|
+
const r = await gates.spend.reserve(gates.capMicros, estimate);
|
|
195
|
+
if (r.verdict === 'over_budget')
|
|
196
|
+
return { ok: false, reason: 'budget' };
|
|
197
|
+
if (r.verdict === 'key_limited')
|
|
198
|
+
return { ok: false, reason: 'key_limit_exceeded' };
|
|
199
|
+
if (r.verdict === 'unavailable')
|
|
200
|
+
return { ok: false, reason: 'budget_unavailable' };
|
|
201
|
+
reservation = r.id;
|
|
202
|
+
}
|
|
203
|
+
if (gates.budget) {
|
|
204
|
+
const grant = await gates.budget.tryAcquire();
|
|
133
205
|
if (!grant.granted) {
|
|
206
|
+
if (reservation !== undefined)
|
|
207
|
+
await gates.spend?.release(reservation);
|
|
134
208
|
return {
|
|
135
209
|
ok: false,
|
|
136
210
|
reason: grant.reason === 'exhausted'
|
|
@@ -141,19 +215,82 @@ async function attempt(provider, budget, req, signal) {
|
|
|
141
215
|
};
|
|
142
216
|
}
|
|
143
217
|
}
|
|
144
|
-
|
|
218
|
+
return { ok: true, ...(reservation !== undefined ? { reservation } : {}) };
|
|
219
|
+
}
|
|
220
|
+
/** Commit the reported cost against a reservation (or record it when there is none). */
|
|
221
|
+
async function settle(gates, reservation, micros) {
|
|
222
|
+
if (!gates.spend)
|
|
223
|
+
return;
|
|
224
|
+
if (reservation !== undefined)
|
|
225
|
+
await gates.spend.commit(reservation, micros);
|
|
226
|
+
else
|
|
227
|
+
await gates.spend.record(micros);
|
|
228
|
+
}
|
|
229
|
+
/** Side effects of a provider error on the shared gates; the fallback reason. */
|
|
230
|
+
async function onProviderError(err, gates) {
|
|
231
|
+
if (err.kind === 'rate_limited' && gates.budget)
|
|
232
|
+
await gates.budget.penalize(err.retryAfterMs);
|
|
233
|
+
if (err.kind === 'overloaded' && gates.budget) {
|
|
234
|
+
await gates.budget.penalize(err.retryAfterMs ?? OVERLOADED_COOLDOWN_MS);
|
|
235
|
+
}
|
|
236
|
+
if (err.kind === 'key_limit_exceeded' && gates.spend)
|
|
237
|
+
await gates.spend.markKeyLimited();
|
|
238
|
+
return reasonForError(err);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Whether a failed call may still have been billed: it was aborted (deadline
|
|
242
|
+
* or caller) AFTER the request was handed to the provider. The server may
|
|
243
|
+
* have answered and billed it, so its reservation is committed at the
|
|
244
|
+
* estimate rather than released. Every other failure is an error response or
|
|
245
|
+
* a transport failure, which the provider does not bill.
|
|
246
|
+
*/
|
|
247
|
+
function abortedAfterSend(err, signal) {
|
|
248
|
+
return signal.aborted || (err instanceof DecisionProviderError && err.kind === 'aborted');
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Settle a reservation after a failed call: commit the estimate when the
|
|
252
|
+
* call was aborted after send ({@link abortedAfterSend}), else release it.
|
|
253
|
+
*/
|
|
254
|
+
async function settleFailure(gates, reservation, estimate, err, signal) {
|
|
255
|
+
if (reservation === undefined || !gates.spend)
|
|
256
|
+
return;
|
|
257
|
+
if (abortedAfterSend(err, signal))
|
|
258
|
+
await gates.spend.commit(reservation, estimate);
|
|
259
|
+
else
|
|
260
|
+
await gates.spend.release(reservation);
|
|
261
|
+
}
|
|
262
|
+
/** Micro-dollars an outcome reported, preferring the exact integer. */
|
|
263
|
+
function reportedMicros(outcome) {
|
|
264
|
+
if (outcome.costMicros !== undefined)
|
|
265
|
+
return outcome.costMicros;
|
|
266
|
+
return outcome.costUsd !== undefined ? Math.round(outcome.costUsd * 1e6) : 0;
|
|
267
|
+
}
|
|
268
|
+
/** Spend gate + budget + provider call; never rejects. */
|
|
269
|
+
async function attempt(provider, gates, req, signal) {
|
|
270
|
+
const estimate = estimateMicros([req]);
|
|
271
|
+
const gate = await passGates(gates, estimate);
|
|
272
|
+
if (!gate.ok)
|
|
273
|
+
return { ok: false, reason: gate.reason };
|
|
274
|
+
if (signal.aborted) {
|
|
275
|
+
// Pre-send: nothing left the machine, so nothing can be billed.
|
|
276
|
+
if (gate.reservation !== undefined)
|
|
277
|
+
await gates.spend?.release(gate.reservation);
|
|
145
278
|
return { ok: false, reason: 'timeout' };
|
|
279
|
+
}
|
|
146
280
|
try {
|
|
147
281
|
const outcome = await provider.decide(req, signal);
|
|
282
|
+
// A 2xx is billed even when its body is unusable.
|
|
283
|
+
await settle(gates, gate.reservation, reportedMicros(outcome));
|
|
148
284
|
if (!coversRequest(outcome, req))
|
|
149
285
|
return { ok: false, reason: 'invalid_response' };
|
|
150
286
|
return { ok: true, outcome };
|
|
151
287
|
}
|
|
152
288
|
catch (err) {
|
|
289
|
+
// Failed requests are not billed (provider docs), but one aborted after
|
|
290
|
+
// send may have been answered and billed: charge its estimate.
|
|
291
|
+
await settleFailure(gates, gate.reservation, estimate, err, signal);
|
|
153
292
|
if (err instanceof DecisionProviderError) {
|
|
154
|
-
|
|
155
|
-
await budget.penalize(err.retryAfterMs);
|
|
156
|
-
return { ok: false, reason: reasonForError(err) };
|
|
293
|
+
return { ok: false, reason: await onProviderError(err, gates) };
|
|
157
294
|
}
|
|
158
295
|
return { ok: false, reason: signal.aborted ? 'timeout' : 'provider_error' };
|
|
159
296
|
}
|
|
@@ -163,7 +300,7 @@ async function attempt(provider, budget, req, signal) {
|
|
|
163
300
|
* deadline or the caller's signal fires, even if the provider ignores its
|
|
164
301
|
* abort signal.
|
|
165
302
|
*/
|
|
166
|
-
function withDeadline(run, timeoutMs, callerSignal) {
|
|
303
|
+
function withDeadline(run, timeoutMs, callerSignal, timedOut, crashed) {
|
|
167
304
|
const controller = new AbortController();
|
|
168
305
|
return new Promise((resolve) => {
|
|
169
306
|
let settled = false;
|
|
@@ -177,7 +314,7 @@ function withDeadline(run, timeoutMs, callerSignal) {
|
|
|
177
314
|
};
|
|
178
315
|
const onTimeout = () => {
|
|
179
316
|
controller.abort();
|
|
180
|
-
finish(
|
|
317
|
+
finish(timedOut);
|
|
181
318
|
};
|
|
182
319
|
const onCallerAbort = () => onTimeout();
|
|
183
320
|
const timer = setTimeout(onTimeout, Math.max(0, timeoutMs));
|
|
@@ -186,7 +323,7 @@ function withDeadline(run, timeoutMs, callerSignal) {
|
|
|
186
323
|
return;
|
|
187
324
|
}
|
|
188
325
|
callerSignal?.addEventListener('abort', onCallerAbort, { once: true });
|
|
189
|
-
run(controller.signal).then(finish, () => finish(
|
|
326
|
+
run(controller.signal).then(finish, () => finish(crashed));
|
|
190
327
|
});
|
|
191
328
|
}
|
|
192
329
|
/**
|
|
@@ -213,10 +350,29 @@ function withDeadline(run, timeoutMs, callerSignal) {
|
|
|
213
350
|
* ```
|
|
214
351
|
*/
|
|
215
352
|
export async function decide(siteId, req, fallback, opts = {}) {
|
|
216
|
-
const started = performance.now();
|
|
217
|
-
const elapsed = () => Math.max(0, performance.now() - started);
|
|
218
353
|
const audit = resolveAudit(opts);
|
|
219
354
|
const connection = resolveConnection(opts);
|
|
355
|
+
const item = prepare(siteId, req, fallback, opts, audit, connection);
|
|
356
|
+
const provider = resolveProvider(opts, connection);
|
|
357
|
+
if (!provider)
|
|
358
|
+
return item.useFallback('unconfigured');
|
|
359
|
+
if (!item.valid)
|
|
360
|
+
return item.useFallback('invalid_request');
|
|
361
|
+
const cache = opts.cache === undefined ? processCache() : opts.cache;
|
|
362
|
+
const hit = cache?.get(item.key);
|
|
363
|
+
if (hit)
|
|
364
|
+
return item.finish({ ...hit, source: 'cache', latencyMs: item.elapsed() });
|
|
365
|
+
const gates = await resolveGates(opts);
|
|
366
|
+
const result = await withDeadline((signal) => attempt(provider, gates, item.sent, signal), opts.timeoutMs ?? DEFAULT_DECISION_TIMEOUT_MS, opts.signal, { ok: false, reason: 'timeout' }, { ok: false, reason: 'provider_error' });
|
|
367
|
+
if (!result.ok)
|
|
368
|
+
return item.useFallback(result.reason);
|
|
369
|
+
cache?.set(item.key, result.outcome);
|
|
370
|
+
return item.finish({ ...result.outcome, source: 'provider', latencyMs: item.elapsed() });
|
|
371
|
+
}
|
|
372
|
+
/** Redact, validate, key and wire the audit for one request. */
|
|
373
|
+
function prepare(siteId, req, fallback, opts, audit, connection) {
|
|
374
|
+
const started = performance.now();
|
|
375
|
+
const elapsed = () => Math.max(0, performance.now() - started);
|
|
220
376
|
const defaultModel = req.model === undefined ? connection?.model : undefined;
|
|
221
377
|
const sent = {
|
|
222
378
|
...req,
|
|
@@ -237,26 +393,165 @@ export async function decide(siteId, req, fallback, opts = {}) {
|
|
|
237
393
|
...(reason ? { fallbackReason: reason } : {}),
|
|
238
394
|
latencyMs: outcome.latencyMs,
|
|
239
395
|
...(outcome.costUsd !== undefined ? { costUsd: outcome.costUsd } : {}),
|
|
396
|
+
...(outcome.costMicros !== undefined ? { costMicros: outcome.costMicros } : {}),
|
|
397
|
+
...(outcome.balanceMicros !== undefined ? { balanceMicros: outcome.balanceMicros } : {}),
|
|
398
|
+
...(outcome.checkpoint !== undefined ? { checkpoint: outcome.checkpoint } : {}),
|
|
240
399
|
...(sent.model !== undefined ? { model: sent.model } : {}),
|
|
241
400
|
});
|
|
242
401
|
return outcome;
|
|
243
402
|
};
|
|
244
|
-
|
|
403
|
+
return {
|
|
404
|
+
sent,
|
|
405
|
+
valid: decisionRequestSchema.safeParse(sent).success,
|
|
406
|
+
key: decisionCacheKey(opts.adapterVersion ?? JEV_ADAPTER_VERSION, sent),
|
|
407
|
+
elapsed,
|
|
408
|
+
finish,
|
|
409
|
+
useFallback: (reason) => finish({ answers: fallback(req), source: 'fallback', latencyMs: elapsed() }, reason),
|
|
410
|
+
};
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Ask several typed decisions at call site `siteId` under ONE deadline.
|
|
414
|
+
*
|
|
415
|
+
* When the provider reports a batch capability (`capabilities().batch`) and
|
|
416
|
+
* the entries fit its limits, the uncached ones go out as a single batch call
|
|
417
|
+
* (one spend check, one budget token). Otherwise it degrades to sequential
|
|
418
|
+
* {@link decide} calls that share the remaining deadline; entries the
|
|
419
|
+
* deadline cannot reach fall back with reason `timeout`. Never rejects; each
|
|
420
|
+
* entry is audited like a single decision.
|
|
421
|
+
*
|
|
422
|
+
* @param siteId - Stable call-site identifier.
|
|
423
|
+
* @param entries - Requests with their heuristics.
|
|
424
|
+
* @param opts - Same wiring as {@link decide}; `timeoutMs` covers the whole batch.
|
|
425
|
+
* @returns One outcome per entry, in order.
|
|
426
|
+
*/
|
|
427
|
+
export async function decideBatch(siteId, entries, opts = {}) {
|
|
428
|
+
if (entries.length === 0)
|
|
429
|
+
return [];
|
|
430
|
+
const started = performance.now();
|
|
431
|
+
const deadlineMs = opts.timeoutMs ?? DEFAULT_DECISION_TIMEOUT_MS;
|
|
432
|
+
const remaining = () => Math.max(0, deadlineMs - (performance.now() - started));
|
|
433
|
+
const connection = resolveConnection(opts);
|
|
245
434
|
const provider = resolveProvider(opts, connection);
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
435
|
+
const limits = provider?.capabilities?.().batch;
|
|
436
|
+
const questions = entries.reduce((n, e) => n + Object.keys(e.req.questions).length, 0);
|
|
437
|
+
const batchable = provider !== null &&
|
|
438
|
+
provider.decideBatch !== undefined &&
|
|
439
|
+
limits !== undefined &&
|
|
440
|
+
entries.length > 1 &&
|
|
441
|
+
entries.length <= limits.maxRequests &&
|
|
442
|
+
questions <= limits.maxQuestions;
|
|
443
|
+
if (!batchable || !provider?.decideBatch) {
|
|
444
|
+
const out = [];
|
|
445
|
+
for (const entry of entries) {
|
|
446
|
+
const timeoutMs = remaining();
|
|
447
|
+
// model-site-allowed: plumbing — the caller's siteId is checked at its decideBatch call (gate 35)
|
|
448
|
+
const outcome = await decide(siteId, entry.req, entry.fallback, { ...opts, timeoutMs });
|
|
449
|
+
out.push(outcome);
|
|
450
|
+
}
|
|
451
|
+
return out;
|
|
452
|
+
}
|
|
453
|
+
const audit = resolveAudit(opts);
|
|
250
454
|
const cache = opts.cache === undefined ? processCache() : opts.cache;
|
|
251
|
-
const
|
|
252
|
-
const
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
455
|
+
const items = entries.map((e) => prepare(siteId, e.req, e.fallback, opts, audit, connection));
|
|
456
|
+
const out = items.map((item) => {
|
|
457
|
+
if (!item.valid)
|
|
458
|
+
return item.useFallback('invalid_request');
|
|
459
|
+
const hit = cache?.get(item.key);
|
|
460
|
+
return hit ? item.finish({ ...hit, source: 'cache', latencyMs: item.elapsed() }) : undefined;
|
|
461
|
+
});
|
|
462
|
+
const pending = items.flatMap((item, i) => (out[i] === undefined ? [{ item, i }] : []));
|
|
463
|
+
if (pending.length > 0) {
|
|
464
|
+
const gates = await resolveGates(opts);
|
|
465
|
+
const batch = provider.decideBatch.bind(provider);
|
|
466
|
+
const result = await withDeadline(async (signal) => {
|
|
467
|
+
const sent = pending.map((p) => p.item.sent);
|
|
468
|
+
const estimate = estimateMicros(sent);
|
|
469
|
+
const gate = await passGates(gates, estimate);
|
|
470
|
+
if (!gate.ok)
|
|
471
|
+
return { ok: false, reason: gate.reason };
|
|
472
|
+
if (signal.aborted) {
|
|
473
|
+
if (gate.reservation !== undefined)
|
|
474
|
+
await gates.spend?.release(gate.reservation);
|
|
475
|
+
return { ok: false, reason: 'timeout' };
|
|
476
|
+
}
|
|
477
|
+
try {
|
|
478
|
+
const answered = await batch(sent, signal);
|
|
479
|
+
const billed = answered.reduce((n, a) => n + (a.ok ? reportedMicros(a.outcome) : 0), 0);
|
|
480
|
+
await settle(gates, gate.reservation, billed);
|
|
481
|
+
return { ok: true, items: answered };
|
|
482
|
+
}
|
|
483
|
+
catch (err) {
|
|
484
|
+
await settleFailure(gates, gate.reservation, estimate, err, signal);
|
|
485
|
+
if (err instanceof DecisionProviderError) {
|
|
486
|
+
return { ok: false, reason: await onProviderError(err, gates) };
|
|
487
|
+
}
|
|
488
|
+
return { ok: false, reason: signal.aborted ? 'timeout' : 'provider_error' };
|
|
489
|
+
}
|
|
490
|
+
}, remaining(), opts.signal, { ok: false, reason: 'timeout' }, { ok: false, reason: 'provider_error' });
|
|
491
|
+
if (result.ok)
|
|
492
|
+
await applyBatchItemErrors(result.items, gates);
|
|
493
|
+
for (const [k, { item, i }] of pending.entries()) {
|
|
494
|
+
if (!result.ok) {
|
|
495
|
+
out[i] = item.useFallback(result.reason);
|
|
496
|
+
continue;
|
|
497
|
+
}
|
|
498
|
+
const answered = result.items[k];
|
|
499
|
+
if (answered?.ok && coversRequest(answered.outcome, item.sent)) {
|
|
500
|
+
cache?.set(item.key, answered.outcome);
|
|
501
|
+
out[i] = item.finish({
|
|
502
|
+
...answered.outcome,
|
|
503
|
+
source: 'provider',
|
|
504
|
+
latencyMs: item.elapsed(),
|
|
505
|
+
});
|
|
506
|
+
}
|
|
507
|
+
else {
|
|
508
|
+
out[i] = item.useFallback(answered && !answered.ok ? batchItemReason(answered.errorKind) : 'invalid_response');
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
return items.map((item, i) => out[i] ?? item.useFallback('provider_error'));
|
|
513
|
+
}
|
|
514
|
+
/** Fallback reason for a failed batch item. */
|
|
515
|
+
function batchItemReason(kind) {
|
|
516
|
+
switch (kind) {
|
|
517
|
+
case 'unauthorized':
|
|
518
|
+
case 'insufficient_credits':
|
|
519
|
+
case 'key_limit_exceeded':
|
|
520
|
+
case 'rate_limited':
|
|
521
|
+
case 'overloaded':
|
|
522
|
+
case 'server_error':
|
|
523
|
+
case 'invalid_request':
|
|
524
|
+
case 'invalid_response':
|
|
525
|
+
return kind;
|
|
526
|
+
default:
|
|
527
|
+
return 'provider_error';
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
/** Batch item error kinds with a side effect on the shared gates. */
|
|
531
|
+
const GATE_ERROR_KINDS = new Set(['key_limit_exceeded', 'rate_limited', 'overloaded']);
|
|
532
|
+
/** The gate-affecting provider error kind named by a batch item, if any. */
|
|
533
|
+
function gateErrorKind(kind) {
|
|
534
|
+
for (const k of GATE_ERROR_KINDS)
|
|
535
|
+
if (k === kind)
|
|
536
|
+
return k;
|
|
537
|
+
return null;
|
|
538
|
+
}
|
|
539
|
+
/**
|
|
540
|
+
* Give failed batch items the same gate side effects as a failed single
|
|
541
|
+
* call (key-limit stop, rate-limit and overload back-off), once per kind.
|
|
542
|
+
*/
|
|
543
|
+
async function applyBatchItemErrors(items, gates) {
|
|
544
|
+
const seen = new Set();
|
|
545
|
+
for (const item of items) {
|
|
546
|
+
if (item.ok)
|
|
547
|
+
continue;
|
|
548
|
+
const kind = gateErrorKind(item.errorKind);
|
|
549
|
+
if (kind === null || seen.has(kind))
|
|
550
|
+
continue;
|
|
551
|
+
seen.add(kind);
|
|
552
|
+
await onProviderError(new DecisionProviderError(kind, `batch item failed: ${kind}`, {
|
|
553
|
+
...(item.status !== undefined ? { status: item.status } : {}),
|
|
554
|
+
}), gates);
|
|
555
|
+
}
|
|
261
556
|
}
|
|
262
557
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/decide/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/decide/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Decision-provider credential store — the two settings a
|
|
3
|
-
* (an API base URL and an API key)
|
|
2
|
+
* Decision-provider credential store — the provider kind, the two settings a
|
|
3
|
+
* user supplies (an API base URL and an API key) and the default model.
|
|
4
|
+
*
|
|
5
|
+
* The file stays at schema version 1. T12713 added `provider` (`layahost` |
|
|
6
|
+
* `jev`) as an OPTIONAL, additive field instead of bumping the version, so a
|
|
7
|
+
* CLEO that predates provider kinds (whose zod object is non-strict and
|
|
8
|
+
* accepts only `version: 1`) still parses the file after a downgrade. A file
|
|
9
|
+
* without `provider` infers the kind from its base URL
|
|
10
|
+
* ({@link inferDecisionProviderKind}).
|
|
4
11
|
*
|
|
5
12
|
* Stored at `<cleoHome>/decide-credentials.json` (resolved through
|
|
6
13
|
* `@cleocode/paths`, arch gate 2) with 0600 permissions:
|
|
@@ -23,14 +30,24 @@
|
|
|
23
30
|
* masked preview only.
|
|
24
31
|
*
|
|
25
32
|
* @task T12491
|
|
33
|
+
* @task T12713
|
|
26
34
|
* @epic T12486
|
|
27
35
|
*/
|
|
28
36
|
import { inspect } from 'node:util';
|
|
37
|
+
import { type DecisionProviderKind } from '@cleocode/contracts';
|
|
29
38
|
import type { DecisionProviderConnection } from './provider.js';
|
|
30
39
|
/** File name of the store, directly under the CLEO home. */
|
|
31
40
|
export declare const DECIDE_CREDENTIALS_FILE = "decide-credentials.json";
|
|
41
|
+
/**
|
|
42
|
+
* On-disk schema version. Deliberately still 1: `provider` is an additive
|
|
43
|
+
* optional field, and released CLEO parses `z.literal(1)` — bumping this would
|
|
44
|
+
* silently disable System One after a downgrade.
|
|
45
|
+
*/
|
|
46
|
+
export declare const DECIDE_CREDENTIALS_VERSION = 1;
|
|
32
47
|
/** Settings accepted by {@link saveDecideCredentials}. */
|
|
33
48
|
export interface DecideCredentialsInput {
|
|
49
|
+
/** Provider kind. Omitted → `jev` (a custom endpoint). */
|
|
50
|
+
readonly provider?: DecisionProviderKind;
|
|
34
51
|
/** Absolute provider base URL, e.g. `https://provider.example`. */
|
|
35
52
|
readonly baseUrl: string;
|
|
36
53
|
/** API key. Leading/trailing whitespace (e.g. a piped newline) is trimmed. */
|
|
@@ -44,6 +61,8 @@ export interface DecideCredentialsSummary {
|
|
|
44
61
|
readonly configured: boolean;
|
|
45
62
|
/** Absolute path of the store file. */
|
|
46
63
|
readonly path: string;
|
|
64
|
+
/** Stored provider kind, when present. */
|
|
65
|
+
readonly provider?: DecisionProviderKind;
|
|
47
66
|
/** Stored base URL, when present. */
|
|
48
67
|
readonly baseUrl?: string;
|
|
49
68
|
/** Stored default model, when present. */
|
|
@@ -72,6 +91,8 @@ export declare function maskApiKey(apiKey: string): string;
|
|
|
72
91
|
*/
|
|
73
92
|
export declare class SealedDecideConnection {
|
|
74
93
|
#private;
|
|
94
|
+
/** Provider kind (not secret). */
|
|
95
|
+
readonly provider: DecisionProviderKind;
|
|
75
96
|
/** Provider base URL (not secret). */
|
|
76
97
|
readonly baseUrl: string;
|
|
77
98
|
/** Default model, when configured. */
|
|
@@ -82,8 +103,9 @@ export declare class SealedDecideConnection {
|
|
|
82
103
|
* @param baseUrl - Provider base URL.
|
|
83
104
|
* @param apiKey - Plaintext key; captured privately.
|
|
84
105
|
* @param model - Optional default model.
|
|
106
|
+
* @param provider - Provider kind. Default `jev`.
|
|
85
107
|
*/
|
|
86
|
-
constructor(baseUrl: string, apiKey: string, model?: string);
|
|
108
|
+
constructor(baseUrl: string, apiKey: string, model?: string, provider?: DecisionProviderKind);
|
|
87
109
|
/**
|
|
88
110
|
* Materialise the wire connection. Call only where the request is built.
|
|
89
111
|
*
|
|
@@ -92,6 +114,7 @@ export declare class SealedDecideConnection {
|
|
|
92
114
|
connection(): DecisionProviderConnection;
|
|
93
115
|
/** @returns The secret-free JSON form. */
|
|
94
116
|
toJSON(): {
|
|
117
|
+
provider: DecisionProviderKind;
|
|
95
118
|
baseUrl: string;
|
|
96
119
|
model?: string;
|
|
97
120
|
keyPreview: string;
|
|
@@ -141,7 +164,8 @@ export declare class DecideCredentialsError extends Error {
|
|
|
141
164
|
/** Reset the once-only loose-home warning. Tests only. @internal */
|
|
142
165
|
export declare function _resetDecideHomeWarningForTest(): void;
|
|
143
166
|
/**
|
|
144
|
-
* Store the base URL, API key and optional model (0600, locked,
|
|
167
|
+
* Store the provider kind, base URL, API key and optional model (0600, locked,
|
|
168
|
+
* atomic). Writes schema version 1 with the optional `provider` field.
|
|
145
169
|
*
|
|
146
170
|
* @param input - Settings to store; replaces any previous settings.
|
|
147
171
|
* @returns Secret-free summary of what is now stored.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/decide/credentials.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/decide/credentials.ts"],"names":[],"mappings":"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"}
|