@cleocode/core 2026.5.134 → 2026.6.0
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/binaries/README.md +49 -27
- package/dist/agents/{agent-registry.d.ts → agent-capacity-tracker.d.ts} +2 -2
- package/dist/agents/agent-capacity-tracker.d.ts.map +1 -0
- package/dist/agents/{agent-registry.js → agent-capacity-tracker.js} +2 -2
- package/dist/agents/agent-capacity-tracker.js.map +1 -0
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +4 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/seed-install.d.ts +1 -1
- package/dist/agents/seed-install.d.ts.map +1 -1
- package/dist/agents/seed-install.js +42 -36
- package/dist/agents/seed-install.js.map +1 -1
- package/dist/caamp-export.d.ts +18 -0
- package/dist/caamp-export.d.ts.map +1 -0
- package/dist/caamp-export.js +18 -0
- package/dist/caamp-export.js.map +1 -0
- package/dist/conduit/local-transport.d.ts +1 -1
- package/dist/conduit/local-transport.d.ts.map +1 -1
- package/dist/conduit/local-transport.js +69 -43
- package/dist/conduit/local-transport.js.map +1 -1
- package/dist/dispatch/mutate-projection.d.ts.map +1 -1
- package/dist/dispatch/mutate-projection.js +11 -0
- package/dist/dispatch/mutate-projection.js.map +1 -1
- package/dist/docs/docs-read-model.d.ts +7 -0
- package/dist/docs/docs-read-model.d.ts.map +1 -1
- package/dist/docs/docs-read-model.js +5 -0
- package/dist/docs/docs-read-model.js.map +1 -1
- package/dist/docs/supersede.d.ts.map +1 -1
- package/dist/docs/supersede.js +12 -7
- package/dist/docs/supersede.js.map +1 -1
- package/dist/doctor/db-substrate.d.ts.map +1 -1
- package/dist/doctor/db-substrate.js +10 -9
- package/dist/doctor/db-substrate.js.map +1 -1
- package/dist/git-shim-export.d.ts +18 -0
- package/dist/git-shim-export.d.ts.map +1 -0
- package/dist/git-shim-export.js +18 -0
- package/dist/git-shim-export.js.map +1 -0
- package/dist/hooks/payload-schemas.d.ts +2 -2
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +39 -32
- package/dist/init.js.map +1 -1
- package/dist/internal.d.ts +11 -3
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +14 -5
- package/dist/internal.js.map +1 -1
- package/dist/lafs-export.d.ts +18 -0
- package/dist/lafs-export.d.ts.map +1 -0
- package/dist/lafs-export.js +18 -0
- package/dist/lafs-export.js.map +1 -0
- package/dist/lifecycle/effective-stage.js +1 -1
- package/dist/lifecycle/index.js +1 -1
- package/dist/lifecycle/index.js.map +1 -1
- package/dist/lifecycle/rollup.js +1 -1
- package/dist/llm/credential-pool.d.ts +17 -0
- package/dist/llm/credential-pool.d.ts.map +1 -1
- package/dist/llm/credential-pool.js +40 -1
- package/dist/llm/credential-pool.js.map +1 -1
- package/dist/llm/plugin-facade.d.ts.map +1 -1
- package/dist/llm/plugin-facade.js +11 -19
- package/dist/llm/plugin-facade.js.map +1 -1
- package/dist/llm/role-executor.d.ts +8 -0
- package/dist/llm/role-executor.d.ts.map +1 -1
- package/dist/llm/role-executor.js +96 -4
- package/dist/llm/role-executor.js.map +1 -1
- package/dist/llm/role-resolver.d.ts.map +1 -1
- package/dist/llm/role-resolver.js +56 -1
- package/dist/llm/role-resolver.js.map +1 -1
- package/dist/llm/transports/codex-oauth-headers.d.ts +51 -0
- package/dist/llm/transports/codex-oauth-headers.d.ts.map +1 -0
- package/dist/llm/transports/codex-oauth-headers.js +89 -0
- package/dist/llm/transports/codex-oauth-headers.js.map +1 -0
- package/dist/memory/claude-mem-migration.d.ts.map +1 -1
- package/dist/memory/claude-mem-migration.js +1 -3
- package/dist/memory/claude-mem-migration.js.map +1 -1
- package/dist/memory/decisions.d.ts.map +1 -1
- package/dist/memory/decisions.js +77 -23
- package/dist/memory/decisions.js.map +1 -1
- package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
- package/dist/memory/graph-memory-bridge.js +12 -6
- package/dist/memory/graph-memory-bridge.js.map +1 -1
- package/dist/memory/learnings.d.ts +2 -2
- package/dist/memory/nexus-plasticity.d.ts +21 -9
- package/dist/memory/nexus-plasticity.d.ts.map +1 -1
- package/dist/memory/nexus-plasticity.js +44 -22
- package/dist/memory/nexus-plasticity.js.map +1 -1
- package/dist/memory/patterns.d.ts +2 -2
- package/dist/memory/redaction.d.ts +19 -3
- package/dist/memory/redaction.d.ts.map +1 -1
- package/dist/memory/redaction.js +22 -94
- package/dist/memory/redaction.js.map +1 -1
- package/dist/metrics/token-service.d.ts +8 -2
- package/dist/metrics/token-service.d.ts.map +1 -1
- package/dist/metrics/token-service.js +1 -1
- package/dist/metrics/token-service.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +6 -8
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/api-extractors/http-extractor.d.ts.map +1 -1
- package/dist/nexus/api-extractors/http-extractor.js +3 -3
- package/dist/nexus/api-extractors/http-extractor.js.map +1 -1
- package/dist/nexus/clusters.d.ts.map +1 -1
- package/dist/nexus/clusters.js +3 -2
- package/dist/nexus/clusters.js.map +1 -1
- package/dist/nexus/context.d.ts.map +1 -1
- package/dist/nexus/context.js +10 -16
- package/dist/nexus/context.js.map +1 -1
- package/dist/nexus/diff.d.ts.map +1 -1
- package/dist/nexus/diff.js +6 -4
- package/dist/nexus/diff.js.map +1 -1
- package/dist/nexus/export.d.ts.map +1 -1
- package/dist/nexus/export.js +7 -4
- package/dist/nexus/export.js.map +1 -1
- package/dist/nexus/flows.d.ts.map +1 -1
- package/dist/nexus/flows.js +3 -1
- package/dist/nexus/flows.js.map +1 -1
- package/dist/nexus/impact.d.ts +1 -1
- package/dist/nexus/impact.d.ts.map +1 -1
- package/dist/nexus/impact.js +31 -17
- package/dist/nexus/impact.js.map +1 -1
- package/dist/nexus/living-brain.d.ts.map +1 -1
- package/dist/nexus/living-brain.js +27 -15
- package/dist/nexus/living-brain.js.map +1 -1
- package/dist/nexus/nexus-bridge.d.ts.map +1 -1
- package/dist/nexus/nexus-bridge.js +28 -29
- package/dist/nexus/nexus-bridge.js.map +1 -1
- package/dist/nexus/plasticity-queries.d.ts +4 -2
- package/dist/nexus/plasticity-queries.d.ts.map +1 -1
- package/dist/nexus/plasticity-queries.js +27 -15
- package/dist/nexus/plasticity-queries.js.map +1 -1
- package/dist/nexus/query.d.ts.map +1 -1
- package/dist/nexus/query.js +6 -2
- package/dist/nexus/query.js.map +1 -1
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +65 -30
- package/dist/nexus/registry.js.map +1 -1
- package/dist/nexus/route-analysis.d.ts +3 -2
- package/dist/nexus/route-analysis.d.ts.map +1 -1
- package/dist/nexus/route-analysis.js +11 -10
- package/dist/nexus/route-analysis.js.map +1 -1
- package/dist/nexus/sigil.d.ts.map +1 -1
- package/dist/nexus/sigil.js +60 -13
- package/dist/nexus/sigil.js.map +1 -1
- package/dist/nexus/user-profile.d.ts +2 -1
- package/dist/nexus/user-profile.d.ts.map +1 -1
- package/dist/nexus/user-profile.js +8 -4
- package/dist/nexus/user-profile.js.map +1 -1
- package/dist/orchestrate/index.d.ts +1 -1
- package/dist/orchestrate/index.d.ts.map +1 -1
- package/dist/orchestrate/index.js +1 -1
- package/dist/orchestrate/index.js.map +1 -1
- package/dist/orchestrate/plan.d.ts +3 -3
- package/dist/orchestrate/plan.d.ts.map +1 -1
- package/dist/orchestrate/plan.js +7 -7
- package/dist/orchestrate/plan.js.map +1 -1
- package/dist/orchestrate/spawn-ops.js +2 -2
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/classify.d.ts +2 -2
- package/dist/orchestration/classify.js +3 -3
- package/dist/orchestration/classify.js.map +1 -1
- package/dist/orchestration/validate-spawn.d.ts.map +1 -1
- package/dist/orchestration/validate-spawn.js +5 -5
- package/dist/orchestration/validate-spawn.js.map +1 -1
- package/dist/paths-export.d.ts +18 -0
- package/dist/paths-export.d.ts.map +1 -0
- package/dist/paths-export.js +18 -0
- package/dist/paths-export.js.map +1 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +24 -11
- package/dist/paths.js.map +1 -1
- package/dist/playbooks/index.d.ts +1 -0
- package/dist/playbooks/index.d.ts.map +1 -1
- package/dist/playbooks/index.js +4 -0
- package/dist/playbooks/index.js.map +1 -1
- package/dist/playbooks/skill-node-executor.d.ts +155 -0
- package/dist/playbooks/skill-node-executor.d.ts.map +1 -0
- package/dist/playbooks/skill-node-executor.js +156 -0
- package/dist/playbooks/skill-node-executor.js.map +1 -0
- package/dist/repair.d.ts +3 -7
- package/dist/repair.d.ts.map +1 -1
- package/dist/repair.js +5 -43
- package/dist/repair.js.map +1 -1
- package/dist/sagas/migrate-containment.js +7 -7
- package/dist/sagas/migrate-containment.js.map +1 -1
- package/dist/scaffold/ensure-dirs.d.ts +8 -2
- package/dist/scaffold/ensure-dirs.d.ts.map +1 -1
- package/dist/scaffold/ensure-dirs.js +24 -11
- package/dist/scaffold/ensure-dirs.js.map +1 -1
- package/dist/scaffold/project-detection.d.ts +5 -1
- package/dist/scaffold/project-detection.d.ts.map +1 -1
- package/dist/scaffold/project-detection.js +9 -5
- package/dist/scaffold/project-detection.js.map +1 -1
- package/dist/sentient/hygiene-scan.js +6 -6
- package/dist/sentient/hygiene-scan.js.map +1 -1
- package/dist/sentient/proposal-dedup.js +2 -2
- package/dist/sentient/proposal-rate-limiter.js +1 -1
- package/dist/sentient/propose-tick.js +5 -5
- package/dist/sentient/propose-tick.js.map +1 -1
- package/dist/sentient/stage-drift-tick.js +3 -3
- package/dist/sentient/stage-drift-tick.js.map +1 -1
- package/dist/sequence/index.d.ts.map +1 -1
- package/dist/sequence/index.js +6 -2
- package/dist/sequence/index.js.map +1 -1
- package/dist/setup/sections/verification.js +2 -2
- package/dist/setup/sections/verification.js.map +1 -1
- package/dist/shutdown.d.ts +81 -0
- package/dist/shutdown.d.ts.map +1 -0
- package/dist/shutdown.js +105 -0
- package/dist/shutdown.js.map +1 -0
- package/dist/skills/index.d.ts +2 -0
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +1 -0
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/skill-executor-adapter.d.ts +136 -0
- package/dist/skills/skill-executor-adapter.d.ts.map +1 -0
- package/dist/skills/skill-executor-adapter.js +137 -0
- package/dist/skills/skill-executor-adapter.js.map +1 -0
- package/dist/skills/usage-recorder.d.ts.map +1 -1
- package/dist/skills/usage-recorder.js +30 -0
- package/dist/skills/usage-recorder.js.map +1 -1
- package/dist/skills-export.d.ts +23 -0
- package/dist/skills-export.d.ts.map +1 -0
- package/dist/skills-export.js +23 -0
- package/dist/skills-export.js.map +1 -0
- package/dist/stats/index.d.ts.map +1 -1
- package/dist/stats/index.js +8 -3
- package/dist/stats/index.js.map +1 -1
- package/dist/store/agent-doctor.d.ts +3 -3
- package/dist/store/agent-doctor.d.ts.map +1 -1
- package/dist/store/agent-doctor.js +18 -13
- package/dist/store/agent-doctor.js.map +1 -1
- package/dist/store/agent-install.d.ts +6 -5
- package/dist/store/agent-install.d.ts.map +1 -1
- package/dist/store/agent-install.js +20 -16
- package/dist/store/agent-install.js.map +1 -1
- package/dist/store/agent-registry-accessor.d.ts +66 -28
- package/dist/store/agent-registry-accessor.d.ts.map +1 -1
- package/dist/store/agent-registry-accessor.js +248 -167
- package/dist/store/agent-registry-accessor.js.map +1 -1
- package/dist/store/agent-registry-store.d.ts +242 -0
- package/dist/store/agent-registry-store.d.ts.map +1 -0
- package/dist/store/agent-registry-store.js +501 -0
- package/dist/store/agent-registry-store.js.map +1 -0
- package/dist/store/agent-resolver.d.ts +8 -8
- package/dist/store/agent-resolver.d.ts.map +1 -1
- package/dist/store/agent-resolver.js +19 -17
- package/dist/store/agent-resolver.js.map +1 -1
- package/dist/store/backup-pack.d.ts.map +1 -1
- package/dist/store/backup-pack.js +24 -8
- package/dist/store/backup-pack.js.map +1 -1
- package/dist/store/conduit-sqlite.d.ts +181 -74
- package/dist/store/conduit-sqlite.d.ts.map +1 -1
- package/dist/store/conduit-sqlite.js +307 -528
- package/dist/store/conduit-sqlite.js.map +1 -1
- package/dist/store/cross-db-cleanup.d.ts +5 -5
- package/dist/store/cross-db-cleanup.d.ts.map +1 -1
- package/dist/store/cross-db-cleanup.js +12 -10
- package/dist/store/cross-db-cleanup.js.map +1 -1
- package/dist/store/data-accessor.d.ts +4 -4
- package/dist/store/data-accessor.js +5 -5
- package/dist/store/data-accessor.js.map +1 -1
- package/dist/store/data-safety-central.d.ts +83 -1
- package/dist/store/data-safety-central.d.ts.map +1 -1
- package/dist/store/data-safety-central.js +257 -0
- package/dist/store/data-safety-central.js.map +1 -1
- package/dist/store/db-helpers.d.ts +8 -2
- package/dist/store/db-helpers.d.ts.map +1 -1
- package/dist/store/db-helpers.js +6 -2
- package/dist/store/db-helpers.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts +46 -4
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +103 -9
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/exodus/__fixtures__/representative-fixture.d.ts +116 -0
- package/dist/store/exodus/__fixtures__/representative-fixture.d.ts.map +1 -0
- package/dist/store/exodus/__fixtures__/representative-fixture.js +274 -0
- package/dist/store/exodus/__fixtures__/representative-fixture.js.map +1 -0
- package/dist/store/exodus/index.d.ts +3 -1
- package/dist/store/exodus/index.d.ts.map +1 -1
- package/dist/store/exodus/index.js +3 -1
- package/dist/store/exodus/index.js.map +1 -1
- package/dist/store/exodus/migrate.d.ts +120 -1
- package/dist/store/exodus/migrate.d.ts.map +1 -1
- package/dist/store/exodus/migrate.js +923 -119
- package/dist/store/exodus/migrate.js.map +1 -1
- package/dist/store/exodus/on-open.d.ts +189 -0
- package/dist/store/exodus/on-open.d.ts.map +1 -0
- package/dist/store/exodus/on-open.js +464 -0
- package/dist/store/exodus/on-open.js.map +1 -0
- package/dist/store/exodus/table-name-map.d.ts +173 -0
- package/dist/store/exodus/table-name-map.d.ts.map +1 -0
- package/dist/store/exodus/table-name-map.js +660 -0
- package/dist/store/exodus/table-name-map.js.map +1 -0
- package/dist/store/exodus/verify-migration.d.ts +72 -0
- package/dist/store/exodus/verify-migration.d.ts.map +1 -0
- package/dist/store/exodus/verify-migration.js +678 -0
- package/dist/store/exodus/verify-migration.js.map +1 -0
- package/dist/store/exodus/verify.d.ts +32 -8
- package/dist/store/exodus/verify.d.ts.map +1 -1
- package/dist/store/exodus/verify.js +48 -142
- package/dist/store/exodus/verify.js.map +1 -1
- package/dist/store/index.d.ts +2 -3
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +2 -3
- package/dist/store/index.js.map +1 -1
- package/dist/store/memory-accessor.d.ts +31 -0
- package/dist/store/memory-accessor.d.ts.map +1 -1
- package/dist/store/memory-accessor.js +38 -0
- package/dist/store/memory-accessor.js.map +1 -1
- package/dist/store/memory-sqlite.d.ts +86 -13
- package/dist/store/memory-sqlite.d.ts.map +1 -1
- package/dist/store/memory-sqlite.js +326 -528
- package/dist/store/memory-sqlite.js.map +1 -1
- package/dist/store/migrate-signaldock-to-conduit.d.ts +1 -1
- package/dist/store/migrate-signaldock-to-conduit.d.ts.map +1 -1
- package/dist/store/migrate-signaldock-to-conduit.js +126 -35
- package/dist/store/migrate-signaldock-to-conduit.js.map +1 -1
- package/dist/store/migration-manager.d.ts +49 -0
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +167 -67
- package/dist/store/migration-manager.js.map +1 -1
- package/dist/store/migration-sqlite.d.ts +1 -1
- package/dist/store/migration-sqlite.d.ts.map +1 -1
- package/dist/store/migration-sqlite.js +32 -3
- package/dist/store/migration-sqlite.js.map +1 -1
- package/dist/store/nexus-sqlite.d.ts +152 -29
- package/dist/store/nexus-sqlite.d.ts.map +1 -1
- package/dist/store/nexus-sqlite.js +496 -177
- package/dist/store/nexus-sqlite.js.map +1 -1
- package/dist/store/nexus-validation-schemas.d.ts +32 -32
- package/dist/store/open-cleo-db.d.ts +37 -40
- package/dist/store/open-cleo-db.d.ts.map +1 -1
- package/dist/store/open-cleo-db.js +76 -153
- package/dist/store/open-cleo-db.js.map +1 -1
- package/dist/store/role-accessors-impl.d.ts +4 -4
- package/dist/store/role-accessors-impl.d.ts.map +1 -1
- package/dist/store/role-accessors-impl.js +18 -15
- package/dist/store/role-accessors-impl.js.map +1 -1
- package/dist/store/schema/{signaldock-schema.d.ts → agent-registry-schema.d.ts} +15 -5
- package/dist/store/schema/agent-registry-schema.d.ts.map +1 -0
- package/dist/store/schema/{signaldock-schema.js → agent-registry-schema.js} +15 -5
- package/dist/store/schema/agent-registry-schema.js.map +1 -0
- package/dist/store/schema/agent-schema.d.ts +1 -1
- package/dist/store/schema/agent-schema.js +4 -4
- package/dist/store/schema/agent-schema.js.map +1 -1
- package/dist/store/schema/attachments.d.ts +1 -1
- package/dist/store/schema/audit.d.ts +15 -5
- package/dist/store/schema/audit.d.ts.map +1 -1
- package/dist/store/schema/audit.js +12 -2
- package/dist/store/schema/audit.js.map +1 -1
- package/dist/store/schema/background-jobs.d.ts +1 -1
- package/dist/store/schema/cleo-global/{signaldock.d.ts → agent-registry.d.ts} +277 -271
- package/dist/store/schema/cleo-global/agent-registry.d.ts.map +1 -0
- package/dist/store/schema/cleo-global/{signaldock.js → agent-registry.js} +136 -125
- package/dist/store/schema/cleo-global/agent-registry.js.map +1 -0
- package/dist/store/schema/cleo-global/index.d.ts +29 -22
- package/dist/store/schema/cleo-global/index.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/index.js +29 -22
- package/dist/store/schema/cleo-global/index.js.map +1 -1
- package/dist/store/schema/cleo-global/nexus.d.ts +36 -1034
- package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/nexus.js +32 -337
- package/dist/store/schema/cleo-global/nexus.js.map +1 -1
- package/dist/store/schema/cleo-global/skills.d.ts +16 -0
- package/dist/store/schema/cleo-global/skills.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/skills.js +11 -0
- package/dist/store/schema/cleo-global/skills.js.map +1 -1
- package/dist/store/schema/{cleo-project → cleo-global}/telemetry.d.ts +33 -17
- package/dist/store/schema/cleo-global/telemetry.d.ts.map +1 -0
- package/dist/store/schema/{cleo-project → cleo-global}/telemetry.js +30 -18
- package/dist/store/schema/cleo-global/telemetry.js.map +1 -0
- package/dist/store/schema/cleo-project/audit.d.ts +8 -8
- package/dist/store/schema/cleo-project/audit.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/audit.js +2 -6
- package/dist/store/schema/cleo-project/audit.js.map +1 -1
- package/dist/store/schema/cleo-project/docs.d.ts +1 -1
- package/dist/store/schema/cleo-project/index.d.ts +29 -12
- package/dist/store/schema/cleo-project/index.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/index.js +29 -12
- package/dist/store/schema/cleo-project/index.js.map +1 -1
- package/dist/store/schema/cleo-project/lifecycle.d.ts +2 -2
- package/dist/store/schema/cleo-project/nexus-graph.d.ts +1067 -0
- package/dist/store/schema/cleo-project/nexus-graph.d.ts.map +1 -0
- package/dist/store/schema/cleo-project/nexus-graph.js +407 -0
- package/dist/store/schema/cleo-project/nexus-graph.js.map +1 -0
- package/dist/store/schema/cleo-project/provenance-orphans.d.ts +385 -0
- package/dist/store/schema/cleo-project/provenance-orphans.d.ts.map +1 -0
- package/dist/store/schema/cleo-project/provenance-orphans.js +142 -0
- package/dist/store/schema/cleo-project/provenance-orphans.js.map +1 -0
- package/dist/store/schema/cleo-project/provenance-rest.d.ts +1 -1
- package/dist/store/schema/cleo-project/runtime.d.ts +1 -1
- package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts +1 -1
- package/dist/store/schema/cleo-project/tasks-core.d.ts +3 -3
- package/dist/store/schema/cleo-shared/brain.d.ts +711 -494
- package/dist/store/schema/cleo-shared/brain.d.ts.map +1 -1
- package/dist/store/schema/cleo-shared/brain.js +215 -134
- package/dist/store/schema/cleo-shared/brain.js.map +1 -1
- package/dist/store/schema/conduit-schema.d.ts +63 -51
- package/dist/store/schema/conduit-schema.d.ts.map +1 -1
- package/dist/store/schema/conduit-schema.js +23 -11
- package/dist/store/schema/conduit-schema.js.map +1 -1
- package/dist/store/schema/goal.d.ts +3 -2
- package/dist/store/schema/goal.d.ts.map +1 -1
- package/dist/store/schema/goal.js +3 -2
- package/dist/store/schema/goal.js.map +1 -1
- package/dist/store/schema/index.d.ts +1 -0
- package/dist/store/schema/index.d.ts.map +1 -1
- package/dist/store/schema/index.js +1 -0
- package/dist/store/schema/index.js.map +1 -1
- package/dist/store/schema/lifecycle.d.ts +2 -2
- package/dist/store/schema/memory-schema.d.ts +2 -2
- package/dist/store/schema/nexus-schema.d.ts +174 -115
- package/dist/store/schema/nexus-schema.d.ts.map +1 -1
- package/dist/store/schema/nexus-schema.js +175 -55
- package/dist/store/schema/nexus-schema.js.map +1 -1
- package/dist/store/schema/provenance/releases.d.ts +1 -1
- package/dist/store/schema/schema-utils.d.ts +78 -0
- package/dist/store/schema/schema-utils.d.ts.map +1 -0
- package/dist/store/schema/schema-utils.js +49 -0
- package/dist/store/schema/schema-utils.js.map +1 -0
- package/dist/store/schema/skills-schema.d.ts +81 -44
- package/dist/store/schema/skills-schema.d.ts.map +1 -1
- package/dist/store/schema/skills-schema.js +49 -16
- package/dist/store/schema/skills-schema.js.map +1 -1
- package/dist/store/schema/tasks.d.ts +3 -3
- package/dist/store/skills-db.d.ts +90 -50
- package/dist/store/skills-db.d.ts.map +1 -1
- package/dist/store/skills-db.js +132 -146
- package/dist/store/skills-db.js.map +1 -1
- package/dist/store/sqlite-backup.d.ts +2 -2
- package/dist/store/sqlite-backup.d.ts.map +1 -1
- package/dist/store/sqlite-backup.js +11 -10
- package/dist/store/sqlite-backup.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +25 -18
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite.d.ts +72 -12
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +153 -89
- package/dist/store/sqlite.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 +60 -0
- package/dist/store/tasks-schema.js.map +1 -1
- package/dist/store/tasks-sqlite.d.ts +2 -2
- package/dist/store/tasks-sqlite.d.ts.map +1 -1
- package/dist/store/tasks-sqlite.js +10 -5
- package/dist/store/tasks-sqlite.js.map +1 -1
- package/dist/store/umbrella-data-accessor.d.ts +17 -6
- package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
- package/dist/store/umbrella-data-accessor.js +8 -8
- package/dist/store/umbrella-data-accessor.js.map +1 -1
- package/dist/store/validation-schemas.d.ts +241 -208
- package/dist/store/validation-schemas.d.ts.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +11 -6
- package/dist/system/health.js.map +1 -1
- package/dist/system/project-health.d.ts.map +1 -1
- package/dist/system/project-health.js +58 -12
- package/dist/system/project-health.js.map +1 -1
- package/dist/tasks/add.d.ts +8 -0
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +101 -0
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/cancelled-child-waiver-audit.d.ts +47 -0
- package/dist/tasks/cancelled-child-waiver-audit.d.ts.map +1 -0
- package/dist/tasks/cancelled-child-waiver-audit.js +34 -0
- package/dist/tasks/cancelled-child-waiver-audit.js.map +1 -0
- package/dist/tasks/complete.d.ts +22 -2
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +71 -6
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/compute-task-view.js +1 -1
- package/dist/tasks/session-scope.d.ts +5 -0
- package/dist/tasks/session-scope.d.ts.map +1 -1
- package/dist/tasks/session-scope.js +4 -0
- package/dist/tasks/session-scope.js.map +1 -1
- package/dist/tools/guard.d.ts +71 -1
- package/dist/tools/guard.d.ts.map +1 -1
- package/dist/tools/guard.js +73 -1
- package/dist/tools/guard.js.map +1 -1
- package/dist/tools/index.d.ts +21 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +25 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +22 -13
- package/dist/upgrade.js.map +1 -1
- package/dist/workgraph/containment.js +18 -18
- package/dist/workgraph/relations.js +2 -2
- package/dist/worktree/list.d.ts +1 -1
- package/dist/worktree/list.d.ts.map +1 -1
- package/dist/worktree/list.js +19 -21
- package/dist/worktree/list.js.map +1 -1
- package/dist/worktree-export.d.ts +18 -0
- package/dist/worktree-export.d.ts.map +1 -0
- package/dist/worktree-export.js +18 -0
- package/dist/worktree-export.js.map +1 -0
- package/migrations/drizzle-agent-registry/20260412000000_initial-global-agent-registry/migration.sql +29 -0
- package/migrations/drizzle-brain/20260601000001_t11522-brain-task-observations/migration.sql +28 -0
- package/migrations/drizzle-brain/20260601000002_t11522-inline-only-brain-tables/migration.sql +75 -0
- package/migrations/drizzle-cleo-global/20260531000001_t11363-consolidation-cleo-global/migration.sql +49 -144
- package/migrations/drizzle-cleo-global/20260531000001_t11363-consolidation-cleo-global/snapshot.json +8 -8
- package/migrations/drizzle-cleo-global/20260531000002_t11546-brain-usage-log/migration.sql +16 -0
- package/migrations/drizzle-cleo-global/20260601000001_t11544-skills-usage-project-id/migration.sql +12 -0
- package/migrations/drizzle-cleo-global/20260602000001_t11622-agent-registry-rename/migration.sql +80 -0
- package/migrations/drizzle-cleo-project/20260531000001_t11363-consolidation-cleo-project/migration.sql +26 -167
- package/migrations/drizzle-cleo-project/20260531000001_t11363-consolidation-cleo-project/snapshot.json +8 -8
- package/migrations/drizzle-cleo-project/20260531000002_t11546-brain-usage-log/migration.sql +21 -0
- package/migrations/drizzle-cleo-project/20260601000001_t11549-agent-credentials-brain-release-links/migration.sql +49 -0
- package/migrations/drizzle-cleo-project/20260601000002_t11538-project-nexus-graph/migration.sql +140 -0
- package/migrations/drizzle-cleo-project/20260602000002_t11649-token-usage-transport-mcp/migration.sql +146 -0
- package/migrations/drizzle-conduit/20260601000003_t11523-conduit-inline-schema/migration.sql +82 -0
- package/migrations/drizzle-nexus/20260421200001_t1165-baseline-reset/migration.sql +26 -8
- package/migrations/drizzle-nexus/20260601000001_t11545-nexus-relation-weights-partition/migration.sql +97 -0
- package/package.json +44 -12
- package/scripts/install-supervisor-binary.mjs +50 -201
- package/scripts/napi-binary-picker.mjs +267 -0
- package/dist/agents/agent-registry.d.ts.map +0 -1
- package/dist/agents/agent-registry.js.map +0 -1
- package/dist/store/data-safety.d.ts +0 -92
- package/dist/store/data-safety.d.ts.map +0 -1
- package/dist/store/data-safety.js +0 -274
- package/dist/store/data-safety.js.map +0 -1
- package/dist/store/schema/cleo-global/signaldock.d.ts.map +0 -1
- package/dist/store/schema/cleo-global/signaldock.js.map +0 -1
- package/dist/store/schema/cleo-project/telemetry.d.ts.map +0 -1
- package/dist/store/schema/cleo-project/telemetry.js.map +0 -1
- package/dist/store/schema/signaldock-schema.d.ts.map +0 -1
- package/dist/store/schema/signaldock-schema.js.map +0 -1
- package/dist/store/signaldock-sqlite.d.ts +0 -173
- package/dist/store/signaldock-sqlite.d.ts.map +0 -1
- package/dist/store/signaldock-sqlite.js +0 -445
- package/dist/store/signaldock-sqlite.js.map +0 -1
- package/migrations/drizzle-nexus/20260318205558_initial/migration.sql +0 -46
- package/migrations/drizzle-nexus/20260412000001_t529-nexus-graph-tables/migration.sql +0 -49
- package/migrations/drizzle-nexus/20260415000001_t622-project-registry-paths/migration.sql +0 -12
- package/migrations/drizzle-nexus/20260419000001_t998-nexus-plasticity/migration.sql +0 -13
- package/migrations/drizzle-nexus/20260423052640_t1077-add-user-profile-table/migration.sql +0 -16
- package/migrations/drizzle-nexus/20260423052640_t1077-add-user-profile-table/snapshot.json +0 -1531
- package/migrations/drizzle-nexus/20260424140538_t1148-add-sigils-table/migration.sql +0 -13
- package/migrations/drizzle-nexus/20260424140538_t1148-add-sigils-table/snapshot.json +0 -1652
- package/migrations/drizzle-nexus/20260504000001_t1839-fts5-nexus-symbols/migration.sql +0 -68
- package/migrations/drizzle-nexus/20260507135519_t9163-nexus-is-external/migration.sql +0 -20
- package/migrations/drizzle-nexus/20260507135519_t9163-nexus-is-external/snapshot.json +0 -1652
- package/migrations/drizzle-nexus/20260526222449_t11025-project-id-aliases/migration.sql +0 -16
- package/migrations/drizzle-signaldock/20260412000000_initial-global-signaldock/migration.sql +0 -209
- package/migrations/drizzle-signaldock/20260412000000_initial-global-signaldock/snapshot.json +0 -2060
|
@@ -1,445 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite store for global-tier signaldock.db — canonical agent identity database.
|
|
3
|
-
*
|
|
4
|
-
* Post-T310 (ADR-037), signaldock.db lives at `$XDG_DATA_HOME/cleo/signaldock.db`
|
|
5
|
-
* (resolved via getCleoHome()). It holds cross-project agent identity, capabilities
|
|
6
|
-
* catalog, and cloud-sync tables. Project-local messaging state has moved to
|
|
7
|
-
* conduit.db (managed by conduit-sqlite.ts, T344).
|
|
8
|
-
*
|
|
9
|
-
* Migration runner: standard drizzle pipeline via migrateSanitized + reconcileJournal
|
|
10
|
-
* (migration-manager.ts). Replaces the bare-SQL GLOBAL_EMBEDDED_MIGRATIONS runner
|
|
11
|
-
* that was previously embedded here (T1166 / T1150 Wave 2A-04).
|
|
12
|
-
*
|
|
13
|
-
* Migration folder: packages/core/migrations/drizzle-signaldock/
|
|
14
|
-
*
|
|
15
|
-
* GLOBAL-TIER ONLY. This module MUST NOT resolve paths under any project's .cleo/
|
|
16
|
-
* directory. The path guard in getGlobalSignaldockDbPath() enforces this invariant.
|
|
17
|
-
*
|
|
18
|
-
* @task T346
|
|
19
|
-
* @task T1166
|
|
20
|
-
* @epic T310
|
|
21
|
-
* @epic T1150
|
|
22
|
-
* @related ADR-037
|
|
23
|
-
*/
|
|
24
|
-
import { existsSync, mkdirSync } from 'node:fs';
|
|
25
|
-
import { join } from 'node:path';
|
|
26
|
-
import { drizzle } from 'drizzle-orm/node-sqlite';
|
|
27
|
-
import { getCleoHome } from '../paths.js';
|
|
28
|
-
import { migrateSanitized, reconcileJournal } from './migration-manager.js';
|
|
29
|
-
import { resolveCorePackageMigrationsFolder } from './resolve-migrations-folder.js';
|
|
30
|
-
import * as signaldockSchema from './schema/signaldock-schema.js';
|
|
31
|
-
// Import openNativeDatabase directly from the leaf module (sqlite-native.ts) to
|
|
32
|
-
// avoid any static import from sqlite.ts that could re-enter the circular chain
|
|
33
|
-
// agent-resolver → ... → memory-sqlite → sqlite.ts (T1325/T1331 v3).
|
|
34
|
-
import { openNativeDatabase } from './sqlite-native.js';
|
|
35
|
-
/**
|
|
36
|
-
* Database file name within the global cleo home directory.
|
|
37
|
-
*
|
|
38
|
-
* @task T346
|
|
39
|
-
* @epic T310
|
|
40
|
-
*/
|
|
41
|
-
export const GLOBAL_SIGNALDOCK_DB_FILENAME = 'signaldock.db';
|
|
42
|
-
/**
|
|
43
|
-
* Schema version for global signaldock databases.
|
|
44
|
-
*
|
|
45
|
-
* @task T346
|
|
46
|
-
* @epic T310
|
|
47
|
-
*/
|
|
48
|
-
export const GLOBAL_SIGNALDOCK_SCHEMA_VERSION = '2026.4.12';
|
|
49
|
-
/**
|
|
50
|
-
* @deprecated Use GLOBAL_SIGNALDOCK_SCHEMA_VERSION. T310 is done (archived).
|
|
51
|
-
* Retained only because packages/core/src/internal.ts re-exports this name.
|
|
52
|
-
* Removal blocked until internal.ts export is cleaned up.
|
|
53
|
-
* Tracking: T355 / T1508 P2-NEW-2 — remove in v2026.5.0.
|
|
54
|
-
*/
|
|
55
|
-
export const SIGNALDOCK_SCHEMA_VERSION = GLOBAL_SIGNALDOCK_SCHEMA_VERSION;
|
|
56
|
-
// ---------------------------------------------------------------------------
|
|
57
|
-
// Path helpers
|
|
58
|
-
// ---------------------------------------------------------------------------
|
|
59
|
-
/**
|
|
60
|
-
* Returns the GLOBAL-tier signaldock.db path. Post-T310, signaldock.db
|
|
61
|
-
* holds canonical agent identity + cloud-sync tables. Project-local
|
|
62
|
-
* messaging state lives in conduit.db (T344).
|
|
63
|
-
*
|
|
64
|
-
* Resolves to `getCleoHome() + '/signaldock.db'`.
|
|
65
|
-
* Guard: asserts the resolved path starts with getCleoHome() (defense in depth,
|
|
66
|
-
* mirrors the ADR-036 pattern used by getNexusDbPath in nexus-sqlite.ts).
|
|
67
|
-
*
|
|
68
|
-
* @task T346
|
|
69
|
-
* @epic T310
|
|
70
|
-
* @why ADR-037 split single signaldock.db into project conduit + global signaldock
|
|
71
|
-
* @throws {Error} If resolved path is not under getCleoHome() — indicates a code
|
|
72
|
-
* path that bypasses canonical path resolution. Fix the caller, do not suppress.
|
|
73
|
-
*/
|
|
74
|
-
export function getGlobalSignaldockDbPath() {
|
|
75
|
-
const cleoHome = getCleoHome();
|
|
76
|
-
const dbPath = join(cleoHome, GLOBAL_SIGNALDOCK_DB_FILENAME);
|
|
77
|
-
if (!dbPath.startsWith(cleoHome)) {
|
|
78
|
-
throw new Error(`BUG: getGlobalSignaldockDbPath() resolved to "${dbPath}" which is NOT under ` +
|
|
79
|
-
`getCleoHome() ("${cleoHome}"). signaldock.db is global-only per ADR-037. ` +
|
|
80
|
-
`This indicates a code path that bypasses path resolution — ` +
|
|
81
|
-
`fix the caller, do not suppress this error.`);
|
|
82
|
-
}
|
|
83
|
-
return dbPath;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* @deprecated Use getGlobalSignaldockDbPath() directly. T310 is done (archived).
|
|
87
|
-
* Blocked from deletion: two callers still use this shim and require migration:
|
|
88
|
-
* - packages/core/src/store/cross-db-cleanup.ts (calls with cwd — will throw)
|
|
89
|
-
* - packages/core/src/internal.ts (re-exports this name)
|
|
90
|
-
* Fix: migrate cross-db-cleanup.ts to use getConduitDbPath() and remove from
|
|
91
|
-
* internal.ts. Tracking: T355 / T1508 P2-NEW-2 — remove in v2026.5.0.
|
|
92
|
-
*
|
|
93
|
-
* When called WITHOUT arguments: returns the global-tier path (forwards to
|
|
94
|
-
* getGlobalSignaldockDbPath()).
|
|
95
|
-
*
|
|
96
|
-
* When called WITH a non-undefined `cwd` argument: throws a migration error
|
|
97
|
-
* immediately. The project-tier path is now owned by conduit-sqlite.ts (T344).
|
|
98
|
-
*
|
|
99
|
-
* @param cwd - Must be undefined. Any other value throws a migration error.
|
|
100
|
-
* @task T346
|
|
101
|
-
* @epic T310
|
|
102
|
-
*/
|
|
103
|
-
export function getSignaldockDbPath(cwd) {
|
|
104
|
-
if (cwd !== undefined) {
|
|
105
|
-
throw new Error('getSignaldockDbPath(cwd) is removed as of T310 (v2026.4.12). ' +
|
|
106
|
-
'signaldock.db is now global-only at $XDG_DATA_HOME/cleo/signaldock.db. ' +
|
|
107
|
-
'Use getGlobalSignaldockDbPath(), or for project-local messaging use ' +
|
|
108
|
-
'getConduitDbPath() from conduit-sqlite.ts (T344).');
|
|
109
|
-
}
|
|
110
|
-
return getGlobalSignaldockDbPath();
|
|
111
|
-
}
|
|
112
|
-
// ---------------------------------------------------------------------------
|
|
113
|
-
// Migration folder resolution
|
|
114
|
-
// ---------------------------------------------------------------------------
|
|
115
|
-
/**
|
|
116
|
-
* Resolve the absolute path to the drizzle-signaldock migrations folder inside
|
|
117
|
-
* @cleocode/core, using ESM-native module resolution (T1177).
|
|
118
|
-
*
|
|
119
|
-
* Delegates to {@link resolveCorePackageMigrationsFolder} which handles
|
|
120
|
-
* bundled dist/, workspace dev, and global-install layouts uniformly via
|
|
121
|
-
* `import.meta.resolve()` + `createRequire().resolve()` fallback.
|
|
122
|
-
*
|
|
123
|
-
* @task T1166
|
|
124
|
-
* @epic T1150
|
|
125
|
-
*/
|
|
126
|
-
export function resolveSignaldockMigrationsFolder() {
|
|
127
|
-
return resolveCorePackageMigrationsFolder('drizzle-signaldock');
|
|
128
|
-
}
|
|
129
|
-
// ---------------------------------------------------------------------------
|
|
130
|
-
// Migration runner
|
|
131
|
-
// ---------------------------------------------------------------------------
|
|
132
|
-
/**
|
|
133
|
-
* Run drizzle migrations to create/update signaldock.db tables.
|
|
134
|
-
*
|
|
135
|
-
* Uses reconcileJournal + migrateSanitized for backwards compatibility with
|
|
136
|
-
* existing signaldock.db files in the wild. The reconciler's Scenario 1 and
|
|
137
|
-
* Scenario 3 probe-and-mark-applied logic detects when the schema already
|
|
138
|
-
* matches (e.g., an existing DB that had the T897 migration applied via the
|
|
139
|
-
* old bare-SQL runner) and inserts journal rows without re-running DDL.
|
|
140
|
-
*
|
|
141
|
-
* Replaces the former applyGlobalSignaldockSchema() / GLOBAL_EMBEDDED_MIGRATIONS
|
|
142
|
-
* bare-SQL runner (T1166 / T1150 Wave 2A-04).
|
|
143
|
-
*
|
|
144
|
-
* @param nativeDb - An open DatabaseSync handle at the global signaldock path
|
|
145
|
-
* @task T1166
|
|
146
|
-
* @epic T1150
|
|
147
|
-
*/
|
|
148
|
-
function runSignaldockMigrations(nativeDb) {
|
|
149
|
-
const migrationsFolder = resolveSignaldockMigrationsFolder();
|
|
150
|
-
// Reconcile the Drizzle journal before running migrations.
|
|
151
|
-
// Handles:
|
|
152
|
-
// Scenario 1: agents table exists but __drizzle_migrations does not
|
|
153
|
-
// → bootstrap the baseline as applied
|
|
154
|
-
// Scenario 3: column exists but journal entry absent
|
|
155
|
-
// → insert missing journal entry to avoid duplicate-column errors
|
|
156
|
-
// Scenario 4: null name in journal entries
|
|
157
|
-
// → backfill names so Drizzle v1 beta can detect applied migrations
|
|
158
|
-
reconcileJournal(nativeDb, migrationsFolder, 'agents', 'signaldock');
|
|
159
|
-
// Create the drizzle ORM wrapper and run pending migrations.
|
|
160
|
-
const db = drizzle({ client: nativeDb, schema: signaldockSchema });
|
|
161
|
-
migrateSanitized(db, { migrationsFolder });
|
|
162
|
-
}
|
|
163
|
-
// ---------------------------------------------------------------------------
|
|
164
|
-
// Database lifecycle
|
|
165
|
-
// ---------------------------------------------------------------------------
|
|
166
|
-
/** Singleton native DatabaseSync handle for the current process. */
|
|
167
|
-
let _globalSignaldockNativeDb = null;
|
|
168
|
-
/**
|
|
169
|
-
* Ensure global signaldock.db exists with the full global schema applied.
|
|
170
|
-
* Creates the global cleo home directory if it doesn't exist.
|
|
171
|
-
* Idempotent — safe to call multiple times.
|
|
172
|
-
*
|
|
173
|
-
* @returns Object with action ('created' | 'exists') and the database path
|
|
174
|
-
* @task T346
|
|
175
|
-
* @task T1166
|
|
176
|
-
* @epic T310
|
|
177
|
-
*/
|
|
178
|
-
/**
|
|
179
|
-
* Read the `schema_version` row from `_signaldock_meta` if it exists.
|
|
180
|
-
*
|
|
181
|
-
* Used by {@link ensureGlobalSignaldockDb} as a fast-path sentinel: when the
|
|
182
|
-
* value matches {@link GLOBAL_SIGNALDOCK_SCHEMA_VERSION} we know the DB is
|
|
183
|
-
* fully bootstrapped and migrated to the in-process code version, so we can
|
|
184
|
-
* skip the {@link runSignaldockMigrations} pipeline (reconcileJournal +
|
|
185
|
-
* migrateSanitized) on every CLI invocation (T9027 — epic T9026, CLI startup
|
|
186
|
-
* tax reduction).
|
|
187
|
-
*
|
|
188
|
-
* Defensive: returns `null` if the meta table is missing (very old / partially
|
|
189
|
-
* initialized DBs) or the row is absent. Any throw is swallowed — a sentinel
|
|
190
|
-
* miss simply forces the fall-through migration replay path which is safe.
|
|
191
|
-
*
|
|
192
|
-
* @param db - An open signaldock.db handle.
|
|
193
|
-
* @returns The schema_version string, or `null` if absent / unreadable.
|
|
194
|
-
* @task T9027
|
|
195
|
-
* @epic T9026
|
|
196
|
-
*/
|
|
197
|
-
function readSignaldockSchemaVersionSentinel(db) {
|
|
198
|
-
try {
|
|
199
|
-
const row = db
|
|
200
|
-
.prepare("SELECT value FROM _signaldock_meta WHERE key = 'schema_version'")
|
|
201
|
-
.get();
|
|
202
|
-
return row?.value ?? null;
|
|
203
|
-
}
|
|
204
|
-
catch {
|
|
205
|
-
return null;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Write the in-process schema version into `_signaldock_meta`.
|
|
210
|
-
*
|
|
211
|
-
* Creates the meta table if missing (older signaldock.db files predate any
|
|
212
|
-
* meta-table guarantee) and stamps the current version so the next process
|
|
213
|
-
* can short-circuit via {@link readSignaldockSchemaVersionSentinel}.
|
|
214
|
-
*
|
|
215
|
-
* @param db - An open signaldock.db handle (post-migration).
|
|
216
|
-
* @task T9027
|
|
217
|
-
* @epic T9026
|
|
218
|
-
*/
|
|
219
|
-
function writeSignaldockSchemaVersionSentinel(db) {
|
|
220
|
-
try {
|
|
221
|
-
db.exec(`CREATE TABLE IF NOT EXISTS _signaldock_meta (
|
|
222
|
-
key TEXT PRIMARY KEY,
|
|
223
|
-
value TEXT NOT NULL,
|
|
224
|
-
updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
|
|
225
|
-
);
|
|
226
|
-
INSERT OR REPLACE INTO _signaldock_meta (key, value, updated_at)
|
|
227
|
-
VALUES ('schema_version', '${GLOBAL_SIGNALDOCK_SCHEMA_VERSION}', strftime('%s', 'now'));`);
|
|
228
|
-
}
|
|
229
|
-
catch {
|
|
230
|
-
// Non-fatal: if the meta write fails, ensure() still succeeds. Next
|
|
231
|
-
// invocation will simply take the fall-through path (sentinel miss).
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
export async function ensureGlobalSignaldockDb() {
|
|
235
|
-
const dbPath = getGlobalSignaldockDbPath();
|
|
236
|
-
const alreadyExists = existsSync(dbPath);
|
|
237
|
-
// Ensure global cleo home directory exists
|
|
238
|
-
const cleoHome = getCleoHome();
|
|
239
|
-
if (!existsSync(cleoHome)) {
|
|
240
|
-
mkdirSync(cleoHome, { recursive: true });
|
|
241
|
-
}
|
|
242
|
-
const nativeDb = openNativeDatabase(dbPath);
|
|
243
|
-
try {
|
|
244
|
-
// Check if schema already applied (agents table as sentinel)
|
|
245
|
-
const hasSchema = (() => {
|
|
246
|
-
try {
|
|
247
|
-
const result = nativeDb
|
|
248
|
-
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='agents'")
|
|
249
|
-
.get();
|
|
250
|
-
return !!result;
|
|
251
|
-
}
|
|
252
|
-
catch {
|
|
253
|
-
return false;
|
|
254
|
-
}
|
|
255
|
-
})();
|
|
256
|
-
// T9027 — Schema-version sentinel fast path (epic T9026, CLI startup tax).
|
|
257
|
-
//
|
|
258
|
-
// If the DB already has the global signaldock schema applied AND its
|
|
259
|
-
// `_signaldock_meta.schema_version` row exactly equals the in-process
|
|
260
|
-
// `GLOBAL_SIGNALDOCK_SCHEMA_VERSION` constant, we can skip
|
|
261
|
-
// `runSignaldockMigrations()` entirely. That function performs a
|
|
262
|
-
// reconcileJournal() + migrateSanitized() pass that, while a no-op for an
|
|
263
|
-
// up-to-date DB, still pays a non-trivial cost on every CLI invocation
|
|
264
|
-
// (journal SELECT, regex sanitization, drizzle migrator probe).
|
|
265
|
-
//
|
|
266
|
-
// Fall-through (sentinel missing, stale, or mismatched) preserves the
|
|
267
|
-
// full migration replay path so fresh DBs and version bumps still work.
|
|
268
|
-
if (alreadyExists &&
|
|
269
|
-
hasSchema &&
|
|
270
|
-
readSignaldockSchemaVersionSentinel(nativeDb) === GLOBAL_SIGNALDOCK_SCHEMA_VERSION) {
|
|
271
|
-
_globalSignaldockNativeDb = nativeDb;
|
|
272
|
-
return { action: 'exists', path: dbPath };
|
|
273
|
-
}
|
|
274
|
-
// Run drizzle migrations (reconcileJournal + migrateSanitized).
|
|
275
|
-
// For existing DBs that used the old bare-SQL runner, reconcileJournal
|
|
276
|
-
// Scenario 1 bootstraps the __drizzle_migrations journal from the existing
|
|
277
|
-
// agents table, and Scenario 3 marks T897 ALTER columns as applied without
|
|
278
|
-
// re-running the DDL.
|
|
279
|
-
runSignaldockMigrations(nativeDb);
|
|
280
|
-
// Stamp schema_version sentinel so the next process can take the fast path.
|
|
281
|
-
writeSignaldockSchemaVersionSentinel(nativeDb);
|
|
282
|
-
// Store native handle for backup integration (getGlobalSignaldockNativeDb)
|
|
283
|
-
_globalSignaldockNativeDb = nativeDb;
|
|
284
|
-
return {
|
|
285
|
-
action: alreadyExists && hasSchema ? 'exists' : 'created',
|
|
286
|
-
path: dbPath,
|
|
287
|
-
};
|
|
288
|
-
}
|
|
289
|
-
catch (err) {
|
|
290
|
-
nativeDb.close();
|
|
291
|
-
_globalSignaldockNativeDb = null;
|
|
292
|
-
throw err;
|
|
293
|
-
}
|
|
294
|
-
// NOTE: We intentionally do NOT close `nativeDb` here — the native handle is
|
|
295
|
-
// retained as _globalSignaldockNativeDb for backup integration. Callers
|
|
296
|
-
// that need a short-lived open/close pattern should open the DB themselves.
|
|
297
|
-
}
|
|
298
|
-
/**
|
|
299
|
-
* @deprecated Use ensureGlobalSignaldockDb(). T310 is done (archived).
|
|
300
|
-
* Blocked from deletion: caller still uses this shim and requires migration:
|
|
301
|
-
* - packages/core/src/upgrade.ts calls ensureSignaldockDb(projectRootForMaint)
|
|
302
|
-
* (with cwd arg — will throw at runtime). Must migrate to ensureConduitDb(cwd).
|
|
303
|
-
* - packages/core/src/internal.ts re-exports this name.
|
|
304
|
-
* Tracking: T355 / T1508 P2-NEW-2 — remove in v2026.5.0.
|
|
305
|
-
*
|
|
306
|
-
* When called WITHOUT arguments: forwards to ensureGlobalSignaldockDb().
|
|
307
|
-
* When called WITH a non-undefined `cwd` argument: throws a migration error.
|
|
308
|
-
*
|
|
309
|
-
* @param cwd - Must be undefined. Any other value throws a migration error.
|
|
310
|
-
* @task T346
|
|
311
|
-
* @epic T310
|
|
312
|
-
*/
|
|
313
|
-
export async function ensureSignaldockDb(cwd) {
|
|
314
|
-
if (cwd !== undefined) {
|
|
315
|
-
throw new Error('ensureSignaldockDb(cwd) is removed as of T310 (v2026.4.12). ' +
|
|
316
|
-
'signaldock.db is now global-only. ' +
|
|
317
|
-
'Use ensureGlobalSignaldockDb() for global identity, or ' +
|
|
318
|
-
'ensureConduitDb(cwd) from conduit-sqlite.ts for project messaging (T344).');
|
|
319
|
-
}
|
|
320
|
-
return ensureGlobalSignaldockDb();
|
|
321
|
-
}
|
|
322
|
-
/**
|
|
323
|
-
* Check global signaldock.db health: table count, WAL mode, schema version.
|
|
324
|
-
* Used by `cleo doctor` to verify global signaldock.db integrity.
|
|
325
|
-
*
|
|
326
|
-
* @returns Health report object, or object with exists=false if the DB does not exist.
|
|
327
|
-
* @task T346
|
|
328
|
-
* @epic T310
|
|
329
|
-
*/
|
|
330
|
-
export async function checkGlobalSignaldockDbHealth() {
|
|
331
|
-
const dbPath = getGlobalSignaldockDbPath();
|
|
332
|
-
if (!existsSync(dbPath)) {
|
|
333
|
-
return {
|
|
334
|
-
exists: false,
|
|
335
|
-
path: dbPath,
|
|
336
|
-
tableCount: 0,
|
|
337
|
-
walMode: false,
|
|
338
|
-
schemaVersion: null,
|
|
339
|
-
foreignKeysEnabled: false,
|
|
340
|
-
};
|
|
341
|
-
}
|
|
342
|
-
const nativeDb = openNativeDatabase(dbPath, { readonly: true });
|
|
343
|
-
try {
|
|
344
|
-
const tables = nativeDb
|
|
345
|
-
.prepare("SELECT COUNT(*) as count FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'")
|
|
346
|
-
.get();
|
|
347
|
-
const journalMode = nativeDb.prepare('PRAGMA journal_mode').get();
|
|
348
|
-
const fkEnabled = nativeDb.prepare('PRAGMA foreign_keys').get();
|
|
349
|
-
// Schema version: check the __drizzle_migrations journal for evidence of
|
|
350
|
-
// migrations applied. Fallback to _signaldock_meta for pre-T1166 DBs.
|
|
351
|
-
let schemaVersion = null;
|
|
352
|
-
try {
|
|
353
|
-
// Post-T1166 path: check if drizzle journal has entries
|
|
354
|
-
const journalRow = nativeDb
|
|
355
|
-
.prepare('SELECT COUNT(*) as cnt FROM "__drizzle_migrations"')
|
|
356
|
-
.get();
|
|
357
|
-
if (journalRow && journalRow.cnt > 0) {
|
|
358
|
-
schemaVersion = GLOBAL_SIGNALDOCK_SCHEMA_VERSION;
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
catch {
|
|
362
|
-
// __drizzle_migrations does not exist yet — fall through to _signaldock_meta
|
|
363
|
-
}
|
|
364
|
-
if (!schemaVersion) {
|
|
365
|
-
try {
|
|
366
|
-
// Pre-T1166 path: _signaldock_meta table (old bare-SQL runner)
|
|
367
|
-
const meta = nativeDb
|
|
368
|
-
.prepare("SELECT value FROM _signaldock_meta WHERE key = 'schema_version'")
|
|
369
|
-
.get();
|
|
370
|
-
schemaVersion = meta?.value ?? null;
|
|
371
|
-
}
|
|
372
|
-
catch {
|
|
373
|
-
// _signaldock_meta may not exist on very old or partially-initialized DBs
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
return {
|
|
377
|
-
exists: true,
|
|
378
|
-
path: dbPath,
|
|
379
|
-
tableCount: tables.count,
|
|
380
|
-
walMode: journalMode.journal_mode === 'wal',
|
|
381
|
-
schemaVersion,
|
|
382
|
-
foreignKeysEnabled: fkEnabled.foreign_keys === 1,
|
|
383
|
-
};
|
|
384
|
-
}
|
|
385
|
-
finally {
|
|
386
|
-
nativeDb.close();
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
/**
|
|
390
|
-
* @deprecated Use checkGlobalSignaldockDbHealth(). T310 is done (archived).
|
|
391
|
-
* Retained only because packages/core/src/internal.ts re-exports this name.
|
|
392
|
-
* Removal blocked until internal.ts export is cleaned up.
|
|
393
|
-
* Tracking: T355 / T1508 P2-NEW-2 — remove in v2026.5.0.
|
|
394
|
-
*
|
|
395
|
-
* When called WITHOUT arguments: forwards to checkGlobalSignaldockDbHealth().
|
|
396
|
-
* When called WITH a non-undefined `cwd` argument: throws a migration error.
|
|
397
|
-
*
|
|
398
|
-
* @param cwd - Must be undefined. Any other value throws a migration error.
|
|
399
|
-
* @task T346
|
|
400
|
-
* @epic T310
|
|
401
|
-
*/
|
|
402
|
-
export async function checkSignaldockDbHealth(cwd) {
|
|
403
|
-
if (cwd !== undefined) {
|
|
404
|
-
throw new Error('checkSignaldockDbHealth(cwd) is removed as of T310 (v2026.4.12). ' +
|
|
405
|
-
'signaldock.db is now global-only. ' +
|
|
406
|
-
'Use checkGlobalSignaldockDbHealth() for global signaldock health, or ' +
|
|
407
|
-
'checkConduitDbHealth(cwd) from conduit-sqlite.ts for project conduit health (T344).');
|
|
408
|
-
}
|
|
409
|
-
return checkGlobalSignaldockDbHealth();
|
|
410
|
-
}
|
|
411
|
-
/**
|
|
412
|
-
* Get the underlying node:sqlite DatabaseSync instance for global signaldock.db.
|
|
413
|
-
* Returns the handle stored by the most recent ensureGlobalSignaldockDb() call,
|
|
414
|
-
* or null if the database has not yet been initialized in this process.
|
|
415
|
-
*
|
|
416
|
-
* Used by sqlite-backup.ts to activate the signaldock GLOBAL_SNAPSHOT_TARGET
|
|
417
|
-
* (spec §6.2, T310).
|
|
418
|
-
*
|
|
419
|
-
* @task T346
|
|
420
|
-
* @epic T310
|
|
421
|
-
*/
|
|
422
|
-
export function getGlobalSignaldockNativeDb() {
|
|
423
|
-
return _globalSignaldockNativeDb;
|
|
424
|
-
}
|
|
425
|
-
/**
|
|
426
|
-
* Reset the in-process global signaldock.db singleton.
|
|
427
|
-
* ONLY for use in test isolation — never call in production code.
|
|
428
|
-
*
|
|
429
|
-
* @task T346
|
|
430
|
-
* @epic T310
|
|
431
|
-
*/
|
|
432
|
-
export function _resetGlobalSignaldockDb_TESTING_ONLY() {
|
|
433
|
-
if (_globalSignaldockNativeDb) {
|
|
434
|
-
try {
|
|
435
|
-
if (_globalSignaldockNativeDb.isOpen) {
|
|
436
|
-
_globalSignaldockNativeDb.close();
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
catch {
|
|
440
|
-
// Ignore close errors
|
|
441
|
-
}
|
|
442
|
-
_globalSignaldockNativeDb = null;
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
//# sourceMappingURL=signaldock-sqlite.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signaldock-sqlite.js","sourceRoot":"","sources":["../../src/store/signaldock-sqlite.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
CREATE TABLE IF NOT EXISTS `nexus_audit_log` (
|
|
2
|
-
`id` text PRIMARY KEY,
|
|
3
|
-
`timestamp` text DEFAULT (datetime('now')) NOT NULL,
|
|
4
|
-
`action` text NOT NULL,
|
|
5
|
-
`project_hash` text,
|
|
6
|
-
`project_id` text,
|
|
7
|
-
`domain` text,
|
|
8
|
-
`operation` text,
|
|
9
|
-
`session_id` text,
|
|
10
|
-
`request_id` text,
|
|
11
|
-
`source` text,
|
|
12
|
-
`gateway` text,
|
|
13
|
-
`success` integer,
|
|
14
|
-
`duration_ms` integer,
|
|
15
|
-
`details_json` text DEFAULT '{}',
|
|
16
|
-
`error_message` text
|
|
17
|
-
);
|
|
18
|
-
--> statement-breakpoint
|
|
19
|
-
CREATE TABLE IF NOT EXISTS `nexus_schema_meta` (
|
|
20
|
-
`key` text PRIMARY KEY,
|
|
21
|
-
`value` text NOT NULL
|
|
22
|
-
);
|
|
23
|
-
--> statement-breakpoint
|
|
24
|
-
CREATE TABLE IF NOT EXISTS `project_registry` (
|
|
25
|
-
`project_id` text PRIMARY KEY,
|
|
26
|
-
`project_hash` text NOT NULL UNIQUE,
|
|
27
|
-
`project_path` text NOT NULL UNIQUE,
|
|
28
|
-
`name` text NOT NULL,
|
|
29
|
-
`registered_at` text DEFAULT (datetime('now')) NOT NULL,
|
|
30
|
-
`last_seen` text DEFAULT (datetime('now')) NOT NULL,
|
|
31
|
-
`health_status` text DEFAULT 'unknown' NOT NULL,
|
|
32
|
-
`health_last_check` text,
|
|
33
|
-
`permissions` text DEFAULT 'read' NOT NULL,
|
|
34
|
-
`last_sync` text DEFAULT (datetime('now')) NOT NULL,
|
|
35
|
-
`task_count` integer DEFAULT 0 NOT NULL,
|
|
36
|
-
`labels_json` text DEFAULT '[]' NOT NULL
|
|
37
|
-
);
|
|
38
|
-
--> statement-breakpoint
|
|
39
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_audit_timestamp` ON `nexus_audit_log` (`timestamp`);--> statement-breakpoint
|
|
40
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_audit_action` ON `nexus_audit_log` (`action`);--> statement-breakpoint
|
|
41
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_audit_project_hash` ON `nexus_audit_log` (`project_hash`);--> statement-breakpoint
|
|
42
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_audit_project_id` ON `nexus_audit_log` (`project_id`);--> statement-breakpoint
|
|
43
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_audit_session` ON `nexus_audit_log` (`session_id`);--> statement-breakpoint
|
|
44
|
-
CREATE INDEX IF NOT EXISTS `idx_project_registry_hash` ON `project_registry` (`project_hash`);--> statement-breakpoint
|
|
45
|
-
CREATE INDEX IF NOT EXISTS `idx_project_registry_health` ON `project_registry` (`health_status`);--> statement-breakpoint
|
|
46
|
-
CREATE INDEX IF NOT EXISTS `idx_project_registry_name` ON `project_registry` (`name`);
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
CREATE TABLE IF NOT EXISTS `nexus_nodes` (
|
|
2
|
-
`id` text PRIMARY KEY,
|
|
3
|
-
`project_id` text NOT NULL,
|
|
4
|
-
`kind` text NOT NULL,
|
|
5
|
-
`label` text NOT NULL,
|
|
6
|
-
`name` text,
|
|
7
|
-
`file_path` text,
|
|
8
|
-
`start_line` integer,
|
|
9
|
-
`end_line` integer,
|
|
10
|
-
`language` text,
|
|
11
|
-
`is_exported` integer DEFAULT false NOT NULL,
|
|
12
|
-
`parent_id` text,
|
|
13
|
-
`parameters_json` text,
|
|
14
|
-
`return_type` text,
|
|
15
|
-
`doc_summary` text,
|
|
16
|
-
`community_id` text,
|
|
17
|
-
`meta_json` text,
|
|
18
|
-
`indexed_at` text DEFAULT (datetime('now')) NOT NULL
|
|
19
|
-
);
|
|
20
|
-
--> statement-breakpoint
|
|
21
|
-
CREATE TABLE IF NOT EXISTS `nexus_relations` (
|
|
22
|
-
`id` text PRIMARY KEY,
|
|
23
|
-
`project_id` text NOT NULL,
|
|
24
|
-
`source_id` text NOT NULL,
|
|
25
|
-
`target_id` text NOT NULL,
|
|
26
|
-
`type` text NOT NULL,
|
|
27
|
-
`confidence` real NOT NULL,
|
|
28
|
-
`reason` text,
|
|
29
|
-
`step` integer,
|
|
30
|
-
`indexed_at` text DEFAULT (datetime('now')) NOT NULL
|
|
31
|
-
);
|
|
32
|
-
--> statement-breakpoint
|
|
33
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_nodes_project` ON `nexus_nodes` (`project_id`);--> statement-breakpoint
|
|
34
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_nodes_kind` ON `nexus_nodes` (`kind`);--> statement-breakpoint
|
|
35
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_nodes_file` ON `nexus_nodes` (`file_path`);--> statement-breakpoint
|
|
36
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_nodes_name` ON `nexus_nodes` (`name`);--> statement-breakpoint
|
|
37
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_nodes_project_kind` ON `nexus_nodes` (`project_id`,`kind`);--> statement-breakpoint
|
|
38
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_nodes_project_file` ON `nexus_nodes` (`project_id`,`file_path`);--> statement-breakpoint
|
|
39
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_nodes_community` ON `nexus_nodes` (`community_id`);--> statement-breakpoint
|
|
40
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_nodes_parent` ON `nexus_nodes` (`parent_id`);--> statement-breakpoint
|
|
41
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_nodes_exported` ON `nexus_nodes` (`is_exported`);--> statement-breakpoint
|
|
42
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_relations_project` ON `nexus_relations` (`project_id`);--> statement-breakpoint
|
|
43
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_relations_source` ON `nexus_relations` (`source_id`);--> statement-breakpoint
|
|
44
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_relations_target` ON `nexus_relations` (`target_id`);--> statement-breakpoint
|
|
45
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_relations_type` ON `nexus_relations` (`type`);--> statement-breakpoint
|
|
46
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_relations_project_type` ON `nexus_relations` (`project_id`,`type`);--> statement-breakpoint
|
|
47
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_relations_source_type` ON `nexus_relations` (`source_id`,`type`);--> statement-breakpoint
|
|
48
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_relations_target_type` ON `nexus_relations` (`target_id`,`type`);--> statement-breakpoint
|
|
49
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_relations_confidence` ON `nexus_relations` (`confidence`);
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
-- T622: Multi-Project Registry — add brain_db_path, tasks_db_path, last_indexed, stats_json
|
|
2
|
-
-- to project_registry so Studio can switch between project contexts and display per-project stats.
|
|
3
|
-
|
|
4
|
-
ALTER TABLE `project_registry` ADD COLUMN `brain_db_path` text;
|
|
5
|
-
--> statement-breakpoint
|
|
6
|
-
ALTER TABLE `project_registry` ADD COLUMN `tasks_db_path` text;
|
|
7
|
-
--> statement-breakpoint
|
|
8
|
-
ALTER TABLE `project_registry` ADD COLUMN `last_indexed` text;
|
|
9
|
-
--> statement-breakpoint
|
|
10
|
-
ALTER TABLE `project_registry` ADD COLUMN `stats_json` text DEFAULT '{}' NOT NULL;
|
|
11
|
-
--> statement-breakpoint
|
|
12
|
-
CREATE INDEX IF NOT EXISTS `idx_project_registry_last_indexed` ON `project_registry` (`last_indexed`);
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
-- T998: NEXUS plasticity columns — Hebbian co-access strengthening.
|
|
2
|
-
-- Adds weight, last_accessed_at, and co_accessed_count to nexus_relations so
|
|
3
|
-
-- edges can be strengthened each time the connected nodes are co-accessed
|
|
4
|
-
-- during retrieval (fire-together-wire-together principle).
|
|
5
|
-
-- Migration is idempotent: ALTER TABLE ADD COLUMN is a no-op if column exists (via ensureColumns band-aid in nexus-sqlite.ts).
|
|
6
|
-
|
|
7
|
-
ALTER TABLE `nexus_relations` ADD COLUMN `weight` real DEFAULT 0.0;
|
|
8
|
-
--> statement-breakpoint
|
|
9
|
-
ALTER TABLE `nexus_relations` ADD COLUMN `last_accessed_at` text;
|
|
10
|
-
--> statement-breakpoint
|
|
11
|
-
ALTER TABLE `nexus_relations` ADD COLUMN `co_accessed_count` integer DEFAULT 0;
|
|
12
|
-
--> statement-breakpoint
|
|
13
|
-
CREATE INDEX IF NOT EXISTS `idx_nexus_relations_last_accessed` ON `nexus_relations` (`last_accessed_at`);
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
CREATE TABLE `user_profile` (
|
|
2
|
-
`trait_key` text PRIMARY KEY,
|
|
3
|
-
`trait_value` text NOT NULL,
|
|
4
|
-
`confidence` real NOT NULL,
|
|
5
|
-
`source` text NOT NULL,
|
|
6
|
-
`derived_from_message_id` text,
|
|
7
|
-
`first_observed_at` integer NOT NULL,
|
|
8
|
-
`last_reinforced_at` integer NOT NULL,
|
|
9
|
-
`reinforcement_count` integer DEFAULT 1 NOT NULL,
|
|
10
|
-
`superseded_by` text
|
|
11
|
-
);
|
|
12
|
-
--> statement-breakpoint
|
|
13
|
-
CREATE INDEX `idx_user_profile_confidence` ON `user_profile` (`confidence`);--> statement-breakpoint
|
|
14
|
-
CREATE INDEX `idx_user_profile_source` ON `user_profile` (`source`);--> statement-breakpoint
|
|
15
|
-
CREATE INDEX `idx_user_profile_last_reinforced` ON `user_profile` (`last_reinforced_at`);--> statement-breakpoint
|
|
16
|
-
CREATE INDEX `idx_user_profile_superseded` ON `user_profile` (`superseded_by`);
|