@cleocode/core 2026.6.12 → 2026.6.13
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/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/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/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/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 +2294 -1250
- package/dist/docs/export-document.js.map +3 -3
- 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 +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +13 -10
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +11 -11
- 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/cli-ops.d.ts +14 -1
- package/dist/llm/cli-ops.d.ts.map +1 -1
- package/dist/llm/cli-ops.js +41 -12
- package/dist/llm/cli-ops.js.map +1 -1
- 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/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/index.d.ts +4 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +4 -0
- package/dist/llm/index.js.map +1 -1
- 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 +227 -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 +2253 -1151
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/llm/role-executor.d.ts.map +1 -1
- package/dist/llm/role-executor.js +8 -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 +178 -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 +70 -18
- 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/llm-backend-resolver.js +23 -5
- package/dist/memory/llm-backend-resolver.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/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/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/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/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/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 +2 -0
- package/dist/store/schema/cleo-global/index.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/index.js +2 -0
- package/dist/store/schema/cleo-global/index.js.map +1 -1
- 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/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/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/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 +32 -0
- 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/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.map +1 -1
- package/dist/tasks/complete.js +7 -10
- package/dist/tasks/complete.js.map +1 -1
- 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/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 +150 -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/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 +10 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +37 -0
- package/dist/tools/index.js.map +1 -1
- 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/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/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/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-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-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/package.json +15 -13
- 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 @@
|
|
|
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;AAG7B,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;AA0FD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,IAAI,CAAC,EAAE,0BAA0B,GAChC,OAAO,CAAC,oBAAoB,CAAC,CA8D/B"}
|
|
@@ -41,19 +41,37 @@ const logger = getLogger('llm-system-resolver');
|
|
|
41
41
|
// Internal helpers
|
|
42
42
|
// ---------------------------------------------------------------------------
|
|
43
43
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
44
|
+
* Type guard: is `input` the structured {@link RoleSystem} descriptor form
|
|
45
|
+
* (`{ kind: 'role', id: RoleName }`) rather than a flat {@link SystemOfUseLabel}?
|
|
46
|
+
*
|
|
47
|
+
* A flat label is always a `string`; the descriptor is the only object form the
|
|
48
|
+
* chokepoint accepts — so a single `typeof === 'object'` test is sufficient and
|
|
49
|
+
* narrows `input` to {@link RoleSystem}.
|
|
50
|
+
*
|
|
51
|
+
* @task T11750
|
|
52
|
+
*/
|
|
53
|
+
function isRoleSystem(input) {
|
|
54
|
+
return typeof input === 'object' && input !== null && input.kind === 'role';
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Map a {@link SystemResolverInput} to the {@link RoleName} that
|
|
58
|
+
* `resolveLLMForRole` will use for config lookup.
|
|
46
59
|
*
|
|
47
60
|
* Priority:
|
|
48
|
-
* 1. `opts.roleOverride` — explicit caller override.
|
|
49
|
-
* 2. {@link
|
|
61
|
+
* 1. `opts.roleOverride` — explicit caller override (both input forms).
|
|
62
|
+
* 2. Structured {@link RoleSystem} descriptor → its `id` IS the role (T11750).
|
|
63
|
+
* 3. {@link SYSTEM_ROLE_MAP} — static default for the flat system label.
|
|
50
64
|
*
|
|
51
|
-
* Returns `null` when
|
|
65
|
+
* Returns `null` when a flat label maps to the global default (no role entry).
|
|
66
|
+
* The descriptor form always carries a concrete {@link RoleName}, so it never
|
|
67
|
+
* returns `null`.
|
|
52
68
|
*/
|
|
53
|
-
function deriveRole(
|
|
69
|
+
function deriveRole(input, opts) {
|
|
54
70
|
if (opts?.roleOverride)
|
|
55
71
|
return opts.roleOverride;
|
|
56
|
-
|
|
72
|
+
if (isRoleSystem(input))
|
|
73
|
+
return input.id;
|
|
74
|
+
return SYSTEM_ROLE_MAP[input] ?? null;
|
|
57
75
|
}
|
|
58
76
|
/**
|
|
59
77
|
* When `resolveLLMForRole` returns `source === 'implicit-fallback'`, the
|
|
@@ -96,60 +114,94 @@ async function upgradeCatalogDefault(resolved) {
|
|
|
96
114
|
// Public API
|
|
97
115
|
// ---------------------------------------------------------------------------
|
|
98
116
|
/**
|
|
99
|
-
* Resolve the LLM client + credential for a semantic system-of-use label
|
|
117
|
+
* Resolve the LLM client + credential for a semantic system-of-use label OR a
|
|
118
|
+
* structured {@link RoleSystem} descriptor.
|
|
100
119
|
*
|
|
101
120
|
* This is the single DRY chokepoint for all LLM resolution in CLEO (E9 ·
|
|
102
121
|
* T11745). It wraps `resolveLLMForRole` with:
|
|
103
122
|
*
|
|
104
|
-
* - System label → role mapping (via {@link SYSTEM_ROLE_MAP})
|
|
123
|
+
* - System label → role mapping (via {@link SYSTEM_ROLE_MAP}); OR direct
|
|
124
|
+
* `{ kind: 'role', id }` descriptor resolution (T11750 · AC1).
|
|
105
125
|
* - SSoT default model from the provider registry when `implicit-fallback`
|
|
106
126
|
* is reached (the hardcoded haiku literal is NOT used as the final model).
|
|
107
127
|
* - Full CredentialPool (E3) binding via `resolveLLMForRole` delegation.
|
|
108
128
|
*
|
|
129
|
+
* ## Role equivalence (T11750 · AC1)
|
|
130
|
+
*
|
|
131
|
+
* `resolveLLMForSystem({ kind: 'role', id })` is the chokepoint expression of a
|
|
132
|
+
* direct role resolution — identical to `resolveLLMForRole(id)` for every
|
|
133
|
+
* resolution-relevant field (`provider` / `model` / `source` / `credential` /
|
|
134
|
+
* `sealedCredential` / `apiMode` / …), differing ONLY by the additive `system`
|
|
135
|
+
* + `resolvedRole` envelope fields. There is exactly ONE resolution
|
|
136
|
+
* implementation (`resolveLLMForRole`); both input forms funnel through it with
|
|
137
|
+
* ZERO duplicated logic. The descriptor form does NOT thread a `systemKey`
|
|
138
|
+
* (there is no flat label to key the `llm.systems[key]` override tier on), so it
|
|
139
|
+
* walks the same tier chain a bare `resolveLLMForRole(id)` call walks.
|
|
140
|
+
*
|
|
109
141
|
* Like `resolveLLMForRole`, this function **never throws**: when no credential
|
|
110
142
|
* is reachable the caller receives `{ credential: null, client: null, … }` and
|
|
111
143
|
* is responsible for its own graceful-degradation path.
|
|
112
144
|
*
|
|
113
145
|
* @example
|
|
114
146
|
* ```ts
|
|
115
|
-
*
|
|
116
|
-
*
|
|
147
|
+
* // Flat label (background subsystem):
|
|
148
|
+
* const a = await resolveLLMForSystem('sentient', { projectRoot });
|
|
149
|
+
* // Structured role descriptor (T11750 · AC1) — equivalent to
|
|
150
|
+
* // resolveLLMForRole('consolidation'):
|
|
151
|
+
* const b = await resolveLLMForSystem({ kind: 'role', id: 'consolidation' }, { projectRoot });
|
|
152
|
+
* if (!a.sealedCredential || !a.client) {
|
|
117
153
|
* return null; // graceful no-op — no credential available
|
|
118
154
|
* }
|
|
119
|
-
* // Use resolved.model, resolved.client, resolved.credential
|
|
155
|
+
* // Use resolved.model, resolved.client, resolved.credential (metadata only);
|
|
156
|
+
* // materialize the secret at the wire via resolved.sealedCredential.fetch().
|
|
120
157
|
* ```
|
|
121
158
|
*
|
|
122
|
-
* @param system -
|
|
159
|
+
* @param system - Flat {@link SystemOfUseLabel} or {@link RoleSystem} descriptor.
|
|
123
160
|
* @param opts - Optional overrides (project root, role override, skipCatalogDefault).
|
|
124
161
|
* @returns A {@link ResolvedLLMForSystem} envelope; never throws.
|
|
125
162
|
*
|
|
126
163
|
* @task T11749
|
|
164
|
+
* @task T11750
|
|
127
165
|
* @epic T11745
|
|
128
166
|
*/
|
|
129
167
|
export async function resolveLLMForSystem(system, opts) {
|
|
130
168
|
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)
|
|
169
|
+
// When the role is null (flat `system === 'default'`), fall back to treating
|
|
170
|
+
// it as the 'consolidation' role — this exercises the same config tiers as
|
|
171
|
+
// all other roles (roles[role] → default → defaultProfile → implicit-fallback)
|
|
134
172
|
// and avoids a special code path. If `config.llm.roles['consolidation']` is
|
|
135
173
|
// not set, resolution cascades to `config.llm.default` and then the catalog
|
|
136
|
-
// default exactly as desired.
|
|
174
|
+
// default exactly as desired. The descriptor form always carries a concrete
|
|
175
|
+
// role id, so `resolvedRole` is never null there.
|
|
137
176
|
const roleForResolution = resolvedRole ?? 'consolidation';
|
|
177
|
+
// Thread the flat label as the `llm.systems[key]` granular-override key (E9 ·
|
|
178
|
+
// T11748). The structured `{ kind: 'role', id }` descriptor carries NO label
|
|
179
|
+
// to key that tier on, so it omits `systemKey` and walks the same tier chain
|
|
180
|
+
// a bare `resolveLLMForRole(id)` call walks — preserving the AC1 equivalence.
|
|
181
|
+
const systemKey = isRoleSystem(system) ? undefined : system;
|
|
138
182
|
let base;
|
|
139
183
|
try {
|
|
140
184
|
base = await resolveLLMForRole(roleForResolution, {
|
|
141
185
|
projectRoot: opts?.projectRoot,
|
|
186
|
+
systemKey,
|
|
142
187
|
});
|
|
143
188
|
}
|
|
144
189
|
catch (err) {
|
|
145
190
|
// Mirror role-resolver's never-throw contract: return a null-credential
|
|
146
191
|
// envelope on unexpected failure.
|
|
147
|
-
logger.warn({
|
|
192
|
+
logger.warn({
|
|
193
|
+
err: err instanceof Error ? err.message : String(err),
|
|
194
|
+
system,
|
|
195
|
+
role: roleForResolution,
|
|
196
|
+
}, 'system-resolver: resolveLLMForRole threw unexpectedly; returning null-credential envelope');
|
|
148
197
|
base = {
|
|
149
198
|
provider: IMPLICIT_FALLBACK_PROVIDER,
|
|
150
199
|
model: 'unknown',
|
|
151
200
|
client: null,
|
|
152
201
|
credential: null,
|
|
202
|
+
// E10 (T11753): no credential resolved → null sealed handle, paired with
|
|
203
|
+
// the null `credential` metadata above.
|
|
204
|
+
sealedCredential: null,
|
|
153
205
|
source: 'implicit-fallback',
|
|
154
206
|
// SSoT wire facts (E9 · T11745): the implicit-fallback provider is
|
|
155
207
|
// 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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"}
|
|
@@ -46,6 +46,7 @@ import { existsSync } from 'node:fs';
|
|
|
46
46
|
import { dirname, join } from 'node:path';
|
|
47
47
|
import { fileURLToPath } from 'node:url';
|
|
48
48
|
import { getLogger } from '../logger.js';
|
|
49
|
+
import { acquireWriterLease, assertWriterLeaseHeld, resolveLeaseMode, } from '../store/writer-lease.js';
|
|
49
50
|
// ============================================================================
|
|
50
51
|
// Bypass mode (CLEO_BRAIN_BYPASS_WRITER_THREAD=1)
|
|
51
52
|
// ============================================================================
|
|
@@ -217,6 +218,93 @@ class BrainWriterManager {
|
|
|
217
218
|
}
|
|
218
219
|
}
|
|
219
220
|
// ============================================================================
|
|
221
|
+
// Writer-lease (T11627 ST-4 · Seam 2 · AC4)
|
|
222
|
+
// ============================================================================
|
|
223
|
+
/**
|
|
224
|
+
* The cleo.db scope the brain WRITE handle targets. `getBrainDb()` routes through
|
|
225
|
+
* `openDualScopeDb('project')` (memory-sqlite.ts T11522) — the `brain_*` tables
|
|
226
|
+
* live in the consolidated PROJECT `cleo.db`, co-located with `tasks_*`. So the
|
|
227
|
+
* brain lane is leased in the `'project'` scope.
|
|
228
|
+
*/
|
|
229
|
+
const BRAIN_LEASE_SCOPE = 'project';
|
|
230
|
+
/** The dedicated brain write lane (AC4 — held independently of the `tasks` chokepoint). */
|
|
231
|
+
const BRAIN_LEASE_LANE = 'brain';
|
|
232
|
+
/**
|
|
233
|
+
* The process-local brain-batch grant. The brain worker serializes every op
|
|
234
|
+
* through one consumer; the lease is taken ONCE per drain batch (acquire → drain
|
|
235
|
+
* N → release) rather than per-op, which is both cheaper and starvation-safe
|
|
236
|
+
* because the chokepoint already serializes internally. Concurrent
|
|
237
|
+
* `enqueueBrainWrite` callers in this process re-enter the SAME grant (refcount++,
|
|
238
|
+
* no second claim txn) for the duration of the in-flight batch; the grant is
|
|
239
|
+
* released when the batch quiesces (no callers left in flight).
|
|
240
|
+
*/
|
|
241
|
+
let _brainBatchHandle = null;
|
|
242
|
+
let _brainBatchRefcount = 0;
|
|
243
|
+
/**
|
|
244
|
+
* In-flight FIRST brain-batch acquire promise (single-flight — companion to the
|
|
245
|
+
* writer-lease engine's own single-flight guard). Without it, two concurrent
|
|
246
|
+
* `enqueueBrainWrite` callers racing the very first acquire both observe
|
|
247
|
+
* `_brainBatchHandle === null` across the `await acquireWriterLease(...)` and each
|
|
248
|
+
* runs a full acquire — the second stalls the whole acquire window then writes
|
|
249
|
+
* lease-less. The documented hot path (STDP loop + dialectic hook + propose-tick
|
|
250
|
+
* reconciler all calling `enqueueBrainWrite` concurrently) is exactly that race.
|
|
251
|
+
*/
|
|
252
|
+
let _brainBatchInflight = null;
|
|
253
|
+
/**
|
|
254
|
+
* Acquire (or re-enter) the batch-granularity `brain` lease for the duration of a
|
|
255
|
+
* single `enqueueBrainWrite`. The first in-flight call acquires the lease;
|
|
256
|
+
* concurrent calls share it (refcount) — including callers that race the FIRST
|
|
257
|
+
* acquire, which single-flight onto the same in-flight promise rather than each
|
|
258
|
+
* running a full acquire. The lease is released when the last in-flight call
|
|
259
|
+
* finishes (refcount → 0). In `off` mode this is a no-op pass-through (no lease,
|
|
260
|
+
* `busy_timeout` serializes as before).
|
|
261
|
+
*
|
|
262
|
+
* @returns A release callback the caller MUST invoke (in a `finally`) when its
|
|
263
|
+
* write completes; the underlying row is freed only when the batch quiesces.
|
|
264
|
+
*/
|
|
265
|
+
async function enterBrainBatchLease() {
|
|
266
|
+
if (resolveLeaseMode() === 'off') {
|
|
267
|
+
// No lease in off-mode — pass-through (busy_timeout serializes).
|
|
268
|
+
return async () => { };
|
|
269
|
+
}
|
|
270
|
+
if (_brainBatchHandle === null) {
|
|
271
|
+
// Single-flight the first acquire: concurrent racers await the SAME promise
|
|
272
|
+
// and share the resulting grant instead of each running a full acquire (which
|
|
273
|
+
// would stall one caller the whole acquire window, then run it lease-less).
|
|
274
|
+
if (_brainBatchInflight === null) {
|
|
275
|
+
// Re-entrant by default so this acquire shares any grant a manual
|
|
276
|
+
// `acquireWriterLease('project','brain')` batch holder already took.
|
|
277
|
+
_brainBatchInflight = acquireWriterLease(BRAIN_LEASE_SCOPE, BRAIN_LEASE_LANE, {
|
|
278
|
+
priority: 50,
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
try {
|
|
282
|
+
const handle = await _brainBatchInflight;
|
|
283
|
+
// The first finisher installs the shared handle; later finishers observe it.
|
|
284
|
+
if (_brainBatchHandle === null) {
|
|
285
|
+
_brainBatchHandle = handle;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
finally {
|
|
289
|
+
_brainBatchInflight = null;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
_brainBatchRefcount += 1;
|
|
293
|
+
let released = false;
|
|
294
|
+
return async () => {
|
|
295
|
+
if (released)
|
|
296
|
+
return;
|
|
297
|
+
released = true;
|
|
298
|
+
_brainBatchRefcount -= 1;
|
|
299
|
+
if (_brainBatchRefcount <= 0 && _brainBatchHandle !== null) {
|
|
300
|
+
const handle = _brainBatchHandle;
|
|
301
|
+
_brainBatchHandle = null;
|
|
302
|
+
_brainBatchRefcount = 0;
|
|
303
|
+
await handle.release();
|
|
304
|
+
}
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
// ============================================================================
|
|
220
308
|
// Inline-mode fallback (bypass + worker-unavailable cases)
|
|
221
309
|
// ============================================================================
|
|
222
310
|
/**
|
|
@@ -242,6 +330,10 @@ function runInline(op) {
|
|
|
242
330
|
* so behaviour is identical except for the thread of execution.
|
|
243
331
|
*/
|
|
244
332
|
async function executeInline(op) {
|
|
333
|
+
// AC4 guard: a lease-less write must NOT open the brain WRITE handle. This is
|
|
334
|
+
// enforcement, not convention — `enqueueBrainWrite` holds the batch lease before
|
|
335
|
+
// it reaches here, so a held grant exists in every mode except `off` (exempt).
|
|
336
|
+
assertWriterLeaseHeld(BRAIN_LEASE_SCOPE, BRAIN_LEASE_LANE);
|
|
245
337
|
const { handleWriteOp } = await import('./brain-writer-handlers.js');
|
|
246
338
|
return handleWriteOp(op);
|
|
247
339
|
}
|
|
@@ -295,19 +387,29 @@ function getManager() {
|
|
|
295
387
|
* @returns Worker result for the op.
|
|
296
388
|
*/
|
|
297
389
|
export async function enqueueBrainWrite(op) {
|
|
298
|
-
//
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
390
|
+
// Seam 2 (AC4): hold the `brain` lease for the duration of this write. The lease
|
|
391
|
+
// is batch-granular (acquire-once / drain-N / release) via the process-local
|
|
392
|
+
// refcount — concurrent callers share one grant, freed when the batch quiesces.
|
|
393
|
+
// The lease-less path is blocked at the write primitive by `assertWriterLeaseHeld`.
|
|
394
|
+
const releaseBatch = await enterBrainBatchLease();
|
|
302
395
|
try {
|
|
303
|
-
|
|
396
|
+
// Bypass mode — log audit warn and run inline.
|
|
397
|
+
if (bypassEnabled()) {
|
|
398
|
+
return await runInline(op);
|
|
399
|
+
}
|
|
400
|
+
try {
|
|
401
|
+
return await getManager().enqueue(op);
|
|
402
|
+
}
|
|
403
|
+
catch (err) {
|
|
404
|
+
// Worker was unavailable (tests, esbuild bundle, etc.). Fall back to
|
|
405
|
+
// inline mode — still serialized via the inline mutex.
|
|
406
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
407
|
+
getLogger('brain-writer').debug({ err: msg }, 'Brain writer-thread unavailable — falling back to inline serialized executor');
|
|
408
|
+
return await runInline(op);
|
|
409
|
+
}
|
|
304
410
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
// inline mode — still serialized via the inline mutex.
|
|
308
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
309
|
-
getLogger('brain-writer').debug({ err: msg }, 'Brain writer-thread unavailable — falling back to inline serialized executor');
|
|
310
|
-
return runInline(op);
|
|
411
|
+
finally {
|
|
412
|
+
await releaseBatch();
|
|
311
413
|
}
|
|
312
414
|
}
|
|
313
415
|
/**
|
|
@@ -328,5 +430,8 @@ export async function shutdownBrainWriter() {
|
|
|
328
430
|
export function _resetBrainWriterForTests() {
|
|
329
431
|
_manager = null;
|
|
330
432
|
inlineQueueTail = Promise.resolve();
|
|
433
|
+
_brainBatchHandle = null;
|
|
434
|
+
_brainBatchRefcount = 0;
|
|
435
|
+
_brainBatchInflight = null;
|
|
331
436
|
}
|
|
332
437
|
//# sourceMappingURL=brain-writer-thread.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-writer-thread.js","sourceRoot":"","sources":["../../src/memory/brain-writer-thread.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"brain-writer-thread.js","sourceRoot":"","sources":["../../src/memory/brain-writer-thread.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-mem-migration.d.ts","sourceRoot":"","sources":["../../src/memory/claude-mem-migration.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"claude-mem-migration.d.ts","sourceRoot":"","sources":["../../src/memory/claude-mem-migration.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA6BH,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACvC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,4CAA4C;AAC5C,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,wBAAwB,CAAC,CAgSnC"}
|
|
@@ -12,6 +12,7 @@ import { createRequire } from 'node:module';
|
|
|
12
12
|
import { getClaudeMemDbPath } from '../paths.js';
|
|
13
13
|
import { getBrainDb, getBrainNativeDb } from '../store/memory-sqlite.js';
|
|
14
14
|
import { applyPerfPragmas } from '../store/sqlite-pragmas.js';
|
|
15
|
+
import { acquireWriterLease } from '../store/writer-lease.js';
|
|
15
16
|
import { ensureFts5Tables, rebuildFts5Index } from './brain-search.js';
|
|
16
17
|
/** Type-safe wrapper for StatementSync.all(). */
|
|
17
18
|
function typedAll(db, sql) {
|
|
@@ -100,6 +101,10 @@ export async function migrateClaudeMem(projectRoot, options = {}) {
|
|
|
100
101
|
catch (err) {
|
|
101
102
|
throw new Error(`Failed to open claude-mem database at ${sourcePath}: ${err instanceof Error ? err.message : String(err)}`);
|
|
102
103
|
}
|
|
104
|
+
// Seam 3 (T11627): the project `bulk` lease held across the whole write body
|
|
105
|
+
// (released in `finally`). Declared here so the finally can release it even if
|
|
106
|
+
// a phase throws after acquire.
|
|
107
|
+
let brainBulkLease = null;
|
|
103
108
|
try {
|
|
104
109
|
// Initialize brain.db (ensures tables exist via migrations)
|
|
105
110
|
await getBrainDb(projectRoot);
|
|
@@ -107,6 +112,13 @@ export async function migrateClaudeMem(projectRoot, options = {}) {
|
|
|
107
112
|
if (!nativeDb) {
|
|
108
113
|
throw new Error('Failed to initialize brain.db — getBrainNativeDb() returned null');
|
|
109
114
|
}
|
|
115
|
+
// Seam 3 (T11627): this one-shot migration writes brain rows directly via the
|
|
116
|
+
// raw `nativeDb` handle (project-tier consolidated cleo.db), bypassing the
|
|
117
|
+
// brain writer-thread chokepoint AND the tasks lease. Hold the project `bulk`
|
|
118
|
+
// lease (acquire-once / write-all-phases / release) so it serializes against
|
|
119
|
+
// other writers. `dryRun` writes nothing; the lease is still held for the
|
|
120
|
+
// read-side BEGIN IMMEDIATE batches' consistency. `off` mode → no-op handle.
|
|
121
|
+
brainBulkLease = await acquireWriterLease('project', 'bulk', { priority: 50 });
|
|
110
122
|
// Ensure FTS5 tables exist for the rebuild at the end
|
|
111
123
|
ensureFts5Tables(nativeDb);
|
|
112
124
|
// --- Phase 1: Migrate observations ---
|
|
@@ -264,6 +276,15 @@ export async function migrateClaudeMem(projectRoot, options = {}) {
|
|
|
264
276
|
}
|
|
265
277
|
}
|
|
266
278
|
finally {
|
|
279
|
+
// Release the brain `bulk` lease (Seam 3) before closing the source DB.
|
|
280
|
+
if (brainBulkLease) {
|
|
281
|
+
try {
|
|
282
|
+
await brainBulkLease.release();
|
|
283
|
+
}
|
|
284
|
+
catch {
|
|
285
|
+
// Ignore release errors — the row is epoch-guarded and reclaimable.
|
|
286
|
+
}
|
|
287
|
+
}
|
|
267
288
|
// Close source DB (read-only, safe to close)
|
|
268
289
|
try {
|
|
269
290
|
sourceDb.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-mem-migration.js","sourceRoot":"","sources":["../../src/memory/claude-mem-migration.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-mem-migration.js","sourceRoot":"","sources":["../../src/memory/claude-mem-migration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-memory-bridge.d.ts","sourceRoot":"","sources":["../../src/memory/graph-memory-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,OAAO,EAAc,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-memory-bridge.d.ts","sourceRoot":"","sources":["../../src/memory/graph-memory-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,OAAO,EAAc,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAiBxE,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,aAAa,EAAE,YAAY,GAAG,cAAc,GAAG,cAAc,CAAC;IAC9D,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAED,wCAAwC;AACxC,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACJ;AAED,sCAAsC;AACtC,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,SAAS,EAAE,KAAK,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACJ;AAgID;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CA8DlB;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAChD,OAAO,CAAC,MAAM,CAAC,CA+CjB;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAChD,OAAO,CAAC,MAAM,CAAC,CAmEjB;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAChD,OAAO,CAAC,MAAM,CAAC,CAmEjB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA8QnF;AAMD;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC,CA6ChC;AAMD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC,CAyD9B;AAMD,6CAA6C;AAC7C,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA2D9F;AAMD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,wBAA6B,GACpC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAwG7B;AAMD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC,CAsLlC"}
|