oh-my-second-brain 0.2.0 → 0.6.1
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/.claude-plugin/marketplace.json +41 -0
- package/{adapters/claude-code/.claude-plugin → .claude-plugin}/plugin.json +7 -8
- package/{adapters/codex/.codex-plugin → .codex-plugin}/plugin.json +4 -4
- package/ACKNOWLEDGMENTS.md +162 -0
- package/CHANGELOG-assets.md +23 -0
- package/CHANGELOG-cli.md +24 -0
- package/CHANGELOG-kernel.md +48 -0
- package/CHANGELOG-mcp.md +36 -0
- package/CHANGELOG-vendors.md +26 -0
- package/CHANGELOG.md +51 -7
- package/README.ko.md +2 -2
- package/README.md +16 -16
- package/{adapters/claude-code → assets/claude}/CLAUDE.md +4 -4
- package/{adapters → assets}/codex/AGENTS.md +3 -3
- package/{adapters → assets}/codex/rules/oms.md +5 -5
- package/{adapters → assets}/hermes/README.md +1 -1
- package/{adapters → assets}/hermes/SOUL.md +3 -3
- package/{adapters/hermes/manifest.json → assets/hermes-manifest.json} +3 -4
- package/assets/skills/distill/SKILL.md +20 -0
- package/assets/skills/doctor/SKILL.md +23 -0
- package/assets/skills/link/SKILL.md +24 -0
- package/assets/skills/search/SKILL.md +25 -0
- package/assets/skills/status/SKILL.md +22 -0
- package/assets/skills/write/SKILL.md +30 -0
- package/core/ontology/schemas/README.md +20 -14
- package/dist/assets/shared-skills.d.ts +4 -0
- package/dist/assets/shared-skills.js +8 -0
- package/dist/assets/shared-skills.js.map +1 -0
- package/dist/cli/args.d.ts +3 -1
- package/dist/cli/args.js +14 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/audit.js +3 -3
- package/dist/cli/audit.js.map +1 -1
- package/dist/cli/claude-install-plan.js +2 -2
- package/dist/cli/claude-install-plan.js.map +1 -1
- package/dist/cli/doctor-lint.js +8 -8
- package/dist/cli/doctor-lint.js.map +1 -1
- package/dist/cli/global-writeback.js +1 -1
- package/dist/cli/global-writeback.js.map +1 -1
- package/dist/cli/host-commands.d.ts +1 -1
- package/dist/cli/host-commands.js +24 -5
- package/dist/cli/host-commands.js.map +1 -1
- package/dist/cli/link-command.d.ts +1 -1
- package/dist/cli/link-command.js +2 -2
- package/dist/cli/link-command.js.map +1 -1
- package/dist/cli/linkify.js +16 -71
- package/dist/cli/linkify.js.map +1 -1
- package/dist/cli/oms.d.ts +1 -1
- package/dist/cli/oms.js +45 -11
- package/dist/cli/oms.js.map +1 -1
- package/dist/cli/semantic-args.d.ts +1 -1
- package/dist/cli/semantic-args.js +102 -3
- package/dist/cli/semantic-args.js.map +1 -1
- package/dist/cli/semantic-http.js +3 -3
- package/dist/cli/semantic-http.js.map +1 -1
- package/dist/cli/semantic-usage.js +1 -1
- package/dist/cli/semantic-usage.js.map +1 -1
- package/dist/cli/semantic.js +31 -12
- package/dist/cli/semantic.js.map +1 -1
- package/dist/cli/setup-command.d.ts +17 -0
- package/dist/cli/setup-command.js +89 -145
- package/dist/cli/setup-command.js.map +1 -1
- package/dist/cli/update-notice.d.ts +1 -1
- package/dist/cli/update-notice.js +2 -2
- package/dist/cli/update-notice.js.map +1 -1
- package/dist/cli/usage.d.ts +1 -1
- package/dist/cli/usage.js +2 -2
- package/dist/cli/usage.js.map +1 -1
- package/dist/{capture → kernel/capture}/safe.d.ts +11 -1
- package/dist/{capture → kernel/capture}/safe.js +3 -3
- package/dist/kernel/capture/safe.js.map +1 -0
- package/dist/kernel/contracts/index.d.ts +144 -0
- package/dist/kernel/contracts/index.js +401 -0
- package/dist/kernel/contracts/index.js.map +1 -0
- package/dist/kernel/conventions/frontmatter.js.map +1 -0
- package/dist/kernel/conventions/lint.js.map +1 -0
- package/dist/kernel/conventions/report.js.map +1 -0
- package/dist/{conventions → kernel/conventions}/validate.d.ts +1 -1
- package/dist/kernel/conventions/validate.js.map +1 -0
- package/dist/kernel/conventions/vault-walk.js.map +1 -0
- package/dist/{conventions → kernel/conventions}/write-contract.d.ts +1 -1
- package/dist/kernel/conventions/write-contract.js.map +1 -0
- package/dist/kernel/conventions/write-protocol.js.map +1 -0
- package/dist/kernel/doctor/service.d.ts +71 -0
- package/dist/kernel/doctor/service.js +70 -0
- package/dist/kernel/doctor/service.js.map +1 -0
- package/dist/{engine → kernel/engine}/assemble.d.ts +46 -1
- package/dist/kernel/engine/assemble.js +483 -0
- package/dist/kernel/engine/assemble.js.map +1 -0
- package/dist/kernel/engine/axes/store.d.ts +90 -0
- package/dist/kernel/engine/axes/store.js +400 -0
- package/dist/kernel/engine/axes/store.js.map +1 -0
- package/dist/{engine → kernel/engine}/conventions/vault-lint.d.ts +1 -1
- package/dist/{engine → kernel/engine}/conventions/vault-lint.js +1 -1
- package/dist/kernel/engine/conventions/vault-lint.js.map +1 -0
- package/dist/kernel/engine/embed/chunker.js.map +1 -0
- package/dist/kernel/engine/embed/deferred.js.map +1 -0
- package/dist/{engine → kernel/engine}/embed/hash-stub.test-helper.d.ts +1 -1
- package/dist/{engine → kernel/engine}/embed/hash-stub.test-helper.js +1 -1
- package/dist/kernel/engine/embed/hash-stub.test-helper.js.map +1 -0
- package/dist/kernel/engine/embed/identity.d.ts +21 -0
- package/dist/kernel/engine/embed/identity.js +47 -0
- package/dist/kernel/engine/embed/identity.js.map +1 -0
- package/dist/kernel/engine/embed/model.d.ts +134 -0
- package/dist/kernel/engine/embed/model.js +302 -0
- package/dist/kernel/engine/embed/model.js.map +1 -0
- package/dist/{engine → kernel/engine}/embed/provider.d.ts +36 -5
- package/dist/kernel/engine/embed/provider.js +403 -0
- package/dist/kernel/engine/embed/provider.js.map +1 -0
- package/dist/{engine → kernel/engine}/embed/store.d.ts +13 -1
- package/dist/kernel/engine/embed/store.js +730 -0
- package/dist/kernel/engine/embed/store.js.map +1 -0
- package/dist/kernel/engine/embed/sync.d.ts +100 -0
- package/dist/kernel/engine/embed/sync.js +753 -0
- package/dist/kernel/engine/embed/sync.js.map +1 -0
- package/dist/{engine → kernel/engine}/graph/builder.d.ts +9 -5
- package/dist/{engine → kernel/engine}/graph/builder.js +213 -79
- package/dist/kernel/engine/graph/builder.js.map +1 -0
- package/dist/kernel/engine/graph/explore.js.map +1 -0
- package/dist/{engine → kernel/engine}/graph/node.d.ts +49 -1
- package/dist/kernel/engine/graph/node.js +315 -0
- package/dist/kernel/engine/graph/node.js.map +1 -0
- package/dist/kernel/engine/graph/resolver.js.map +1 -0
- package/dist/kernel/engine/graph/traverse.js.map +1 -0
- package/dist/kernel/engine/linkify/apply.js.map +1 -0
- package/dist/kernel/engine/linkify/josa.js.map +1 -0
- package/dist/kernel/engine/linkify/mask.js.map +1 -0
- package/dist/kernel/engine/linkify/suggest.js.map +1 -0
- package/dist/kernel/engine/linkify/types.js.map +1 -0
- package/dist/{engine → kernel/engine}/mcp/facade.d.ts +27 -1
- package/dist/kernel/engine/mcp/facade.js +1144 -0
- package/dist/kernel/engine/mcp/facade.js.map +1 -0
- package/dist/kernel/engine/mcp/op-mappers.js.map +1 -0
- package/dist/{engine → kernel/engine}/mcp/query-mapper.d.ts +27 -2
- package/dist/kernel/engine/mcp/query-mapper.js +247 -0
- package/dist/kernel/engine/mcp/query-mapper.js.map +1 -0
- package/dist/{engine → kernel/engine}/mcp/types.d.ts +69 -2
- package/dist/kernel/engine/mcp/types.js.map +1 -0
- package/dist/{engine → kernel/engine}/retrieval/dispatcher.d.ts +23 -1
- package/dist/{engine → kernel/engine}/retrieval/dispatcher.js +92 -14
- package/dist/kernel/engine/retrieval/dispatcher.js.map +1 -0
- package/dist/{engine → kernel/engine}/retrieval/index.d.ts +4 -1
- package/dist/{engine → kernel/engine}/retrieval/index.js +6 -3
- package/dist/kernel/engine/retrieval/index.js.map +1 -0
- package/dist/kernel/engine/retrieval/reranker.d.ts +124 -0
- package/dist/kernel/engine/retrieval/reranker.js +204 -0
- package/dist/kernel/engine/retrieval/reranker.js.map +1 -0
- package/dist/{engine → kernel/engine}/retrieval/rrf.d.ts +10 -2
- package/dist/kernel/engine/retrieval/rrf.js +77 -0
- package/dist/kernel/engine/retrieval/rrf.js.map +1 -0
- package/dist/{engine → kernel/engine}/tracer.d.ts +13 -0
- package/dist/{engine → kernel/engine}/tracer.js +63 -6
- package/dist/kernel/engine/tracer.js.map +1 -0
- package/dist/{engine → kernel/engine}/types.d.ts +4 -4
- package/dist/kernel/engine/types.js.map +1 -0
- package/dist/{graph → kernel/graph}/cache.d.ts +1 -1
- package/dist/{graph → kernel/graph}/cache.js +165 -21
- package/dist/kernel/graph/cache.js.map +1 -0
- package/dist/kernel/graph/explore.js.map +1 -0
- package/dist/{harness → kernel/harness}/surface-registry.d.ts +0 -1
- package/dist/kernel/harness/surface-registry.js +170 -0
- package/dist/kernel/harness/surface-registry.js.map +1 -0
- package/dist/{harness → kernel/harness}/validation.js +67 -4
- package/dist/kernel/harness/validation.js.map +1 -0
- package/dist/kernel/index.d.ts +13 -0
- package/dist/kernel/index.js +14 -0
- package/dist/kernel/index.js.map +1 -0
- package/dist/{install → kernel/install}/adapter-source.d.ts +10 -1
- package/dist/kernel/install/adapter-source.js +76 -0
- package/dist/kernel/install/adapter-source.js.map +1 -0
- package/dist/kernel/install/common.js.map +1 -0
- package/dist/{install → kernel/install}/hosts.d.ts +3 -3
- package/dist/{install → kernel/install}/hosts.js +3 -22
- package/dist/kernel/install/hosts.js.map +1 -0
- package/dist/{core/ontology → kernel/install}/types.js.map +1 -1
- package/dist/{link → kernel/link}/convention-note.js +2 -2
- package/dist/kernel/link/convention-note.js.map +1 -0
- package/dist/kernel/link/global-config.js.map +1 -0
- package/dist/kernel/link/link.js.map +1 -0
- package/dist/kernel/link/workflow.d.ts +55 -0
- package/dist/kernel/link/workflow.js +107 -0
- package/dist/kernel/link/workflow.js.map +1 -0
- package/dist/kernel/measurement/no-default-contract.d.ts +17 -0
- package/dist/kernel/measurement/no-default-contract.js +84 -0
- package/dist/kernel/measurement/no-default-contract.js.map +1 -0
- package/dist/{ontology → kernel/ontology}/active.d.ts +1 -1
- package/dist/{ontology → kernel/ontology}/active.js +2 -2
- package/dist/kernel/ontology/active.js.map +1 -0
- package/dist/kernel/ontology/loader.js.map +1 -0
- package/dist/kernel/ontology/resolver.js.map +1 -0
- package/dist/{install → kernel/ontology}/types.js.map +1 -1
- package/dist/kernel/plugin/index.d.ts +1 -0
- package/dist/kernel/plugin/index.js +2 -0
- package/dist/kernel/plugin/index.js.map +1 -0
- package/dist/{core → kernel}/runtime/assets.d.ts +2 -4
- package/dist/{core → kernel}/runtime/assets.js +1 -3
- package/dist/kernel/runtime/assets.js.map +1 -0
- package/dist/kernel/search/morning-test-fixtures.js.map +1 -0
- package/dist/{retrieve → kernel/search}/morning.d.ts +0 -1
- package/dist/kernel/search/morning.js.map +1 -0
- package/dist/kernel/search/semantic-contract.js.map +1 -0
- package/dist/kernel/searchbackend/engine-search-backend.d.ts +28 -0
- package/dist/kernel/searchbackend/engine-search-backend.js +153 -0
- package/dist/kernel/searchbackend/engine-search-backend.js.map +1 -0
- package/dist/kernel/searchbackend/index.d.ts +2 -0
- package/dist/kernel/searchbackend/index.js +2 -0
- package/dist/kernel/searchbackend/index.js.map +1 -0
- package/dist/kernel/searchbackend/search-backend.d.ts +57 -0
- package/dist/kernel/searchbackend/search-backend.js +110 -0
- package/dist/kernel/searchbackend/search-backend.js.map +1 -0
- package/dist/{mcp → kernel/semantic}/semantic-engine.d.ts +3 -2
- package/dist/kernel/semantic/semantic-engine.js +78 -0
- package/dist/kernel/semantic/semantic-engine.js.map +1 -0
- package/dist/{mcp → kernel/semantic}/semantic-retrieve-args.d.ts +20 -3
- package/dist/{mcp → kernel/semantic}/semantic-retrieve-args.js +81 -15
- package/dist/kernel/semantic/semantic-retrieve-args.js.map +1 -0
- package/dist/{mcp → kernel/semantic}/semantic-retrieve-schema.d.ts +0 -24
- package/dist/{mcp → kernel/semantic}/semantic-retrieve-schema.js +0 -8
- package/dist/kernel/semantic/semantic-retrieve-schema.js.map +1 -0
- package/dist/{mcp → kernel/semantic}/semantic-retrieve.js +5 -9
- package/dist/kernel/semantic/semantic-retrieve.js.map +1 -0
- package/dist/kernel/semantic/semantic-schemas.js.map +1 -0
- package/dist/{mcp → kernel/semantic}/semantic-tool-schemas.js +0 -28
- package/dist/kernel/semantic/semantic-tool-schemas.js.map +1 -0
- package/dist/{setup → kernel/setup}/axis.d.ts +1 -1
- package/dist/{setup → kernel/setup}/axis.js +1 -1
- package/dist/kernel/setup/axis.js.map +1 -0
- package/dist/{cli/setup-documents.d.ts → kernel/setup/documents.d.ts} +1 -1
- package/dist/{cli/setup-documents.js → kernel/setup/documents.js} +15 -49
- package/dist/kernel/setup/documents.js.map +1 -0
- package/dist/kernel/setup/service.d.ts +44 -0
- package/dist/kernel/setup/service.js +97 -0
- package/dist/kernel/setup/service.js.map +1 -0
- package/dist/{update → kernel/update}/update.d.ts +7 -0
- package/dist/{update → kernel/update}/update.js +106 -8
- package/dist/kernel/update/update.js.map +1 -0
- package/dist/mcp/engine-morning-backend.d.ts +4 -4
- package/dist/mcp/engine-morning-backend.js +4 -18
- package/dist/mcp/engine-morning-backend.js.map +1 -1
- package/dist/mcp/link-tools.d.ts +9 -56
- package/dist/mcp/link-tools.js +5 -129
- package/dist/mcp/link-tools.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -2
- package/dist/mcp/server.js +373 -324
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/update-notice.d.ts +1 -1
- package/dist/mcp/update-notice.js +1 -1
- package/dist/mcp/update-notice.js.map +1 -1
- package/dist/{install → vendors/claude}/claude-hooks.d.ts +1 -1
- package/dist/{install → vendors/claude}/claude-hooks.js +1 -1
- package/dist/vendors/claude/claude-hooks.js.map +1 -0
- package/dist/{install → vendors/claude}/claude-marketplace.d.ts +3 -3
- package/dist/{install → vendors/claude}/claude-marketplace.js +6 -9
- package/dist/vendors/claude/claude-marketplace.js.map +1 -0
- package/dist/{install → vendors/claude}/claude.d.ts +2 -2
- package/dist/{install → vendors/claude}/claude.js +2 -2
- package/dist/vendors/claude/claude.js.map +1 -0
- package/dist/{hook → vendors/claude/hook}/post-tool-use.js +5 -5
- package/dist/vendors/claude/hook/post-tool-use.js.map +1 -0
- package/dist/vendors/claude/hook/pre-tool-use.js.map +1 -0
- package/dist/vendors/claude/hook/stdin.js.map +1 -0
- package/dist/vendors/codex/codex.d.ts +10 -0
- package/dist/{install → vendors/codex}/codex.js +19 -37
- package/dist/vendors/codex/codex.js.map +1 -0
- package/dist/{install → vendors/hermes}/hermes.d.ts +2 -2
- package/dist/{install → vendors/hermes}/hermes.js +15 -7
- package/dist/vendors/hermes/hermes.js.map +1 -0
- package/docs/adapters.md +15 -0
- package/docs/install.md +10 -11
- package/package.json +23 -10
- package/adapters/README.md +0 -99
- package/adapters/claude-code/skills/compile/SKILL.md +0 -27
- package/adapters/claude-code/skills/define/SKILL.md +0 -51
- package/adapters/claude-code/skills/distill/SKILL.md +0 -28
- package/adapters/claude-code/skills/doctor/SKILL.md +0 -58
- package/adapters/claude-code/skills/link/SKILL.md +0 -87
- package/adapters/claude-code/skills/retrieve/SKILL.md +0 -99
- package/adapters/claude-code/skills/setup/SKILL.md +0 -78
- package/adapters/claude-code/skills/uninstall/SKILL.md +0 -34
- package/adapters/claude-code/skills/update/SKILL.md +0 -45
- package/adapters/claude-code/skills/vault-decision-record/SKILL.md +0 -52
- package/adapters/claude-code/skills/vault-lint/SKILL.md +0 -47
- package/adapters/claude-code/skills/vault-scaffold/SKILL.md +0 -47
- package/adapters/claude-code/skills/wiki/SKILL.md +0 -82
- package/adapters/claude-code/skills/write/SKILL.md +0 -16
- package/adapters/codex/skills/oms-compile/SKILL.md +0 -16
- package/adapters/codex/skills/oms-distill/SKILL.md +0 -14
- package/adapters/codex/skills/oms-doctor/SKILL.md +0 -14
- package/adapters/codex/skills/oms-install/SKILL.md +0 -19
- package/adapters/codex/skills/oms-link/SKILL.md +0 -35
- package/adapters/codex/skills/oms-retrieve/SKILL.md +0 -32
- package/adapters/codex/skills/oms-setup/SKILL.md +0 -34
- package/adapters/codex/skills/oms-uninstall/SKILL.md +0 -20
- package/adapters/codex/skills/oms-update/SKILL.md +0 -22
- package/adapters/codex/skills/oms-vault-lint/SKILL.md +0 -19
- package/adapters/codex/skills/oms-wiki/SKILL.md +0 -39
- package/adapters/codex/skills/oms-write/SKILL.md +0 -10
- package/adapters/hermes/skills/compile/SKILL.md +0 -13
- package/adapters/hermes/skills/distill/SKILL.md +0 -10
- package/adapters/hermes/skills/doctor/SKILL.md +0 -14
- package/adapters/hermes/skills/install/SKILL.md +0 -19
- package/adapters/hermes/skills/link/SKILL.md +0 -18
- package/adapters/hermes/skills/retrieve/SKILL.md +0 -32
- package/adapters/hermes/skills/setup/SKILL.md +0 -37
- package/adapters/hermes/skills/uninstall/SKILL.md +0 -20
- package/adapters/hermes/skills/update/SKILL.md +0 -22
- package/adapters/hermes/skills/wiki/SKILL.md +0 -14
- package/adapters/hermes/skills/write/SKILL.md +0 -10
- package/core/agents/librarian.md +0 -44
- package/core/agents/retriever.md +0 -62
- package/core/skills/compile/CHANGELOG.md +0 -24
- package/core/skills/compile/SKILL.md +0 -57
- package/core/skills/define/SKILL.md +0 -59
- package/core/skills/distill/CHANGELOG.md +0 -39
- package/core/skills/distill/SKILL.md +0 -62
- package/core/skills/doctor/SKILL.md +0 -49
- package/core/skills/link/SKILL.md +0 -130
- package/core/skills/retrieve/SKILL.md +0 -78
- package/core/skills/setup/CHANGELOG.md +0 -49
- package/core/skills/setup/SKILL.md +0 -246
- package/core/skills/uninstall/SKILL.md +0 -34
- package/core/skills/vault-decision-record/CHANGELOG.md +0 -24
- package/core/skills/vault-decision-record/SKILL.md +0 -93
- package/core/skills/vault-lint/CHANGELOG.md +0 -35
- package/core/skills/vault-lint/SKILL.md +0 -58
- package/core/skills/vault-scaffold/CHANGELOG.md +0 -21
- package/core/skills/vault-scaffold/SKILL.md +0 -72
- package/core/skills/wiki/CHANGELOG.md +0 -23
- package/core/skills/wiki/SKILL.md +0 -159
- package/core/skills/write/SKILL.md +0 -15
- package/dist/capture/safe.js.map +0 -1
- package/dist/cli/setup-documents.js.map +0 -1
- package/dist/conventions/frontmatter.js.map +0 -1
- package/dist/conventions/lint.js.map +0 -1
- package/dist/conventions/report.js.map +0 -1
- package/dist/conventions/validate.js.map +0 -1
- package/dist/conventions/vault-walk.js.map +0 -1
- package/dist/conventions/write-contract.js.map +0 -1
- package/dist/conventions/write-protocol.js.map +0 -1
- package/dist/core/ontology/loader.js.map +0 -1
- package/dist/core/ontology/resolver.js.map +0 -1
- package/dist/core/runtime/assets.js.map +0 -1
- package/dist/engine/assemble.js +0 -162
- package/dist/engine/assemble.js.map +0 -1
- package/dist/engine/conventions/vault-lint.js.map +0 -1
- package/dist/engine/embed/chunker.js.map +0 -1
- package/dist/engine/embed/deferred.js.map +0 -1
- package/dist/engine/embed/hash-stub.test-helper.js.map +0 -1
- package/dist/engine/embed/identity.d.ts +0 -11
- package/dist/engine/embed/identity.js +0 -15
- package/dist/engine/embed/identity.js.map +0 -1
- package/dist/engine/embed/provider.js +0 -266
- package/dist/engine/embed/provider.js.map +0 -1
- package/dist/engine/embed/store.js +0 -416
- package/dist/engine/embed/store.js.map +0 -1
- package/dist/engine/embed/sync.d.ts +0 -45
- package/dist/engine/embed/sync.js +0 -321
- package/dist/engine/embed/sync.js.map +0 -1
- package/dist/engine/graph/builder.js.map +0 -1
- package/dist/engine/graph/explore.js.map +0 -1
- package/dist/engine/graph/node.js +0 -110
- package/dist/engine/graph/node.js.map +0 -1
- package/dist/engine/graph/resolver.js.map +0 -1
- package/dist/engine/graph/traverse.js.map +0 -1
- package/dist/engine/linkify/apply.js.map +0 -1
- package/dist/engine/linkify/josa.js.map +0 -1
- package/dist/engine/linkify/mask.js.map +0 -1
- package/dist/engine/linkify/suggest.js.map +0 -1
- package/dist/engine/linkify/types.js.map +0 -1
- package/dist/engine/mcp/facade.js +0 -628
- package/dist/engine/mcp/facade.js.map +0 -1
- package/dist/engine/mcp/op-mappers.js.map +0 -1
- package/dist/engine/mcp/query-mapper.js +0 -102
- package/dist/engine/mcp/query-mapper.js.map +0 -1
- package/dist/engine/mcp/types.js.map +0 -1
- package/dist/engine/retrieval/dispatcher.js.map +0 -1
- package/dist/engine/retrieval/index.js.map +0 -1
- package/dist/engine/retrieval/reranker.d.ts +0 -46
- package/dist/engine/retrieval/reranker.js +0 -29
- package/dist/engine/retrieval/reranker.js.map +0 -1
- package/dist/engine/retrieval/rrf.js +0 -54
- package/dist/engine/retrieval/rrf.js.map +0 -1
- package/dist/engine/tracer.js.map +0 -1
- package/dist/engine/types.js.map +0 -1
- package/dist/graph/cache.js.map +0 -1
- package/dist/graph/explore.js.map +0 -1
- package/dist/harness/surface-registry.js +0 -397
- package/dist/harness/surface-registry.js.map +0 -1
- package/dist/harness/validation.js.map +0 -1
- package/dist/hook/post-tool-use.js.map +0 -1
- package/dist/hook/pre-tool-use.js.map +0 -1
- package/dist/hook/stdin.js.map +0 -1
- package/dist/index.d.ts +0 -12
- package/dist/index.js +0 -13
- package/dist/index.js.map +0 -1
- package/dist/install/adapter-source.js +0 -45
- package/dist/install/adapter-source.js.map +0 -1
- package/dist/install/claude-hooks.js.map +0 -1
- package/dist/install/claude-marketplace.js.map +0 -1
- package/dist/install/claude.js.map +0 -1
- package/dist/install/codex.d.ts +0 -24
- package/dist/install/codex.js.map +0 -1
- package/dist/install/common.js.map +0 -1
- package/dist/install/hermes.js.map +0 -1
- package/dist/install/hosts.js.map +0 -1
- package/dist/link/convention-note.js.map +0 -1
- package/dist/link/global-config.js.map +0 -1
- package/dist/link/link.js.map +0 -1
- package/dist/mcp/semantic-engine.js +0 -52
- package/dist/mcp/semantic-engine.js.map +0 -1
- package/dist/mcp/semantic-retrieve-args.js.map +0 -1
- package/dist/mcp/semantic-retrieve-schema.js.map +0 -1
- package/dist/mcp/semantic-retrieve.js.map +0 -1
- package/dist/mcp/semantic-schemas.js.map +0 -1
- package/dist/mcp/semantic-tool-schemas.js.map +0 -1
- package/dist/ontology/active.js.map +0 -1
- package/dist/retrieve/morning-test-fixtures.js.map +0 -1
- package/dist/retrieve/morning.js.map +0 -1
- package/dist/retrieve/semantic-contract.js.map +0 -1
- package/dist/setup/axis.js.map +0 -1
- package/dist/update/update.js.map +0 -1
- package/docs/release.md +0 -188
- /package/{adapters/codex/.mcp.json → .mcp.codex.json} +0 -0
- /package/{adapters/claude-code/.mcp.json → .mcp.json} +0 -0
- /package/{adapters/claude-code → assets/claude}/hooks/oms-guard.mjs +0 -0
- /package/{adapters/claude-code → assets/claude}/hooks/oms-post-guard.mjs +0 -0
- /package/dist/{conventions → kernel/conventions}/frontmatter.d.ts +0 -0
- /package/dist/{conventions → kernel/conventions}/frontmatter.js +0 -0
- /package/dist/{conventions → kernel/conventions}/lint.d.ts +0 -0
- /package/dist/{conventions → kernel/conventions}/lint.js +0 -0
- /package/dist/{conventions → kernel/conventions}/report.d.ts +0 -0
- /package/dist/{conventions → kernel/conventions}/report.js +0 -0
- /package/dist/{conventions → kernel/conventions}/validate.js +0 -0
- /package/dist/{conventions → kernel/conventions}/vault-walk.d.ts +0 -0
- /package/dist/{conventions → kernel/conventions}/vault-walk.js +0 -0
- /package/dist/{conventions → kernel/conventions}/write-contract.js +0 -0
- /package/dist/{conventions → kernel/conventions}/write-protocol.d.ts +0 -0
- /package/dist/{conventions → kernel/conventions}/write-protocol.js +0 -0
- /package/dist/{engine → kernel/engine}/embed/chunker.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/embed/chunker.js +0 -0
- /package/dist/{engine → kernel/engine}/embed/deferred.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/embed/deferred.js +0 -0
- /package/dist/{engine → kernel/engine}/graph/explore.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/graph/explore.js +0 -0
- /package/dist/{engine → kernel/engine}/graph/resolver.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/graph/resolver.js +0 -0
- /package/dist/{engine → kernel/engine}/graph/traverse.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/graph/traverse.js +0 -0
- /package/dist/{engine → kernel/engine}/linkify/apply.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/linkify/apply.js +0 -0
- /package/dist/{engine → kernel/engine}/linkify/josa.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/linkify/josa.js +0 -0
- /package/dist/{engine → kernel/engine}/linkify/mask.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/linkify/mask.js +0 -0
- /package/dist/{engine → kernel/engine}/linkify/suggest.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/linkify/suggest.js +0 -0
- /package/dist/{engine → kernel/engine}/linkify/types.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/linkify/types.js +0 -0
- /package/dist/{engine → kernel/engine}/mcp/op-mappers.d.ts +0 -0
- /package/dist/{engine → kernel/engine}/mcp/op-mappers.js +0 -0
- /package/dist/{engine → kernel/engine}/mcp/types.js +0 -0
- /package/dist/{engine → kernel/engine}/types.js +0 -0
- /package/dist/{graph → kernel/graph}/explore.d.ts +0 -0
- /package/dist/{graph → kernel/graph}/explore.js +0 -0
- /package/dist/{harness → kernel/harness}/validation.d.ts +0 -0
- /package/dist/{install → kernel/install}/common.d.ts +0 -0
- /package/dist/{install → kernel/install}/common.js +0 -0
- /package/dist/{install → kernel/install}/types.d.ts +0 -0
- /package/dist/{core/ontology → kernel/install}/types.js +0 -0
- /package/dist/{link → kernel/link}/convention-note.d.ts +0 -0
- /package/dist/{link → kernel/link}/global-config.d.ts +0 -0
- /package/dist/{link → kernel/link}/global-config.js +0 -0
- /package/dist/{link → kernel/link}/link.d.ts +0 -0
- /package/dist/{link → kernel/link}/link.js +0 -0
- /package/dist/{core → kernel}/ontology/loader.d.ts +0 -0
- /package/dist/{core → kernel}/ontology/loader.js +0 -0
- /package/dist/{core → kernel}/ontology/resolver.d.ts +0 -0
- /package/dist/{core → kernel}/ontology/resolver.js +0 -0
- /package/dist/{core → kernel}/ontology/types.d.ts +0 -0
- /package/dist/{install → kernel/ontology}/types.js +0 -0
- /package/dist/{retrieve → kernel/search}/morning-test-fixtures.d.ts +0 -0
- /package/dist/{retrieve → kernel/search}/morning-test-fixtures.js +0 -0
- /package/dist/{retrieve → kernel/search}/morning.js +0 -0
- /package/dist/{retrieve → kernel/search}/semantic-contract.d.ts +0 -0
- /package/dist/{retrieve → kernel/search}/semantic-contract.js +0 -0
- /package/dist/{mcp → kernel/semantic}/semantic-retrieve.d.ts +0 -0
- /package/dist/{mcp → kernel/semantic}/semantic-schemas.d.ts +0 -0
- /package/dist/{mcp → kernel/semantic}/semantic-schemas.js +0 -0
- /package/dist/{mcp → kernel/semantic}/semantic-tool-schemas.d.ts +0 -0
- /package/dist/{hook → vendors/claude/hook}/post-tool-use.d.ts +0 -0
- /package/dist/{hook → vendors/claude/hook}/pre-tool-use.d.ts +0 -0
- /package/dist/{hook → vendors/claude/hook}/pre-tool-use.js +0 -0
- /package/dist/{hook → vendors/claude/hook}/stdin.d.ts +0 -0
- /package/dist/{hook → vendors/claude/hook}/stdin.js +0 -0
|
@@ -1,416 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite-backed EngineStore: FTS5 lexical search + sqlite-vec ANN.
|
|
3
|
-
*
|
|
4
|
-
* RALPLAN constraints (approved):
|
|
5
|
-
* - Core schema (meta + FTS + engine_meta) MUST exist even when sqlite-vec is unavailable.
|
|
6
|
-
* - vec/HyDE MUST NOT silently degrade to empty hits; vector usage must fail loudly.
|
|
7
|
-
* - A core-only open path must exist for lex-only operation without embedding config.
|
|
8
|
-
*/
|
|
9
|
-
import { mkdirSync } from "node:fs";
|
|
10
|
-
import path from "node:path";
|
|
11
|
-
import Database from "better-sqlite3";
|
|
12
|
-
import * as sqliteVec from "sqlite-vec";
|
|
13
|
-
export const DEFAULT_SQLITE_VEC_LOADER = (db) => sqliteVec.load(db);
|
|
14
|
-
// ---------------------------------------------------------------------------
|
|
15
|
-
// Constants
|
|
16
|
-
// ---------------------------------------------------------------------------
|
|
17
|
-
export const ENGINE_EMBED_META_VERSION = "oms-embed-meta-v1";
|
|
18
|
-
// ---------------------------------------------------------------------------
|
|
19
|
-
// Internal helpers
|
|
20
|
-
// ---------------------------------------------------------------------------
|
|
21
|
-
/** Pack a Float32Array as raw-bytes Buffer for sqlite-vec MATCH queries. */
|
|
22
|
-
function vecBuf(vector) {
|
|
23
|
-
return Buffer.from(vector.buffer, vector.byteOffset, vector.byteLength);
|
|
24
|
-
}
|
|
25
|
-
/** Simple tokeniser for FTS5 query building — mirrors the legacy search layer. */
|
|
26
|
-
function makeFtsQuery(text) {
|
|
27
|
-
const terms = text
|
|
28
|
-
.toLowerCase()
|
|
29
|
-
.replace(/[^a-z0-9가-힣\s]/g, " ")
|
|
30
|
-
.split(/\s+/)
|
|
31
|
-
.filter((t) => t.length >= 2)
|
|
32
|
-
.slice(0, 32);
|
|
33
|
-
if (terms.length === 0)
|
|
34
|
-
return "";
|
|
35
|
-
return terms.map((t) => `${t.replace(/"/g, "")}*`).join(" OR ");
|
|
36
|
-
}
|
|
37
|
-
function ensureCoreSchema(db) {
|
|
38
|
-
db.pragma("journal_mode = WAL");
|
|
39
|
-
// (1) engine_meta — single-row embedding identity metadata
|
|
40
|
-
// updated_at is initialised at schema creation and updated again only when
|
|
41
|
-
// writeEmbeddingIdentity() is called.
|
|
42
|
-
db.exec(`
|
|
43
|
-
CREATE TABLE IF NOT EXISTS engine_meta (
|
|
44
|
-
id INTEGER PRIMARY KEY CHECK (id = 1),
|
|
45
|
-
embedding_provider TEXT,
|
|
46
|
-
embedding_model TEXT,
|
|
47
|
-
embedding_dimensions INTEGER,
|
|
48
|
-
embedding_fingerprint TEXT,
|
|
49
|
-
embedding_schema_version TEXT NOT NULL,
|
|
50
|
-
updated_at TEXT NOT NULL
|
|
51
|
-
);
|
|
52
|
-
`);
|
|
53
|
-
db.prepare("INSERT OR IGNORE INTO engine_meta (id, embedding_schema_version, updated_at) VALUES (1, ?, strftime('%Y-%m-%dT%H:%M:%fZ','now'))").run(ENGINE_EMBED_META_VERSION);
|
|
54
|
-
// (2) engine_chunk_meta + engine_chunk_fts
|
|
55
|
-
db.exec(`
|
|
56
|
-
CREATE TABLE IF NOT EXISTS engine_chunk_meta (
|
|
57
|
-
rowid INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
58
|
-
doc_path TEXT NOT NULL,
|
|
59
|
-
ordinal INTEGER NOT NULL,
|
|
60
|
-
text TEXT NOT NULL,
|
|
61
|
-
sha TEXT NOT NULL,
|
|
62
|
-
UNIQUE(doc_path, ordinal)
|
|
63
|
-
);
|
|
64
|
-
|
|
65
|
-
CREATE VIRTUAL TABLE IF NOT EXISTS engine_chunk_fts USING fts5(
|
|
66
|
-
doc_path UNINDEXED,
|
|
67
|
-
ordinal UNINDEXED,
|
|
68
|
-
text
|
|
69
|
-
);
|
|
70
|
-
`);
|
|
71
|
-
}
|
|
72
|
-
function vecTableExists(db) {
|
|
73
|
-
const row = db
|
|
74
|
-
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='engine_chunk_vec'")
|
|
75
|
-
.get();
|
|
76
|
-
return row !== undefined;
|
|
77
|
-
}
|
|
78
|
-
function createVecTable(db, dimensions) {
|
|
79
|
-
db.exec(`CREATE VIRTUAL TABLE engine_chunk_vec USING vec0(embedding float[${dimensions}]);`);
|
|
80
|
-
}
|
|
81
|
-
// ---------------------------------------------------------------------------
|
|
82
|
-
// Public factories
|
|
83
|
-
// ---------------------------------------------------------------------------
|
|
84
|
-
/**
|
|
85
|
-
* Open (or create) an engine store at `dbPath` in CORE-ONLY mode.
|
|
86
|
-
*
|
|
87
|
-
* Core-only mode:
|
|
88
|
-
* - creates core schema (meta + FTS + engine_meta)
|
|
89
|
-
* - does NOT create vec0
|
|
90
|
-
* - queryVec() throws
|
|
91
|
-
* - upsert() throws
|
|
92
|
-
*/
|
|
93
|
-
export function openEngineStoreCore(dbPath) {
|
|
94
|
-
mkdirSync(path.dirname(dbPath), { recursive: true });
|
|
95
|
-
const db = new Database(dbPath);
|
|
96
|
-
ensureCoreSchema(db);
|
|
97
|
-
// Optional: load sqlite-vec so lex-only sync can delete stale vectors for
|
|
98
|
-
// modified chunks (prevents silent cross-model reuse on later vec queries).
|
|
99
|
-
let stmtDeleteVec = null;
|
|
100
|
-
let stmtClearDocVec = null;
|
|
101
|
-
try {
|
|
102
|
-
DEFAULT_SQLITE_VEC_LOADER(db);
|
|
103
|
-
if (vecTableExists(db)) {
|
|
104
|
-
stmtDeleteVec = db.prepare("DELETE FROM engine_chunk_vec WHERE rowid = ?");
|
|
105
|
-
stmtClearDocVec = db.prepare("DELETE FROM engine_chunk_vec WHERE rowid IN (SELECT rowid FROM engine_chunk_meta WHERE doc_path = ?)");
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
catch {
|
|
109
|
-
// sqlite-vec unavailable or vec table absent — core-only mode still works.
|
|
110
|
-
}
|
|
111
|
-
// Prepared statements — core only
|
|
112
|
-
const stmtGetMeta = db.prepare("SELECT rowid, doc_path, ordinal, text, sha FROM engine_chunk_meta WHERE doc_path = ? AND ordinal = ?");
|
|
113
|
-
const stmtInsertMeta = db.prepare("INSERT INTO engine_chunk_meta (doc_path, ordinal, text, sha) VALUES (?, ?, ?, ?)");
|
|
114
|
-
const stmtUpdateMeta = db.prepare("UPDATE engine_chunk_meta SET text = ?, sha = ? WHERE doc_path = ? AND ordinal = ?");
|
|
115
|
-
const stmtDeleteFts = db.prepare("DELETE FROM engine_chunk_fts WHERE rowid = ?");
|
|
116
|
-
const stmtInsertFts = db.prepare("INSERT INTO engine_chunk_fts(rowid, doc_path, ordinal, text) VALUES (?, ?, ?, ?)");
|
|
117
|
-
const stmtQueryLex = db.prepare(`SELECT m.doc_path, m.ordinal, bm25(engine_chunk_fts) AS rank
|
|
118
|
-
FROM engine_chunk_fts
|
|
119
|
-
JOIN engine_chunk_meta m ON m.rowid = engine_chunk_fts.rowid
|
|
120
|
-
WHERE engine_chunk_fts MATCH ?
|
|
121
|
-
ORDER BY rank
|
|
122
|
-
LIMIT ?`);
|
|
123
|
-
const stmtGetShas = db.prepare("SELECT ordinal, sha FROM engine_chunk_meta WHERE doc_path = ?");
|
|
124
|
-
const stmtClearDocFts = db.prepare("DELETE FROM engine_chunk_fts WHERE rowid IN (SELECT rowid FROM engine_chunk_meta WHERE doc_path = ?)");
|
|
125
|
-
const stmtClearDocMeta = db.prepare("DELETE FROM engine_chunk_meta WHERE doc_path = ?");
|
|
126
|
-
const stmtListDocPaths = db.prepare("SELECT DISTINCT doc_path FROM engine_chunk_meta");
|
|
127
|
-
const stmtReadIdentity = db.prepare("SELECT embedding_provider, embedding_model, embedding_dimensions, embedding_fingerprint FROM engine_meta WHERE id = 1");
|
|
128
|
-
const stmtWriteIdentity = db.prepare("UPDATE engine_meta SET embedding_provider = ?, embedding_model = ?, embedding_dimensions = ?, embedding_fingerprint = ?, updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now') WHERE id = 1");
|
|
129
|
-
const doUpsertLex = db.transaction((rows) => {
|
|
130
|
-
for (const row of rows) {
|
|
131
|
-
const existing = stmtGetMeta.get(row.docPath, row.ordinal);
|
|
132
|
-
if (existing) {
|
|
133
|
-
const id = BigInt(existing.rowid);
|
|
134
|
-
stmtDeleteVec?.run(id);
|
|
135
|
-
stmtDeleteFts.run(id);
|
|
136
|
-
stmtUpdateMeta.run(row.text, row.sha, row.docPath, row.ordinal);
|
|
137
|
-
stmtInsertFts.run(id, row.docPath, row.ordinal, row.text);
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
const info = stmtInsertMeta.run(row.docPath, row.ordinal, row.text, row.sha);
|
|
141
|
-
const id = BigInt(info.lastInsertRowid);
|
|
142
|
-
stmtInsertFts.run(id, row.docPath, row.ordinal, row.text);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
const doClearDocument = db.transaction((docPath) => {
|
|
147
|
-
stmtClearDocVec?.run(docPath);
|
|
148
|
-
stmtClearDocFts.run(docPath);
|
|
149
|
-
stmtClearDocMeta.run(docPath);
|
|
150
|
-
});
|
|
151
|
-
return {
|
|
152
|
-
capabilities() {
|
|
153
|
-
return { vecAvailable: false };
|
|
154
|
-
},
|
|
155
|
-
upsertLex(rows) {
|
|
156
|
-
doUpsertLex(rows);
|
|
157
|
-
},
|
|
158
|
-
// VectorStore
|
|
159
|
-
upsert() {
|
|
160
|
-
throw new Error("EngineStore(core-only): vector upsert is unavailable.");
|
|
161
|
-
},
|
|
162
|
-
queryVec() {
|
|
163
|
-
throw new Error("EngineStore(core-only): vector queries are unavailable.");
|
|
164
|
-
},
|
|
165
|
-
queryLex(text, k) {
|
|
166
|
-
const ftsQ = makeFtsQuery(text);
|
|
167
|
-
if (!ftsQ)
|
|
168
|
-
return [];
|
|
169
|
-
let rows;
|
|
170
|
-
try {
|
|
171
|
-
rows = stmtQueryLex.all(ftsQ, k);
|
|
172
|
-
}
|
|
173
|
-
catch {
|
|
174
|
-
return [];
|
|
175
|
-
}
|
|
176
|
-
return rows.map((r, index) => ({
|
|
177
|
-
docPath: r.doc_path,
|
|
178
|
-
chunkOrdinal: r.ordinal,
|
|
179
|
-
score: 1 / (1 + index),
|
|
180
|
-
}));
|
|
181
|
-
},
|
|
182
|
-
close() {
|
|
183
|
-
db.pragma("wal_checkpoint(PASSIVE)");
|
|
184
|
-
db.close();
|
|
185
|
-
},
|
|
186
|
-
// EngineStore extensions
|
|
187
|
-
readEmbeddingIdentity() {
|
|
188
|
-
const row = stmtReadIdentity.get();
|
|
189
|
-
if (!row)
|
|
190
|
-
return null;
|
|
191
|
-
if (!row.embedding_provider ||
|
|
192
|
-
!row.embedding_model ||
|
|
193
|
-
row.embedding_dimensions === null ||
|
|
194
|
-
!row.embedding_fingerprint) {
|
|
195
|
-
return null;
|
|
196
|
-
}
|
|
197
|
-
return {
|
|
198
|
-
provider: row.embedding_provider,
|
|
199
|
-
model: row.embedding_model,
|
|
200
|
-
dimensions: row.embedding_dimensions,
|
|
201
|
-
fingerprint: row.embedding_fingerprint,
|
|
202
|
-
};
|
|
203
|
-
},
|
|
204
|
-
writeEmbeddingIdentity(identity) {
|
|
205
|
-
stmtWriteIdentity.run(identity.provider, identity.model, identity.dimensions, identity.fingerprint);
|
|
206
|
-
},
|
|
207
|
-
getShas(docPath) {
|
|
208
|
-
const rows = stmtGetShas.all(docPath);
|
|
209
|
-
const out = new Map();
|
|
210
|
-
for (const r of rows)
|
|
211
|
-
out.set(r.ordinal, r.sha);
|
|
212
|
-
return out;
|
|
213
|
-
},
|
|
214
|
-
clearDocument(docPath) {
|
|
215
|
-
doClearDocument(docPath);
|
|
216
|
-
},
|
|
217
|
-
listDocPaths() {
|
|
218
|
-
return stmtListDocPaths.all().map((r) => r.doc_path);
|
|
219
|
-
},
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Open (or create) an engine store at `dbPath` with vector capability.
|
|
224
|
-
*
|
|
225
|
-
* Vector-capable mode still guarantees core schema exists even when sqlite-vec
|
|
226
|
-
* cannot be loaded, but in that case vecAvailable=false and vector operations
|
|
227
|
-
* throw.
|
|
228
|
-
*/
|
|
229
|
-
export function openEngineStore(dbPath, dimensions, opts = {}) {
|
|
230
|
-
mkdirSync(path.dirname(dbPath), { recursive: true });
|
|
231
|
-
const db = new Database(dbPath);
|
|
232
|
-
ensureCoreSchema(db);
|
|
233
|
-
const sqliteVecLoader = opts.sqliteVecLoader ?? DEFAULT_SQLITE_VEC_LOADER;
|
|
234
|
-
let vecLoaded = false;
|
|
235
|
-
try {
|
|
236
|
-
sqliteVecLoader(db);
|
|
237
|
-
vecLoaded = true;
|
|
238
|
-
}
|
|
239
|
-
catch {
|
|
240
|
-
vecLoaded = false;
|
|
241
|
-
}
|
|
242
|
-
// Create vec table only when the extension is loaded.
|
|
243
|
-
let vecAvailable = false;
|
|
244
|
-
if (vecLoaded) {
|
|
245
|
-
if (!vecTableExists(db)) {
|
|
246
|
-
try {
|
|
247
|
-
createVecTable(db, dimensions);
|
|
248
|
-
vecAvailable = true;
|
|
249
|
-
}
|
|
250
|
-
catch {
|
|
251
|
-
vecAvailable = false;
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
else {
|
|
255
|
-
vecAvailable = true;
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
// Prepared statements (core)
|
|
259
|
-
const stmtGetMeta = db.prepare("SELECT rowid, doc_path, ordinal, text, sha FROM engine_chunk_meta WHERE doc_path = ? AND ordinal = ?");
|
|
260
|
-
const stmtInsertMeta = db.prepare("INSERT INTO engine_chunk_meta (doc_path, ordinal, text, sha) VALUES (?, ?, ?, ?)");
|
|
261
|
-
const stmtUpdateMeta = db.prepare("UPDATE engine_chunk_meta SET text = ?, sha = ? WHERE doc_path = ? AND ordinal = ?");
|
|
262
|
-
const stmtDeleteFts = db.prepare("DELETE FROM engine_chunk_fts WHERE rowid = ?");
|
|
263
|
-
const stmtInsertFts = db.prepare("INSERT INTO engine_chunk_fts(rowid, doc_path, ordinal, text) VALUES (?, ?, ?, ?)");
|
|
264
|
-
const stmtQueryLex = db.prepare(`SELECT m.doc_path, m.ordinal, bm25(engine_chunk_fts) AS rank
|
|
265
|
-
FROM engine_chunk_fts
|
|
266
|
-
JOIN engine_chunk_meta m ON m.rowid = engine_chunk_fts.rowid
|
|
267
|
-
WHERE engine_chunk_fts MATCH ?
|
|
268
|
-
ORDER BY rank
|
|
269
|
-
LIMIT ?`);
|
|
270
|
-
const stmtGetShas = db.prepare("SELECT ordinal, sha FROM engine_chunk_meta WHERE doc_path = ?");
|
|
271
|
-
const stmtClearDocFts = db.prepare("DELETE FROM engine_chunk_fts WHERE rowid IN (SELECT rowid FROM engine_chunk_meta WHERE doc_path = ?)");
|
|
272
|
-
const stmtClearDocMeta = db.prepare("DELETE FROM engine_chunk_meta WHERE doc_path = ?");
|
|
273
|
-
const stmtListDocPaths = db.prepare("SELECT DISTINCT doc_path FROM engine_chunk_meta");
|
|
274
|
-
const stmtReadIdentity = db.prepare("SELECT embedding_provider, embedding_model, embedding_dimensions, embedding_fingerprint FROM engine_meta WHERE id = 1");
|
|
275
|
-
const stmtWriteIdentity = db.prepare("UPDATE engine_meta SET embedding_provider = ?, embedding_model = ?, embedding_dimensions = ?, embedding_fingerprint = ?, updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now') WHERE id = 1");
|
|
276
|
-
// Prepared statements (vec)
|
|
277
|
-
const stmtDeleteVec = vecAvailable
|
|
278
|
-
? db.prepare("DELETE FROM engine_chunk_vec WHERE rowid = ?")
|
|
279
|
-
: null;
|
|
280
|
-
const stmtInsertVec = vecAvailable
|
|
281
|
-
? db.prepare("INSERT INTO engine_chunk_vec(rowid, embedding) VALUES (?, ?)")
|
|
282
|
-
: null;
|
|
283
|
-
const stmtQueryVec = vecAvailable
|
|
284
|
-
? db.prepare(`SELECT m.doc_path, m.ordinal, v.distance
|
|
285
|
-
FROM engine_chunk_vec v
|
|
286
|
-
JOIN engine_chunk_meta m ON m.rowid = v.rowid
|
|
287
|
-
WHERE v.embedding MATCH ? AND k = ?
|
|
288
|
-
ORDER BY v.distance`)
|
|
289
|
-
: null;
|
|
290
|
-
const stmtClearDocVec = vecAvailable
|
|
291
|
-
? db.prepare("DELETE FROM engine_chunk_vec WHERE rowid IN (SELECT rowid FROM engine_chunk_meta WHERE doc_path = ?)")
|
|
292
|
-
: null;
|
|
293
|
-
const doClearDocument = db.transaction((docPath) => {
|
|
294
|
-
stmtClearDocVec?.run(docPath);
|
|
295
|
-
stmtClearDocFts.run(docPath);
|
|
296
|
-
stmtClearDocMeta.run(docPath);
|
|
297
|
-
});
|
|
298
|
-
const doUpsertLex = db.transaction((rows) => {
|
|
299
|
-
for (const row of rows) {
|
|
300
|
-
const existing = stmtGetMeta.get(row.docPath, row.ordinal);
|
|
301
|
-
if (existing) {
|
|
302
|
-
const id = BigInt(existing.rowid);
|
|
303
|
-
stmtDeleteFts.run(id);
|
|
304
|
-
stmtUpdateMeta.run(row.text, row.sha, row.docPath, row.ordinal);
|
|
305
|
-
stmtInsertFts.run(id, row.docPath, row.ordinal, row.text);
|
|
306
|
-
}
|
|
307
|
-
else {
|
|
308
|
-
const info = stmtInsertMeta.run(row.docPath, row.ordinal, row.text, row.sha);
|
|
309
|
-
const id = BigInt(info.lastInsertRowid);
|
|
310
|
-
stmtInsertFts.run(id, row.docPath, row.ordinal, row.text);
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
});
|
|
314
|
-
const doUpsert = db.transaction((rows) => {
|
|
315
|
-
if (!vecAvailable || !stmtInsertVec || !stmtDeleteVec) {
|
|
316
|
-
throw new Error("EngineStore: vector layer unavailable (sqlite-vec not loaded).");
|
|
317
|
-
}
|
|
318
|
-
for (const row of rows) {
|
|
319
|
-
const existing = stmtGetMeta.get(row.docPath, row.ordinal);
|
|
320
|
-
if (existing) {
|
|
321
|
-
const id = BigInt(existing.rowid);
|
|
322
|
-
stmtDeleteVec.run(id);
|
|
323
|
-
stmtDeleteFts.run(id);
|
|
324
|
-
stmtUpdateMeta.run(row.text, row.sha, row.docPath, row.ordinal);
|
|
325
|
-
stmtInsertVec.run(id, vecBuf(row.vector));
|
|
326
|
-
stmtInsertFts.run(id, row.docPath, row.ordinal, row.text);
|
|
327
|
-
}
|
|
328
|
-
else {
|
|
329
|
-
const info = stmtInsertMeta.run(row.docPath, row.ordinal, row.text, row.sha);
|
|
330
|
-
const id = BigInt(info.lastInsertRowid);
|
|
331
|
-
stmtInsertVec.run(id, vecBuf(row.vector));
|
|
332
|
-
stmtInsertFts.run(id, row.docPath, row.ordinal, row.text);
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
});
|
|
336
|
-
return {
|
|
337
|
-
capabilities() {
|
|
338
|
-
return { vecAvailable };
|
|
339
|
-
},
|
|
340
|
-
upsertLex(rows) {
|
|
341
|
-
doUpsertLex(rows);
|
|
342
|
-
},
|
|
343
|
-
readEmbeddingIdentity() {
|
|
344
|
-
const row = stmtReadIdentity.get();
|
|
345
|
-
if (!row)
|
|
346
|
-
return null;
|
|
347
|
-
if (!row.embedding_provider ||
|
|
348
|
-
!row.embedding_model ||
|
|
349
|
-
row.embedding_dimensions === null ||
|
|
350
|
-
!row.embedding_fingerprint) {
|
|
351
|
-
return null;
|
|
352
|
-
}
|
|
353
|
-
return {
|
|
354
|
-
provider: row.embedding_provider,
|
|
355
|
-
model: row.embedding_model,
|
|
356
|
-
dimensions: row.embedding_dimensions,
|
|
357
|
-
fingerprint: row.embedding_fingerprint,
|
|
358
|
-
};
|
|
359
|
-
},
|
|
360
|
-
writeEmbeddingIdentity(identity) {
|
|
361
|
-
stmtWriteIdentity.run(identity.provider, identity.model, identity.dimensions, identity.fingerprint);
|
|
362
|
-
},
|
|
363
|
-
// VectorStore
|
|
364
|
-
upsert(rows) {
|
|
365
|
-
doUpsert(rows);
|
|
366
|
-
},
|
|
367
|
-
queryVec(vec, k) {
|
|
368
|
-
if (!stmtQueryVec) {
|
|
369
|
-
throw new Error("EngineStore: vector queries are unavailable (sqlite-vec not loaded).");
|
|
370
|
-
}
|
|
371
|
-
const buf = vecBuf(vec);
|
|
372
|
-
const rows = stmtQueryVec.all(buf, k);
|
|
373
|
-
return rows.map((r) => ({
|
|
374
|
-
docPath: r.doc_path,
|
|
375
|
-
chunkOrdinal: r.ordinal,
|
|
376
|
-
score: 1 / (1 + Math.max(0, r.distance)),
|
|
377
|
-
}));
|
|
378
|
-
},
|
|
379
|
-
queryLex(text, k) {
|
|
380
|
-
const ftsQ = makeFtsQuery(text);
|
|
381
|
-
if (!ftsQ)
|
|
382
|
-
return [];
|
|
383
|
-
let rows;
|
|
384
|
-
try {
|
|
385
|
-
rows = stmtQueryLex.all(ftsQ, k);
|
|
386
|
-
}
|
|
387
|
-
catch {
|
|
388
|
-
return [];
|
|
389
|
-
}
|
|
390
|
-
return rows.map((r, index) => ({
|
|
391
|
-
docPath: r.doc_path,
|
|
392
|
-
chunkOrdinal: r.ordinal,
|
|
393
|
-
score: 1 / (1 + index),
|
|
394
|
-
}));
|
|
395
|
-
},
|
|
396
|
-
close() {
|
|
397
|
-
db.pragma("wal_checkpoint(PASSIVE)");
|
|
398
|
-
db.close();
|
|
399
|
-
},
|
|
400
|
-
// EngineStore extensions
|
|
401
|
-
getShas(docPath) {
|
|
402
|
-
const rows = stmtGetShas.all(docPath);
|
|
403
|
-
const out = new Map();
|
|
404
|
-
for (const r of rows)
|
|
405
|
-
out.set(r.ordinal, r.sha);
|
|
406
|
-
return out;
|
|
407
|
-
},
|
|
408
|
-
clearDocument(docPath) {
|
|
409
|
-
doClearDocument(docPath);
|
|
410
|
-
},
|
|
411
|
-
listDocPaths() {
|
|
412
|
-
return stmtListDocPaths.all().map((r) => r.doc_path);
|
|
413
|
-
},
|
|
414
|
-
};
|
|
415
|
-
}
|
|
416
|
-
//# sourceMappingURL=store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/engine/embed/store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AASxC,MAAM,CAAC,MAAM,yBAAyB,GAAoB,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AA4CrF,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,mBAAmB,CAAC;AAE7D,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,4EAA4E;AAC5E,SAAS,MAAM,CAAC,MAAoB;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AAC1E,CAAC;AAED,kFAAkF;AAClF,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,KAAK,GAAG,IAAI;SACf,WAAW,EAAE;SACb,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC;SAC/B,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;SAC5B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAqB;IAC7C,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEhC,2DAA2D;IAC3D,2EAA2E;IAC3E,sCAAsC;IACtC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;GAUP,CAAC,CAAC;IAEH,EAAE,CAAC,OAAO,CACR,kIAAkI,CACnI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEjC,2CAA2C;IAC3C,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;GAeP,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,EAAqB;IAC3C,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CAAC,+EAA+E,CAAC;SACxF,GAAG,EAAkC,CAAC;IACzC,OAAO,GAAG,KAAK,SAAS,CAAC;AAC3B,CAAC;AAED,SAAS,cAAc,CAAC,EAAqB,EAAE,UAAkB;IAC/D,EAAE,CAAC,IAAI,CACL,oEAAoE,UAAU,KAAK,CACpF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEhC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACrB,0EAA0E;IAC1E,4EAA4E;IAC5E,IAAI,aAAa,GAAoD,IAAI,CAAC;IAC1E,IAAI,eAAe,GAAoD,IAAI,CAAC;IAC5E,IAAI,CAAC;QACH,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,aAAa,GAAG,EAAE,CAAC,OAAO,CAAW,8CAA8C,CAAC,CAAC;YACrF,eAAe,GAAG,EAAE,CAAC,OAAO,CAC1B,sGAAsG,CACvG,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;IAC7E,CAAC;IAED,kCAAkC;IAClC,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAC5B,sGAAsG,CACvG,CAAC;IACF,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAC/B,kFAAkF,CACnF,CAAC;IACF,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAC/B,mFAAmF,CACpF,CAAC;IAEF,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAC9B,8CAA8C,CAC/C,CAAC;IACF,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAC9B,kFAAkF,CACnF,CAAC;IAEF,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAC7B;;;;;aAKS,CACV,CAAC;IAEF,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAC5B,+DAA+D,CAChE,CAAC;IAEF,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAChC,sGAAsG,CACvG,CAAC;IACF,MAAM,gBAAgB,GAAG,EAAE,CAAC,OAAO,CACjC,kDAAkD,CACnD,CAAC;IAEF,MAAM,gBAAgB,GAAG,EAAE,CAAC,OAAO,CACjC,iDAAiD,CAClD,CAAC;IAEF,MAAM,gBAAgB,GAAG,EAAE,CAAC,OAAO,CAMjC,uHAAuH,CACxH,CAAC;IAEF,MAAM,iBAAiB,GAAG,EAAE,CAAC,OAAO,CAClC,yLAAyL,CAC1L,CAAC;IAEF,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,IAA0B,EAAE,EAAE;QAChE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAClC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvB,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7E,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACxC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,OAAe,EAAE,EAAE;QACzD,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,YAAY;YACV,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QACjC,CAAC;QAED,SAAS,CAAC,IAA0B;YAClC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,cAAc;QACd,MAAM;YACJ,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,QAAQ;YACN,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QAED,QAAQ,CAAC,IAAY,EAAE,CAAS;YAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YACrB,IAAI,IAAgE,CAAC;YACrE,IAAI,CAAC;gBACH,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAa,EAAE,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC,CAAC,QAAQ;gBACnB,YAAY,EAAE,CAAC,CAAC,OAAO;gBACvB,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;aACvB,CAAC,CAAC,CAAC;QACN,CAAC;QAED,KAAK;YACH,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACrC,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;QAED,yBAAyB;QACzB,qBAAqB;YACnB,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,IACE,CAAC,GAAG,CAAC,kBAAkB;gBACvB,CAAC,GAAG,CAAC,eAAe;gBACpB,GAAG,CAAC,oBAAoB,KAAK,IAAI;gBACjC,CAAC,GAAG,CAAC,qBAAqB,EAC1B,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,GAAG,CAAC,kBAAkB;gBAChC,KAAK,EAAE,GAAG,CAAC,eAAe;gBAC1B,UAAU,EAAE,GAAG,CAAC,oBAAoB;gBACpC,WAAW,EAAE,GAAG,CAAC,qBAAqB;aACvC,CAAC;QACJ,CAAC;QAED,sBAAsB,CAAC,QAA2B;YAChD,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtG,CAAC;QAED,OAAO,CAAC,OAAe;YACrB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAChD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,aAAa,CAAC,OAAe;YAC3B,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAED,YAAY;YACV,OAAO,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,UAAkB,EAClB,OAAuD,EAAE;IAEzD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEhC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAErB,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,yBAAyB,CAAC;IAC1E,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC;QACH,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,sDAAsD;IACtD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBAC/B,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAC5B,sGAAsG,CACvG,CAAC;IACF,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAC/B,kFAAkF,CACnF,CAAC;IACF,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAC/B,mFAAmF,CACpF,CAAC;IAEF,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAC9B,8CAA8C,CAC/C,CAAC;IACF,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAC9B,kFAAkF,CACnF,CAAC;IAEF,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAC7B;;;;;aAKS,CACV,CAAC;IAEF,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAC5B,+DAA+D,CAChE,CAAC;IAEF,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAChC,sGAAsG,CACvG,CAAC;IACF,MAAM,gBAAgB,GAAG,EAAE,CAAC,OAAO,CACjC,kDAAkD,CACnD,CAAC;IAEF,MAAM,gBAAgB,GAAG,EAAE,CAAC,OAAO,CACjC,iDAAiD,CAClD,CAAC;IAEF,MAAM,gBAAgB,GAAG,EAAE,CAAC,OAAO,CAMjC,uHAAuH,CACxH,CAAC;IAEF,MAAM,iBAAiB,GAAG,EAAE,CAAC,OAAO,CAClC,yLAAyL,CAC1L,CAAC;IAEF,4BAA4B;IAC5B,MAAM,aAAa,GAAG,YAAY;QAChC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAW,8CAA8C,CAAC;QACtE,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,aAAa,GAAG,YAAY;QAChC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAmB,8DAA8D,CAAC;QAC9F,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,YAAY,GAAG,YAAY;QAC/B,CAAC,CAAC,EAAE,CAAC,OAAO,CACR;;;;6BAIqB,CACtB;QACH,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,eAAe,GAAG,YAAY;QAClC,CAAC,CAAC,EAAE,CAAC,OAAO,CACR,sGAAsG,CACvG;QACH,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,eAAe,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,OAAe,EAAE,EAAE;QACzD,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,IAA0B,EAAE,EAAE;QAChE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAClC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7E,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACxC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,IAAqD,EAAE,EAAE;QACxF,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAClC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1C,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7E,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACxC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1C,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,YAAY;YACV,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1B,CAAC;QAED,SAAS,CAAC,IAA0B;YAClC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,qBAAqB;YACnB,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,IACE,CAAC,GAAG,CAAC,kBAAkB;gBACvB,CAAC,GAAG,CAAC,eAAe;gBACpB,GAAG,CAAC,oBAAoB,KAAK,IAAI;gBACjC,CAAC,GAAG,CAAC,qBAAqB,EAC1B,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,GAAG,CAAC,kBAAkB;gBAChC,KAAK,EAAE,GAAG,CAAC,eAAe;gBAC1B,UAAU,EAAE,GAAG,CAAC,oBAAoB;gBACpC,WAAW,EAAE,GAAG,CAAC,qBAAqB;aACvC,CAAC;QACJ,CAAC;QAED,sBAAsB,CAAC,QAA2B;YAChD,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtG,CAAC;QAED,cAAc;QACd,MAAM,CAAC,IAAqD;YAC1D,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAED,QAAQ,CAAC,GAAiB,EAAE,CAAS;YACnC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAa,EAAE,CAAC,CAAC;gBACjC,OAAO,EAAE,CAAC,CAAC,QAAQ;gBACnB,YAAY,EAAE,CAAC,CAAC,OAAO;gBACvB,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;aACzC,CAAC,CAAC,CAAC;QACN,CAAC;QAED,QAAQ,CAAC,IAAY,EAAE,CAAS;YAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YACrB,IAAI,IAAgE,CAAC;YACrE,IAAI,CAAC;gBACH,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAa,EAAE,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC,CAAC,QAAQ;gBACnB,YAAY,EAAE,CAAC,CAAC,OAAO;gBACvB,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;aACvB,CAAC,CAAC,CAAC;QACN,CAAC;QAED,KAAK;YACH,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACrC,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;QAED,yBAAyB;QACzB,OAAO,CAAC,OAAe;YACrB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAChD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,aAAa,CAAC,OAAe;YAC3B,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAED,YAAY;YACV,OAAO,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Vault → engine store synchronisation.
|
|
3
|
-
*
|
|
4
|
-
* RALPLAN constraints (approved):
|
|
5
|
-
* - vec/HyDE require sqlite-vec + real embeddings; no fake/hash fallback.
|
|
6
|
-
* - embed=false is a lex-only sync: it MUST NOT fabricate vectors.
|
|
7
|
-
* - Fingerprint mismatch fails fast by default; destructive rebuild only with explicit force.
|
|
8
|
-
*/
|
|
9
|
-
import type { ChunkerOptions } from "../types.js";
|
|
10
|
-
import type { EmbeddingIdentity } from "./store.js";
|
|
11
|
-
export interface EngineSyncOptions {
|
|
12
|
-
/** Absolute path to the vault root (OMS_VAULT). */
|
|
13
|
-
vault: string;
|
|
14
|
-
/** Logical collection name stored in the index (default: "vault"). */
|
|
15
|
-
collection?: string;
|
|
16
|
-
/** Vault-relative sub-path to sync (default: entire vault). */
|
|
17
|
-
collectionPath?: string;
|
|
18
|
-
/** Absolute path to the SQLite engine store database file. Default: <vault>/.oms/engine-store.sqlite */
|
|
19
|
-
dbPath?: string;
|
|
20
|
-
/** When false, updates lexical index only (no vectors). Default: true. */
|
|
21
|
-
embed?: boolean;
|
|
22
|
-
/** Allow destructive rebuild when embedding identity mismatches. Default: false. */
|
|
23
|
-
force?: boolean;
|
|
24
|
-
/** Explicit embedding provider id (OMS_EMBEDDING_PROVIDER). */
|
|
25
|
-
embeddingProvider?: string;
|
|
26
|
-
/** Explicit embedding model/id/path (OMS_EMBEDDING_MODEL). */
|
|
27
|
-
embeddingModel?: string;
|
|
28
|
-
/** Chunker overrides (maxTokens, overlapRatio). */
|
|
29
|
-
chunkerOpts?: Partial<ChunkerOptions>;
|
|
30
|
-
}
|
|
31
|
-
export interface EngineSyncResult {
|
|
32
|
-
available: boolean;
|
|
33
|
-
reason?: string;
|
|
34
|
-
warnings?: string[];
|
|
35
|
-
collection: string;
|
|
36
|
-
dbPath: string;
|
|
37
|
-
scanned: number;
|
|
38
|
-
added: number;
|
|
39
|
-
updated: number;
|
|
40
|
-
skipped: number;
|
|
41
|
-
storedIdentity?: EmbeddingIdentity;
|
|
42
|
-
configuredIdentity?: EmbeddingIdentity;
|
|
43
|
-
}
|
|
44
|
-
export declare function walkMarkdown(dir: string, base: string): AsyncGenerator<string>;
|
|
45
|
-
export declare function syncEngineStore(opts: EngineSyncOptions): Promise<EngineSyncResult>;
|