@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
|
@@ -58,6 +58,7 @@ import { getRecordedExodusAbort } from './exodus/abort-events.js';
|
|
|
58
58
|
import { migrateWithRetry, reconcileJournal } from './migration-manager.js';
|
|
59
59
|
import { resolveConsolidatedJournalSiblings, resolveCorePackageMigrationsFolder, } from './resolve-migrations-folder.js';
|
|
60
60
|
import { applyPerfPragmas } from './sqlite-pragmas.js';
|
|
61
|
+
import { activeScope, activeScopeDbPath, withColdOpenLease, withWriterLease, } from './writer-lease.js';
|
|
61
62
|
/**
|
|
62
63
|
* Thrown by {@link assertWriteDurable} when a MUTATING caller is about to write
|
|
63
64
|
* through a {@link DualScopeDbHandle} whose first-open exodus auto-migration
|
|
@@ -407,37 +408,62 @@ exodusCwd, options) {
|
|
|
407
408
|
const db = drizzle({ client: nativeDb, schema });
|
|
408
409
|
// Resolve the migrations folder for this scope.
|
|
409
410
|
const migrationsFolder = resolveCorePackageMigrationsFolder(migrationsSetName(scope));
|
|
410
|
-
//
|
|
411
|
-
//
|
|
412
|
-
//
|
|
413
|
-
//
|
|
414
|
-
//
|
|
415
|
-
//
|
|
416
|
-
|
|
417
|
-
//
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
411
|
+
// ── Seam 0 — cold-open critical section (THE T5158 HEAL · T11627 ST-3) ────
|
|
412
|
+
// Lease the migrate/reconcile cold-open write-txn against the just-opened
|
|
413
|
+
// native handle so EXACTLY ONE process per scope runs it while concurrent
|
|
414
|
+
// cold-open peers BEGIN IMMEDIATE-queue and then observe a ready DB. This heals
|
|
415
|
+
// the T5158 `E_NOT_INITIALIZED` / `E_INTERNAL` corruption (concurrent cold-open
|
|
416
|
+
// migrate write-txns racing the consolidated cleo.db's single shared
|
|
417
|
+
// `__drizzle_migrations` journal) WITH the supervisor daemon disabled (`local`
|
|
418
|
+
// mode default). `off` mode is a pass-through → byte-identical to pre-lease
|
|
419
|
+
// behaviour (busy_timeout=30000 still serializes the write-txn).
|
|
420
|
+
// `withColdOpenLease` also records the scope in the Seam-1 active-scope registry
|
|
421
|
+
// so chokepoint write primitives lease correctly.
|
|
422
|
+
//
|
|
423
|
+
// The lease wraps ONLY reconcileJournal + migrateWithRetry — the precise write-
|
|
424
|
+
// txn that races in T5158. The exodus-on-open hook runs AFTER the lease releases
|
|
425
|
+
// (below): it owns its OWN single-flight lock + dedicated migrate connections,
|
|
426
|
+
// and `runExodusMigrate` CLOSES + re-opens the scope handles, which would
|
|
427
|
+
// close the very handle the lease row lives on mid-section. Releasing first is
|
|
428
|
+
// both correct (exodus is already serialized) and necessary (no close-under-lease).
|
|
429
|
+
const handle = await withColdOpenLease(scope, nativeDb, async () => {
|
|
430
|
+
// Reconcile the migration journal (handles WAL/journal divergence across
|
|
431
|
+
// SQLite version upgrades — same pattern as sqlite.ts / memory-sqlite.ts).
|
|
432
|
+
// T11829: pass the OTHER lineages that share this scope's consolidated cleo.db
|
|
433
|
+
// journal so their rows are not deleted as cross-lineage orphans (the confirmed
|
|
434
|
+
// OOM root cause: each lineage previously deleted the others' rows so the shared
|
|
435
|
+
// journal never converged).
|
|
436
|
+
reconcileJournal(nativeDb, migrationsFolder, existenceTable(scope), `dual-scope-db[${scope}]`, resolveConsolidatedJournalSiblings(migrationsSetName(scope)));
|
|
437
|
+
// Run any pending migrations.
|
|
438
|
+
migrateWithRetry(db, migrationsFolder, nativeDb, existenceTable(scope), `dual-scope-db[${scope}]`);
|
|
439
|
+
log.debug({ scope, dbPath }, 'dual-scope cleo.db ready');
|
|
440
|
+
const built = {
|
|
441
|
+
db,
|
|
442
|
+
scope,
|
|
443
|
+
dbPath,
|
|
444
|
+
close() {
|
|
445
|
+
_cache.delete(key);
|
|
446
|
+
try {
|
|
447
|
+
nativeDb.close();
|
|
448
|
+
}
|
|
449
|
+
catch {
|
|
450
|
+
// Idempotent — ignore double-close errors.
|
|
451
|
+
}
|
|
452
|
+
},
|
|
453
|
+
};
|
|
454
|
+
// Update the cache entry to mark init complete.
|
|
455
|
+
const entry = _cache.get(key);
|
|
456
|
+
if (entry) {
|
|
457
|
+
entry.initPromise = null;
|
|
458
|
+
entry.handle = built;
|
|
459
|
+
}
|
|
460
|
+
return built;
|
|
461
|
+
},
|
|
462
|
+
// Record this open's resolved dbPath in the Seam-1 registry so the chokepoint
|
|
463
|
+
// write primitives lease their row in THIS file — not the cwd-default — when
|
|
464
|
+
// more than one project's cleo.db is open in this process (T11627 Finding 1).
|
|
465
|
+
{ dbPath });
|
|
466
|
+
// ── Exodus-on-open (E6 · T11553) — runs AFTER the cold-open lease releases ──
|
|
441
467
|
// Data-continuity safety net: on a canonical open where the consolidated
|
|
442
468
|
// cleo.db is empty but the legacy fleet (tasks.db/brain.db/…) has rows for
|
|
443
469
|
// THIS scope, lazily auto-migrate ONCE — gated by a parity verify, serialised
|
|
@@ -449,9 +475,9 @@ exodusCwd, options) {
|
|
|
449
475
|
// when it finishes, so after a `migrated`/`aborted` outcome the `handle`
|
|
450
476
|
// built above (and its `nativeDb`) is CLOSED. We therefore re-open this scope
|
|
451
477
|
// fresh (cache-miss, NOT armed — no `exodusCwd`) and return the new live
|
|
452
|
-
// handle.
|
|
453
|
-
// (migrated)
|
|
454
|
-
//
|
|
478
|
+
// handle. That re-open flows through the cold-open lease again on a FRESH handle
|
|
479
|
+
// (cheap claim/release — the DB is now migrated), with no contention against the
|
|
480
|
+
// already-released outer lease.
|
|
455
481
|
//
|
|
456
482
|
// Armed ONLY when `exodusCwd` was threaded through the canonical
|
|
457
483
|
// `openDualScopeDb` AND `dbPath` is the canonical path for that scope+cwd —
|
|
@@ -612,8 +638,17 @@ db, table, row,
|
|
|
612
638
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
613
639
|
_keyColumn) {
|
|
614
640
|
assertNoRecordedExodusAbort();
|
|
615
|
-
|
|
616
|
-
|
|
641
|
+
// Seam 1 (T11627 ST-3): gate the chokepoint write through the writer lease so
|
|
642
|
+
// it serializes with the leased cold-open (Seam 0) and every other chokepoint
|
|
643
|
+
// write in the process. The scope AND dbPath come from the process-local
|
|
644
|
+
// active-scope registry recorded at cold-open ({@link activeScope} /
|
|
645
|
+
// {@link activeScopeDbPath}) — no signature change. Pinning the dbPath keeps the
|
|
646
|
+
// lease row in the SAME file this write targets when multiple projects are open
|
|
647
|
+
// (T11627 Finding 1). `off` mode is a pass-through (busy_timeout serializes).
|
|
648
|
+
return withWriterLease(activeScope(), 'tasks', async () => {
|
|
649
|
+
const result = await db.insert(table).values(row).onConflictDoNothing().returning();
|
|
650
|
+
return result.length;
|
|
651
|
+
}, { dbPath: activeScopeDbPath() });
|
|
617
652
|
}
|
|
618
653
|
/**
|
|
619
654
|
* Upsert `row` into `table`, updating all non-key columns when a row with
|
|
@@ -655,16 +690,21 @@ _keyColumn,
|
|
|
655
690
|
// biome-ignore lint/suspicious/noExplicitAny: column reference type varies by table
|
|
656
691
|
conflictTarget, set) {
|
|
657
692
|
assertNoRecordedExodusAbort();
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
693
|
+
// Seam 1 (T11627 ST-3): gate the chokepoint upsert through the writer lease —
|
|
694
|
+
// same active-scope-registry path as insertIdempotent (scope + pinned dbPath),
|
|
695
|
+
// no signature change.
|
|
696
|
+
return withWriterLease(activeScope(), 'tasks', async () => {
|
|
697
|
+
const updateSet = set ?? row;
|
|
698
|
+
const result = await db
|
|
699
|
+
.insert(table)
|
|
700
|
+
.values(row)
|
|
701
|
+
.onConflictDoUpdate({
|
|
702
|
+
target: conflictTarget,
|
|
703
|
+
// biome-ignore lint/suspicious/noExplicitAny: updateSet shape varies by table; type-safe at call sites
|
|
704
|
+
set: updateSet,
|
|
705
|
+
})
|
|
706
|
+
.returning();
|
|
707
|
+
return result.length;
|
|
708
|
+
}, { dbPath: activeScopeDbPath() });
|
|
669
709
|
}
|
|
670
710
|
//# sourceMappingURL=dual-scope-db.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dual-scope-db.js","sourceRoot":"","sources":["../../src/store/dual-scope-db.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dual-scope-db.js","sourceRoot":"","sources":["../../src/store/dual-scope-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAA0B,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EACL,kCAAkC,EAClC,kCAAkC,GACnC,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAqE3B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,0EAA0E;IACjE,QAAQ,GAAG,6BAAsC,CAAC;IAC3D,yDAAyD;IAChD,MAAM,CAAoB;IACnC,iDAAiD;IACxC,GAAG,CAAS;IAErB;;OAEG;IACH,YAAY,MAAyB;QACnC,KAAK,CACH,qCAAqC,MAAM,CAAC,KAAK,oCAAoC;YACnF,IAAI,MAAM,CAAC,MAAM,0DAA0D;YAC3E,iFAAiF;YACjF,+BAA+B,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,qBAAqB,CACrG,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG;YACN,sFAAsF;gBACtF,mEAAmE,CAAC;IACxE,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAyB;IAC1D,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,IAAI,2BAA2B,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,2BAA2B;IAClC,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;IACxC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAaD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;AAE/C;;;GAGG;AACH,SAAS,QAAQ,CAAC,KAAgB,EAAE,MAAc;IAChD,OAAO,GAAG,KAAK,KAAK,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAgB,EAAE,GAAY;IACnE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAAgB;IACzC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,CAAC;AAC9E,CAAC;AAED,gFAAgF;AAEhF,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAIhD,IAAI,QAAQ,GAAqB,IAAI,CAAC;AAEtC,SAAS,UAAU;IACjB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,QAAQ,CAAC,yBAAyB,CAA2B,CAAC;QAC1E,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAQD,IAAI,iBAAiB,GAA4B,IAAI,CAAC;AAEtD,SAAS,mBAAmB;IAC1B,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAuC,CAAC;QAC1E,iBAAiB,GAAG,GAAG,CAAC,YAAY,CAAC;IACvC,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,gFAAgF;AAEhF,wEAAwE;AACxE,8EAA8E;AAC9E,+CAA+C;AAE/C,IAAI,cAAc,GAAyC,IAAI,CAAC;AAChE,IAAI,aAAa,GAAwC,IAAI,CAAC;AAE9D,KAAK,UAAU,iBAAiB;IAC9B,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,cAAc,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,aAAa,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,iFAAiF;AAEjF;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,KAAgB;IACtC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,wBAAwB,CAAC;AACxE,CAAC;AAED,kFAAkF;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAS,4BAA4B;IACnC,gEAAgE;IAChE,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC;IACxD,0EAA0E;IAC1E,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC;IACpD,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AACjD,CAAC;AAiCD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAgB,EAAE,GAAY;IAClE,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClD,gFAAgF;IAChF,4EAA4E;IAC5E,uEAAuE;IACvE,0EAA0E;IAC1E,2EAA2E;IAC3E,sDAAsD;IACtD,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC;QAC/C,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,KAAK,UAAU,wBAAwB,CACrC,KAAgB,EAChB,MAAc,EACd,GAAiC;IAEjC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,kEAAkE,CAAC,CAAC;IAEjG,8CAA8C;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IAExE,qFAAqF;IACrF,gBAAgB,CAAC,QAAQ,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAE3D,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC,CAAC,MAAM,gBAAgB,EAAE,CAAC;IAC1F,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,iHAAiH;IACjH,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAA4B,CAAC;IAE5E,MAAM,gBAAgB,GAAG,kCAAkC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IACtF,+EAA+E;IAC/E,gFAAgF;IAChF,4EAA4E;IAC5E,4DAA4D;IAC5D,0EAA0E;IAC1E,oEAAoE;IACpE,gBAAgB,CACd,QAAQ,EACR,gBAAgB,EAChB,cAAc,CAAC,KAAK,CAAC,EACrB,iBAAiB,KAAK,GAAG,EACzB,kCAAkC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAC7D,CAAC;IACF,gBAAgB,CACd,EAAE,EACF,gBAAgB,EAChB,QAAQ,EACR,cAAc,CAAC,KAAK,CAAC,EACrB,iBAAiB,KAAK,GAAG,CAC1B,CAAC;IAEF,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,mDAAmD,CAAC,CAAC;IAElF,OAAO;QACL,EAAE;QACF,KAAK;QACL,MAAM;QACN,KAAK;YACH,yEAAyE;YACzE,IAAI,CAAC;gBACH,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,2CAA2C;YAC7C,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAyCD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAgB,EAChB,MAAc;AACd;;;;;;GAMG;AACH,SAAkB,EAClB,OAAoC;IAEpC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEpC,8EAA8E;IAC9E,2EAA2E;IAC3E,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,gCAAgC;IAChC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,sDAAsD;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,OAAO,QAAQ,CAAC,WAAW,CAAC;YAC9B,CAAC;YACD,OAAO,QAAQ,CAAC,MAAM,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;IAEvC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,2EAA2E;IAC3E,MAAM,WAAW,GAA+B,CAAC,KAAK,IAAgC,EAAE;QACtF,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC;QAE3D,8CAA8C;QAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,iCAAiC;QACjC,EAAE;QACF,uEAAuE;QACvE,uEAAuE;QACvE,4EAA4E;QAC5E,0EAA0E;QAC1E,4EAA4E;QAC5E,qEAAqE;QACrE,kEAAkE;QAClE,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAExE,wEAAwE;QACxE,gFAAgF;QAChF,gBAAgB,CAAC,QAAQ,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAE3D,yCAAyC;QACzC,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC,CAAC,MAAM,gBAAgB,EAAE,CAAC;QAE1F,kCAAkC;QAClC,qFAAqF;QACrF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,iHAAiH;QACjH,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAA4B,CAAC;QAE5E,gDAAgD;QAChD,MAAM,gBAAgB,GAAG,kCAAkC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtF,6EAA6E;QAC7E,0EAA0E;QAC1E,0EAA0E;QAC1E,gFAAgF;QAChF,gFAAgF;QAChF,qEAAqE;QACrE,+EAA+E;QAC/E,4EAA4E;QAC5E,iEAAiE;QACjE,iFAAiF;QACjF,kDAAkD;QAClD,EAAE;QACF,gFAAgF;QAChF,iFAAiF;QACjF,+EAA+E;QAC/E,0EAA0E;QAC1E,+EAA+E;QAC/E,oFAAoF;QACpF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC,KAAK,EACL,QAAQ,EACR,KAAK,IAAgC,EAAE;YACrC,yEAAyE;YACzE,2EAA2E;YAC3E,+EAA+E;YAC/E,gFAAgF;YAChF,iFAAiF;YACjF,4BAA4B;YAC5B,gBAAgB,CACd,QAAQ,EACR,gBAAgB,EAChB,cAAc,CAAC,KAAK,CAAC,EACrB,iBAAiB,KAAK,GAAG,EACzB,kCAAkC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAC7D,CAAC;YAEF,8BAA8B;YAC9B,gBAAgB,CACd,EAAE,EACF,gBAAgB,EAChB,QAAQ,EACR,cAAc,CAAC,KAAK,CAAC,EACrB,iBAAiB,KAAK,GAAG,CAC1B,CAAC;YAEF,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC;YAEzD,MAAM,KAAK,GAAsB;gBAC/B,EAAE;gBACF,KAAK;gBACL,MAAM;gBACN,KAAK;oBACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnB,IAAI,CAAC;wBACH,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,CAAC;oBAAC,MAAM,CAAC;wBACP,2CAA2C;oBAC7C,CAAC;gBACH,CAAC;aACF,CAAC;YAEF,gDAAgD;YAChD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;gBACzB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YACvB,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QACD,8EAA8E;QAC9E,6EAA6E;QAC7E,8EAA8E;QAC9E,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,+EAA+E;QAC/E,yEAAyE;QACzE,2EAA2E;QAC3E,8EAA8E;QAC9E,0EAA0E;QAC1E,8EAA8E;QAC9E,0EAA0E;QAC1E,EAAE;QACF,4EAA4E;QAC5E,yEAAyE;QACzE,8EAA8E;QAC9E,yEAAyE;QACzE,iFAAiF;QACjF,iFAAiF;QACjF,gCAAgC;QAChC,EAAE;QACF,iEAAiE;QACjE,4EAA4E;QAC5E,uEAAuE;QACvE,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,KAAK,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC;gBACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;gBACrE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC9E,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAClE,yEAAyE;oBACzE,0EAA0E;oBAC1E,MAAM,QAAQ,GACZ,KAAK,KAAK,SAAS;wBACjB,CAAC,CAAC,MAAM,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC;wBAChD,CAAC,CAAC,MAAM,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBACpD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBACjC,wEAAwE;wBACxE,qEAAqE;wBACrE,kEAAkE;wBAClE,wEAAwE;wBACxE,mEAAmE;wBACnE,sEAAsE;wBACtE,MAAM,KAAK,GAAsB;4BAC/B,KAAK;4BACL,MAAM;4BACN,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;yBACf,CAAC;wBACF,GAAG,CAAC,IAAI,CACN,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAChC,mFAAmF;4BACjF,mFAAmF,CACtF,CAAC;wBACF,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;wBACrE,eAAe,CAAC,KAAK,CAAC,CAAC;wBACvB,OAAO,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;oBAC7C,CAAC;oBACD,sEAAsE;oBACtE,6DAA6D;oBAC7D,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;oBACvE,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBACzB,OAAO,QAAQ,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,8DAA8D;gBAC9D,wEAAwE;gBACxE,8DAA8D;gBAC9D,GAAG,CAAC,IAAI,CACN,EAAE,GAAG,EAAE,KAAK,EAAE,EACd,wEAAwE,CACzE,CAAC;gBACF,OAAO,KAAK,KAAK,SAAS;oBACxB,CAAC,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC;oBAC1C,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,EAAE,CAAC;IAEL,6EAA6E;IAC7E,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;QACd,qFAAqF;QACrF,MAAM,EAAE,IAAW;QACnB,yEAAyE;QACzE,QAAQ,EAAE,IAAW;QACrB,WAAW;KACZ,CAAC,CAAC;IAEH,+EAA+E;IAC/E,+EAA+E;IAC/E,2EAA2E;IAC3E,6EAA6E;IAC7E,oEAAoE;IACpE,0EAA0E;IAC1E,+EAA+E;IAC/E,4EAA4E;IAC5E,yDAAyD;IACzD,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAiB;IACtD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QAClC,4EAA4E;QAC5E,6EAA6E;QAC7E,2CAA2C;QAC3C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,KAAK,KAAK;YAAE,SAAS;QACnE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QACD,wEAAwE;QACxE,6DAA6D;QAC7D,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,gFAAgF;IAChF,oEAAoE;IACpE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,cAAc,GAAG,IAAI,CAAC;QACtB,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;AACpC,6FAA6F;AAC7F,EAA2B,EAC3B,KAAa,EACb,GAA6B;AAC7B,6DAA6D;AAC7D,UAAkB;IAElB,2BAA2B,EAAE,CAAC;IAC9B,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,qEAAqE;IACrE,iFAAiF;IACjF,gFAAgF;IAChF,8EAA8E;IAC9E,OAAO,eAAe,CACpB,WAAW,EAAE,EACb,OAAO,EACP,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,CAAC;QACpF,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC,EACD,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAChC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;AACpC,6FAA6F;AAC7F,EAA2B,EAC3B,KAAa,EACb,GAA6B;AAC7B,wEAAwE;AACxE,UAAkB;AAClB,oFAAoF;AACpF,cAAmB,EACnB,GAAuC;IAEvC,2BAA2B,EAAE,CAAC;IAC9B,8EAA8E;IAC9E,+EAA+E;IAC/E,uBAAuB;IACvB,OAAO,eAAe,CACpB,WAAW,EAAE,EACb,OAAO,EACP,KAAK,IAAI,EAAE;QACT,MAAM,SAAS,GAAG,GAAG,IAAI,GAAG,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,EAAE;aACpB,MAAM,CAAC,KAAK,CAAC;aACb,MAAM,CAAC,GAAG,CAAC;aACX,kBAAkB,CAAC;YAClB,MAAM,EAAE,cAAc;YACtB,uGAAuG;YACvG,GAAG,EAAE,SAAgB;SACtB,CAAC;aACD,SAAS,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC,EACD,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAChC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Store-layer accessor for the Pi `SessionStorage` tree-persistence tables
|
|
3
|
+
* (`pi_session_entries` + `pi_session_leaf`) — T11761 · S3 · T11899.
|
|
4
|
+
*
|
|
5
|
+
* This module is the ONLY place that touches the native `cleo.db` handle for Pi
|
|
6
|
+
* session persistence. It lives INSIDE the store chokepoint (`packages/core/src/
|
|
7
|
+
* store/**`), the Gate-3 allowlist, so it may extract the native `DatabaseSync`
|
|
8
|
+
* that {@link openDualScopeDb} already holds (via drizzle's `$client`) and run
|
|
9
|
+
* prepared statements over it — exactly the established `conduit-sqlite.ts`
|
|
10
|
+
* pattern. It NEVER calls `new DatabaseSync(` itself.
|
|
11
|
+
*
|
|
12
|
+
* The durable adapter (`packages/core/src/llm/pi/pi-session-storage.ts`) sits
|
|
13
|
+
* OUTSIDE the chokepoint, so it must NOT open a raw handle; it calls these
|
|
14
|
+
* accessors and wraps every WRITE in `withWriterLease('project', 'bulk', …)` so
|
|
15
|
+
* the daemon remains the sole arbitrated writer (ZERO authority for Pi).
|
|
16
|
+
*
|
|
17
|
+
* Physical model (see the `t11899-pi-session-tree` migration):
|
|
18
|
+
* - `pi_session_entries(session_id, entry_id, parent_id, type, payload_json,
|
|
19
|
+
* seq, ts)` — one row per `SessionTreeEntry`; PRIMARY KEY `(session_id,
|
|
20
|
+
* entry_id)`. `seq` is a per-session monotonic insertion ordinal that
|
|
21
|
+
* preserves append order (entry ids are random 8-char tokens, so insertion
|
|
22
|
+
* order is NOT recoverable from the id alone).
|
|
23
|
+
* - `pi_session_leaf(session_id, leaf_id, created_at, updated_at)` — one row per
|
|
24
|
+
* session recording the active tree leaf (and the session's `createdAt`
|
|
25
|
+
* metadata anchor).
|
|
26
|
+
*
|
|
27
|
+
* @module
|
|
28
|
+
* @task T11899
|
|
29
|
+
* @task T11761
|
|
30
|
+
* @epic T10403
|
|
31
|
+
*/
|
|
32
|
+
/** Physical name of the Pi session-entry tree table. */
|
|
33
|
+
export declare const PI_SESSION_ENTRIES_TABLE: "pi_session_entries";
|
|
34
|
+
/** Physical name of the Pi session leaf-pointer / metadata table. */
|
|
35
|
+
export declare const PI_SESSION_LEAF_TABLE: "pi_session_leaf";
|
|
36
|
+
/**
|
|
37
|
+
* A persisted Pi session-tree entry row, decoded from `pi_session_entries`.
|
|
38
|
+
*
|
|
39
|
+
* `payloadJson` is the JSON-serialized residue of the `SessionTreeEntry` minus
|
|
40
|
+
* the columnized fields (`id` / `parentId` / `type` / `timestamp`) — the adapter
|
|
41
|
+
* re-hydrates the full Pi entry by merging the columns back over it.
|
|
42
|
+
*/
|
|
43
|
+
export interface PiSessionEntryRow {
|
|
44
|
+
/** Owning session id (daemon-stamped; never minted by Pi). */
|
|
45
|
+
readonly sessionId: string;
|
|
46
|
+
/** The Pi entry id (`SessionTreeEntry.id`). */
|
|
47
|
+
readonly entryId: string;
|
|
48
|
+
/** Parent entry id, or `null` at a tree root. */
|
|
49
|
+
readonly parentId: string | null;
|
|
50
|
+
/** The `SessionTreeEntry.type` discriminator (`message` / `leaf` / `label` / …). */
|
|
51
|
+
readonly type: string;
|
|
52
|
+
/** JSON residue of the entry's type-specific fields. */
|
|
53
|
+
readonly payloadJson: string;
|
|
54
|
+
/** Per-session monotonic insertion ordinal (preserves append order). */
|
|
55
|
+
readonly seq: number;
|
|
56
|
+
/** The Pi entry timestamp (`SessionTreeEntry.timestamp`, ISO-8601). */
|
|
57
|
+
readonly ts: string;
|
|
58
|
+
}
|
|
59
|
+
/** The leaf-pointer + metadata row for one session. */
|
|
60
|
+
export interface PiSessionLeafRow {
|
|
61
|
+
/** Owning session id. */
|
|
62
|
+
readonly sessionId: string;
|
|
63
|
+
/** The active tree leaf entry id, or `null` (no leaf yet / reset to root). */
|
|
64
|
+
readonly leafId: string | null;
|
|
65
|
+
/** Session creation timestamp (ISO-8601) — the metadata `createdAt` anchor. */
|
|
66
|
+
readonly createdAt: string;
|
|
67
|
+
/** Last leaf-update timestamp (ISO-8601). */
|
|
68
|
+
readonly updatedAt: string;
|
|
69
|
+
}
|
|
70
|
+
/** Narrow shape of the native handle methods this accessor uses. */
|
|
71
|
+
type NativeRunResult = {
|
|
72
|
+
changes: number | bigint;
|
|
73
|
+
lastInsertRowid: number | bigint;
|
|
74
|
+
};
|
|
75
|
+
interface NativeStatement {
|
|
76
|
+
run(...params: ReadonlyArray<string | number | null>): NativeRunResult;
|
|
77
|
+
get(...params: ReadonlyArray<string | number | null>): Record<string, unknown> | undefined;
|
|
78
|
+
all(...params: ReadonlyArray<string | number | null>): Array<Record<string, unknown>>;
|
|
79
|
+
}
|
|
80
|
+
interface NativeHandle {
|
|
81
|
+
prepare(sql: string): NativeStatement;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Extract the native `DatabaseSync` handle for the PROJECT-scope `cleo.db`.
|
|
85
|
+
*
|
|
86
|
+
* Routes through {@link openDualScopeDb} (the dual-scope chokepoint) — which
|
|
87
|
+
* applies the pragma SSoT, runs the consolidated migrations (creating the
|
|
88
|
+
* `pi_session_*` tables), and manages the singleton cache — then extracts the
|
|
89
|
+
* native handle drizzle holds on `$client`. NEVER opens a raw connection (Gate
|
|
90
|
+
* 3): it reuses the handle the chokepoint already owns.
|
|
91
|
+
*
|
|
92
|
+
* @param cwd - Working directory for project resolution (defaults to `cwd`).
|
|
93
|
+
* @returns The live native handle.
|
|
94
|
+
* @throws When the chokepoint returns a handle without `$client`.
|
|
95
|
+
*/
|
|
96
|
+
export declare function getPiSessionNativeDb(cwd?: string): Promise<NativeHandle>;
|
|
97
|
+
/**
|
|
98
|
+
* Return the leaf/metadata row for a session, or `null` when the session has no
|
|
99
|
+
* row yet (never written to).
|
|
100
|
+
*
|
|
101
|
+
* @param native - The native project `cleo.db` handle.
|
|
102
|
+
* @param sessionId - The session id.
|
|
103
|
+
* @returns The leaf row or `null`.
|
|
104
|
+
*/
|
|
105
|
+
export declare function readPiSessionLeaf(native: NativeHandle, sessionId: string): PiSessionLeafRow | null;
|
|
106
|
+
/**
|
|
107
|
+
* Return all entry rows for a session in stable append order (`seq ASC`).
|
|
108
|
+
*
|
|
109
|
+
* @param native - The native project `cleo.db` handle.
|
|
110
|
+
* @param sessionId - The session id.
|
|
111
|
+
* @returns The ordered entry rows (empty when the session has none).
|
|
112
|
+
*/
|
|
113
|
+
export declare function readPiSessionEntries(native: NativeHandle, sessionId: string): PiSessionEntryRow[];
|
|
114
|
+
/**
|
|
115
|
+
* Return a single entry row by id, or `null` when absent.
|
|
116
|
+
*
|
|
117
|
+
* @param native - The native project `cleo.db` handle.
|
|
118
|
+
* @param sessionId - The owning session id.
|
|
119
|
+
* @param entryId - The entry id.
|
|
120
|
+
* @returns The entry row or `null`.
|
|
121
|
+
*/
|
|
122
|
+
export declare function readPiSessionEntry(native: NativeHandle, sessionId: string, entryId: string): PiSessionEntryRow | null;
|
|
123
|
+
/**
|
|
124
|
+
* Insert (or no-op on conflict) one session-tree entry.
|
|
125
|
+
*
|
|
126
|
+
* The caller MUST already hold the PROJECT/`bulk` writer lease — this accessor
|
|
127
|
+
* performs the raw write and does NOT acquire the lease itself (separation of
|
|
128
|
+
* concerns: the lease boundary lives in `pi-session-storage.ts`, outside the
|
|
129
|
+
* chokepoint). The `seq` is computed as `MAX(seq)+1` for the session under the
|
|
130
|
+
* same statement batch, so it is monotonic per session.
|
|
131
|
+
*
|
|
132
|
+
* @param native - The native project `cleo.db` handle (leased section).
|
|
133
|
+
* @param row - The entry to persist (without `seq` — assigned here).
|
|
134
|
+
*/
|
|
135
|
+
export declare function insertPiSessionEntry(native: NativeHandle, row: Omit<PiSessionEntryRow, 'seq'>): void;
|
|
136
|
+
/**
|
|
137
|
+
* Upsert the leaf pointer + metadata row for a session.
|
|
138
|
+
*
|
|
139
|
+
* On first write the `created_at` anchor is set to `createdAt`; subsequent writes
|
|
140
|
+
* preserve the existing `created_at` (via `ON CONFLICT`) and only advance
|
|
141
|
+
* `leaf_id` + `updated_at`. The caller MUST hold the writer lease.
|
|
142
|
+
*
|
|
143
|
+
* @param native - The native project `cleo.db` handle (leased section).
|
|
144
|
+
* @param sessionId - The session id.
|
|
145
|
+
* @param leafId - The new active leaf id, or `null`.
|
|
146
|
+
* @param createdAt - The session creation anchor (used only on first insert).
|
|
147
|
+
* @param updatedAt - The update timestamp.
|
|
148
|
+
*/
|
|
149
|
+
export declare function upsertPiSessionLeaf(native: NativeHandle, sessionId: string, leafId: string | null, createdAt: string, updatedAt: string): void;
|
|
150
|
+
export {};
|
|
151
|
+
//# sourceMappingURL=pi-session-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-session-store.d.ts","sourceRoot":"","sources":["../../src/store/pi-session-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Store-layer accessor for the Pi `SessionStorage` tree-persistence tables
|
|
3
|
+
* (`pi_session_entries` + `pi_session_leaf`) — T11761 · S3 · T11899.
|
|
4
|
+
*
|
|
5
|
+
* This module is the ONLY place that touches the native `cleo.db` handle for Pi
|
|
6
|
+
* session persistence. It lives INSIDE the store chokepoint (`packages/core/src/
|
|
7
|
+
* store/**`), the Gate-3 allowlist, so it may extract the native `DatabaseSync`
|
|
8
|
+
* that {@link openDualScopeDb} already holds (via drizzle's `$client`) and run
|
|
9
|
+
* prepared statements over it — exactly the established `conduit-sqlite.ts`
|
|
10
|
+
* pattern. It NEVER calls `new DatabaseSync(` itself.
|
|
11
|
+
*
|
|
12
|
+
* The durable adapter (`packages/core/src/llm/pi/pi-session-storage.ts`) sits
|
|
13
|
+
* OUTSIDE the chokepoint, so it must NOT open a raw handle; it calls these
|
|
14
|
+
* accessors and wraps every WRITE in `withWriterLease('project', 'bulk', …)` so
|
|
15
|
+
* the daemon remains the sole arbitrated writer (ZERO authority for Pi).
|
|
16
|
+
*
|
|
17
|
+
* Physical model (see the `t11899-pi-session-tree` migration):
|
|
18
|
+
* - `pi_session_entries(session_id, entry_id, parent_id, type, payload_json,
|
|
19
|
+
* seq, ts)` — one row per `SessionTreeEntry`; PRIMARY KEY `(session_id,
|
|
20
|
+
* entry_id)`. `seq` is a per-session monotonic insertion ordinal that
|
|
21
|
+
* preserves append order (entry ids are random 8-char tokens, so insertion
|
|
22
|
+
* order is NOT recoverable from the id alone).
|
|
23
|
+
* - `pi_session_leaf(session_id, leaf_id, created_at, updated_at)` — one row per
|
|
24
|
+
* session recording the active tree leaf (and the session's `createdAt`
|
|
25
|
+
* metadata anchor).
|
|
26
|
+
*
|
|
27
|
+
* @module
|
|
28
|
+
* @task T11899
|
|
29
|
+
* @task T11761
|
|
30
|
+
* @epic T10403
|
|
31
|
+
*/
|
|
32
|
+
import { openDualScopeDb } from './dual-scope-db.js';
|
|
33
|
+
/** Physical name of the Pi session-entry tree table. */
|
|
34
|
+
export const PI_SESSION_ENTRIES_TABLE = 'pi_session_entries';
|
|
35
|
+
/** Physical name of the Pi session leaf-pointer / metadata table. */
|
|
36
|
+
export const PI_SESSION_LEAF_TABLE = 'pi_session_leaf';
|
|
37
|
+
/**
|
|
38
|
+
* Extract the native `DatabaseSync` handle for the PROJECT-scope `cleo.db`.
|
|
39
|
+
*
|
|
40
|
+
* Routes through {@link openDualScopeDb} (the dual-scope chokepoint) — which
|
|
41
|
+
* applies the pragma SSoT, runs the consolidated migrations (creating the
|
|
42
|
+
* `pi_session_*` tables), and manages the singleton cache — then extracts the
|
|
43
|
+
* native handle drizzle holds on `$client`. NEVER opens a raw connection (Gate
|
|
44
|
+
* 3): it reuses the handle the chokepoint already owns.
|
|
45
|
+
*
|
|
46
|
+
* @param cwd - Working directory for project resolution (defaults to `cwd`).
|
|
47
|
+
* @returns The live native handle.
|
|
48
|
+
* @throws When the chokepoint returns a handle without `$client`.
|
|
49
|
+
*/
|
|
50
|
+
export async function getPiSessionNativeDb(cwd) {
|
|
51
|
+
const handle = await openDualScopeDb('project', cwd);
|
|
52
|
+
const native = handle.db.$client;
|
|
53
|
+
if (!native) {
|
|
54
|
+
throw new Error('T11899: openDualScopeDb returned a project handle without $client — ' +
|
|
55
|
+
'cannot extract DatabaseSync for Pi session persistence.');
|
|
56
|
+
}
|
|
57
|
+
// The node:sqlite surface is wider than NativeStatement; narrow to what we use.
|
|
58
|
+
return native;
|
|
59
|
+
}
|
|
60
|
+
// ── Reads (no lease — readers operate on the shared handle) ────────────────────
|
|
61
|
+
/**
|
|
62
|
+
* Return the leaf/metadata row for a session, or `null` when the session has no
|
|
63
|
+
* row yet (never written to).
|
|
64
|
+
*
|
|
65
|
+
* @param native - The native project `cleo.db` handle.
|
|
66
|
+
* @param sessionId - The session id.
|
|
67
|
+
* @returns The leaf row or `null`.
|
|
68
|
+
*/
|
|
69
|
+
export function readPiSessionLeaf(native, sessionId) {
|
|
70
|
+
const row = native
|
|
71
|
+
.prepare(`SELECT session_id, leaf_id, created_at, updated_at FROM ${PI_SESSION_LEAF_TABLE} WHERE session_id = ?`)
|
|
72
|
+
.get(sessionId);
|
|
73
|
+
if (row === undefined)
|
|
74
|
+
return null;
|
|
75
|
+
return {
|
|
76
|
+
sessionId: String(row.session_id),
|
|
77
|
+
leafId: row.leaf_id === null || row.leaf_id === undefined ? null : String(row.leaf_id),
|
|
78
|
+
createdAt: String(row.created_at),
|
|
79
|
+
updatedAt: String(row.updated_at),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Return all entry rows for a session in stable append order (`seq ASC`).
|
|
84
|
+
*
|
|
85
|
+
* @param native - The native project `cleo.db` handle.
|
|
86
|
+
* @param sessionId - The session id.
|
|
87
|
+
* @returns The ordered entry rows (empty when the session has none).
|
|
88
|
+
*/
|
|
89
|
+
export function readPiSessionEntries(native, sessionId) {
|
|
90
|
+
const rows = native
|
|
91
|
+
.prepare(`SELECT session_id, entry_id, parent_id, type, payload_json, seq, ts ` +
|
|
92
|
+
`FROM ${PI_SESSION_ENTRIES_TABLE} WHERE session_id = ? ORDER BY seq ASC`)
|
|
93
|
+
.all(sessionId);
|
|
94
|
+
return rows.map(decodeEntryRow);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Return a single entry row by id, or `null` when absent.
|
|
98
|
+
*
|
|
99
|
+
* @param native - The native project `cleo.db` handle.
|
|
100
|
+
* @param sessionId - The owning session id.
|
|
101
|
+
* @param entryId - The entry id.
|
|
102
|
+
* @returns The entry row or `null`.
|
|
103
|
+
*/
|
|
104
|
+
export function readPiSessionEntry(native, sessionId, entryId) {
|
|
105
|
+
const row = native
|
|
106
|
+
.prepare(`SELECT session_id, entry_id, parent_id, type, payload_json, seq, ts ` +
|
|
107
|
+
`FROM ${PI_SESSION_ENTRIES_TABLE} WHERE session_id = ? AND entry_id = ?`)
|
|
108
|
+
.get(sessionId, entryId);
|
|
109
|
+
return row === undefined ? null : decodeEntryRow(row);
|
|
110
|
+
}
|
|
111
|
+
/** Decode a raw SQLite row into a typed {@link PiSessionEntryRow}. */
|
|
112
|
+
function decodeEntryRow(row) {
|
|
113
|
+
return {
|
|
114
|
+
sessionId: String(row.session_id),
|
|
115
|
+
entryId: String(row.entry_id),
|
|
116
|
+
parentId: row.parent_id === null || row.parent_id === undefined ? null : String(row.parent_id),
|
|
117
|
+
type: String(row.type),
|
|
118
|
+
payloadJson: String(row.payload_json),
|
|
119
|
+
seq: Number(row.seq),
|
|
120
|
+
ts: String(row.ts),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
// ── Writes (caller MUST hold the writer lease — see pi-session-storage.ts) ─────
|
|
124
|
+
/**
|
|
125
|
+
* Insert (or no-op on conflict) one session-tree entry.
|
|
126
|
+
*
|
|
127
|
+
* The caller MUST already hold the PROJECT/`bulk` writer lease — this accessor
|
|
128
|
+
* performs the raw write and does NOT acquire the lease itself (separation of
|
|
129
|
+
* concerns: the lease boundary lives in `pi-session-storage.ts`, outside the
|
|
130
|
+
* chokepoint). The `seq` is computed as `MAX(seq)+1` for the session under the
|
|
131
|
+
* same statement batch, so it is monotonic per session.
|
|
132
|
+
*
|
|
133
|
+
* @param native - The native project `cleo.db` handle (leased section).
|
|
134
|
+
* @param row - The entry to persist (without `seq` — assigned here).
|
|
135
|
+
*/
|
|
136
|
+
export function insertPiSessionEntry(native, row) {
|
|
137
|
+
const next = native
|
|
138
|
+
.prepare(`SELECT COALESCE(MAX(seq), -1) + 1 AS seq FROM ${PI_SESSION_ENTRIES_TABLE} WHERE session_id = ?`)
|
|
139
|
+
.get(row.sessionId);
|
|
140
|
+
const seq = next === undefined ? 0 : Number(next.seq);
|
|
141
|
+
native
|
|
142
|
+
.prepare(`INSERT OR IGNORE INTO ${PI_SESSION_ENTRIES_TABLE} ` +
|
|
143
|
+
`(session_id, entry_id, parent_id, type, payload_json, seq, ts) VALUES (?, ?, ?, ?, ?, ?, ?)`)
|
|
144
|
+
.run(row.sessionId, row.entryId, row.parentId, row.type, row.payloadJson, seq, row.ts);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Upsert the leaf pointer + metadata row for a session.
|
|
148
|
+
*
|
|
149
|
+
* On first write the `created_at` anchor is set to `createdAt`; subsequent writes
|
|
150
|
+
* preserve the existing `created_at` (via `ON CONFLICT`) and only advance
|
|
151
|
+
* `leaf_id` + `updated_at`. The caller MUST hold the writer lease.
|
|
152
|
+
*
|
|
153
|
+
* @param native - The native project `cleo.db` handle (leased section).
|
|
154
|
+
* @param sessionId - The session id.
|
|
155
|
+
* @param leafId - The new active leaf id, or `null`.
|
|
156
|
+
* @param createdAt - The session creation anchor (used only on first insert).
|
|
157
|
+
* @param updatedAt - The update timestamp.
|
|
158
|
+
*/
|
|
159
|
+
export function upsertPiSessionLeaf(native, sessionId, leafId, createdAt, updatedAt) {
|
|
160
|
+
native
|
|
161
|
+
.prepare(`INSERT INTO ${PI_SESSION_LEAF_TABLE} (session_id, leaf_id, created_at, updated_at) ` +
|
|
162
|
+
`VALUES (?, ?, ?, ?) ` +
|
|
163
|
+
`ON CONFLICT(session_id) DO UPDATE SET leaf_id = excluded.leaf_id, updated_at = excluded.updated_at`)
|
|
164
|
+
.run(sessionId, leafId, createdAt, updatedAt);
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=pi-session-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-session-store.js","sourceRoot":"","sources":["../../src/store/pi-session-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,6 +93,7 @@ export declare class SafetyDataAccessor implements DataAccessor {
|
|
|
93
93
|
shiftPositions(parentId: string | null, fromPosition: number, delta: number): Promise<void>;
|
|
94
94
|
transaction<T>(fn: (tx: TransactionAccessor) => Promise<T>): Promise<T>;
|
|
95
95
|
getActiveSession(): Promise<Session | null>;
|
|
96
|
+
resolveCurrentSession(): Promise<Session | null>;
|
|
96
97
|
upsertSingleSession(session: import('@cleocode/contracts').Session): Promise<void>;
|
|
97
98
|
removeSingleSession(sessionId: string): Promise<void>;
|
|
98
99
|
listAgentInstances(filters?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safety-data-accessor.d.ts","sourceRoot":"","sources":["../../src/store/safety-data-accessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,4CAA4C;AAC5C,UAAU,mBAAmB;IAC3B,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,6CAA6C;IAC7C,OAAO,EAAE,OAAO,CAAC;CAClB;AAOD;;;;;;;;GAQG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACrD,6CAA6C;IAC7C,OAAO,CAAC,KAAK,CAAe;IAE5B,wCAAwC;IACxC,OAAO,CAAC,GAAG,CAAC,CAAS;IAErB,4BAA4B;IAC5B,OAAO,CAAC,MAAM,CAAsB;IAEpC;;;;;;OAMG;gBACS,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAcpF,gDAAgD;IAChD,IAAI,MAAM,IAAI,QAAQ,CAErB;IAED;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWlB,WAAW,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAK1C,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAOlC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3C,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvE,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAMpD,WAAW,CACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAIV,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvF,SAAS,CAAC,MAAM,EAAE,MAAM;IAMxB,aAAa,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE;IAMtC,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAI/C,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAM1C,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIhE,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAInE,UAAU,CAAC,OAAO,CAAC,EAAE;QACzB,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;QACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIb,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAI9C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAItD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAIjD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAI3C,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAI9C,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5C,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAM7C,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzE,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzD,cAAc,CAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAIV,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAUvE,gBAAgB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAI3C,mBAAmB,CAAC,OAAO,EAAE,OAAO,qBAAqB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlF,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD,kBAAkB,CAAC,OAAO,CAAC,EAAE;QACjC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC/B;IAIK,gBAAgB,CAAC,OAAO,EAAE,MAAM;IAMhC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,CAUjF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAWA"}
|
|
1
|
+
{"version":3,"file":"safety-data-accessor.d.ts","sourceRoot":"","sources":["../../src/store/safety-data-accessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -200,6 +200,11 @@ export class SafetyDataAccessor {
|
|
|
200
200
|
async getActiveSession() {
|
|
201
201
|
return this.inner.getActiveSession();
|
|
202
202
|
}
|
|
203
|
+
async resolveCurrentSession() {
|
|
204
|
+
// Interface pass-through (T11640) — the umbrella safety wrapper forwards
|
|
205
|
+
// identity resolution to the inner accessor unchanged.
|
|
206
|
+
return this.inner.resolveCurrentSession();
|
|
207
|
+
}
|
|
203
208
|
async upsertSingleSession(session) {
|
|
204
209
|
return this.inner.upsertSingleSession(session);
|
|
205
210
|
}
|