@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
package/migrations/drizzle-brain/20260610000001_t10405-bitemporal-network-columns/migration.sql
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
-- T10405 (SG-PSYCHE-FOUNDATION · Tier 5): bitemporal `expired_at` + four-network `network`.
|
|
2
|
+
--
|
|
3
|
+
-- Completes the Graphiti 4-timestamp bitemporal model on the four BRAIN tables.
|
|
4
|
+
-- Prior schema shipped created_at + valid_at + invalid_at; this migration adds the
|
|
5
|
+
-- 4th timestamp `expired_at` (TRANSACTION-time end — when a row was retracted from
|
|
6
|
+
-- the active store, distinct from `invalid_at` = VALID-time end). It also adds the
|
|
7
|
+
-- four-network classification column `network` (world / bank / opinion / observation
|
|
8
|
+
-- per masterplan §16.D Mem0-V3 envelope). Both columns are declared in
|
|
9
|
+
-- memory-schema.ts; this file is their forward Drizzle DDL (T9179 precedent —
|
|
10
|
+
-- columns reach a fresh DB via Drizzle, never via the retired ensureColumns()).
|
|
11
|
+
--
|
|
12
|
+
-- Per-table `network` DEFAULT matches the row's cognitive role:
|
|
13
|
+
-- brain_decisions → 'bank' (durable account-of-record)
|
|
14
|
+
-- brain_patterns → 'world' (objective recurring behaviour)
|
|
15
|
+
-- brain_learnings → 'opinion' (evaluative belief, updates on evidence)
|
|
16
|
+
-- brain_observations → 'observation' (raw episodic event)
|
|
17
|
+
--
|
|
18
|
+
-- The enum is enforced in-app (no SQLite CHECK constraint — Lesson 3 convention).
|
|
19
|
+
-- All statements are ALTER TABLE ADD COLUMN / CREATE INDEX IF NOT EXISTS → atomic
|
|
20
|
+
-- + idempotent on SQLite 3.35+. The migration-manager reconciler marks this
|
|
21
|
+
-- migration applied-without-running when the columns already exist (consolidated
|
|
22
|
+
-- cleo.db path), or executes it directly on a standalone / fresh brain DB.
|
|
23
|
+
--
|
|
24
|
+
-- SAFE FOR: SQLite 3.35+ (ALTER TABLE ADD COLUMN is atomic)
|
|
25
|
+
|
|
26
|
+
ALTER TABLE brain_decisions ADD COLUMN expired_at TEXT;
|
|
27
|
+
--> statement-breakpoint
|
|
28
|
+
ALTER TABLE brain_decisions ADD COLUMN network TEXT DEFAULT 'bank';
|
|
29
|
+
--> statement-breakpoint
|
|
30
|
+
ALTER TABLE brain_patterns ADD COLUMN expired_at TEXT;
|
|
31
|
+
--> statement-breakpoint
|
|
32
|
+
ALTER TABLE brain_patterns ADD COLUMN network TEXT DEFAULT 'world';
|
|
33
|
+
--> statement-breakpoint
|
|
34
|
+
ALTER TABLE brain_learnings ADD COLUMN expired_at TEXT;
|
|
35
|
+
--> statement-breakpoint
|
|
36
|
+
ALTER TABLE brain_learnings ADD COLUMN network TEXT DEFAULT 'opinion';
|
|
37
|
+
--> statement-breakpoint
|
|
38
|
+
ALTER TABLE brain_observations ADD COLUMN expired_at TEXT;
|
|
39
|
+
--> statement-breakpoint
|
|
40
|
+
ALTER TABLE brain_observations ADD COLUMN network TEXT DEFAULT 'observation';
|
|
41
|
+
--> statement-breakpoint
|
|
42
|
+
CREATE INDEX IF NOT EXISTS idx_brain_decisions_expired_at
|
|
43
|
+
ON brain_decisions (expired_at);
|
|
44
|
+
--> statement-breakpoint
|
|
45
|
+
CREATE INDEX IF NOT EXISTS idx_brain_decisions_network
|
|
46
|
+
ON brain_decisions (network);
|
|
47
|
+
--> statement-breakpoint
|
|
48
|
+
CREATE INDEX IF NOT EXISTS idx_brain_patterns_expired_at
|
|
49
|
+
ON brain_patterns (expired_at);
|
|
50
|
+
--> statement-breakpoint
|
|
51
|
+
CREATE INDEX IF NOT EXISTS idx_brain_patterns_network
|
|
52
|
+
ON brain_patterns (network);
|
|
53
|
+
--> statement-breakpoint
|
|
54
|
+
CREATE INDEX IF NOT EXISTS idx_brain_learnings_expired_at
|
|
55
|
+
ON brain_learnings (expired_at);
|
|
56
|
+
--> statement-breakpoint
|
|
57
|
+
CREATE INDEX IF NOT EXISTS idx_brain_learnings_network
|
|
58
|
+
ON brain_learnings (network);
|
|
59
|
+
--> statement-breakpoint
|
|
60
|
+
CREATE INDEX IF NOT EXISTS idx_brain_observations_expired_at
|
|
61
|
+
ON brain_observations (expired_at);
|
|
62
|
+
--> statement-breakpoint
|
|
63
|
+
CREATE INDEX IF NOT EXISTS idx_brain_observations_network
|
|
64
|
+
ON brain_observations (network);
|
|
65
|
+
--> statement-breakpoint
|
|
66
|
+
-- T10405 (Tier 6): exponential-backoff gate on the derivation queue.
|
|
67
|
+
-- A re-queued item carries `next_attempt_at = now + base * 2^retryCount` so the
|
|
68
|
+
-- worker's claim query skips it until the backoff window elapses (no hot-loop on
|
|
69
|
+
-- a transiently-failing item). NULL = claimable now (default for new items).
|
|
70
|
+
ALTER TABLE deriver_queue ADD COLUMN next_attempt_at TEXT;
|
|
71
|
+
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
-- T11627 (ST-2) — DbWriterLease arbitration tables (local-mode, daemon-disabled).
|
|
2
|
+
--
|
|
3
|
+
-- Co-located inside EACH scope's consolidated cleo.db (this file is byte-identical
|
|
4
|
+
-- in drizzle-cleo-project and drizzle-cleo-global so the two lineages produce the
|
|
5
|
+
-- SAME migration hash — the consolidated single-file journal converges across both
|
|
6
|
+
-- under the CONSOLIDATED_JOURNAL_LINEAGES cross-lineage guard, T11829).
|
|
7
|
+
--
|
|
8
|
+
-- The lease engine (packages/core/src/store/writer-lease.ts) arbitrates a single
|
|
9
|
+
-- in-process writer per (scope, lane) via BEGIN IMMEDIATE + epoch-CAS over the
|
|
10
|
+
-- `_writer_leases` row, healing the T5158 multi-writer corruption WITHOUT a running
|
|
11
|
+
-- supervisor daemon.
|
|
12
|
+
--
|
|
13
|
+
-- AC1 (at most one active writer per scope/lane) is enforced by the PARTIAL UNIQUE
|
|
14
|
+
-- index `ux_writer_leases_active … WHERE active = 1`. drizzle-orm cannot model a
|
|
15
|
+
-- partial WHERE index, so it is emitted here as raw SQL (the established repo
|
|
16
|
+
-- pattern — cf. project_agent_refs.enabled in conduit-schema). The drizzle schema
|
|
17
|
+
-- (writer-lease-schema.ts) declares ONLY the full-column tables; the runtime
|
|
18
|
+
-- bootstrap asserts this index exists (assertWriterLeaseActiveIndexPresent).
|
|
19
|
+
--
|
|
20
|
+
-- Each statement is separated by a drizzle breakpoint marker line so node:sqlite
|
|
21
|
+
-- prepare() does not silently truncate the multi-statement file to statement one.
|
|
22
|
+
-- (The marker token is intentionally NOT spelled out in this comment: drizzle's
|
|
23
|
+
-- readMigrationFiles splits the file on that literal substring, so writing it here
|
|
24
|
+
-- would split the comment mid-line and corrupt statement one.)
|
|
25
|
+
--
|
|
26
|
+
-- @task T11627
|
|
27
|
+
-- @epic T11625
|
|
28
|
+
|
|
29
|
+
CREATE TABLE IF NOT EXISTS `_writer_leases` (
|
|
30
|
+
`id` INTEGER PRIMARY KEY,
|
|
31
|
+
`scope` TEXT NOT NULL,
|
|
32
|
+
`lane` TEXT NOT NULL,
|
|
33
|
+
`holder_id` TEXT NOT NULL,
|
|
34
|
+
`holder_pid` INTEGER NOT NULL,
|
|
35
|
+
`epoch` INTEGER NOT NULL,
|
|
36
|
+
`acquired_at` INTEGER NOT NULL,
|
|
37
|
+
`heartbeat_at` INTEGER NOT NULL,
|
|
38
|
+
`ttl_ms` INTEGER NOT NULL,
|
|
39
|
+
`reentrancy_depth` INTEGER NOT NULL DEFAULT 1,
|
|
40
|
+
`active` INTEGER NOT NULL DEFAULT 1
|
|
41
|
+
);
|
|
42
|
+
--> statement-breakpoint
|
|
43
|
+
CREATE UNIQUE INDEX IF NOT EXISTS `ux_writer_leases_active` ON `_writer_leases` (`scope`, `lane`) WHERE `active` = 1;
|
|
44
|
+
--> statement-breakpoint
|
|
45
|
+
CREATE TABLE IF NOT EXISTS `_writer_queue` (
|
|
46
|
+
`ticket` INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
47
|
+
`scope` TEXT NOT NULL,
|
|
48
|
+
`lane` TEXT NOT NULL,
|
|
49
|
+
`holder_id` TEXT NOT NULL,
|
|
50
|
+
`priority` INTEGER NOT NULL DEFAULT 100,
|
|
51
|
+
`enqueued_at` INTEGER NOT NULL,
|
|
52
|
+
`deadline_at` INTEGER NOT NULL
|
|
53
|
+
);
|
|
54
|
+
--> statement-breakpoint
|
|
55
|
+
CREATE INDEX IF NOT EXISTS `ix_writer_queue_order` ON `_writer_queue` (`scope`, `lane`, `priority` ASC, `ticket` ASC);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
-- T11639 (EP-SESSION-MANIFEST · epic T11638) — cross-project `session_manifest`
|
|
2
|
+
-- MIRROR table in the consolidated GLOBAL cleo.db (drizzle-cleo-global scope).
|
|
3
|
+
--
|
|
4
|
+
-- The authoritative session row lives per-project in `tasks_sessions` (PROJECT
|
|
5
|
+
-- scope). A best-effort writer mirrors a compact projection into this GLOBAL row so
|
|
6
|
+
-- the fleet has one machine-wide view of every session across every project without
|
|
7
|
+
-- ATTACHing N per-project DBs. NOT authoritative (deliberately NOT named `sessions`):
|
|
8
|
+
-- reconcile-on-start re-reads the project row and overwrites this row so it can never
|
|
9
|
+
-- drift into authority.
|
|
10
|
+
--
|
|
11
|
+
-- `project_id` is a soft FK → `nexus_project_registry.project_id` (same cleo.db),
|
|
12
|
+
-- nullable for sessions started outside any registered project. `parent_session_id`
|
|
13
|
+
-- is a soft self-reference (fork tree, sourced from CLEO_PARENT_SESSION_ID / T11629),
|
|
14
|
+
-- nullable for root sessions. No native FKs: the mirror must tolerate a project row
|
|
15
|
+
-- that lands before/without its registry/parent peer.
|
|
16
|
+
--
|
|
17
|
+
-- `IF NOT EXISTS` so a re-open over an already-migrated DB is a no-op. Each statement
|
|
18
|
+
-- is separated by a drizzle breakpoint marker so node:sqlite prepare() does not
|
|
19
|
+
-- truncate the multi-statement file to statement one.
|
|
20
|
+
--
|
|
21
|
+
-- @task T11639
|
|
22
|
+
-- @epic T11638
|
|
23
|
+
|
|
24
|
+
CREATE TABLE IF NOT EXISTS `session_manifest` (
|
|
25
|
+
`session_id` text PRIMARY KEY NOT NULL,
|
|
26
|
+
`project_id` text,
|
|
27
|
+
`parent_session_id` text,
|
|
28
|
+
`name` text,
|
|
29
|
+
`status` text,
|
|
30
|
+
`project_path` text,
|
|
31
|
+
`started_at` text,
|
|
32
|
+
`ended_at` text,
|
|
33
|
+
`mirrored_at` text NOT NULL DEFAULT (datetime('now')),
|
|
34
|
+
CHECK ("started_at" IS NULL OR "started_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*'),
|
|
35
|
+
CHECK ("ended_at" IS NULL OR "ended_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*'),
|
|
36
|
+
CHECK ("mirrored_at" IS NULL OR "mirrored_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')
|
|
37
|
+
);
|
|
38
|
+
--> statement-breakpoint
|
|
39
|
+
CREATE INDEX IF NOT EXISTS `idx_session_manifest_project_id` ON `session_manifest` (`project_id`);
|
|
40
|
+
--> statement-breakpoint
|
|
41
|
+
CREATE INDEX IF NOT EXISTS `idx_session_manifest_parent` ON `session_manifest` (`parent_session_id`);
|
|
42
|
+
--> statement-breakpoint
|
|
43
|
+
CREATE INDEX IF NOT EXISTS `idx_session_manifest_status` ON `session_manifest` (`status`);
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
-- T11761 (S3 · T11899) — Pi `SessionStorage` tree-persistence tables.
|
|
2
|
+
--
|
|
3
|
+
-- Backs `CleoSessionStorage` (packages/core/src/llm/pi/pi-session-storage.ts):
|
|
4
|
+
-- the durable cleo.db implementation of Pi's tree-structured `SessionStorage`
|
|
5
|
+
-- interface (@earendil-works/pi-agent-core). Every Pi session is a tree of
|
|
6
|
+
-- `SessionTreeEntry` nodes (id / parentId / timestamp / type / payload) plus one
|
|
7
|
+
-- leaf pointer per session; this file is the physical home for both.
|
|
8
|
+
--
|
|
9
|
+
-- Pure runtime infrastructure (like `_writer_leases` from T11627) — NOT part of
|
|
10
|
+
-- the exodus target shape under `schema/cleo-project/`. Co-located inside EACH
|
|
11
|
+
-- scope's consolidated cleo.db via the existing drizzle-cleo-project /
|
|
12
|
+
-- drizzle-cleo-global migration sets; this file is byte-identical across both
|
|
13
|
+
-- lineages so the two produce the SAME migration hash (the consolidated
|
|
14
|
+
-- single-file journal converges across both under CONSOLIDATED_JOURNAL_LINEAGES,
|
|
15
|
+
-- T11829). The Pi adapter resolves PROJECT scope; the global copy keeps the two
|
|
16
|
+
-- lineages' DDL convergent (the lease-table precedent).
|
|
17
|
+
--
|
|
18
|
+
-- ALL writes go through the writer lease (withWriterLease('project', 'bulk', …),
|
|
19
|
+
-- writer-lease.ts:1067) — the adapter NEVER opens a raw writer (Gate 3). These
|
|
20
|
+
-- tables are written by the store accessor (pi-session-store.ts) over the native
|
|
21
|
+
-- handle openDualScopeDb already holds, inside the leased section.
|
|
22
|
+
--
|
|
23
|
+
-- Each statement is separated by a drizzle breakpoint marker line so node:sqlite
|
|
24
|
+
-- prepare() does not silently truncate the multi-statement file to statement one
|
|
25
|
+
-- (the marker token is intentionally not spelled out in this comment — drizzle's
|
|
26
|
+
-- readMigrationFiles splits the file on that literal substring).
|
|
27
|
+
--
|
|
28
|
+
-- @task T11899
|
|
29
|
+
-- @task T11761
|
|
30
|
+
-- @epic T10403
|
|
31
|
+
|
|
32
|
+
CREATE TABLE IF NOT EXISTS `pi_session_entries` (
|
|
33
|
+
`session_id` TEXT NOT NULL,
|
|
34
|
+
`entry_id` TEXT NOT NULL,
|
|
35
|
+
`parent_id` TEXT,
|
|
36
|
+
`type` TEXT NOT NULL,
|
|
37
|
+
`payload_json` TEXT NOT NULL,
|
|
38
|
+
`seq` INTEGER NOT NULL,
|
|
39
|
+
`ts` TEXT NOT NULL,
|
|
40
|
+
PRIMARY KEY (`session_id`, `entry_id`)
|
|
41
|
+
);
|
|
42
|
+
--> statement-breakpoint
|
|
43
|
+
CREATE INDEX IF NOT EXISTS `ix_pi_session_entries_seq` ON `pi_session_entries` (`session_id`, `seq` ASC);
|
|
44
|
+
--> statement-breakpoint
|
|
45
|
+
CREATE INDEX IF NOT EXISTS `ix_pi_session_entries_parent` ON `pi_session_entries` (`session_id`, `parent_id`);
|
|
46
|
+
--> statement-breakpoint
|
|
47
|
+
CREATE TABLE IF NOT EXISTS `pi_session_leaf` (
|
|
48
|
+
`session_id` TEXT PRIMARY KEY,
|
|
49
|
+
`leaf_id` TEXT,
|
|
50
|
+
`created_at` TEXT NOT NULL,
|
|
51
|
+
`updated_at` TEXT NOT NULL
|
|
52
|
+
);
|
package/migrations/drizzle-cleo-global/20260608010000_t11709-accounts-credential-pool/migration.sql
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
-- T11709 (EP-PROVIDER-VAULT · epic T10410 · saga SG-VAULT-CORE T10409) — the
|
|
2
|
+
-- pooled-LLM-credential `accounts` table in the consolidated GLOBAL cleo.db
|
|
3
|
+
-- (drizzle-cleo-global scope ONLY — this is a cross-project, machine-wide
|
|
4
|
+
-- credential pool with no project-tier analog, so it is NOT mirrored into
|
|
5
|
+
-- drizzle-cleo-project).
|
|
6
|
+
--
|
|
7
|
+
-- One row per LLM credential ("account") for one provider: the encrypted
|
|
8
|
+
-- secret/refresh material plus rotation / cooldown / health metadata the pool
|
|
9
|
+
-- runner consults to select the next live account and retire dead ones. Replaces
|
|
10
|
+
-- the legacy plaintext JSON blob with a queryable, `cleo health`-visible table.
|
|
11
|
+
--
|
|
12
|
+
-- `secret_enc` / `refresh_enc` are encryptGlobal() ciphertext (T11710), NEVER
|
|
13
|
+
-- plaintext. This is DISTINCT from `agent_registry_accounts` (the better-auth
|
|
14
|
+
-- OAuth-account table) — different physical name, different purpose.
|
|
15
|
+
--
|
|
16
|
+
-- ## Active-account pointer (raw partial unique index)
|
|
17
|
+
--
|
|
18
|
+
-- `is_active` is the per-provider "currently-selected" pointer: AT MOST ONE row
|
|
19
|
+
-- per `provider` may carry `is_active = 1`. drizzle-orm cannot model a partial
|
|
20
|
+
-- `WHERE` unique index, so it is emitted here as raw SQL (the established repo
|
|
21
|
+
-- pattern — cf. `_writer_leases.active`, T11627 · `project_agent_refs.enabled`).
|
|
22
|
+
-- The drizzle schema (accounts.ts) declares only the full-column table plus the
|
|
23
|
+
-- non-partial `(provider, label)` unique index that drizzle CAN emit.
|
|
24
|
+
--
|
|
25
|
+
-- ## Page-2 invariant
|
|
26
|
+
--
|
|
27
|
+
-- This migration runs AFTER the consolidation baseline (…_t11363-consolidation-
|
|
28
|
+
-- cleo-global) which already creates dozens of tables, so `accounts` is NEVER the
|
|
29
|
+
-- first CREATE on a fresh DB — rootpage 2 is already owned by
|
|
30
|
+
-- `__drizzle_migrations` / the baseline tables. No journal pre-create is required.
|
|
31
|
+
--
|
|
32
|
+
-- `IF NOT EXISTS` so a re-open over an already-migrated DB is a no-op. Each
|
|
33
|
+
-- statement is separated by a drizzle breakpoint marker line so node:sqlite
|
|
34
|
+
-- prepare() does not silently truncate the multi-statement file to statement one
|
|
35
|
+
-- (the marker token is intentionally not spelled out in this comment — drizzle's
|
|
36
|
+
-- readMigrationFiles splits the file on that literal substring).
|
|
37
|
+
--
|
|
38
|
+
-- @task T11709
|
|
39
|
+
-- @epic T10410
|
|
40
|
+
-- @saga T10409
|
|
41
|
+
|
|
42
|
+
CREATE TABLE IF NOT EXISTS `accounts` (
|
|
43
|
+
`id` integer PRIMARY KEY NOT NULL,
|
|
44
|
+
`provider` text NOT NULL,
|
|
45
|
+
`label` text NOT NULL,
|
|
46
|
+
`auth_type` text NOT NULL,
|
|
47
|
+
`secret_enc` text,
|
|
48
|
+
`refresh_enc` text,
|
|
49
|
+
`expires_at` text,
|
|
50
|
+
`priority` integer NOT NULL DEFAULT 0,
|
|
51
|
+
`source` text,
|
|
52
|
+
`status` text NOT NULL DEFAULT 'ok',
|
|
53
|
+
`last_error_code` text,
|
|
54
|
+
`cooldown_reset_at` text,
|
|
55
|
+
`request_count` integer NOT NULL DEFAULT 0,
|
|
56
|
+
`metadata` text NOT NULL DEFAULT '{}',
|
|
57
|
+
`is_active` integer NOT NULL DEFAULT 0,
|
|
58
|
+
`created_at` text NOT NULL DEFAULT (datetime('now')),
|
|
59
|
+
`updated_at` text NOT NULL DEFAULT (datetime('now')),
|
|
60
|
+
CHECK ("status" IN ('ok', 'exhausted', 'dead')),
|
|
61
|
+
CHECK ("is_active" IN (0, 1)),
|
|
62
|
+
CHECK ("expires_at" IS NULL OR "expires_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*'),
|
|
63
|
+
CHECK ("cooldown_reset_at" IS NULL OR "cooldown_reset_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*'),
|
|
64
|
+
CHECK ("created_at" IS NULL OR "created_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*'),
|
|
65
|
+
CHECK ("updated_at" IS NULL OR "updated_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')
|
|
66
|
+
);
|
|
67
|
+
--> statement-breakpoint
|
|
68
|
+
CREATE UNIQUE INDEX IF NOT EXISTS `ux_accounts_provider_label` ON `accounts` (`provider`, `label`);
|
|
69
|
+
--> statement-breakpoint
|
|
70
|
+
CREATE UNIQUE INDEX IF NOT EXISTS `ux_accounts_active_provider` ON `accounts` (`provider`) WHERE `is_active` = 1;
|
|
71
|
+
--> statement-breakpoint
|
|
72
|
+
CREATE INDEX IF NOT EXISTS `idx_accounts_provider_status_priority` ON `accounts` (`provider`, `status`, `priority`);
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
-- T11889 (T11889-A · T11911) — the self-improvement-loop DHQ sink (`selfimprove_dhq`).
|
|
2
|
+
--
|
|
3
|
+
-- One row per Dogfood-Harness-Question raised by `cleo selfimprove run`: the loop
|
|
4
|
+
-- replays a canned scenario, diffs the LAFS envelopes against a golden, and on
|
|
5
|
+
-- regression UPSERTs exactly ONE row here via the leased Gate-3 accessor
|
|
6
|
+
-- (selfimprove-dhq-store.ts). On green it writes nothing.
|
|
7
|
+
--
|
|
8
|
+
-- Co-located inside EACH scope's consolidated cleo.db (this file is byte-identical
|
|
9
|
+
-- in drizzle-cleo-project and drizzle-cleo-global so the two lineages produce the
|
|
10
|
+
-- SAME migration hash — the consolidated single-file journal converges across both
|
|
11
|
+
-- under the CONSOLIDATED_JOURNAL_LINEAGES cross-lineage guard, T11829). Pure runtime
|
|
12
|
+
-- infrastructure (like `_writer_leases` from T11627 and `pi_session_*` from T11899)
|
|
13
|
+
-- — NOT part of the exodus target shape under `schema/cleo-project/`.
|
|
14
|
+
--
|
|
15
|
+
-- ## Idempotency invariant (partial UNIQUE index)
|
|
16
|
+
--
|
|
17
|
+
-- At most ONE row per `question_hash` may carry `status = 'open'`, so a repeated
|
|
18
|
+
-- regression UPSERTs the same open row instead of spamming duplicates. drizzle-orm
|
|
19
|
+
-- cannot model a partial WHERE unique index, so it is emitted here as raw SQL (the
|
|
20
|
+
-- established repo pattern — cf. `_writer_leases.active`, T11627 ·
|
|
21
|
+
-- `project_agent_refs.enabled`). The drizzle schema (selfimprove-dhq-schema.ts)
|
|
22
|
+
-- declares ONLY the full-column table plus the two non-partial indexes drizzle CAN
|
|
23
|
+
-- emit; the runtime bootstrap asserts this partial index exists
|
|
24
|
+
-- (assertSelfimproveDhqOpenIndexPresent).
|
|
25
|
+
--
|
|
26
|
+
-- ## Page-2 invariant
|
|
27
|
+
--
|
|
28
|
+
-- This migration runs AFTER the consolidation baseline (…_t11363-consolidation-
|
|
29
|
+
-- cleo-project) which already creates dozens of tables, so `selfimprove_dhq` is
|
|
30
|
+
-- NEVER the first CREATE on a fresh DB — rootpage 2 is already owned by
|
|
31
|
+
-- `__drizzle_migrations` / the baseline tables. No journal pre-create is required
|
|
32
|
+
-- (the lease cold-open path pre-creates `__drizzle_migrations` before any first
|
|
33
|
+
-- table, so the precondition holds even on a freshly cold-opened DB).
|
|
34
|
+
--
|
|
35
|
+
-- `IF NOT EXISTS` so a re-open over an already-migrated DB is a no-op. Each
|
|
36
|
+
-- statement is separated by a drizzle breakpoint marker line so node:sqlite
|
|
37
|
+
-- prepare() does not silently truncate the multi-statement file to statement one
|
|
38
|
+
-- (the marker token is intentionally not spelled out in this comment — drizzle's
|
|
39
|
+
-- readMigrationFiles splits the file on that literal substring).
|
|
40
|
+
--
|
|
41
|
+
-- @task T11889
|
|
42
|
+
-- @task T11911
|
|
43
|
+
-- @epic T11889
|
|
44
|
+
|
|
45
|
+
CREATE TABLE IF NOT EXISTS `selfimprove_dhq` (
|
|
46
|
+
`id` INTEGER PRIMARY KEY,
|
|
47
|
+
`dhq_id` TEXT NOT NULL,
|
|
48
|
+
`scenario` TEXT NOT NULL,
|
|
49
|
+
`question_hash` TEXT NOT NULL,
|
|
50
|
+
`title` TEXT NOT NULL,
|
|
51
|
+
`regression_json` TEXT NOT NULL,
|
|
52
|
+
`status` TEXT NOT NULL DEFAULT 'open',
|
|
53
|
+
`severity` TEXT,
|
|
54
|
+
`pr_url` TEXT,
|
|
55
|
+
`run_id` TEXT NOT NULL,
|
|
56
|
+
`created_at` INTEGER NOT NULL,
|
|
57
|
+
`updated_at` INTEGER NOT NULL
|
|
58
|
+
);
|
|
59
|
+
--> statement-breakpoint
|
|
60
|
+
CREATE INDEX IF NOT EXISTS `ix_selfimprove_dhq_status` ON `selfimprove_dhq` (`status`);
|
|
61
|
+
--> statement-breakpoint
|
|
62
|
+
CREATE INDEX IF NOT EXISTS `ix_selfimprove_dhq_scenario` ON `selfimprove_dhq` (`scenario`);
|
|
63
|
+
--> statement-breakpoint
|
|
64
|
+
CREATE UNIQUE INDEX IF NOT EXISTS `ux_selfimprove_dhq_open` ON `selfimprove_dhq` (`question_hash`) WHERE `status` = 'open';
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
-- T11937 (EP-UNIVERSAL-SERVICE-VAULT · epic T11765 · saga SG-VAULT-CORE T10409 ·
|
|
2
|
+
-- M2 W1a) — the universal SERVICE-credential vault in the consolidated GLOBAL
|
|
3
|
+
-- cleo.db (drizzle-cleo-global scope ONLY — machine-wide service credentials with
|
|
4
|
+
-- no project-tier analog, exactly like the `accounts` LLM-credential pool T11709,
|
|
5
|
+
-- so NOT mirrored into drizzle-cleo-project).
|
|
6
|
+
--
|
|
7
|
+
-- Three tables, cannibalized from onecli `app_connections` / `app_configs` /
|
|
8
|
+
-- `agent_app_connections` with EVERY org/project/billing column dropped:
|
|
9
|
+
--
|
|
10
|
+
-- service_connections — one connected credential per (provider, label);
|
|
11
|
+
-- credentials_enc = encryptGlobal({access,refresh}) blob.
|
|
12
|
+
-- service_configs — per-provider BYOC OAuth app (enabled + client_secret_enc).
|
|
13
|
+
-- agent_service_grants — per-agent access + session_policy (the trust gate
|
|
14
|
+
-- evaluates this BEFORE any decrypt).
|
|
15
|
+
--
|
|
16
|
+
-- `credentials_enc` / `client_secret_enc` are encryptGlobal() ciphertext (T11710),
|
|
17
|
+
-- NEVER plaintext. These are DISTINCT from the LLM `accounts` table (model-API
|
|
18
|
+
-- credentials) — different physical names, different consumers, shared crypto.
|
|
19
|
+
--
|
|
20
|
+
-- ## Page-2 invariant
|
|
21
|
+
--
|
|
22
|
+
-- This migration runs AFTER the consolidation baseline (…_t11363-consolidation-
|
|
23
|
+
-- cleo-global) which already creates dozens of tables, so none of these tables is
|
|
24
|
+
-- the first CREATE on a fresh DB — rootpage 2 is already owned by
|
|
25
|
+
-- `__drizzle_migrations` / the baseline tables. No journal pre-create is required.
|
|
26
|
+
--
|
|
27
|
+
-- ## Idempotency + breakpoints
|
|
28
|
+
--
|
|
29
|
+
-- `IF NOT EXISTS` on every statement so a re-open over an already-migrated DB is a
|
|
30
|
+
-- no-op. Each statement is separated by a drizzle breakpoint marker line so
|
|
31
|
+
-- node:sqlite prepare() does not silently truncate the multi-statement file to
|
|
32
|
+
-- statement one (the marker token is the literal drizzle readMigrationFiles split
|
|
33
|
+
-- substring — additive/forward-only).
|
|
34
|
+
--
|
|
35
|
+
-- ## CHECK constraints (schema-parity SSoT — T11364)
|
|
36
|
+
--
|
|
37
|
+
-- The consolidated schema-parity gate re-derives the CHECK set from the drizzle
|
|
38
|
+
-- schema metadata (boolean → IN (0,1); enum → IN (...); `_at` TEXT → ISO-8601
|
|
39
|
+
-- GLOB). The CHECKs below MUST match that derivation byte-for-byte.
|
|
40
|
+
--
|
|
41
|
+
-- @task T11937
|
|
42
|
+
-- @epic T11765
|
|
43
|
+
-- @saga T10409
|
|
44
|
+
|
|
45
|
+
CREATE TABLE IF NOT EXISTS `service_connections` (
|
|
46
|
+
`id` integer PRIMARY KEY NOT NULL,
|
|
47
|
+
`provider` text NOT NULL,
|
|
48
|
+
`label` text NOT NULL,
|
|
49
|
+
`status` text NOT NULL DEFAULT 'active',
|
|
50
|
+
`credentials_enc` text,
|
|
51
|
+
`scopes` text NOT NULL DEFAULT '[]',
|
|
52
|
+
`expires_at` text,
|
|
53
|
+
`metadata` text NOT NULL DEFAULT '{}',
|
|
54
|
+
`connected_at` text NOT NULL DEFAULT (datetime('now')),
|
|
55
|
+
`updated_at` text NOT NULL DEFAULT (datetime('now')),
|
|
56
|
+
CHECK ("status" IN ('active', 'expired', 'revoked')),
|
|
57
|
+
CHECK ("expires_at" IS NULL OR "expires_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*'),
|
|
58
|
+
CHECK ("connected_at" IS NULL OR "connected_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*'),
|
|
59
|
+
CHECK ("updated_at" IS NULL OR "updated_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')
|
|
60
|
+
);
|
|
61
|
+
--> statement-breakpoint
|
|
62
|
+
CREATE UNIQUE INDEX IF NOT EXISTS `ux_service_connections_provider_label` ON `service_connections` (`provider`, `label`);
|
|
63
|
+
--> statement-breakpoint
|
|
64
|
+
CREATE INDEX IF NOT EXISTS `idx_service_connections_provider_status` ON `service_connections` (`provider`, `status`);
|
|
65
|
+
--> statement-breakpoint
|
|
66
|
+
CREATE TABLE IF NOT EXISTS `service_configs` (
|
|
67
|
+
`id` integer PRIMARY KEY NOT NULL,
|
|
68
|
+
`provider` text NOT NULL,
|
|
69
|
+
`enabled` integer NOT NULL DEFAULT 0,
|
|
70
|
+
`client_secret_enc` text,
|
|
71
|
+
`settings` text NOT NULL DEFAULT '{}',
|
|
72
|
+
`created_at` text NOT NULL DEFAULT (datetime('now')),
|
|
73
|
+
`updated_at` text NOT NULL DEFAULT (datetime('now')),
|
|
74
|
+
CHECK ("enabled" IN (0, 1)),
|
|
75
|
+
CHECK ("created_at" IS NULL OR "created_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*'),
|
|
76
|
+
CHECK ("updated_at" IS NULL OR "updated_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')
|
|
77
|
+
);
|
|
78
|
+
--> statement-breakpoint
|
|
79
|
+
CREATE UNIQUE INDEX IF NOT EXISTS `ux_service_configs_provider` ON `service_configs` (`provider`);
|
|
80
|
+
--> statement-breakpoint
|
|
81
|
+
CREATE TABLE IF NOT EXISTS `agent_service_grants` (
|
|
82
|
+
`agent_id` text NOT NULL,
|
|
83
|
+
`service_connection_id` integer NOT NULL,
|
|
84
|
+
`session_policy` text NOT NULL DEFAULT '{"mode":"allow"}',
|
|
85
|
+
`created_at` text NOT NULL DEFAULT (datetime('now')),
|
|
86
|
+
`updated_at` text NOT NULL DEFAULT (datetime('now')),
|
|
87
|
+
PRIMARY KEY (`agent_id`, `service_connection_id`),
|
|
88
|
+
FOREIGN KEY (`service_connection_id`) REFERENCES `service_connections`(`id`),
|
|
89
|
+
CHECK ("created_at" IS NULL OR "created_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*'),
|
|
90
|
+
CHECK ("updated_at" IS NULL OR "updated_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')
|
|
91
|
+
);
|
|
92
|
+
--> statement-breakpoint
|
|
93
|
+
CREATE INDEX IF NOT EXISTS `idx_agent_service_grants_agent` ON `agent_service_grants` (`agent_id`);
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
-- T11733 (E8-CATALOG-CURATION · epic T11694) — the `models_catalog` catalog SSoT
|
|
2
|
+
-- table in the consolidated GLOBAL cleo.db (drizzle-cleo-global scope ONLY — the
|
|
3
|
+
-- provider+model capability catalog is a cross-project, machine-wide signal with
|
|
4
|
+
-- no project-tier analog, so it is NOT mirrored into drizzle-cleo-project).
|
|
5
|
+
--
|
|
6
|
+
-- One row per model: the full models.dev wire capability set (modalities, cost,
|
|
7
|
+
-- limits, reasoning/tool-call flags, status, release_date). This table is the
|
|
8
|
+
-- catalog SSoT — seeded from the shipped offline `curated-catalog.json` (T11734),
|
|
9
|
+
-- read table-first via resolveCatalogEntry() (T11737), and consulted by the
|
|
10
|
+
-- resolver default (latest release_date wins — T11944), killing the hardcoded
|
|
11
|
+
-- `claude-haiku-4-5` default literal (which survives only as the offline floor).
|
|
12
|
+
--
|
|
13
|
+
-- This carries NO secrets and NO encryption — it is catalog DATA, distinct from
|
|
14
|
+
-- the `accounts` LLM-credential pool (T11709) and the `service_*` vault (T11937).
|
|
15
|
+
--
|
|
16
|
+
-- ## Page-2 invariant
|
|
17
|
+
--
|
|
18
|
+
-- This migration runs AFTER the consolidation baseline (…_t11363-consolidation-
|
|
19
|
+
-- cleo-global) and many subsequent migrations, so `models_catalog` is NEVER the
|
|
20
|
+
-- first CREATE on a fresh DB — rootpage 2 is already owned by
|
|
21
|
+
-- `__drizzle_migrations` / the baseline tables. No journal pre-create is required.
|
|
22
|
+
--
|
|
23
|
+
-- `IF NOT EXISTS` so a re-open over an already-migrated DB is a no-op (idempotent).
|
|
24
|
+
-- Each statement is separated by a drizzle breakpoint marker line so node:sqlite
|
|
25
|
+
-- prepare() does not silently truncate the multi-statement file to statement one
|
|
26
|
+
-- (the marker token is intentionally not spelled out in this comment — drizzle's
|
|
27
|
+
-- readMigrationFiles splits the file on that literal substring).
|
|
28
|
+
--
|
|
29
|
+
-- @task T11733
|
|
30
|
+
-- @epic T11694
|
|
31
|
+
|
|
32
|
+
CREATE TABLE IF NOT EXISTS `models_catalog` (
|
|
33
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
34
|
+
`provider_id` text NOT NULL,
|
|
35
|
+
`name` text NOT NULL,
|
|
36
|
+
`family` text NOT NULL,
|
|
37
|
+
`attachment` integer NOT NULL DEFAULT 0,
|
|
38
|
+
`reasoning` integer NOT NULL DEFAULT 0,
|
|
39
|
+
`temperature` integer NOT NULL DEFAULT 1,
|
|
40
|
+
`interleaved` integer NOT NULL DEFAULT 0,
|
|
41
|
+
`tool_call` integer NOT NULL DEFAULT 0,
|
|
42
|
+
`modalities` text NOT NULL DEFAULT '{"input":["text"],"output":["text"]}',
|
|
43
|
+
`cost` text NOT NULL DEFAULT '{}',
|
|
44
|
+
`context_limit` integer,
|
|
45
|
+
`output_limit` integer,
|
|
46
|
+
`status` text NOT NULL DEFAULT 'stable',
|
|
47
|
+
`release_date` text NOT NULL,
|
|
48
|
+
`models_dev_id` text NOT NULL,
|
|
49
|
+
`source` text NOT NULL DEFAULT 'seed',
|
|
50
|
+
`seeded_at` text NOT NULL DEFAULT (datetime('now')),
|
|
51
|
+
CHECK ("status" IN ('stable', 'beta', 'preview', 'deprecated', 'retired')),
|
|
52
|
+
CHECK ("attachment" IN (0, 1)),
|
|
53
|
+
CHECK ("reasoning" IN (0, 1)),
|
|
54
|
+
CHECK ("temperature" IN (0, 1)),
|
|
55
|
+
CHECK ("interleaved" IN (0, 1)),
|
|
56
|
+
CHECK ("tool_call" IN (0, 1)),
|
|
57
|
+
CHECK ("release_date" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]'),
|
|
58
|
+
CHECK ("seeded_at" IS NULL OR "seeded_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')
|
|
59
|
+
);
|
|
60
|
+
--> statement-breakpoint
|
|
61
|
+
CREATE UNIQUE INDEX IF NOT EXISTS `ux_models_catalog_provider_modeldev` ON `models_catalog` (`provider_id`, `models_dev_id`);
|
|
62
|
+
--> statement-breakpoint
|
|
63
|
+
CREATE INDEX IF NOT EXISTS `idx_models_catalog_provider_release` ON `models_catalog` (`provider_id`, `release_date`);
|
|
64
|
+
--> statement-breakpoint
|
|
65
|
+
CREATE INDEX IF NOT EXISTS `idx_models_catalog_provider_status` ON `models_catalog` (`provider_id`, `status`);
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
-- T11703 (M3 Provider SSoT · epic T11667) — the `providers` declarative-provider
|
|
2
|
+
-- SSoT table in the consolidated GLOBAL cleo.db (drizzle-cleo-global scope ONLY —
|
|
3
|
+
-- the provider definition set is a cross-project, machine-wide signal with no
|
|
4
|
+
-- project-tier analog, so it is NOT mirrored into drizzle-cleo-project).
|
|
5
|
+
--
|
|
6
|
+
-- One row per provider: the serializable ProviderDef (T11702) — identity, aliases,
|
|
7
|
+
-- auth methods, wire endpoint(s) (tagged-union JSON discriminated on `transport`),
|
|
8
|
+
-- models.dev catalog key, default headers, optional OAuth flow, declarative request
|
|
9
|
+
-- quirks. This table is the provider SSoT — seeded from the builtin ProviderDef set
|
|
10
|
+
-- derived from the in-process ProviderProfile builtins (T11703), and read by the
|
|
11
|
+
-- resolver / CLI / alias resolver (T11704). The non-serializable runtime hooks stay
|
|
12
|
+
-- on ProviderProfile; a row carries only DATA.
|
|
13
|
+
--
|
|
14
|
+
-- This carries NO secrets and NO encryption — it is declarative config DATA, distinct
|
|
15
|
+
-- from the `accounts` LLM-credential pool (T11709), the `service_*` vault (T11937),
|
|
16
|
+
-- and the `models_catalog` catalog (T11733). The OAuth `client_id` it stores is the
|
|
17
|
+
-- provider's PUBLIC first-party id; client SECRETS live in the service vault.
|
|
18
|
+
--
|
|
19
|
+
-- ## Page-2 invariant
|
|
20
|
+
--
|
|
21
|
+
-- This migration runs AFTER the consolidation baseline (…_t11363-consolidation-
|
|
22
|
+
-- cleo-global) and many subsequent migrations, so `providers` is NEVER the first
|
|
23
|
+
-- CREATE on a fresh DB — rootpage 2 is already owned by `__drizzle_migrations` /
|
|
24
|
+
-- the baseline tables. No journal pre-create is required.
|
|
25
|
+
--
|
|
26
|
+
-- `IF NOT EXISTS` so a re-open over an already-migrated DB is a no-op (idempotent).
|
|
27
|
+
-- Each statement is separated by a drizzle breakpoint marker line so node:sqlite
|
|
28
|
+
-- prepare() does not silently truncate the multi-statement file to statement one
|
|
29
|
+
-- (the marker token is intentionally not spelled out in this comment — drizzle's
|
|
30
|
+
-- readMigrationFiles splits the file on that literal substring).
|
|
31
|
+
--
|
|
32
|
+
-- @task T11703
|
|
33
|
+
-- @epic T11667
|
|
34
|
+
|
|
35
|
+
CREATE TABLE IF NOT EXISTS `providers` (
|
|
36
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
37
|
+
`display_name` text NOT NULL,
|
|
38
|
+
`aliases` text NOT NULL DEFAULT '[]',
|
|
39
|
+
`auth_methods` text NOT NULL DEFAULT '[]',
|
|
40
|
+
`endpoint` text NOT NULL,
|
|
41
|
+
`alt_endpoints` text NOT NULL DEFAULT '[]',
|
|
42
|
+
`models_dev_id` text NOT NULL,
|
|
43
|
+
`default_headers` text NOT NULL DEFAULT '{}',
|
|
44
|
+
`env_vars` text NOT NULL DEFAULT '[]',
|
|
45
|
+
`oauth` text,
|
|
46
|
+
`request_quirks` text NOT NULL DEFAULT '[]',
|
|
47
|
+
`source` text NOT NULL DEFAULT 'seed',
|
|
48
|
+
`seeded_at` text NOT NULL DEFAULT (datetime('now')),
|
|
49
|
+
CHECK ("seeded_at" IS NULL OR "seeded_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')
|
|
50
|
+
);
|
|
51
|
+
--> statement-breakpoint
|
|
52
|
+
CREATE INDEX IF NOT EXISTS `idx_providers_models_dev` ON `providers` (`models_dev_id`);
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
-- T11962 (under T11679) — the cron/todo schedule sink (`schedules`).
|
|
2
|
+
--
|
|
3
|
+
-- One row per recurring schedule registered by the `cron_schedule` agent tool
|
|
4
|
+
-- (T11950): a cron expression + the task template (title / description)
|
|
5
|
+
-- materialized on each fire, an `enabled` flag, and create/update timestamps. The
|
|
6
|
+
-- tool registers a row daemon-OFF via the leased Gate-3 accessor
|
|
7
|
+
-- (schedule-store.ts); a future daemon scheduler consumes the SAME table as a
|
|
8
|
+
-- separate reader (AC4).
|
|
9
|
+
--
|
|
10
|
+
-- Co-located inside EACH scope's consolidated cleo.db (this file is byte-identical
|
|
11
|
+
-- in drizzle-cleo-project and drizzle-cleo-global so the two lineages produce the
|
|
12
|
+
-- SAME migration hash — the consolidated single-file journal converges across both
|
|
13
|
+
-- under the CONSOLIDATED_JOURNAL_LINEAGES cross-lineage guard, T11829). Pure
|
|
14
|
+
-- runtime infrastructure (like `_writer_leases` from T11627, `pi_session_*` from
|
|
15
|
+
-- T11899, and `selfimprove_dhq` from T11911) — NOT part of the exodus target shape
|
|
16
|
+
-- under `schema/cleo-project/`, so the consolidated schema-parity gate (T11364)
|
|
17
|
+
-- does not re-derive its CHECK set.
|
|
18
|
+
--
|
|
19
|
+
-- ## Page-2 invariant
|
|
20
|
+
--
|
|
21
|
+
-- This migration runs AFTER the consolidation baseline (…_t11363-consolidation-
|
|
22
|
+
-- cleo-project) which already creates dozens of tables, so `schedules` is NEVER
|
|
23
|
+
-- the first CREATE on a fresh DB — rootpage 2 is already owned by
|
|
24
|
+
-- `__drizzle_migrations` / the baseline tables.
|
|
25
|
+
--
|
|
26
|
+
-- `IF NOT EXISTS` so a re-open over an already-migrated DB is a no-op. Each
|
|
27
|
+
-- statement is separated by a drizzle breakpoint marker line so node:sqlite
|
|
28
|
+
-- prepare() does not silently truncate the multi-statement file to statement one
|
|
29
|
+
-- (the marker token is intentionally not spelled out in this comment — drizzle's
|
|
30
|
+
-- readMigrationFiles splits the file on that literal substring).
|
|
31
|
+
--
|
|
32
|
+
-- @task T11962
|
|
33
|
+
-- @epic T11679
|
|
34
|
+
|
|
35
|
+
CREATE TABLE IF NOT EXISTS `schedules` (
|
|
36
|
+
`id` INTEGER PRIMARY KEY,
|
|
37
|
+
`schedule_id` TEXT NOT NULL,
|
|
38
|
+
`cron_expr` TEXT NOT NULL,
|
|
39
|
+
`title` TEXT NOT NULL,
|
|
40
|
+
`description` TEXT,
|
|
41
|
+
`enabled` INTEGER NOT NULL DEFAULT 1 CHECK (`enabled` IN (0, 1)),
|
|
42
|
+
`created_at` TEXT NOT NULL DEFAULT (datetime('now')),
|
|
43
|
+
`updated_at` TEXT NOT NULL DEFAULT (datetime('now'))
|
|
44
|
+
);
|
|
45
|
+
--> statement-breakpoint
|
|
46
|
+
CREATE UNIQUE INDEX IF NOT EXISTS `ux_schedules_schedule_id` ON `schedules` (`schedule_id`);
|
|
47
|
+
--> statement-breakpoint
|
|
48
|
+
CREATE INDEX IF NOT EXISTS `ix_schedules_enabled` ON `schedules` (`enabled`);
|