@cleocode/core 2026.6.12 → 2026.6.14
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/admin/ops.d.ts +4 -0
- package/dist/admin/ops.d.ts.map +1 -1
- package/dist/check/index.d.ts +12 -0
- package/dist/check/index.d.ts.map +1 -0
- package/dist/check/index.js +12 -0
- package/dist/check/index.js.map +1 -0
- package/dist/check/pr-gate.d.ts +179 -0
- package/dist/check/pr-gate.d.ts.map +1 -0
- package/dist/check/pr-gate.js +366 -0
- package/dist/check/pr-gate.js.map +1 -0
- package/dist/conduit/delivery-router.d.ts +134 -0
- package/dist/conduit/delivery-router.d.ts.map +1 -0
- package/dist/conduit/delivery-router.js +0 -0
- package/dist/conduit/delivery-router.js.map +1 -0
- package/dist/conduit/index.d.ts +5 -2
- package/dist/conduit/index.d.ts.map +1 -1
- package/dist/conduit/index.js +5 -2
- package/dist/conduit/index.js.map +1 -1
- package/dist/conduit/local-transport.d.ts +12 -0
- package/dist/conduit/local-transport.d.ts.map +1 -1
- package/dist/conduit/local-transport.js +53 -23
- package/dist/conduit/local-transport.js.map +1 -1
- package/dist/conduit/local-tui-adapter.d.ts +89 -0
- package/dist/conduit/local-tui-adapter.d.ts.map +1 -0
- package/dist/conduit/local-tui-adapter.js +225 -0
- package/dist/conduit/local-tui-adapter.js.map +1 -0
- package/dist/config/registry.d.ts +54 -0
- package/dist/config/registry.d.ts.map +1 -1
- package/dist/config/registry.js +94 -2
- package/dist/config/registry.js.map +1 -1
- package/dist/crypto/credentials.d.ts +37 -0
- package/dist/crypto/credentials.d.ts.map +1 -1
- package/dist/crypto/credentials.js +110 -0
- package/dist/crypto/credentials.js.map +1 -1
- package/dist/deriver/queue-manager.d.ts +30 -2
- package/dist/deriver/queue-manager.d.ts.map +1 -1
- package/dist/deriver/queue-manager.js +54 -9
- package/dist/deriver/queue-manager.js.map +1 -1
- package/dist/dispatch/config-domain-handler.d.ts +125 -0
- package/dist/dispatch/config-domain-handler.d.ts.map +1 -0
- package/dist/dispatch/config-domain-handler.js +160 -0
- package/dist/dispatch/config-domain-handler.js.map +1 -0
- package/dist/dispatch/contracts/derive-output-contract.d.ts +86 -0
- package/dist/dispatch/contracts/derive-output-contract.d.ts.map +1 -0
- package/dist/dispatch/contracts/derive-output-contract.js +347 -0
- package/dist/dispatch/contracts/derive-output-contract.js.map +1 -0
- package/dist/dispatch/contracts/ensures-schema.d.ts +77 -0
- package/dist/dispatch/contracts/ensures-schema.d.ts.map +1 -0
- package/dist/dispatch/contracts/ensures-schema.js +91 -0
- package/dist/dispatch/contracts/ensures-schema.js.map +1 -0
- package/dist/dispatch/contracts/input-contracts.d.ts.map +1 -1
- package/dist/dispatch/contracts/input-contracts.js +19 -1
- package/dist/dispatch/contracts/input-contracts.js.map +1 -1
- package/dist/dispatch/contracts/output-contracts.d.ts +27 -5
- package/dist/dispatch/contracts/output-contracts.d.ts.map +1 -1
- package/dist/dispatch/contracts/output-contracts.js +29 -6
- package/dist/dispatch/contracts/output-contracts.js.map +1 -1
- package/dist/docs/export-document.js +5413 -1345
- package/dist/docs/export-document.js.map +3 -3
- package/dist/gateway-client/client.d.ts +123 -0
- package/dist/gateway-client/client.d.ts.map +1 -0
- package/dist/gateway-client/client.js +93 -0
- package/dist/gateway-client/client.js.map +1 -0
- package/dist/gateway-client/generated/client/client.gen.d.ts +3 -0
- package/dist/gateway-client/generated/client/client.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/client/client.gen.js +217 -0
- package/dist/gateway-client/generated/client/client.gen.js.map +1 -0
- package/dist/gateway-client/generated/client/index.d.ts +11 -0
- package/dist/gateway-client/generated/client/index.d.ts.map +1 -0
- package/dist/gateway-client/generated/client/index.js +7 -0
- package/dist/gateway-client/generated/client/index.js.map +1 -0
- package/dist/gateway-client/generated/client/types.gen.d.ts +121 -0
- package/dist/gateway-client/generated/client/types.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/client/types.gen.js +3 -0
- package/dist/gateway-client/generated/client/types.gen.js.map +1 -0
- package/dist/gateway-client/generated/client/utils.gen.d.ts +38 -0
- package/dist/gateway-client/generated/client/utils.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/client/utils.gen.js +229 -0
- package/dist/gateway-client/generated/client/utils.gen.js.map +1 -0
- package/dist/gateway-client/generated/client.gen.d.ts +13 -0
- package/dist/gateway-client/generated/client.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/client.gen.js +4 -0
- package/dist/gateway-client/generated/client.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/auth.gen.d.ts +26 -0
- package/dist/gateway-client/generated/core/auth.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/auth.gen.js +15 -0
- package/dist/gateway-client/generated/core/auth.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/bodySerializer.gen.d.ts +26 -0
- package/dist/gateway-client/generated/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/bodySerializer.gen.js +58 -0
- package/dist/gateway-client/generated/core/bodySerializer.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/params.gen.d.ts +44 -0
- package/dist/gateway-client/generated/core/params.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/params.gen.js +101 -0
- package/dist/gateway-client/generated/core/params.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/pathSerializer.gen.d.ts +34 -0
- package/dist/gateway-client/generated/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/pathSerializer.gen.js +107 -0
- package/dist/gateway-client/generated/core/pathSerializer.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/gateway-client/generated/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/queryKeySerializer.gen.js +93 -0
- package/dist/gateway-client/generated/core/queryKeySerializer.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/gateway-client/generated/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/serverSentEvents.gen.js +133 -0
- package/dist/gateway-client/generated/core/serverSentEvents.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/types.gen.d.ts +84 -0
- package/dist/gateway-client/generated/core/types.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/types.gen.js +3 -0
- package/dist/gateway-client/generated/core/types.gen.js.map +1 -0
- package/dist/gateway-client/generated/core/utils.gen.d.ts +20 -0
- package/dist/gateway-client/generated/core/utils.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/core/utils.gen.js +88 -0
- package/dist/gateway-client/generated/core/utils.gen.js.map +1 -0
- package/dist/gateway-client/generated/index.d.ts +3 -0
- package/dist/gateway-client/generated/index.d.ts.map +1 -0
- package/dist/gateway-client/generated/index.js +3 -0
- package/dist/gateway-client/generated/index.js.map +1 -0
- package/dist/gateway-client/generated/namespaces.gen.d.ts +512 -0
- package/dist/gateway-client/generated/namespaces.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/namespaces.gen.js +521 -0
- package/dist/gateway-client/generated/namespaces.gen.js.map +1 -0
- package/dist/gateway-client/generated/sdk.gen.d.ts +1780 -0
- package/dist/gateway-client/generated/sdk.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/sdk.gen.js +3811 -0
- package/dist/gateway-client/generated/sdk.gen.js.map +1 -0
- package/dist/gateway-client/generated/types.gen.d.ts +14681 -0
- package/dist/gateway-client/generated/types.gen.d.ts.map +1 -0
- package/dist/gateway-client/generated/types.gen.js +3 -0
- package/dist/gateway-client/generated/types.gen.js.map +1 -0
- package/dist/gateway-client/index.d.ts +27 -0
- package/dist/gateway-client/index.d.ts.map +1 -0
- package/dist/gateway-client/index.js +25 -0
- package/dist/gateway-client/index.js.map +1 -0
- package/dist/go/driver.d.ts +132 -7
- package/dist/go/driver.d.ts.map +1 -1
- package/dist/go/driver.js +135 -10
- package/dist/go/driver.js.map +1 -1
- package/dist/go/index.d.ts +1 -1
- package/dist/go/index.d.ts.map +1 -1
- package/dist/go/index.js +1 -1
- package/dist/go/index.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +28 -0
- package/dist/init.js.map +1 -1
- package/dist/internal.d.ts +23 -11
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +29 -12
- package/dist/internal.js.map +1 -1
- package/dist/lifecycle/engine-ops.d.ts.map +1 -1
- package/dist/lifecycle/engine-ops.js +7 -4
- package/dist/lifecycle/engine-ops.js.map +1 -1
- package/dist/lifecycle/ivtr-loop.d.ts +108 -183
- package/dist/lifecycle/ivtr-loop.d.ts.map +1 -1
- package/dist/lifecycle/ivtr-loop.js +207 -522
- package/dist/lifecycle/ivtr-loop.js.map +1 -1
- package/dist/llm/auxiliary-fallback.js +1 -1
- package/dist/llm/auxiliary-fallback.js.map +1 -1
- package/dist/llm/catalog-model-resolver.d.ts +19 -0
- package/dist/llm/catalog-model-resolver.d.ts.map +1 -1
- package/dist/llm/catalog-model-resolver.js +36 -0
- package/dist/llm/catalog-model-resolver.js.map +1 -1
- package/dist/llm/catalog-resolver.d.ts +112 -0
- package/dist/llm/catalog-resolver.d.ts.map +1 -0
- package/dist/llm/catalog-resolver.js +207 -0
- package/dist/llm/catalog-resolver.js.map +1 -0
- package/dist/llm/catalog-seeder.d.ts +96 -0
- package/dist/llm/catalog-seeder.d.ts.map +1 -0
- package/dist/llm/catalog-seeder.js +189 -0
- package/dist/llm/catalog-seeder.js.map +1 -0
- package/dist/llm/cli-ops.d.ts +14 -1
- package/dist/llm/cli-ops.d.ts.map +1 -1
- package/dist/llm/cli-ops.js +46 -17
- package/dist/llm/cli-ops.js.map +1 -1
- package/dist/llm/complexity-classifier.d.ts +208 -0
- package/dist/llm/complexity-classifier.d.ts.map +1 -0
- package/dist/llm/complexity-classifier.js +359 -0
- package/dist/llm/complexity-classifier.js.map +1 -0
- package/dist/llm/concrete-session.d.ts.map +1 -1
- package/dist/llm/concrete-session.js +4 -0
- package/dist/llm/concrete-session.js.map +1 -1
- package/dist/llm/credential-pool.d.ts +2 -0
- package/dist/llm/credential-pool.d.ts.map +1 -1
- package/dist/llm/credential-pool.js +5 -2
- package/dist/llm/credential-pool.js.map +1 -1
- package/dist/llm/credentials-store.d.ts +10 -14
- package/dist/llm/credentials-store.d.ts.map +1 -1
- package/dist/llm/credentials-store.js.map +1 -1
- package/dist/llm/credentials.d.ts +35 -0
- package/dist/llm/credentials.d.ts.map +1 -1
- package/dist/llm/credentials.js +49 -0
- package/dist/llm/credentials.js.map +1 -1
- package/dist/llm/entity-ops.d.ts +299 -0
- package/dist/llm/entity-ops.d.ts.map +1 -0
- package/dist/llm/entity-ops.js +441 -0
- package/dist/llm/entity-ops.js.map +1 -0
- package/dist/llm/index.d.ts +19 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +12 -0
- package/dist/llm/index.js.map +1 -1
- package/dist/llm/llm-queue-admit.d.ts +118 -0
- package/dist/llm/llm-queue-admit.d.ts.map +1 -0
- package/dist/llm/llm-queue-admit.js +275 -0
- package/dist/llm/llm-queue-admit.js.map +1 -0
- package/dist/llm/oauth/device-code.d.ts.map +1 -1
- package/dist/llm/oauth/device-code.js +2 -8
- package/dist/llm/oauth/device-code.js.map +1 -1
- package/dist/llm/oauth/google-pkce.d.ts.map +1 -1
- package/dist/llm/oauth/google-pkce.js +2 -18
- package/dist/llm/oauth/google-pkce.js.map +1 -1
- package/dist/llm/oauth/pkce.d.ts +70 -0
- package/dist/llm/oauth/pkce.d.ts.map +1 -1
- package/dist/llm/oauth/pkce.js +106 -29
- package/dist/llm/oauth/pkce.js.map +1 -1
- package/dist/llm/onboarding/front-door.d.ts +146 -0
- package/dist/llm/onboarding/front-door.d.ts.map +1 -0
- package/dist/llm/onboarding/front-door.js +153 -0
- package/dist/llm/onboarding/front-door.js.map +1 -0
- package/dist/llm/onboarding/login-engine.d.ts +175 -0
- package/dist/llm/onboarding/login-engine.d.ts.map +1 -0
- package/dist/llm/onboarding/login-engine.js +286 -0
- package/dist/llm/onboarding/login-engine.js.map +1 -0
- package/dist/llm/pi/gondolin-loader.d.ts +241 -0
- package/dist/llm/pi/gondolin-loader.d.ts.map +1 -0
- package/dist/llm/pi/gondolin-loader.js +195 -0
- package/dist/llm/pi/gondolin-loader.js.map +1 -0
- package/dist/llm/pi/index.d.ts +28 -0
- package/dist/llm/pi/index.d.ts.map +1 -0
- package/dist/llm/pi/index.js +27 -0
- package/dist/llm/pi/index.js.map +1 -0
- package/dist/llm/pi/pi-agent-adapter.d.ts +135 -0
- package/dist/llm/pi/pi-agent-adapter.d.ts.map +1 -0
- package/dist/llm/pi/pi-agent-adapter.js +329 -0
- package/dist/llm/pi/pi-agent-adapter.js.map +1 -0
- package/dist/llm/pi/pi-errors.d.ts +161 -0
- package/dist/llm/pi/pi-errors.d.ts.map +1 -0
- package/dist/llm/pi/pi-errors.js +296 -0
- package/dist/llm/pi/pi-errors.js.map +1 -0
- package/dist/llm/pi/pi-execution-env.d.ts +286 -0
- package/dist/llm/pi/pi-execution-env.d.ts.map +1 -0
- package/dist/llm/pi/pi-execution-env.js +406 -0
- package/dist/llm/pi/pi-execution-env.js.map +1 -0
- package/dist/llm/pi/pi-gondolin-env.d.ts +250 -0
- package/dist/llm/pi/pi-gondolin-env.d.ts.map +1 -0
- package/dist/llm/pi/pi-gondolin-env.js +541 -0
- package/dist/llm/pi/pi-gondolin-env.js.map +1 -0
- package/dist/llm/pi/pi-session-storage.d.ts +154 -0
- package/dist/llm/pi/pi-session-storage.d.ts.map +1 -0
- package/dist/llm/pi/pi-session-storage.js +314 -0
- package/dist/llm/pi/pi-session-storage.js.map +1 -0
- package/dist/llm/pi/pi-stream-fn.d.ts +124 -0
- package/dist/llm/pi/pi-stream-fn.d.ts.map +1 -0
- package/dist/llm/pi/pi-stream-fn.js +504 -0
- package/dist/llm/pi/pi-stream-fn.js.map +1 -0
- package/dist/llm/pi/pi-tool-bridge.d.ts +99 -0
- package/dist/llm/pi/pi-tool-bridge.d.ts.map +1 -0
- package/dist/llm/pi/pi-tool-bridge.js +117 -0
- package/dist/llm/pi/pi-tool-bridge.js.map +1 -0
- package/dist/llm/pi/pi-types.d.ts +56 -0
- package/dist/llm/pi/pi-types.d.ts.map +1 -0
- package/dist/llm/pi/pi-types.js +16 -0
- package/dist/llm/pi/pi-types.js.map +1 -0
- package/dist/llm/pi/resolve-execution-env.d.ts +194 -0
- package/dist/llm/pi/resolve-execution-env.d.ts.map +1 -0
- package/dist/llm/pi/resolve-execution-env.js +132 -0
- package/dist/llm/pi/resolve-execution-env.js.map +1 -0
- package/dist/llm/plugin-facade.js +5472 -1331
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/llm/provider-registry/builtin/anthropic.d.ts.map +1 -1
- package/dist/llm/provider-registry/builtin/anthropic.js +23 -10
- package/dist/llm/provider-registry/builtin/anthropic.js.map +1 -1
- package/dist/llm/provider-registry/provider-alias.d.ts +62 -0
- package/dist/llm/provider-registry/provider-alias.d.ts.map +1 -0
- package/dist/llm/provider-registry/provider-alias.js +85 -0
- package/dist/llm/provider-registry/provider-alias.js.map +1 -0
- package/dist/llm/provider-registry/provider-defs.d.ts +45 -0
- package/dist/llm/provider-registry/provider-defs.d.ts.map +1 -0
- package/dist/llm/provider-registry/provider-defs.js +145 -0
- package/dist/llm/provider-registry/provider-defs.js.map +1 -0
- package/dist/llm/provider-registry/provider-seed.d.ts +78 -0
- package/dist/llm/provider-registry/provider-seed.d.ts.map +1 -0
- package/dist/llm/provider-registry/provider-seed.js +113 -0
- package/dist/llm/provider-registry/provider-seed.js.map +1 -0
- package/dist/llm/role-executor.d.ts.map +1 -1
- package/dist/llm/role-executor.js +44 -5
- package/dist/llm/role-executor.js.map +1 -1
- package/dist/llm/role-resolver.d.ts +46 -14
- package/dist/llm/role-resolver.d.ts.map +1 -1
- package/dist/llm/role-resolver.js +185 -20
- package/dist/llm/role-resolver.js.map +1 -1
- package/dist/llm/sealed-credential.d.ts +125 -0
- package/dist/llm/sealed-credential.d.ts.map +1 -0
- package/dist/llm/sealed-credential.js +133 -0
- package/dist/llm/sealed-credential.js.map +1 -0
- package/dist/llm/session-factory.d.ts.map +1 -1
- package/dist/llm/session-factory.js +6 -2
- package/dist/llm/session-factory.js.map +1 -1
- package/dist/llm/system-key.d.ts +67 -0
- package/dist/llm/system-key.d.ts.map +1 -0
- package/dist/llm/system-key.js +87 -0
- package/dist/llm/system-key.js.map +1 -0
- package/dist/llm/system-of-use-registry.d.ts +119 -0
- package/dist/llm/system-of-use-registry.d.ts.map +1 -0
- package/dist/llm/system-of-use-registry.js +200 -0
- package/dist/llm/system-of-use-registry.js.map +1 -0
- package/dist/llm/system-resolver.d.ts +32 -10
- package/dist/llm/system-resolver.d.ts.map +1 -1
- package/dist/llm/system-resolver.js +138 -35
- package/dist/llm/system-resolver.js.map +1 -1
- package/dist/memory/brain-writer-thread.d.ts.map +1 -1
- package/dist/memory/brain-writer-thread.js +116 -11
- package/dist/memory/brain-writer-thread.js.map +1 -1
- package/dist/memory/claude-mem-migration.d.ts.map +1 -1
- package/dist/memory/claude-mem-migration.js +21 -0
- package/dist/memory/claude-mem-migration.js.map +1 -1
- package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
- package/dist/memory/graph-memory-bridge.js +32 -25
- package/dist/memory/graph-memory-bridge.js.map +1 -1
- package/dist/memory/learnings.d.ts +4 -0
- package/dist/memory/learnings.d.ts.map +1 -1
- package/dist/memory/llm-backend-resolver.js +23 -5
- package/dist/memory/llm-backend-resolver.js.map +1 -1
- package/dist/memory/patterns.d.ts +4 -0
- package/dist/memory/patterns.d.ts.map +1 -1
- package/dist/metrics/index.d.ts +2 -0
- package/dist/metrics/index.d.ts.map +1 -1
- package/dist/metrics/index.js +1 -0
- package/dist/metrics/index.js.map +1 -1
- package/dist/nexus/migrations/M-split-graph.d.ts.map +1 -1
- package/dist/nexus/migrations/M-split-graph.js +60 -53
- package/dist/nexus/migrations/M-split-graph.js.map +1 -1
- package/dist/orchestrate/pivot.d.ts.map +1 -1
- package/dist/orchestrate/pivot.js +20 -2
- package/dist/orchestrate/pivot.js.map +1 -1
- package/dist/orchestration/spawn.d.ts +89 -0
- package/dist/orchestration/spawn.d.ts.map +1 -1
- package/dist/orchestration/spawn.js +68 -0
- package/dist/orchestration/spawn.js.map +1 -1
- package/dist/playbooks/cantbook-profile.d.ts +96 -0
- package/dist/playbooks/cantbook-profile.d.ts.map +1 -0
- package/dist/playbooks/cantbook-profile.js +97 -0
- package/dist/playbooks/cantbook-profile.js.map +1 -0
- package/dist/playbooks/guarded-deterministic-runner.d.ts +153 -0
- package/dist/playbooks/guarded-deterministic-runner.d.ts.map +1 -0
- package/dist/playbooks/guarded-deterministic-runner.js +155 -0
- package/dist/playbooks/guarded-deterministic-runner.js.map +1 -0
- package/dist/playbooks/index.d.ts +2 -0
- package/dist/playbooks/index.d.ts.map +1 -1
- package/dist/playbooks/index.js +10 -0
- package/dist/playbooks/index.js.map +1 -1
- package/dist/playbooks/pi-runner-wiring.d.ts +75 -0
- package/dist/playbooks/pi-runner-wiring.d.ts.map +1 -0
- package/dist/playbooks/pi-runner-wiring.js +82 -0
- package/dist/playbooks/pi-runner-wiring.js.map +1 -0
- package/dist/release/engine-ops.js +2 -2
- package/dist/release/engine-ops.js.map +1 -1
- package/dist/routing/capability-matrix.d.ts.map +1 -1
- package/dist/routing/capability-matrix.js +0 -57
- package/dist/routing/capability-matrix.js.map +1 -1
- package/dist/runtime/openapi/generate-openapi.d.ts +211 -0
- package/dist/runtime/openapi/generate-openapi.d.ts.map +1 -0
- package/dist/runtime/openapi/generate-openapi.js +300 -0
- package/dist/runtime/openapi/generate-openapi.js.map +1 -0
- package/dist/runtime/openapi/index.d.ts +16 -0
- package/dist/runtime/openapi/index.d.ts.map +1 -0
- package/dist/runtime/openapi/index.js +16 -0
- package/dist/runtime/openapi/index.js.map +1 -0
- package/dist/selfimprove/budget.d.ts +206 -0
- package/dist/selfimprove/budget.d.ts.map +1 -0
- package/dist/selfimprove/budget.js +203 -0
- package/dist/selfimprove/budget.js.map +1 -0
- package/dist/selfimprove/dhq-adapter.d.ts +105 -0
- package/dist/selfimprove/dhq-adapter.d.ts.map +1 -0
- package/dist/selfimprove/dhq-adapter.js +95 -0
- package/dist/selfimprove/dhq-adapter.js.map +1 -0
- package/dist/selfimprove/draft-pr.d.ts +129 -0
- package/dist/selfimprove/draft-pr.d.ts.map +1 -0
- package/dist/selfimprove/draft-pr.js +158 -0
- package/dist/selfimprove/draft-pr.js.map +1 -0
- package/dist/selfimprove/envelope-diff.d.ts +162 -0
- package/dist/selfimprove/envelope-diff.d.ts.map +1 -0
- package/dist/selfimprove/envelope-diff.js +321 -0
- package/dist/selfimprove/envelope-diff.js.map +1 -0
- package/dist/selfimprove/replay.d.ts +121 -0
- package/dist/selfimprove/replay.d.ts.map +1 -0
- package/dist/selfimprove/replay.js +109 -0
- package/dist/selfimprove/replay.js.map +1 -0
- package/dist/selfimprove/run-loop.d.ts +148 -0
- package/dist/selfimprove/run-loop.d.ts.map +1 -0
- package/dist/selfimprove/run-loop.js +240 -0
- package/dist/selfimprove/run-loop.js.map +1 -0
- package/dist/selfimprove/scenario.d.ts +145 -0
- package/dist/selfimprove/scenario.d.ts.map +1 -0
- package/dist/selfimprove/scenario.js +243 -0
- package/dist/selfimprove/scenario.js.map +1 -0
- package/dist/selfimprove/scenarios/dhq-replay-find/golden.json +32 -0
- package/dist/selfimprove/scenarios/dhq-replay-find/scenario.json +18 -0
- package/dist/sentient/daemon-entry.js +5 -0
- package/dist/sentient/daemon-entry.js.map +1 -1
- package/dist/sentient/daemon.d.ts.map +1 -1
- package/dist/sentient/daemon.js +19 -0
- package/dist/sentient/daemon.js.map +1 -1
- package/dist/sentient/hygiene-scan.d.ts.map +1 -1
- package/dist/sentient/hygiene-scan.js +14 -6
- package/dist/sentient/hygiene-scan.js.map +1 -1
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +13 -9
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/connection-session-handle.d.ts +161 -0
- package/dist/sessions/connection-session-handle.d.ts.map +1 -0
- package/dist/sessions/connection-session-handle.js +168 -0
- package/dist/sessions/connection-session-handle.js.map +1 -0
- package/dist/sessions/handoff.d.ts.map +1 -1
- package/dist/sessions/handoff.js +9 -0
- package/dist/sessions/handoff.js.map +1 -1
- package/dist/sessions/index.d.ts +4 -1
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +31 -1
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/session-id.d.ts +34 -0
- package/dist/sessions/session-id.d.ts.map +1 -1
- package/dist/sessions/session-id.js +37 -0
- package/dist/sessions/session-id.js.map +1 -1
- package/dist/sessions/session-manifest-mirror.d.ts +115 -0
- package/dist/sessions/session-manifest-mirror.d.ts.map +1 -0
- package/dist/sessions/session-manifest-mirror.js +250 -0
- package/dist/sessions/session-manifest-mirror.js.map +1 -0
- package/dist/sessions/session-switch.d.ts.map +1 -1
- package/dist/sessions/session-switch.js +5 -2
- package/dist/sessions/session-switch.js.map +1 -1
- package/dist/setup/config-json-merge.d.ts.map +1 -1
- package/dist/setup/config-json-merge.js +14 -0
- package/dist/setup/config-json-merge.js.map +1 -1
- package/dist/setup/index.d.ts +23 -11
- package/dist/setup/index.d.ts.map +1 -1
- package/dist/setup/index.js +25 -12
- package/dist/setup/index.js.map +1 -1
- package/dist/setup/sections/llm.d.ts +28 -1
- package/dist/setup/sections/llm.d.ts.map +1 -1
- package/dist/setup/sections/llm.js +27 -6
- package/dist/setup/sections/llm.js.map +1 -1
- package/dist/setup/sections/models-roles.d.ts +40 -0
- package/dist/setup/sections/models-roles.d.ts.map +1 -0
- package/dist/setup/sections/models-roles.js +219 -0
- package/dist/setup/sections/models-roles.js.map +1 -0
- package/dist/setup/wizard.d.ts +19 -1
- package/dist/setup/wizard.d.ts.map +1 -1
- package/dist/setup/wizard.js.map +1 -1
- package/dist/store/converters.d.ts.map +1 -1
- package/dist/store/converters.js +2 -0
- package/dist/store/converters.js.map +1 -1
- package/dist/store/db-helpers.d.ts.map +1 -1
- package/dist/store/db-helpers.js +2 -0
- package/dist/store/db-helpers.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +87 -47
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/pi-session-store.d.ts +151 -0
- package/dist/store/pi-session-store.d.ts.map +1 -0
- package/dist/store/pi-session-store.js +166 -0
- package/dist/store/pi-session-store.js.map +1 -0
- package/dist/store/safety-data-accessor.d.ts +1 -0
- package/dist/store/safety-data-accessor.d.ts.map +1 -1
- package/dist/store/safety-data-accessor.js +5 -0
- package/dist/store/safety-data-accessor.js.map +1 -1
- package/dist/store/schedule-schema.d.ts +195 -0
- package/dist/store/schedule-schema.d.ts.map +1 -0
- package/dist/store/schedule-schema.js +84 -0
- package/dist/store/schedule-schema.js.map +1 -0
- package/dist/store/schedule-store.d.ts +144 -0
- package/dist/store/schedule-store.d.ts.map +1 -0
- package/dist/store/schedule-store.js +162 -0
- package/dist/store/schedule-store.js.map +1 -0
- package/dist/store/schema/attachments.d.ts +1 -1
- package/dist/store/schema/cleo-global/accounts.d.ts +357 -0
- package/dist/store/schema/cleo-global/accounts.d.ts.map +1 -0
- package/dist/store/schema/cleo-global/accounts.js +136 -0
- package/dist/store/schema/cleo-global/accounts.js.map +1 -0
- package/dist/store/schema/cleo-global/index.d.ts +5 -0
- package/dist/store/schema/cleo-global/index.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/index.js +7 -0
- package/dist/store/schema/cleo-global/index.js.map +1 -1
- package/dist/store/schema/cleo-global/models-catalog.d.ts +359 -0
- package/dist/store/schema/cleo-global/models-catalog.d.ts.map +1 -0
- package/dist/store/schema/cleo-global/models-catalog.js +114 -0
- package/dist/store/schema/cleo-global/models-catalog.js.map +1 -0
- package/dist/store/schema/cleo-global/providers.d.ts +279 -0
- package/dist/store/schema/cleo-global/providers.d.ts.map +1 -0
- package/dist/store/schema/cleo-global/providers.js +94 -0
- package/dist/store/schema/cleo-global/providers.js.map +1 -0
- package/dist/store/schema/cleo-global/services.d.ts +493 -0
- package/dist/store/schema/cleo-global/services.d.ts.map +1 -0
- package/dist/store/schema/cleo-global/services.js +200 -0
- package/dist/store/schema/cleo-global/services.js.map +1 -0
- package/dist/store/schema/cleo-global/session-manifest.d.ts +217 -0
- package/dist/store/schema/cleo-global/session-manifest.d.ts.map +1 -0
- package/dist/store/schema/cleo-global/session-manifest.js +99 -0
- package/dist/store/schema/cleo-global/session-manifest.js.map +1 -0
- package/dist/store/schema/cleo-project/docs.d.ts +1 -1
- package/dist/store/schema/cleo-project/provenance-rest.d.ts +1 -1
- package/dist/store/schema/cleo-project/tasks-core.d.ts +16 -0
- package/dist/store/schema/cleo-project/tasks-core.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/tasks-core.js +14 -0
- package/dist/store/schema/cleo-project/tasks-core.js.map +1 -1
- package/dist/store/schema/cleo-shared/brain.d.ts +2 -2
- package/dist/store/schema/memory-schema.d.ts +182 -2
- package/dist/store/schema/memory-schema.d.ts.map +1 -1
- package/dist/store/schema/memory-schema.js +111 -2
- package/dist/store/schema/memory-schema.js.map +1 -1
- package/dist/store/schema/provenance/releases.d.ts +1 -1
- package/dist/store/schema/tasks.d.ts +16 -0
- package/dist/store/schema/tasks.d.ts.map +1 -1
- package/dist/store/schema/tasks.js +10 -0
- package/dist/store/schema/tasks.js.map +1 -1
- package/dist/store/selfimprove-dhq-schema.d.ts +284 -0
- package/dist/store/selfimprove-dhq-schema.d.ts.map +1 -0
- package/dist/store/selfimprove-dhq-schema.js +128 -0
- package/dist/store/selfimprove-dhq-schema.js.map +1 -0
- package/dist/store/selfimprove-dhq-store.d.ts +175 -0
- package/dist/store/selfimprove-dhq-store.d.ts.map +1 -0
- package/dist/store/selfimprove-dhq-store.js +182 -0
- package/dist/store/selfimprove-dhq-store.js.map +1 -0
- package/dist/store/service-connections-accessor.d.ts +313 -0
- package/dist/store/service-connections-accessor.d.ts.map +1 -0
- package/dist/store/service-connections-accessor.js +464 -0
- package/dist/store/service-connections-accessor.js.map +1 -0
- package/dist/store/service-host-matcher.d.ts +70 -0
- package/dist/store/service-host-matcher.d.ts.map +1 -0
- package/dist/store/service-host-matcher.js +127 -0
- package/dist/store/service-host-matcher.js.map +1 -0
- package/dist/store/service-injection.d.ts +152 -0
- package/dist/store/service-injection.d.ts.map +1 -0
- package/dist/store/service-injection.js +225 -0
- package/dist/store/service-injection.js.map +1 -0
- package/dist/store/service-oauth.d.ts +287 -0
- package/dist/store/service-oauth.d.ts.map +1 -0
- package/dist/store/service-oauth.js +524 -0
- package/dist/store/service-oauth.js.map +1 -0
- package/dist/store/service-trust-gate.d.ts +164 -0
- package/dist/store/service-trust-gate.d.ts.map +1 -0
- package/dist/store/service-trust-gate.js +122 -0
- package/dist/store/service-trust-gate.js.map +1 -0
- package/dist/store/session-store.d.ts +52 -13
- package/dist/store/session-store.d.ts.map +1 -1
- package/dist/store/session-store.js +71 -13
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +7 -0
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/umbrella-data-accessor.d.ts +1 -0
- package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
- package/dist/store/umbrella-data-accessor.js +5 -0
- package/dist/store/umbrella-data-accessor.js.map +1 -1
- package/dist/store/validation-schemas.d.ts +36 -4
- package/dist/store/validation-schemas.d.ts.map +1 -1
- package/dist/store/writer-lease-schema.d.ts +392 -0
- package/dist/store/writer-lease-schema.d.ts.map +1 -0
- package/dist/store/writer-lease-schema.js +142 -0
- package/dist/store/writer-lease-schema.js.map +1 -0
- package/dist/store/writer-lease.d.ts +368 -0
- package/dist/store/writer-lease.d.ts.map +1 -0
- package/dist/store/writer-lease.js +1002 -0
- package/dist/store/writer-lease.js.map +1 -0
- package/dist/tasks/agent-lifecycle-lane.d.ts +175 -0
- package/dist/tasks/agent-lifecycle-lane.d.ts.map +1 -0
- package/dist/tasks/agent-lifecycle-lane.js +176 -0
- package/dist/tasks/agent-lifecycle-lane.js.map +1 -0
- package/dist/tasks/backfill-child-projections.d.ts.map +1 -1
- package/dist/tasks/backfill-child-projections.js +14 -9
- package/dist/tasks/backfill-child-projections.js.map +1 -1
- package/dist/tasks/complete.d.ts +17 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +60 -20
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/depends-waiver-audit.d.ts +52 -0
- package/dist/tasks/depends-waiver-audit.d.ts.map +1 -0
- package/dist/tasks/depends-waiver-audit.js +36 -0
- package/dist/tasks/depends-waiver-audit.js.map +1 -0
- package/dist/tasks/duplicate-detector.d.ts.map +1 -1
- package/dist/tasks/duplicate-detector.js +14 -7
- package/dist/tasks/duplicate-detector.js.map +1 -1
- package/dist/tasks/engine-wrap.d.ts +36 -2
- package/dist/tasks/engine-wrap.d.ts.map +1 -1
- package/dist/tasks/engine-wrap.js +44 -2
- package/dist/tasks/engine-wrap.js.map +1 -1
- package/dist/tasks/index.d.ts +1 -0
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +1 -0
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/ops.d.ts +3 -0
- package/dist/tasks/ops.d.ts.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 +3 -1
- package/dist/tasks/task-ops.js.map +1 -1
- package/dist/tasks/task-reparent.d.ts +90 -0
- package/dist/tasks/task-reparent.d.ts.map +1 -1
- package/dist/tasks/task-reparent.js +171 -0
- package/dist/tasks/task-reparent.js.map +1 -1
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +10 -4
- package/dist/telemetry/index.js.map +1 -1
- package/dist/tools/agent-registry.d.ts +250 -0
- package/dist/tools/agent-registry.d.ts.map +1 -0
- package/dist/tools/agent-registry.js +292 -0
- package/dist/tools/agent-registry.js.map +1 -0
- package/dist/tools/agent-tool-families.d.ts +107 -0
- package/dist/tools/agent-tool-families.d.ts.map +1 -0
- package/dist/tools/agent-tool-families.js +527 -0
- package/dist/tools/agent-tool-families.js.map +1 -0
- package/dist/tools/browser-driver.d.ts +183 -0
- package/dist/tools/browser-driver.d.ts.map +1 -0
- package/dist/tools/browser-driver.js +242 -0
- package/dist/tools/browser-driver.js.map +1 -0
- package/dist/tools/builtin-agent-tools.d.ts +36 -0
- package/dist/tools/builtin-agent-tools.d.ts.map +1 -0
- package/dist/tools/builtin-agent-tools.js +191 -0
- package/dist/tools/builtin-agent-tools.js.map +1 -0
- package/dist/tools/dispatch.d.ts +370 -0
- package/dist/tools/dispatch.d.ts.map +1 -0
- package/dist/tools/dispatch.js +505 -0
- package/dist/tools/dispatch.js.map +1 -0
- package/dist/tools/env-scrub.d.ts +93 -0
- package/dist/tools/env-scrub.d.ts.map +1 -0
- package/dist/tools/env-scrub.js +176 -0
- package/dist/tools/env-scrub.js.map +1 -0
- package/dist/tools/exec-code-agent-tool.d.ts +179 -0
- package/dist/tools/exec-code-agent-tool.d.ts.map +1 -0
- package/dist/tools/exec-code-agent-tool.js +239 -0
- package/dist/tools/exec-code-agent-tool.js.map +1 -0
- package/dist/tools/fs.d.ts +30 -0
- package/dist/tools/fs.d.ts.map +1 -1
- package/dist/tools/fs.js +55 -2
- package/dist/tools/fs.js.map +1 -1
- package/dist/tools/guard.d.ts +15 -0
- package/dist/tools/guard.d.ts.map +1 -1
- package/dist/tools/guard.js +49 -12
- package/dist/tools/guard.js.map +1 -1
- package/dist/tools/index.d.ts +16 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +52 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/mcp-agent-tool.d.ts +189 -0
- package/dist/tools/mcp-agent-tool.d.ts.map +1 -0
- package/dist/tools/mcp-agent-tool.js +243 -0
- package/dist/tools/mcp-agent-tool.js.map +1 -0
- package/dist/tools/media-agent-tools.d.ts +105 -0
- package/dist/tools/media-agent-tools.d.ts.map +1 -0
- package/dist/tools/media-agent-tools.js +255 -0
- package/dist/tools/media-agent-tools.js.map +1 -0
- package/dist/tools/memory-agent-tools.d.ts +99 -0
- package/dist/tools/memory-agent-tools.d.ts.map +1 -0
- package/dist/tools/memory-agent-tools.js +190 -0
- package/dist/tools/memory-agent-tools.js.map +1 -0
- package/dist/tools/pty.d.ts +45 -0
- package/dist/tools/pty.d.ts.map +1 -0
- package/dist/tools/pty.js +166 -0
- package/dist/tools/pty.js.map +1 -0
- package/dist/tools/schedule-agent-tools.d.ts +151 -0
- package/dist/tools/schedule-agent-tools.d.ts.map +1 -0
- package/dist/tools/schedule-agent-tools.js +238 -0
- package/dist/tools/schedule-agent-tools.js.map +1 -0
- package/dist/tools/schema-gen.d.ts +57 -0
- package/dist/tools/schema-gen.d.ts.map +1 -0
- package/dist/tools/schema-gen.js +52 -0
- package/dist/tools/schema-gen.js.map +1 -0
- package/dist/tools/shell.d.ts +12 -0
- package/dist/tools/shell.d.ts.map +1 -1
- package/dist/tools/shell.js +14 -1
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/skill-agent-tool.d.ts +108 -0
- package/dist/tools/skill-agent-tool.d.ts.map +1 -0
- package/dist/tools/skill-agent-tool.js +135 -0
- package/dist/tools/skill-agent-tool.js.map +1 -0
- package/dist/tools/web-agent-tools.d.ts +72 -0
- package/dist/tools/web-agent-tools.d.ts.map +1 -0
- package/dist/tools/web-agent-tools.js +393 -0
- package/dist/tools/web-agent-tools.js.map +1 -0
- package/dist/tools/web-search-backends.d.ts +156 -0
- package/dist/tools/web-search-backends.d.ts.map +1 -0
- package/dist/tools/web-search-backends.js +290 -0
- package/dist/tools/web-search-backends.js.map +1 -0
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +17 -1
- package/dist/validation/engine-ops.js.map +1 -1
- package/dist/validation/ops.d.ts +1 -15
- package/dist/validation/ops.d.ts.map +1 -1
- package/dist/validation/ops.js +0 -20
- package/dist/validation/ops.js.map +1 -1
- package/migrations/drizzle-brain/20260610000001_t10405-bitemporal-network-columns/migration.sql +71 -0
- package/migrations/drizzle-cleo-global/20260607000000_t11891-writer-leases/migration.sql +55 -0
- package/migrations/drizzle-cleo-global/20260607010000_t11639-session-manifest/migration.sql +43 -0
- package/migrations/drizzle-cleo-global/20260608000000_t11899-pi-session-tree/migration.sql +52 -0
- package/migrations/drizzle-cleo-global/20260608010000_t11709-accounts-credential-pool/migration.sql +72 -0
- package/migrations/drizzle-cleo-global/20260608020000_t11889-selfimprove-dhq/migration.sql +64 -0
- package/migrations/drizzle-cleo-global/20260609000000_t11937-service-vault/migration.sql +93 -0
- package/migrations/drizzle-cleo-global/20260609010000_t11733-models-catalog/migration.sql +65 -0
- package/migrations/drizzle-cleo-global/20260609020000_t11703-providers/migration.sql +52 -0
- package/migrations/drizzle-cleo-global/20260610000000_t11962-schedules/migration.sql +48 -0
- package/migrations/drizzle-cleo-project/20260607000000_t11891-writer-leases/migration.sql +55 -0
- package/migrations/drizzle-cleo-project/20260607010000_t11639-session-parent/migration.sql +22 -0
- package/migrations/drizzle-cleo-project/20260608000000_t11899-pi-session-tree/migration.sql +52 -0
- package/migrations/drizzle-cleo-project/20260608020000_t11889-selfimprove-dhq/migration.sql +64 -0
- package/migrations/drizzle-cleo-project/20260610000000_t11962-schedules/migration.sql +48 -0
- package/package.json +26 -14
- package/dist/lifecycle/chain-composition.d.ts +0 -30
- package/dist/lifecycle/chain-composition.d.ts.map +0 -1
- package/dist/lifecycle/chain-composition.js +0 -152
- package/dist/lifecycle/chain-composition.js.map +0 -1
- package/dist/lifecycle/chain-store.d.ts +0 -70
- package/dist/lifecycle/chain-store.d.ts.map +0 -1
- package/dist/lifecycle/chain-store.js +0 -246
- package/dist/lifecycle/chain-store.js.map +0 -1
- package/dist/lifecycle/default-chain.d.ts +0 -39
- package/dist/lifecycle/default-chain.d.ts.map +0 -1
- package/dist/lifecycle/default-chain.js +0 -176
- package/dist/lifecycle/default-chain.js.map +0 -1
- package/dist/lifecycle/tessera-engine.d.ts +0 -48
- package/dist/lifecycle/tessera-engine.d.ts.map +0 -1
- package/dist/lifecycle/tessera-engine.js +0 -249
- package/dist/lifecycle/tessera-engine.js.map +0 -1
- package/dist/validation/chain-validation.d.ts +0 -43
- package/dist/validation/chain-validation.d.ts.map +0 -1
- package/dist/validation/chain-validation.js +0 -146
- package/dist/validation/chain-validation.js.map +0 -1
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `registerSystemOfUse` — runtime extension point for the E9 system-of-use
|
|
3
|
+
* taxonomy (T11751 · AC1).
|
|
4
|
+
*
|
|
5
|
+
* ## Why a runtime registry
|
|
6
|
+
*
|
|
7
|
+
* {@link BUILTIN_SYSTEMS_OF_USE} is the static, closed-axis registry of the
|
|
8
|
+
* well-known systems (orchestration tiers + roles + aux subsystems). Plugins,
|
|
9
|
+
* extensions, and downstream packages need to declare NEW systems-of-use (e.g.
|
|
10
|
+
* a `tool:my-search` or a bespoke `aux`-like subsystem) and give each a default
|
|
11
|
+
* provider/model binding — WITHOUT editing the contracts SSoT.
|
|
12
|
+
*
|
|
13
|
+
* `registerSystemOfUse(key, displayName, defaults)` adds such a system to a
|
|
14
|
+
* process-level registry. The registered default binding is consulted by the
|
|
15
|
+
* single E9 resolution chokepoint (`resolveLLMForSystem` → `resolveLLMForRole`)
|
|
16
|
+
* **strictly BELOW user config** — after `llm.systems[key]`, `llm.default`, and
|
|
17
|
+
* `llm.defaultProfile` — so the user ALWAYS wins (AC1). A registered default
|
|
18
|
+
* only supplies a binding when the user has configured nothing for that key.
|
|
19
|
+
*
|
|
20
|
+
* ## Import-time purity
|
|
21
|
+
*
|
|
22
|
+
* This module performs NO registration at import time — the registry starts
|
|
23
|
+
* empty and is populated only by explicit `registerSystemOfUse(...)` calls. It
|
|
24
|
+
* holds no I/O, no config reads, and no side effects on load (so importing it
|
|
25
|
+
* is always safe). It is the runtime half intentionally split out of the
|
|
26
|
+
* type-only `@cleocode/contracts` (Gate 10).
|
|
27
|
+
*
|
|
28
|
+
* @module llm/system-of-use-registry
|
|
29
|
+
* @task T11751
|
|
30
|
+
* @epic T11745
|
|
31
|
+
*/
|
|
32
|
+
import { BUILTIN_SYSTEMS_OF_USE, } from '@cleocode/contracts';
|
|
33
|
+
import { getLogger } from '../logger.js';
|
|
34
|
+
import { formatSystemKey, systemKeyKind } from './system-key.js';
|
|
35
|
+
const logger = getLogger('llm-system-of-use-registry');
|
|
36
|
+
/**
|
|
37
|
+
* Process-level registry of runtime-registered systems-of-use, keyed by encoded
|
|
38
|
+
* system key. Starts EMPTY — populated only by {@link registerSystemOfUse}.
|
|
39
|
+
*
|
|
40
|
+
* Module-private: callers reach it through the exported functions so the
|
|
41
|
+
* "user wins" / "register vs read" contract is enforced in one place.
|
|
42
|
+
*/
|
|
43
|
+
const REGISTRY = new Map();
|
|
44
|
+
/**
|
|
45
|
+
* A registered system-of-use whose `defaults` carry neither a `profile` nor a
|
|
46
|
+
* complete `provider`+`model` tuple is structurally incomplete: it can declare
|
|
47
|
+
* presence in the picker but cannot supply a resolution binding. Such a default
|
|
48
|
+
* is skipped at resolution time (the chain falls through) — never an error.
|
|
49
|
+
*
|
|
50
|
+
* @param defaults - The candidate default binding.
|
|
51
|
+
* @returns `true` when the default can actually bind a provider/model.
|
|
52
|
+
* @task T11751
|
|
53
|
+
*/
|
|
54
|
+
export function isResolvableSystemDefault(defaults) {
|
|
55
|
+
if (defaults.profile)
|
|
56
|
+
return true;
|
|
57
|
+
return Boolean(defaults.provider && defaults.model);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Register a new system-of-use with a default provider/model binding (AC1).
|
|
61
|
+
*
|
|
62
|
+
* The registration is merged UNDER user config: the resolver consults
|
|
63
|
+
* `defaults` only when the user has configured nothing more specific for `key`
|
|
64
|
+
* (no `llm.systems[key]`, no `llm.default`, no `llm.defaultProfile`). Re-calling
|
|
65
|
+
* with the same `key` REPLACES the prior registration (last-write-wins) so a
|
|
66
|
+
* package can update its own default idempotently.
|
|
67
|
+
*
|
|
68
|
+
* `key` MAY be a flat label (e.g. `'sentient'`) or an open-axis encoded key
|
|
69
|
+
* (`'tool:web-search'`). Passing a structured `SystemOfUse` descriptor is also
|
|
70
|
+
* supported via {@link registerSystemOfUseDescriptor}.
|
|
71
|
+
*
|
|
72
|
+
* @param key - Encoded system-of-use key (non-empty).
|
|
73
|
+
* @param displayName - Human-readable name for the picker surface (non-empty).
|
|
74
|
+
* @param defaults - Default binding consulted strictly below user config.
|
|
75
|
+
* @returns The stored {@link RegisteredSystemOfUse} record.
|
|
76
|
+
* @throws {RangeError} When `key` or `displayName` is empty.
|
|
77
|
+
* @task T11751
|
|
78
|
+
* @epic T11745
|
|
79
|
+
*/
|
|
80
|
+
export function registerSystemOfUse(key, displayName, defaults) {
|
|
81
|
+
if (!key.trim()) {
|
|
82
|
+
throw new RangeError('registerSystemOfUse: `key` must be a non-empty string');
|
|
83
|
+
}
|
|
84
|
+
if (!displayName.trim()) {
|
|
85
|
+
throw new RangeError('registerSystemOfUse: `displayName` must be a non-empty string');
|
|
86
|
+
}
|
|
87
|
+
const record = {
|
|
88
|
+
key,
|
|
89
|
+
displayName,
|
|
90
|
+
// Defensive copy — the registry owns its records and never aliases the
|
|
91
|
+
// caller's object (so a later caller mutation cannot rewrite a binding).
|
|
92
|
+
defaults: { ...defaults },
|
|
93
|
+
};
|
|
94
|
+
REGISTRY.set(key, record);
|
|
95
|
+
if (!isResolvableSystemDefault(defaults)) {
|
|
96
|
+
logger.debug({ key }, 'registerSystemOfUse: registered with a non-binding default (picker-only) ' +
|
|
97
|
+
'— resolution will fall through past this entry');
|
|
98
|
+
}
|
|
99
|
+
return record;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Register a system-of-use from a structured {@link SystemOfUse} descriptor,
|
|
103
|
+
* encoding it to its canonical string key via {@link formatSystemKey}.
|
|
104
|
+
*
|
|
105
|
+
* Convenience wrapper over {@link registerSystemOfUse} for callers that already
|
|
106
|
+
* hold a `{ kind, id }` descriptor (e.g. plugin-declared tools/skills).
|
|
107
|
+
*
|
|
108
|
+
* @param system - The structured descriptor to register.
|
|
109
|
+
* @param displayName - Human-readable name for the picker surface.
|
|
110
|
+
* @param defaults - Default binding consulted strictly below user config.
|
|
111
|
+
* @returns The stored {@link RegisteredSystemOfUse} record.
|
|
112
|
+
* @task T11751
|
|
113
|
+
*/
|
|
114
|
+
export function registerSystemOfUseDescriptor(system, displayName, defaults) {
|
|
115
|
+
return registerSystemOfUse(formatSystemKey(system), displayName, defaults);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Look up the runtime-registered default binding for an encoded system key.
|
|
119
|
+
*
|
|
120
|
+
* Returns `undefined` when no system is registered under `key` OR when its
|
|
121
|
+
* default is structurally incomplete (so the resolver falls through). This is
|
|
122
|
+
* the read surface the E9 resolver calls AFTER exhausting all user-config tiers.
|
|
123
|
+
*
|
|
124
|
+
* @param key - Encoded system-of-use key (may be undefined — returns undefined).
|
|
125
|
+
* @returns The resolvable {@link SystemOfUseDefaults}, or `undefined`.
|
|
126
|
+
* @task T11751
|
|
127
|
+
*/
|
|
128
|
+
export function getRegisteredSystemDefault(key) {
|
|
129
|
+
if (!key)
|
|
130
|
+
return undefined;
|
|
131
|
+
const record = REGISTRY.get(key);
|
|
132
|
+
if (!record)
|
|
133
|
+
return undefined;
|
|
134
|
+
if (!isResolvableSystemDefault(record.defaults))
|
|
135
|
+
return undefined;
|
|
136
|
+
return record.defaults;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Enumerate every system-of-use for the TUI / Studio profile picker (AC2):
|
|
140
|
+
* the static {@link BUILTIN_SYSTEMS_OF_USE} table followed by every
|
|
141
|
+
* runtime-registered system, de-duplicated by key (a registration for a builtin
|
|
142
|
+
* key overrides the builtin entry — "user/runtime wins" for the picker label).
|
|
143
|
+
*
|
|
144
|
+
* Each entry carries its encoded `key`, a `displayName`, the discriminant
|
|
145
|
+
* `kind`, and its `source` (`'builtin'` | `'registered'`) so the picker can
|
|
146
|
+
* render and group them. Registered entries also surface their `defaults`.
|
|
147
|
+
*
|
|
148
|
+
* @param kind - Optional kind filter — when set, only that axis is returned.
|
|
149
|
+
* @returns The merged, ordered picker entries.
|
|
150
|
+
* @task T11751
|
|
151
|
+
* @epic T11745
|
|
152
|
+
*/
|
|
153
|
+
export function listSystemsOfUse(kind) {
|
|
154
|
+
const byKey = new Map();
|
|
155
|
+
// 1. Builtins first (stable order from the contracts SSoT).
|
|
156
|
+
for (const sys of BUILTIN_SYSTEMS_OF_USE) {
|
|
157
|
+
const key = formatSystemKey(sys);
|
|
158
|
+
byKey.set(key, {
|
|
159
|
+
key,
|
|
160
|
+
displayName: defaultDisplayName(sys.kind, sys.id),
|
|
161
|
+
kind: sys.kind,
|
|
162
|
+
source: 'builtin',
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
// 2. Runtime registrations override/extend (registered wins on key collision).
|
|
166
|
+
for (const record of REGISTRY.values()) {
|
|
167
|
+
byKey.set(record.key, {
|
|
168
|
+
key: record.key,
|
|
169
|
+
displayName: record.displayName,
|
|
170
|
+
kind: systemKeyKind(record.key),
|
|
171
|
+
source: 'registered',
|
|
172
|
+
defaults: record.defaults,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
const entries = [...byKey.values()];
|
|
176
|
+
return kind ? entries.filter((e) => e.kind === kind) : entries;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Clear all runtime registrations.
|
|
180
|
+
*
|
|
181
|
+
* Intended for test isolation — production code never needs to un-register a
|
|
182
|
+
* system. Builtins are unaffected (they live in the contracts SSoT, not here).
|
|
183
|
+
*
|
|
184
|
+
* @internal
|
|
185
|
+
* @task T11751
|
|
186
|
+
*/
|
|
187
|
+
export function clearRegisteredSystemsOfUse() {
|
|
188
|
+
REGISTRY.clear();
|
|
189
|
+
}
|
|
190
|
+
// ---------------------------------------------------------------------------
|
|
191
|
+
// Internal helpers
|
|
192
|
+
// ---------------------------------------------------------------------------
|
|
193
|
+
/**
|
|
194
|
+
* Derive a human-readable default display name for a builtin system. Plain
|
|
195
|
+
* id-with-kind-prefix; the picker may localise/override on top of this.
|
|
196
|
+
*/
|
|
197
|
+
function defaultDisplayName(kind, id) {
|
|
198
|
+
return `${kind}: ${id}`;
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=system-of-use-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-of-use-registry.js","sourceRoot":"","sources":["../../src/llm/system-of-use-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
* @task T11749
|
|
34
34
|
* @epic T11745
|
|
35
35
|
*/
|
|
36
|
-
import type { ResolveLLMForSystemOptions, RoleName,
|
|
36
|
+
import type { ResolveLLMForSystemOptions, RoleName, SystemResolverInput } from '@cleocode/contracts';
|
|
37
37
|
import { type ResolvedLLM } from './role-resolver.js';
|
|
38
38
|
/**
|
|
39
39
|
* Result of {@link resolveLLMForSystem}.
|
|
@@ -46,11 +46,13 @@ import { type ResolvedLLM } from './role-resolver.js';
|
|
|
46
46
|
*/
|
|
47
47
|
export interface ResolvedLLMForSystem extends ResolvedLLM {
|
|
48
48
|
/**
|
|
49
|
-
* The {@link
|
|
49
|
+
* The {@link SystemResolverInput} that initiated this resolution — either the
|
|
50
|
+
* flat {@link SystemOfUseLabel} or the structured {@link RoleSystem}
|
|
51
|
+
* descriptor (`{ kind: 'role', id }`) the caller passed.
|
|
50
52
|
*
|
|
51
53
|
* Preserved verbatim from the call argument — not normalised or remapped.
|
|
52
54
|
*/
|
|
53
|
-
system:
|
|
55
|
+
system: SystemResolverInput;
|
|
54
56
|
/**
|
|
55
57
|
* The {@link RoleName} that was actually used for config lookup.
|
|
56
58
|
*
|
|
@@ -60,35 +62,55 @@ export interface ResolvedLLMForSystem extends ResolvedLLM {
|
|
|
60
62
|
resolvedRole: RoleName | null;
|
|
61
63
|
}
|
|
62
64
|
/**
|
|
63
|
-
* Resolve the LLM client + credential for a semantic system-of-use label
|
|
65
|
+
* Resolve the LLM client + credential for a semantic system-of-use label OR a
|
|
66
|
+
* structured {@link RoleSystem} descriptor.
|
|
64
67
|
*
|
|
65
68
|
* This is the single DRY chokepoint for all LLM resolution in CLEO (E9 ·
|
|
66
69
|
* T11745). It wraps `resolveLLMForRole` with:
|
|
67
70
|
*
|
|
68
|
-
* - System label → role mapping (via {@link SYSTEM_ROLE_MAP})
|
|
71
|
+
* - System label → role mapping (via {@link SYSTEM_ROLE_MAP}); OR direct
|
|
72
|
+
* `{ kind: 'role', id }` descriptor resolution (T11750 · AC1).
|
|
69
73
|
* - SSoT default model from the provider registry when `implicit-fallback`
|
|
70
74
|
* is reached (the hardcoded haiku literal is NOT used as the final model).
|
|
71
75
|
* - Full CredentialPool (E3) binding via `resolveLLMForRole` delegation.
|
|
72
76
|
*
|
|
77
|
+
* ## Role equivalence (T11750 · AC1)
|
|
78
|
+
*
|
|
79
|
+
* `resolveLLMForSystem({ kind: 'role', id })` is the chokepoint expression of a
|
|
80
|
+
* direct role resolution — identical to `resolveLLMForRole(id)` for every
|
|
81
|
+
* resolution-relevant field (`provider` / `model` / `source` / `credential` /
|
|
82
|
+
* `sealedCredential` / `apiMode` / …), differing ONLY by the additive `system`
|
|
83
|
+
* + `resolvedRole` envelope fields. There is exactly ONE resolution
|
|
84
|
+
* implementation (`resolveLLMForRole`); both input forms funnel through it with
|
|
85
|
+
* ZERO duplicated logic. The descriptor form does NOT thread a `systemKey`
|
|
86
|
+
* (there is no flat label to key the `llm.systems[key]` override tier on), so it
|
|
87
|
+
* walks the same tier chain a bare `resolveLLMForRole(id)` call walks.
|
|
88
|
+
*
|
|
73
89
|
* Like `resolveLLMForRole`, this function **never throws**: when no credential
|
|
74
90
|
* is reachable the caller receives `{ credential: null, client: null, … }` and
|
|
75
91
|
* is responsible for its own graceful-degradation path.
|
|
76
92
|
*
|
|
77
93
|
* @example
|
|
78
94
|
* ```ts
|
|
79
|
-
*
|
|
80
|
-
*
|
|
95
|
+
* // Flat label (background subsystem):
|
|
96
|
+
* const a = await resolveLLMForSystem('sentient', { projectRoot });
|
|
97
|
+
* // Structured role descriptor (T11750 · AC1) — equivalent to
|
|
98
|
+
* // resolveLLMForRole('consolidation'):
|
|
99
|
+
* const b = await resolveLLMForSystem({ kind: 'role', id: 'consolidation' }, { projectRoot });
|
|
100
|
+
* if (!a.sealedCredential || !a.client) {
|
|
81
101
|
* return null; // graceful no-op — no credential available
|
|
82
102
|
* }
|
|
83
|
-
* // Use resolved.model, resolved.client, resolved.credential
|
|
103
|
+
* // Use resolved.model, resolved.client, resolved.credential (metadata only);
|
|
104
|
+
* // materialize the secret at the wire via resolved.sealedCredential.fetch().
|
|
84
105
|
* ```
|
|
85
106
|
*
|
|
86
|
-
* @param system -
|
|
107
|
+
* @param system - Flat {@link SystemOfUseLabel} or {@link RoleSystem} descriptor.
|
|
87
108
|
* @param opts - Optional overrides (project root, role override, skipCatalogDefault).
|
|
88
109
|
* @returns A {@link ResolvedLLMForSystem} envelope; never throws.
|
|
89
110
|
*
|
|
90
111
|
* @task T11749
|
|
112
|
+
* @task T11750
|
|
91
113
|
* @epic T11745
|
|
92
114
|
*/
|
|
93
|
-
export declare function resolveLLMForSystem(system:
|
|
115
|
+
export declare function resolveLLMForSystem(system: SystemResolverInput, opts?: ResolveLLMForSystemOptions): Promise<ResolvedLLMForSystem>;
|
|
94
116
|
//# sourceMappingURL=system-resolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-resolver.d.ts","sourceRoot":"","sources":["../../src/llm/system-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"system-resolver.d.ts","sourceRoot":"","sources":["../../src/llm/system-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EACV,0BAA0B,EAC1B,QAAQ,EAER,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAC;AAI5B;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD;;;;;;OAMG;IACH,MAAM,EAAE,mBAAmB,CAAC;IAE5B;;;;;OAKG;IACH,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC/B;AA4ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,IAAI,CAAC,EAAE,0BAA0B,GAChC,OAAO,CAAC,oBAAoB,CAAC,CAuE/B"}
|
|
@@ -35,37 +35,86 @@
|
|
|
35
35
|
*/
|
|
36
36
|
import { SYSTEM_ROLE_MAP } from '@cleocode/contracts';
|
|
37
37
|
import { getLogger } from '../logger.js';
|
|
38
|
+
import { proposeRoleForPrompt } from './complexity-classifier.js';
|
|
38
39
|
import { IMPLICIT_FALLBACK_PROVIDER, resolveLLMForRole, } from './role-resolver.js';
|
|
39
40
|
const logger = getLogger('llm-system-resolver');
|
|
40
41
|
// ---------------------------------------------------------------------------
|
|
41
42
|
// Internal helpers
|
|
42
43
|
// ---------------------------------------------------------------------------
|
|
43
44
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
45
|
+
* Type guard: is `input` the structured {@link RoleSystem} descriptor form
|
|
46
|
+
* (`{ kind: 'role', id: RoleName }`) rather than a flat {@link SystemOfUseLabel}?
|
|
47
|
+
*
|
|
48
|
+
* A flat label is always a `string`; the descriptor is the only object form the
|
|
49
|
+
* chokepoint accepts — so a single `typeof === 'object'` test is sufficient and
|
|
50
|
+
* narrows `input` to {@link RoleSystem}.
|
|
51
|
+
*
|
|
52
|
+
* @task T11750
|
|
53
|
+
*/
|
|
54
|
+
function isRoleSystem(input) {
|
|
55
|
+
return typeof input === 'object' && input !== null && input.kind === 'role';
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Map a {@link SystemResolverInput} to the {@link RoleName} that
|
|
59
|
+
* `resolveLLMForRole` will use for config lookup.
|
|
46
60
|
*
|
|
47
61
|
* Priority:
|
|
48
|
-
* 1. `opts.roleOverride` — explicit caller override.
|
|
49
|
-
* 2. {@link
|
|
62
|
+
* 1. `opts.roleOverride` — explicit caller override (both input forms).
|
|
63
|
+
* 2. Structured {@link RoleSystem} descriptor → its `id` IS the role (T11750).
|
|
64
|
+
* 3. {@link SYSTEM_ROLE_MAP} — static default for the flat system label.
|
|
65
|
+
* 4. L1 complexity proposer (T11906) — when the label maps to NO role AND a
|
|
66
|
+
* `complexityPrompt` was supplied, classify it and propose a role from the
|
|
67
|
+
* resulting tier. This is the "derive a tier from prompt complexity when no
|
|
68
|
+
* explicit tier/role is given" wiring (AC2): it COMPLEMENTS the resolver,
|
|
69
|
+
* only filling in a role the input left blank. The classifier returns a
|
|
70
|
+
* tier and constructs no LLM client.
|
|
50
71
|
*
|
|
51
|
-
* Returns `null` when
|
|
72
|
+
* Returns `null` when a flat label maps to the global default (no role entry)
|
|
73
|
+
* and no `complexityPrompt` was supplied. The descriptor form always carries a
|
|
74
|
+
* concrete {@link RoleName}, so it never returns `null`.
|
|
52
75
|
*/
|
|
53
|
-
function deriveRole(
|
|
76
|
+
function deriveRole(input, opts) {
|
|
54
77
|
if (opts?.roleOverride)
|
|
55
78
|
return opts.roleOverride;
|
|
56
|
-
|
|
79
|
+
if (isRoleSystem(input))
|
|
80
|
+
return input.id;
|
|
81
|
+
const mapped = SYSTEM_ROLE_MAP[input] ?? null;
|
|
82
|
+
if (mapped !== null)
|
|
83
|
+
return mapped;
|
|
84
|
+
// No role from the label (e.g. flat `'default'`). If the caller handed us a
|
|
85
|
+
// prompt, let the L1 complexity classifier propose a tier → role.
|
|
86
|
+
if (opts?.complexityPrompt !== undefined) {
|
|
87
|
+
const proposed = proposeRoleForPrompt(opts.complexityPrompt);
|
|
88
|
+
logger.debug({ system: input, proposedRole: proposed }, 'system-resolver: derived role from L1 complexity classifier (no explicit tier/role)');
|
|
89
|
+
return proposed;
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
57
92
|
}
|
|
58
93
|
/**
|
|
59
|
-
* When `resolveLLMForRole` returns `source === 'implicit-fallback'`, the
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* the resolved model tracks catalog
|
|
94
|
+
* When `resolveLLMForRole` returns `source === 'implicit-fallback'`, the model is
|
|
95
|
+
* the hardcoded `IMPLICIT_FALLBACK_MODEL` literal. This function derives the
|
|
96
|
+
* default from the **`models_catalog` SSoT** (latest `release_date` for the
|
|
97
|
+
* provider) so the resolved model tracks the catalog rather than a frozen
|
|
98
|
+
* constant — the "catalog-driven models, NO hardcoded" North Star (E8 · T11944).
|
|
99
|
+
*
|
|
100
|
+
* ## Resolution order (offline-first degrade — T11944 AC1/AC2)
|
|
63
101
|
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
102
|
+
* 1. **`models_catalog` table** (via the {@link resolveCatalogEntry} table-first
|
|
103
|
+
* chokepoint — T11737): newest `release_date` row for the provider. When the
|
|
104
|
+
* table is seeded this WINS and the static builtin literal is never reached.
|
|
105
|
+
* 2. **provider-registry `defaultModel`** (the static builtin
|
|
106
|
+
* `ProviderDef.defaultModel`) — reached ONLY when the catalog (table + disk
|
|
107
|
+
* cache + shipped seed) yields nothing for the provider.
|
|
108
|
+
* 3. **the existing `IMPLICIT_FALLBACK_MODEL` literal** already on `resolved` —
|
|
109
|
+
* the absolute offline floor, preserved for a fresh/offline install with no
|
|
110
|
+
* catalog AND no provider profile (degrade does NOT break — AC2).
|
|
111
|
+
*
|
|
112
|
+
* NO network is issued at resolve time (table-or-cache only — AC4). On any lookup
|
|
113
|
+
* error the original `resolved` envelope is returned unchanged so the caller is
|
|
114
|
+
* never blocked.
|
|
66
115
|
*
|
|
67
116
|
* @param resolved - The envelope returned by `resolveLLMForRole`.
|
|
68
|
-
* @returns The same envelope, possibly with `model` replaced from the
|
|
117
|
+
* @returns The same envelope, possibly with `model` replaced from the catalog SSoT.
|
|
69
118
|
*/
|
|
70
119
|
async function upgradeCatalogDefault(resolved) {
|
|
71
120
|
if (resolved.source !== 'implicit-fallback') {
|
|
@@ -73,19 +122,31 @@ async function upgradeCatalogDefault(resolved) {
|
|
|
73
122
|
return resolved;
|
|
74
123
|
}
|
|
75
124
|
try {
|
|
76
|
-
// Lazy
|
|
77
|
-
const {
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
125
|
+
// Lazy imports to avoid pulling the full registry/catalog chain at module-init.
|
|
126
|
+
const { resolveCatalogEntry } = await import('./catalog-resolver.js');
|
|
127
|
+
const { catalogKeyForProvider } = await import('./catalog-model-resolver.js');
|
|
128
|
+
// 1. Table-first catalog SSoT (release_date DESC) — the canonical default.
|
|
129
|
+
const catalogKey = catalogKeyForProvider(resolved.provider);
|
|
130
|
+
const entry = await resolveCatalogEntry(catalogKey);
|
|
131
|
+
if (entry?.id && entry.id !== resolved.model) {
|
|
132
|
+
logger.debug({ provider: resolved.provider, from: resolved.model, to: entry.id, source: entry.source }, 'system-resolver: upgrading implicit-fallback model to models_catalog default');
|
|
133
|
+
return { ...resolved, model: entry.id };
|
|
82
134
|
}
|
|
83
|
-
if (
|
|
84
|
-
//
|
|
135
|
+
if (entry?.id) {
|
|
136
|
+
// Catalog already agrees with the resolved model — no mutation needed.
|
|
85
137
|
return resolved;
|
|
86
138
|
}
|
|
87
|
-
|
|
88
|
-
|
|
139
|
+
// 2. OFFLINE FLOOR: catalog empty/unseeded (fresh/offline install). Fall back to
|
|
140
|
+
// the static builtin provider-registry default so degrade never breaks.
|
|
141
|
+
const { getProviderProfile } = await import('./provider-registry/index.js');
|
|
142
|
+
const profile = await getProviderProfile(resolved.provider);
|
|
143
|
+
if (profile?.defaultModel && profile.defaultModel !== resolved.model) {
|
|
144
|
+
logger.debug({ provider: resolved.provider, from: resolved.model, to: profile.defaultModel }, 'system-resolver: catalog empty — degrading to static builtin defaultModel floor');
|
|
145
|
+
return { ...resolved, model: profile.defaultModel };
|
|
146
|
+
}
|
|
147
|
+
// 3. Neither catalog nor profile yielded a model — keep the existing
|
|
148
|
+
// IMPLICIT_FALLBACK_MODEL literal already on `resolved` (the last floor).
|
|
149
|
+
return resolved;
|
|
89
150
|
}
|
|
90
151
|
catch (err) {
|
|
91
152
|
logger.warn({ err: err instanceof Error ? err.message : String(err) }, 'system-resolver: catalog default lookup failed; keeping existing fallback model');
|
|
@@ -96,60 +157,102 @@ async function upgradeCatalogDefault(resolved) {
|
|
|
96
157
|
// Public API
|
|
97
158
|
// ---------------------------------------------------------------------------
|
|
98
159
|
/**
|
|
99
|
-
* Resolve the LLM client + credential for a semantic system-of-use label
|
|
160
|
+
* Resolve the LLM client + credential for a semantic system-of-use label OR a
|
|
161
|
+
* structured {@link RoleSystem} descriptor.
|
|
100
162
|
*
|
|
101
163
|
* This is the single DRY chokepoint for all LLM resolution in CLEO (E9 ·
|
|
102
164
|
* T11745). It wraps `resolveLLMForRole` with:
|
|
103
165
|
*
|
|
104
|
-
* - System label → role mapping (via {@link SYSTEM_ROLE_MAP})
|
|
166
|
+
* - System label → role mapping (via {@link SYSTEM_ROLE_MAP}); OR direct
|
|
167
|
+
* `{ kind: 'role', id }` descriptor resolution (T11750 · AC1).
|
|
105
168
|
* - SSoT default model from the provider registry when `implicit-fallback`
|
|
106
169
|
* is reached (the hardcoded haiku literal is NOT used as the final model).
|
|
107
170
|
* - Full CredentialPool (E3) binding via `resolveLLMForRole` delegation.
|
|
108
171
|
*
|
|
172
|
+
* ## Role equivalence (T11750 · AC1)
|
|
173
|
+
*
|
|
174
|
+
* `resolveLLMForSystem({ kind: 'role', id })` is the chokepoint expression of a
|
|
175
|
+
* direct role resolution — identical to `resolveLLMForRole(id)` for every
|
|
176
|
+
* resolution-relevant field (`provider` / `model` / `source` / `credential` /
|
|
177
|
+
* `sealedCredential` / `apiMode` / …), differing ONLY by the additive `system`
|
|
178
|
+
* + `resolvedRole` envelope fields. There is exactly ONE resolution
|
|
179
|
+
* implementation (`resolveLLMForRole`); both input forms funnel through it with
|
|
180
|
+
* ZERO duplicated logic. The descriptor form does NOT thread a `systemKey`
|
|
181
|
+
* (there is no flat label to key the `llm.systems[key]` override tier on), so it
|
|
182
|
+
* walks the same tier chain a bare `resolveLLMForRole(id)` call walks.
|
|
183
|
+
*
|
|
109
184
|
* Like `resolveLLMForRole`, this function **never throws**: when no credential
|
|
110
185
|
* is reachable the caller receives `{ credential: null, client: null, … }` and
|
|
111
186
|
* is responsible for its own graceful-degradation path.
|
|
112
187
|
*
|
|
113
188
|
* @example
|
|
114
189
|
* ```ts
|
|
115
|
-
*
|
|
116
|
-
*
|
|
190
|
+
* // Flat label (background subsystem):
|
|
191
|
+
* const a = await resolveLLMForSystem('sentient', { projectRoot });
|
|
192
|
+
* // Structured role descriptor (T11750 · AC1) — equivalent to
|
|
193
|
+
* // resolveLLMForRole('consolidation'):
|
|
194
|
+
* const b = await resolveLLMForSystem({ kind: 'role', id: 'consolidation' }, { projectRoot });
|
|
195
|
+
* if (!a.sealedCredential || !a.client) {
|
|
117
196
|
* return null; // graceful no-op — no credential available
|
|
118
197
|
* }
|
|
119
|
-
* // Use resolved.model, resolved.client, resolved.credential
|
|
198
|
+
* // Use resolved.model, resolved.client, resolved.credential (metadata only);
|
|
199
|
+
* // materialize the secret at the wire via resolved.sealedCredential.fetch().
|
|
120
200
|
* ```
|
|
121
201
|
*
|
|
122
|
-
* @param system -
|
|
202
|
+
* @param system - Flat {@link SystemOfUseLabel} or {@link RoleSystem} descriptor.
|
|
123
203
|
* @param opts - Optional overrides (project root, role override, skipCatalogDefault).
|
|
124
204
|
* @returns A {@link ResolvedLLMForSystem} envelope; never throws.
|
|
125
205
|
*
|
|
126
206
|
* @task T11749
|
|
207
|
+
* @task T11750
|
|
127
208
|
* @epic T11745
|
|
128
209
|
*/
|
|
129
210
|
export async function resolveLLMForSystem(system, opts) {
|
|
130
211
|
const resolvedRole = deriveRole(system, opts);
|
|
131
|
-
// When the role is null (system === 'default'), fall back to treating
|
|
132
|
-
// the 'consolidation' role — this exercises the same config tiers as
|
|
133
|
-
// other roles (roles[role] → default → defaultProfile → implicit-fallback)
|
|
212
|
+
// When the role is null (flat `system === 'default'`), fall back to treating
|
|
213
|
+
// it as the 'consolidation' role — this exercises the same config tiers as
|
|
214
|
+
// all other roles (roles[role] → default → defaultProfile → implicit-fallback)
|
|
134
215
|
// and avoids a special code path. If `config.llm.roles['consolidation']` is
|
|
135
216
|
// not set, resolution cascades to `config.llm.default` and then the catalog
|
|
136
|
-
// default exactly as desired.
|
|
217
|
+
// default exactly as desired. The descriptor form always carries a concrete
|
|
218
|
+
// role id, so `resolvedRole` is never null there.
|
|
137
219
|
const roleForResolution = resolvedRole ?? 'consolidation';
|
|
220
|
+
// Thread the flat label as the `llm.systems[key]` granular-override key (E9 ·
|
|
221
|
+
// T11748). The structured `{ kind: 'role', id }` descriptor carries NO label
|
|
222
|
+
// to key that tier on, so it omits `systemKey` and walks the same tier chain
|
|
223
|
+
// a bare `resolveLLMForRole(id)` call walks — preserving the AC1 equivalence.
|
|
224
|
+
//
|
|
225
|
+
// T11759 (M4): an explicit `opts.systemKey` OVERRIDES the label-derived key.
|
|
226
|
+
// This lets an OPEN-axis caller (a `.cantbook` node keyed
|
|
227
|
+
// `cantbook:<playbook>#<nodeId>`) drive the `llm.systems[key]` granular tier +
|
|
228
|
+
// audit identity while passing a resolvable background label as `system`.
|
|
229
|
+
const systemKey = opts?.systemKey ?? (isRoleSystem(system) ? undefined : system);
|
|
138
230
|
let base;
|
|
139
231
|
try {
|
|
140
232
|
base = await resolveLLMForRole(roleForResolution, {
|
|
141
233
|
projectRoot: opts?.projectRoot,
|
|
234
|
+
systemKey,
|
|
235
|
+
// T11759: pin a named profile (e.g. a `.cantbook` stage's `profile:`) as
|
|
236
|
+
// the highest-priority resolution tier. Absent/incomplete → falls through.
|
|
237
|
+
...(opts?.profile !== undefined ? { profileOverride: opts.profile } : {}),
|
|
142
238
|
});
|
|
143
239
|
}
|
|
144
240
|
catch (err) {
|
|
145
241
|
// Mirror role-resolver's never-throw contract: return a null-credential
|
|
146
242
|
// envelope on unexpected failure.
|
|
147
|
-
logger.warn({
|
|
243
|
+
logger.warn({
|
|
244
|
+
err: err instanceof Error ? err.message : String(err),
|
|
245
|
+
system,
|
|
246
|
+
role: roleForResolution,
|
|
247
|
+
}, 'system-resolver: resolveLLMForRole threw unexpectedly; returning null-credential envelope');
|
|
148
248
|
base = {
|
|
149
249
|
provider: IMPLICIT_FALLBACK_PROVIDER,
|
|
150
250
|
model: 'unknown',
|
|
151
251
|
client: null,
|
|
152
252
|
credential: null,
|
|
253
|
+
// E10 (T11753): no credential resolved → null sealed handle, paired with
|
|
254
|
+
// the null `credential` metadata above.
|
|
255
|
+
sealedCredential: null,
|
|
153
256
|
source: 'implicit-fallback',
|
|
154
257
|
// SSoT wire facts (E9 · T11745): the implicit-fallback provider is
|
|
155
258
|
// anthropic and there is no credential, so the descriptor advertises the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-resolver.js","sourceRoot":"","sources":["../../src/llm/system-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;
|
|
1
|
+
{"version":3,"file":"system-resolver.js","sourceRoot":"","sources":["../../src/llm/system-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-writer-thread.d.ts","sourceRoot":"","sources":["../../src/memory/brain-writer-thread.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAElF,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"brain-writer-thread.d.ts","sourceRoot":"","sources":["../../src/memory/brain-writer-thread.ts"],"names":[],"mappings":"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"}
|