@cleocode/core 2026.6.11 → 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 +2309 -1262
- 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/release/plan.d.ts +4 -6
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +10 -23
- package/dist/release/plan.js.map +1 -1
- package/dist/release/reconcile.d.ts +0 -2
- package/dist/release/reconcile.d.ts.map +1 -1
- package/dist/release/reconcile.js +43 -50
- package/dist/release/reconcile.js.map +1 -1
- package/dist/release/release-manifest.d.ts.map +1 -1
- package/dist/release/release-manifest.js +4 -1
- package/dist/release/release-manifest.js.map +1 -1
- package/dist/release/verify-provenance.js +20 -20
- package/dist/release/verify-provenance.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/tasks-schema.d.ts +4 -0
- package/dist/store/tasks-schema.d.ts.map +1 -1
- package/dist/store/tasks-schema.js +14 -0
- package/dist/store/tasks-schema.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 +94 -62
- 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/task-tools/describe-schema.d.ts +4 -2
- package/dist/task-tools/describe-schema.d.ts.map +1 -1
- package/dist/task-tools/describe-schema.js +9 -3
- package/dist/task-tools/describe-schema.js.map +1 -1
- 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/20260606000000_t11884-restore-prefixed-task-triggers/migration.sql +272 -0
- package/migrations/drizzle-cleo-project/20260606000000_t11884-restore-prefixed-task-triggers/revert.sql +29 -0
- package/migrations/drizzle-cleo-project/20260606000100_t11883-tasks-releases-version-unique/migration.sql +21 -0
- package/migrations/drizzle-cleo-project/20260606000100_t11883-tasks-releases-version-unique/revert.sql +4 -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/release/provenance-fk.d.ts +0 -74
- package/dist/release/provenance-fk.d.ts.map +0 -1
- package/dist/release/provenance-fk.js +0 -122
- package/dist/release/provenance-fk.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,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Store-layer accessor for the self-improvement DHQ table (`selfimprove_dhq`) —
|
|
3
|
+
* T11889 · T11889-A · T11911.
|
|
4
|
+
*
|
|
5
|
+
* This module is the ONLY place that touches the native `cleo.db` handle for the
|
|
6
|
+
* self-improvement loop's DHQ persistence. It lives INSIDE the store chokepoint
|
|
7
|
+
* (`packages/core/src/store/**`), the Gate-3 allowlist, so it may extract the native
|
|
8
|
+
* `DatabaseSync` that {@link openDualScopeDb} already holds (via drizzle's `$client`)
|
|
9
|
+
* and run prepared statements over it — exactly the established `pi-session-store.ts`
|
|
10
|
+
* pattern. It NEVER calls `new DatabaseSync(` itself.
|
|
11
|
+
*
|
|
12
|
+
* The durable adapter (`packages/core/src/selfimprove/dhq-adapter.ts`, T11889-C)
|
|
13
|
+
* sits 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 the
|
|
15
|
+
* write is serialized against any other writer on the `(project, bulk)` lane. The
|
|
16
|
+
* lease SERIALIZES the write; the "only ever writes `selfimprove_dhq`, never a live
|
|
17
|
+
* `tasks`/`brain` row" guarantee comes from this accessor's prepared statements
|
|
18
|
+
* targeting ONLY `selfimprove_dhq` — adapter discipline, not the lease.
|
|
19
|
+
*
|
|
20
|
+
* Physical model (see the `t11889-selfimprove-dhq` migration):
|
|
21
|
+
* - `selfimprove_dhq(id, dhq_id, scenario, question_hash, title, regression_json,
|
|
22
|
+
* status, severity, pr_url, run_id, created_at, updated_at)` — one row per DHQ.
|
|
23
|
+
* - Idempotency: a raw-SQL partial-UNIQUE index `ux_selfimprove_dhq_open` keys on
|
|
24
|
+
* `question_hash WHERE status = 'open'`, so at most one open row per hash.
|
|
25
|
+
*
|
|
26
|
+
* @module
|
|
27
|
+
* @task T11911
|
|
28
|
+
* @task T11889
|
|
29
|
+
* @epic T11889
|
|
30
|
+
*/
|
|
31
|
+
import { openDualScopeDb } from './dual-scope-db.js';
|
|
32
|
+
import { assertSelfimproveDhqOpenIndexPresent, SELFIMPROVE_DHQ_TABLE, } from './selfimprove-dhq-schema.js';
|
|
33
|
+
export { assertSelfimproveDhqOpenIndexPresent, SELFIMPROVE_DHQ_OPEN_INDEX, SELFIMPROVE_DHQ_TABLE, } from './selfimprove-dhq-schema.js';
|
|
34
|
+
/**
|
|
35
|
+
* Extract the native `DatabaseSync` handle for the PROJECT-scope `cleo.db`.
|
|
36
|
+
*
|
|
37
|
+
* Routes through {@link openDualScopeDb} (the dual-scope chokepoint) — which applies
|
|
38
|
+
* the pragma SSoT, runs the consolidated migrations (creating `selfimprove_dhq`),
|
|
39
|
+
* and manages the singleton cache — then extracts the native handle drizzle holds on
|
|
40
|
+
* `$client`. NEVER opens a raw connection (Gate 3): it reuses the handle the
|
|
41
|
+
* chokepoint already owns.
|
|
42
|
+
*
|
|
43
|
+
* @param cwd - Working directory for project resolution (defaults to `cwd`).
|
|
44
|
+
* @returns The live native handle.
|
|
45
|
+
* @throws When the chokepoint returns a handle without `$client`.
|
|
46
|
+
*/
|
|
47
|
+
export async function getSelfimproveDhqNativeDb(cwd) {
|
|
48
|
+
const handle = await openDualScopeDb('project', cwd);
|
|
49
|
+
const native = handle.db.$client;
|
|
50
|
+
if (!native) {
|
|
51
|
+
throw new Error('T11911: openDualScopeDb returned a project handle without $client — ' +
|
|
52
|
+
'cannot extract DatabaseSync for selfimprove_dhq persistence.');
|
|
53
|
+
}
|
|
54
|
+
// The node:sqlite surface is wider than NativeHandle; narrow to what we use.
|
|
55
|
+
return native;
|
|
56
|
+
}
|
|
57
|
+
/** Decode a raw SQLite row into a typed {@link SelfimproveDhqRow}. */
|
|
58
|
+
function decodeRow(row) {
|
|
59
|
+
return {
|
|
60
|
+
dhqId: String(row.dhq_id),
|
|
61
|
+
scenario: String(row.scenario),
|
|
62
|
+
questionHash: String(row.question_hash),
|
|
63
|
+
title: String(row.title),
|
|
64
|
+
regressionJson: String(row.regression_json),
|
|
65
|
+
status: String(row.status),
|
|
66
|
+
severity: row.severity === null || row.severity === undefined ? null : String(row.severity),
|
|
67
|
+
prUrl: row.pr_url === null || row.pr_url === undefined ? null : String(row.pr_url),
|
|
68
|
+
runId: String(row.run_id),
|
|
69
|
+
createdAt: Number(row.created_at),
|
|
70
|
+
updatedAt: Number(row.updated_at),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
// ── Reads (no lease — readers operate on the shared handle) ────────────────────
|
|
74
|
+
/**
|
|
75
|
+
* Return the open DHQ row for a `question_hash`, or `null` when none is open.
|
|
76
|
+
*
|
|
77
|
+
* @param native - The native project `cleo.db` handle.
|
|
78
|
+
* @param questionHash - The regression-signature hash.
|
|
79
|
+
* @returns The open row or `null`.
|
|
80
|
+
*/
|
|
81
|
+
export function readOpenSelfimproveDhq(native, questionHash) {
|
|
82
|
+
const row = native
|
|
83
|
+
.prepare(`SELECT id, dhq_id, scenario, question_hash, title, regression_json, status, ` +
|
|
84
|
+
`severity, pr_url, run_id, created_at, updated_at ` +
|
|
85
|
+
`FROM ${SELFIMPROVE_DHQ_TABLE} WHERE question_hash = ? AND status = 'open'`)
|
|
86
|
+
.get(questionHash);
|
|
87
|
+
return row === undefined ? null : decodeRow(row);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Return all DHQ rows for a scenario in stable creation order (`created_at ASC`).
|
|
91
|
+
*
|
|
92
|
+
* @param native - The native project `cleo.db` handle.
|
|
93
|
+
* @param scenario - The scenario name.
|
|
94
|
+
* @returns The ordered rows (empty when the scenario has none).
|
|
95
|
+
*/
|
|
96
|
+
export function readSelfimproveDhqByScenario(native, scenario) {
|
|
97
|
+
const rows = native
|
|
98
|
+
.prepare(`SELECT id, dhq_id, scenario, question_hash, title, regression_json, status, ` +
|
|
99
|
+
`severity, pr_url, run_id, created_at, updated_at ` +
|
|
100
|
+
`FROM ${SELFIMPROVE_DHQ_TABLE} WHERE scenario = ? ORDER BY created_at ASC, id ASC`)
|
|
101
|
+
.all(scenario);
|
|
102
|
+
return rows.map(decodeRow);
|
|
103
|
+
}
|
|
104
|
+
// ── Writes (caller MUST hold the writer lease — see dhq-adapter.ts) ────────────
|
|
105
|
+
/**
|
|
106
|
+
* Insert (or, on a repeated open regression, refresh) exactly ONE open DHQ row for a
|
|
107
|
+
* `question_hash`.
|
|
108
|
+
*
|
|
109
|
+
* The partial-UNIQUE index `ux_selfimprove_dhq_open (question_hash) WHERE status =
|
|
110
|
+
* 'open'` makes this idempotent: a second open regression for the same hash updates
|
|
111
|
+
* the existing open row's `updated_at` / `run_id` / `severity` instead of inserting a
|
|
112
|
+
* duplicate. The caller MUST already hold the PROJECT/`bulk` writer lease — this
|
|
113
|
+
* accessor performs the raw write and does NOT acquire the lease itself (the lease
|
|
114
|
+
* boundary lives in `dhq-adapter.ts`, outside the chokepoint).
|
|
115
|
+
*
|
|
116
|
+
* @param native - The native project `cleo.db` handle (leased section).
|
|
117
|
+
* @param row - The DHQ to upsert.
|
|
118
|
+
*/
|
|
119
|
+
export function upsertOpenSelfimproveDhq(native, row) {
|
|
120
|
+
native
|
|
121
|
+
.prepare(`INSERT INTO ${SELFIMPROVE_DHQ_TABLE} ` +
|
|
122
|
+
`(dhq_id, scenario, question_hash, title, regression_json, status, severity, ` +
|
|
123
|
+
`pr_url, run_id, created_at, updated_at) ` +
|
|
124
|
+
`VALUES (?, ?, ?, ?, ?, 'open', ?, NULL, ?, ?, ?) ` +
|
|
125
|
+
`ON CONFLICT(question_hash) WHERE status = 'open' DO UPDATE SET ` +
|
|
126
|
+
`regression_json = excluded.regression_json, severity = excluded.severity, ` +
|
|
127
|
+
`run_id = excluded.run_id, updated_at = excluded.updated_at`)
|
|
128
|
+
.run(row.dhqId, row.scenario, row.questionHash, row.title, row.regressionJson, row.severity, row.runId, row.now, row.now);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Advance an open DHQ to a terminal status (e.g. `'fixed'` / `'dismissed'`) for a
|
|
132
|
+
* `question_hash`. Frees the partial-UNIQUE slot so a future regression of the same
|
|
133
|
+
* hash can open a new row.
|
|
134
|
+
*
|
|
135
|
+
* The caller MUST hold the writer lease.
|
|
136
|
+
*
|
|
137
|
+
* @param native - The native project `cleo.db` handle (leased section).
|
|
138
|
+
* @param questionHash - The regression-signature hash whose open row to advance.
|
|
139
|
+
* @param status - The new (non-open) status.
|
|
140
|
+
* @param now - The update timestamp (epoch ms).
|
|
141
|
+
* @returns The number of rows updated (0 when no open row exists).
|
|
142
|
+
*/
|
|
143
|
+
export function updateSelfimproveDhqStatus(native, questionHash, status, now) {
|
|
144
|
+
const result = native
|
|
145
|
+
.prepare(`UPDATE ${SELFIMPROVE_DHQ_TABLE} SET status = ?, updated_at = ? ` +
|
|
146
|
+
`WHERE question_hash = ? AND status = 'open'`)
|
|
147
|
+
.run(status, now, questionHash);
|
|
148
|
+
return Number(result.changes);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Record the draft PR URL on the open DHQ row for a `question_hash`.
|
|
152
|
+
*
|
|
153
|
+
* The caller MUST hold the writer lease.
|
|
154
|
+
*
|
|
155
|
+
* @param native - The native project `cleo.db` handle (leased section).
|
|
156
|
+
* @param questionHash - The regression-signature hash whose open row to annotate.
|
|
157
|
+
* @param prUrl - The draft PR URL.
|
|
158
|
+
* @param now - The update timestamp (epoch ms).
|
|
159
|
+
* @returns The number of rows updated (0 when no open row exists).
|
|
160
|
+
*/
|
|
161
|
+
export function setSelfimproveDhqPrUrl(native, questionHash, prUrl, now) {
|
|
162
|
+
const result = native
|
|
163
|
+
.prepare(`UPDATE ${SELFIMPROVE_DHQ_TABLE} SET pr_url = ?, updated_at = ? ` +
|
|
164
|
+
`WHERE question_hash = ? AND status = 'open'`)
|
|
165
|
+
.run(prUrl, now, questionHash);
|
|
166
|
+
return Number(result.changes);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Bootstrap check: open the project `cleo.db` (running migrations) and assert the
|
|
170
|
+
* partial-UNIQUE open-row index is physically present.
|
|
171
|
+
*
|
|
172
|
+
* Convenience wrapper over {@link getSelfimproveDhqNativeDb} +
|
|
173
|
+
* {@link assertSelfimproveDhqOpenIndexPresent} for callers that only have a `cwd`.
|
|
174
|
+
*
|
|
175
|
+
* @param cwd - Working directory for project resolution.
|
|
176
|
+
* @throws `E_SELFIMPROVE_DHQ_INDEX_MISSING` if the index is absent.
|
|
177
|
+
*/
|
|
178
|
+
export async function assertSelfimproveDhqReady(cwd) {
|
|
179
|
+
const native = await getSelfimproveDhqNativeDb(cwd);
|
|
180
|
+
assertSelfimproveDhqOpenIndexPresent(native);
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=selfimprove-dhq-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selfimprove-dhq-store.js","sourceRoot":"","sources":["../../src/store/selfimprove-dhq-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,42 +57,81 @@ export declare function workHistory(sessionId: string, limit?: number, cwd?: str
|
|
|
57
57
|
}>>;
|
|
58
58
|
/** Garbage collect old sessions (mark ended sessions as orphaned after threshold). */
|
|
59
59
|
export declare function gcSessions(maxAgeDays?: number, cwd?: string): Promise<number>;
|
|
60
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* Get the currently active session — the most-recent `status='active'` row.
|
|
62
|
+
*
|
|
63
|
+
* @internal LEGACY single-process TTY fallback ONLY (T11640 · Epic T11638).
|
|
64
|
+
*
|
|
65
|
+
* This resolves "whoever wrote an active session to the DB most recently",
|
|
66
|
+
* which is the WRONG identity in any multi-tenant context: under the warm
|
|
67
|
+
* daemon (many concurrent connections) and under multi-agent spawn isolation
|
|
68
|
+
* (many worktrees writing the same DB) it collapses every caller's identity
|
|
69
|
+
* onto the last writer, causing session-bleed and memory scope-leakage.
|
|
70
|
+
*
|
|
71
|
+
* Identity-meaning callers — anything that means "the session of whoever is
|
|
72
|
+
* calling THIS request" — MUST use {@link resolveCurrentSession} /
|
|
73
|
+
* {@link resolveCurrentSessionId}, which resolve, in order:
|
|
74
|
+
* 1. the daemon connection handle ({@link getCurrentConnectionSessionId}),
|
|
75
|
+
* 2. the env-named session (`CLEO_SESSION_ID`, via
|
|
76
|
+
* {@link resolveSessionIdFromEnv}),
|
|
77
|
+
* 3. and only THEN fall back to this most-recent-active row.
|
|
78
|
+
*
|
|
79
|
+
* `getActiveSession` survives as that final tier-3 fallback and for genuine
|
|
80
|
+
* SCAN-meaning callers (e.g. "is there any active session at all?",
|
|
81
|
+
* `gcSessions`, the data-accessor pass-throughs). The
|
|
82
|
+
* `lint-no-bare-get-active-session.mjs` gate bans NEW bare callsites so the
|
|
83
|
+
* identity-vs-scan split cannot silently regress — annotate a justified scan
|
|
84
|
+
* callsite with a trailing `// get-active-session-allowed: <reason>`.
|
|
85
|
+
*
|
|
86
|
+
* @param cwd - Working directory for DB resolution.
|
|
87
|
+
* @returns The most-recent active session, or `null`.
|
|
88
|
+
*/
|
|
61
89
|
export declare function getActiveSession(cwd?: string): Promise<Session | null>;
|
|
62
90
|
/**
|
|
63
|
-
* Resolve the CALLER's current session
|
|
91
|
+
* Resolve the CALLER's current session (T11344/T11640 · Epics T11284, T11638).
|
|
64
92
|
*
|
|
65
|
-
* THE canonical identity-resolution helper. Replaces bare
|
|
66
|
-
* for any consumer that means "the session of whoever is calling THIS
|
|
93
|
+
* THE canonical identity-resolution helper. Replaces bare {@link getActiveSession}
|
|
94
|
+
* for any consumer that means "the session of whoever is calling THIS request".
|
|
95
|
+
* Resolution precedence (first hit wins):
|
|
67
96
|
*
|
|
68
|
-
* 1.
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
97
|
+
* 1. **Daemon connection handle** ({@link getCurrentConnectionSessionId}) — when
|
|
98
|
+
* dispatching a request frame on a warm-daemon connection, the connection's
|
|
99
|
+
* accept-time-bound session is authoritative. A row with that id is honoured
|
|
100
|
+
* when present; when the bound id has no row yet, resolution proceeds (the
|
|
101
|
+
* connection asserted an identity that the env/active tiers may still
|
|
102
|
+
* satisfy). This is the seam that gives the multi-connection daemon a stable
|
|
103
|
+
* per-connection identity (T11640).
|
|
104
|
+
* 2. **Env-named session** — `resolveSessionIdFromEnv()` (`CLEO_SESSION_ID`
|
|
105
|
+
* injected by spawn isolation, T11343); the spawned agent's OWN session.
|
|
106
|
+
* 3. **Most-recent active row** — {@link getActiveSession}, the legacy
|
|
107
|
+
* single-process fallback.
|
|
72
108
|
*
|
|
73
109
|
* Making most-recent-active the FALLBACK rather than the default identity is
|
|
74
110
|
* what dissolves multi-agent session-bleed AND memory scope-leakage: a
|
|
75
111
|
* short-lived `cleo` call in agent A's worktree no longer resolves agent B's
|
|
76
112
|
* session just because B wrote to the DB more recently.
|
|
77
113
|
*
|
|
78
|
-
* The env-named
|
|
79
|
-
* (the caller explicitly
|
|
80
|
-
* active-only guarantee should check `.status` on the result.
|
|
114
|
+
* The connection-handle and env-named sessions are honoured even when their
|
|
115
|
+
* status is not `active` (the caller explicitly asserted that id), so callers
|
|
116
|
+
* that need an active-only guarantee should check `.status` on the result.
|
|
81
117
|
*
|
|
82
118
|
* @param cwd - Working directory for DB resolution.
|
|
83
119
|
* @returns The resolved session, or `null` when none can be resolved.
|
|
84
120
|
* @task T11344
|
|
121
|
+
* @task T11640
|
|
85
122
|
*/
|
|
86
123
|
export declare function resolveCurrentSession(cwd?: string): Promise<Session | null>;
|
|
87
124
|
/**
|
|
88
|
-
* Resolve the CALLER's current session id
|
|
125
|
+
* Resolve the CALLER's current session id (T11344/T11640).
|
|
89
126
|
*
|
|
90
|
-
* Thin id-only convenience over {@link resolveCurrentSession}
|
|
127
|
+
* Thin id-only convenience over {@link resolveCurrentSession} sharing its
|
|
128
|
+
* connection-handle → env → most-recent-active precedence. Prefer this over
|
|
91
129
|
* `(await getActiveSession())?.id` in identity-resolution hot paths.
|
|
92
130
|
*
|
|
93
131
|
* @param cwd - Working directory for DB resolution.
|
|
94
132
|
* @returns The resolved session id, or `null`.
|
|
95
133
|
* @task T11344
|
|
134
|
+
* @task T11640
|
|
96
135
|
*/
|
|
97
136
|
export declare function resolveCurrentSessionId(cwd?: string): Promise<string | null>;
|
|
98
137
|
//# sourceMappingURL=session-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/store/session-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/store/session-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @task T1609 insertHandoffEntry — write-once INSERT path for handoff data
|
|
9
9
|
*/
|
|
10
10
|
import { and, desc, eq, isNull } from 'drizzle-orm';
|
|
11
|
+
import { getCurrentConnectionSessionId } from '../sessions/connection-session-handle.js';
|
|
11
12
|
import { resolveSessionIdFromEnv } from '../sessions/session-id.js';
|
|
12
13
|
import { rowToSession } from './converters.js';
|
|
13
14
|
import { getDb } from './sqlite.js';
|
|
@@ -31,6 +32,8 @@ export async function createSession(session, cwd) {
|
|
|
31
32
|
tasksCreatedJson: session.tasksCreated ? JSON.stringify(session.tasksCreated) : '[]',
|
|
32
33
|
startedAt: session.startedAt,
|
|
33
34
|
endedAt: session.endedAt,
|
|
35
|
+
// Fork-tree parent edge (T11639) — sourced from CLEO_PARENT_SESSION_ID at start.
|
|
36
|
+
parentSessionId: session.parentSessionId ?? null,
|
|
34
37
|
})
|
|
35
38
|
.run();
|
|
36
39
|
return session;
|
|
@@ -75,6 +78,9 @@ export async function updateSession(sessionId, updates, cwd) {
|
|
|
75
78
|
updateRow.previousSessionId = updates.previousSessionId;
|
|
76
79
|
if (updates.nextSessionId !== undefined)
|
|
77
80
|
updateRow.nextSessionId = updates.nextSessionId;
|
|
81
|
+
// Fork-tree parent edge (T11639)
|
|
82
|
+
if (updates.parentSessionId !== undefined)
|
|
83
|
+
updateRow.parentSessionId = updates.parentSessionId;
|
|
78
84
|
if (updates.agentIdentifier !== undefined)
|
|
79
85
|
updateRow.agentIdentifier = updates.agentIdentifier;
|
|
80
86
|
if (updates.handoffConsumedAt !== undefined)
|
|
@@ -226,7 +232,35 @@ export async function gcSessions(maxAgeDays = 30, cwd) {
|
|
|
226
232
|
}
|
|
227
233
|
return toUpdate.length;
|
|
228
234
|
}
|
|
229
|
-
/**
|
|
235
|
+
/**
|
|
236
|
+
* Get the currently active session — the most-recent `status='active'` row.
|
|
237
|
+
*
|
|
238
|
+
* @internal LEGACY single-process TTY fallback ONLY (T11640 · Epic T11638).
|
|
239
|
+
*
|
|
240
|
+
* This resolves "whoever wrote an active session to the DB most recently",
|
|
241
|
+
* which is the WRONG identity in any multi-tenant context: under the warm
|
|
242
|
+
* daemon (many concurrent connections) and under multi-agent spawn isolation
|
|
243
|
+
* (many worktrees writing the same DB) it collapses every caller's identity
|
|
244
|
+
* onto the last writer, causing session-bleed and memory scope-leakage.
|
|
245
|
+
*
|
|
246
|
+
* Identity-meaning callers — anything that means "the session of whoever is
|
|
247
|
+
* calling THIS request" — MUST use {@link resolveCurrentSession} /
|
|
248
|
+
* {@link resolveCurrentSessionId}, which resolve, in order:
|
|
249
|
+
* 1. the daemon connection handle ({@link getCurrentConnectionSessionId}),
|
|
250
|
+
* 2. the env-named session (`CLEO_SESSION_ID`, via
|
|
251
|
+
* {@link resolveSessionIdFromEnv}),
|
|
252
|
+
* 3. and only THEN fall back to this most-recent-active row.
|
|
253
|
+
*
|
|
254
|
+
* `getActiveSession` survives as that final tier-3 fallback and for genuine
|
|
255
|
+
* SCAN-meaning callers (e.g. "is there any active session at all?",
|
|
256
|
+
* `gcSessions`, the data-accessor pass-throughs). The
|
|
257
|
+
* `lint-no-bare-get-active-session.mjs` gate bans NEW bare callsites so the
|
|
258
|
+
* identity-vs-scan split cannot silently regress — annotate a justified scan
|
|
259
|
+
* callsite with a trailing `// get-active-session-allowed: <reason>`.
|
|
260
|
+
*
|
|
261
|
+
* @param cwd - Working directory for DB resolution.
|
|
262
|
+
* @returns The most-recent active session, or `null`.
|
|
263
|
+
*/
|
|
230
264
|
export async function getActiveSession(cwd) {
|
|
231
265
|
const db = await getDb(cwd);
|
|
232
266
|
const rows = await db
|
|
@@ -241,30 +275,46 @@ export async function getActiveSession(cwd) {
|
|
|
241
275
|
return rowToSession(rows[0]);
|
|
242
276
|
}
|
|
243
277
|
/**
|
|
244
|
-
* Resolve the CALLER's current session
|
|
278
|
+
* Resolve the CALLER's current session (T11344/T11640 · Epics T11284, T11638).
|
|
245
279
|
*
|
|
246
|
-
* THE canonical identity-resolution helper. Replaces bare
|
|
247
|
-
* for any consumer that means "the session of whoever is calling THIS
|
|
280
|
+
* THE canonical identity-resolution helper. Replaces bare {@link getActiveSession}
|
|
281
|
+
* for any consumer that means "the session of whoever is calling THIS request".
|
|
282
|
+
* Resolution precedence (first hit wins):
|
|
248
283
|
*
|
|
249
|
-
* 1.
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
*
|
|
284
|
+
* 1. **Daemon connection handle** ({@link getCurrentConnectionSessionId}) — when
|
|
285
|
+
* dispatching a request frame on a warm-daemon connection, the connection's
|
|
286
|
+
* accept-time-bound session is authoritative. A row with that id is honoured
|
|
287
|
+
* when present; when the bound id has no row yet, resolution proceeds (the
|
|
288
|
+
* connection asserted an identity that the env/active tiers may still
|
|
289
|
+
* satisfy). This is the seam that gives the multi-connection daemon a stable
|
|
290
|
+
* per-connection identity (T11640).
|
|
291
|
+
* 2. **Env-named session** — `resolveSessionIdFromEnv()` (`CLEO_SESSION_ID`
|
|
292
|
+
* injected by spawn isolation, T11343); the spawned agent's OWN session.
|
|
293
|
+
* 3. **Most-recent active row** — {@link getActiveSession}, the legacy
|
|
294
|
+
* single-process fallback.
|
|
253
295
|
*
|
|
254
296
|
* Making most-recent-active the FALLBACK rather than the default identity is
|
|
255
297
|
* what dissolves multi-agent session-bleed AND memory scope-leakage: a
|
|
256
298
|
* short-lived `cleo` call in agent A's worktree no longer resolves agent B's
|
|
257
299
|
* session just because B wrote to the DB more recently.
|
|
258
300
|
*
|
|
259
|
-
* The env-named
|
|
260
|
-
* (the caller explicitly
|
|
261
|
-
* active-only guarantee should check `.status` on the result.
|
|
301
|
+
* The connection-handle and env-named sessions are honoured even when their
|
|
302
|
+
* status is not `active` (the caller explicitly asserted that id), so callers
|
|
303
|
+
* that need an active-only guarantee should check `.status` on the result.
|
|
262
304
|
*
|
|
263
305
|
* @param cwd - Working directory for DB resolution.
|
|
264
306
|
* @returns The resolved session, or `null` when none can be resolved.
|
|
265
307
|
* @task T11344
|
|
308
|
+
* @task T11640
|
|
266
309
|
*/
|
|
267
310
|
export async function resolveCurrentSession(cwd) {
|
|
311
|
+
const connId = getCurrentConnectionSessionId();
|
|
312
|
+
if (connId) {
|
|
313
|
+
const byConn = await getSession(connId, cwd);
|
|
314
|
+
if (byConn)
|
|
315
|
+
return byConn;
|
|
316
|
+
// connection named a session with no row yet — fall through to env/active.
|
|
317
|
+
}
|
|
268
318
|
const envId = resolveSessionIdFromEnv();
|
|
269
319
|
if (envId) {
|
|
270
320
|
const byEnv = await getSession(envId, cwd);
|
|
@@ -275,16 +325,24 @@ export async function resolveCurrentSession(cwd) {
|
|
|
275
325
|
return getActiveSession(cwd);
|
|
276
326
|
}
|
|
277
327
|
/**
|
|
278
|
-
* Resolve the CALLER's current session id
|
|
328
|
+
* Resolve the CALLER's current session id (T11344/T11640).
|
|
279
329
|
*
|
|
280
|
-
* Thin id-only convenience over {@link resolveCurrentSession}
|
|
330
|
+
* Thin id-only convenience over {@link resolveCurrentSession} sharing its
|
|
331
|
+
* connection-handle → env → most-recent-active precedence. Prefer this over
|
|
281
332
|
* `(await getActiveSession())?.id` in identity-resolution hot paths.
|
|
282
333
|
*
|
|
283
334
|
* @param cwd - Working directory for DB resolution.
|
|
284
335
|
* @returns The resolved session id, or `null`.
|
|
285
336
|
* @task T11344
|
|
337
|
+
* @task T11640
|
|
286
338
|
*/
|
|
287
339
|
export async function resolveCurrentSessionId(cwd) {
|
|
340
|
+
const connId = getCurrentConnectionSessionId();
|
|
341
|
+
if (connId) {
|
|
342
|
+
const byConn = await getSession(connId, cwd);
|
|
343
|
+
if (byConn)
|
|
344
|
+
return byConn.id;
|
|
345
|
+
}
|
|
288
346
|
const envId = resolveSessionIdFromEnv();
|
|
289
347
|
if (envId) {
|
|
290
348
|
const byEnv = await getSession(envId, cwd);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/store/session-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/store/session-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,0BAA0B;AAE1B,4BAA4B;AAC5B,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAgB,EAAE,GAAY;IAChE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC5B,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;SACvB,MAAM,CAAC;QACN,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,WAAW,EAAE,EAAE,EAAE,MAAM;QACvB,aAAa,EAAE,EAAE,EAAE,KAAK;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/D,kBAAkB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;QAC1F,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;QACpF,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,iFAAiF;QACjF,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;KACjD,CAAC;SACD,GAAG,EAAE,CAAC;IAET,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2BAA2B;AAC3B,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAAiB,EAAE,GAAY;IAC9D,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,MAAM,EAAE;SACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SACrB,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;SACxC,GAAG,EAAE,CAAC;IAET,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;AAChC,CAAC;AAED,wBAAwB;AACxB,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,OAAyB,EACzB,GAAY;IAEZ,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,SAAS,GAA4B,EAAE,CAAC;IAE9C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACpE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACvE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,SAAS,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACjE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;QACtC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QACpC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACpE,+BAA+B;IAC/B,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;QACzC,SAAS,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAC1D,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;QAAE,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IACzF,iCAAiC;IACjC,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;QAAE,SAAS,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAC/F,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;QAAE,SAAS,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAC/F,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;QACzC,SAAS,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAC1D,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;QACzC,SAAS,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAC1D,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;QAAE,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACnF,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;QAAE,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAEnF,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAEzF,OAAO,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,WAAmB,EACnB,GAAY;IAEZ,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;AACnF,CAAC;AAED,2CAA2C;AAC3C,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAGC,EACD,GAAY;IAEZ,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,KAAK,GAAG,EAAE;SACb,MAAM,EAAE;SACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SACrB,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SAC7D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAE5C,MAAM,IAAI,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;IACzF,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED,qBAAqB;AACrB,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,SAAiB,EACjB,IAAa,EACb,GAAY;IAEZ,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,OAAO,GAAqB;QAChC,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAClC,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,OAAO,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,+BAA+B;AAE/B,gDAAgD;AAChD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,SAAiB,EAAE,MAAc,EAAE,GAAY;IAC7E,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,oDAAoD;IACpD,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;SAC9B,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;SACvB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,EAC/C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CACzC,CACF;SACA,GAAG,EAAE,CAAC;IAET,kCAAkC;IAClC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAElF,gCAAgC;IAChC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;SACvB,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;SAChD,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;SACxC,GAAG,EAAE,CAAC;AACX,CAAC;AAED,sCAAsC;AACtC,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,GAAY;IAEZ,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,MAAM,CAAC;QACN,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;QACxC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa;KAC7C,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SACrB,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;SACxC,GAAG,EAAE,CAAC;IAET,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC5D,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,aAAa,EAAE,CAAC;AACzE,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,SAAiB,EAAE,GAAY;IAC5D,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,mCAAmC;IACnC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;SAC9B,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;SACvB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,EAC/C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CACzC,CACF;SACA,GAAG,EAAE,CAAC;IAET,+BAA+B;IAC/B,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;SACvB,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAC/C,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;SACxC,GAAG,EAAE,CAAC;AACX,CAAC;AAED,sCAAsC;AACtC,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,SAAiB,EACjB,QAAgB,EAAE,EAClB,GAAY;IAEZ,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,MAAM,EAAE;SACR,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;SAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SACtD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;SAC5E,KAAK,CAAC,KAAK,CAAC;SACZ,GAAG,EAAE,CAAC;IAET,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,4BAA4B;AAE5B,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,aAAqB,EAAE,EAAE,GAAY;IACpE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAEpD,kCAAkC;IAClC,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;SAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SACrB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;SAC/C,GAAG,EAAE,CAAC;IAET,MAAM,QAAQ,GAAG,MAAM,CAAC;IAExB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;aACvB,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;aAC3B,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aAC1C,GAAG,EAAE,CAAC;IACX,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAY;IACjD,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,MAAM,EAAE;SACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SACrB,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SAC3C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SACxC,KAAK,CAAC,CAAC,CAAC;SACR,GAAG,EAAE,CAAC;IAET,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAY;IACtD,MAAM,MAAM,GAAG,6BAA6B,EAAE,CAAC;IAC/C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,2EAA2E;IAC7E,CAAC;IACD,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;IACxC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,uEAAuE;IACzE,CAAC;IACD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,GAAY;IACxD,MAAM,MAAM,GAAG,6BAA6B,EAAE,CAAC;IAC/C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;IACxC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,EAAE,CAAC;IAC7B,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC3C,OAAO,MAAM,EAAE,EAAE,IAAI,IAAI,CAAC;AAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-data-accessor.d.ts","sourceRoot":"","sources":["../../src/store/sqlite-data-accessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,OAAO,KAAK,EAEV,YAAY,EAOb,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-data-accessor.d.ts","sourceRoot":"","sources":["../../src/store/sqlite-data-accessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,OAAO,KAAK,EAEV,YAAY,EAOb,MAAM,oBAAoB,CAAC;AAyG5B,yDAAyD;AACzD,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAWf;AAID;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA2tClF"}
|
|
@@ -15,6 +15,7 @@ import { and, eq, inArray, isNull, like, ne, notInArray, or, sql } from 'drizzle
|
|
|
15
15
|
import { archivedTaskToRow, rowToSession, rowToTask, taskToRow } from './converters.js';
|
|
16
16
|
import { cleanupBrainRefsOnSessionDelete } from './cross-db-cleanup.js';
|
|
17
17
|
import { batchUpdateDependencies, loadDependenciesForTasks, loadRelationsForTasks, updateDependencies, upsertSession, upsertTask, } from './db-helpers.js';
|
|
18
|
+
import { resolveCurrentSession } from './session-store.js';
|
|
18
19
|
import { closeDb, getDb, getNativeTasksDb } from './sqlite.js';
|
|
19
20
|
import { TERMINAL_TASK_STATUSES } from './status-registry.js';
|
|
20
21
|
import * as schema from './tasks-schema.js';
|
|
@@ -501,6 +502,12 @@ export async function createSqliteDataAccessor(cwd) {
|
|
|
501
502
|
return null;
|
|
502
503
|
return rowToSession(rows[0]);
|
|
503
504
|
},
|
|
505
|
+
async resolveCurrentSession() {
|
|
506
|
+
// T11640 — identity-meaning resolution (connection-handle → env → active).
|
|
507
|
+
// Delegates to the canonical resolver so accessor-based callers share the
|
|
508
|
+
// same precedence as bare `resolveCurrentSession()` consumers.
|
|
509
|
+
return resolveCurrentSession(cwd);
|
|
510
|
+
},
|
|
504
511
|
async upsertSingleSession(session) {
|
|
505
512
|
const db = await getDb(cwd);
|
|
506
513
|
await upsertSession(db, session);
|