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
package/dist/cli/linkify.js
CHANGED
|
@@ -9,50 +9,9 @@
|
|
|
9
9
|
* `writeNote`, which keeps path safety, the concept contract, and the
|
|
10
10
|
* postcondition read-back unduplicated here.
|
|
11
11
|
*/
|
|
12
|
-
import {
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
15
|
-
import { mapWithConcurrency, walkVaultMarkdown } from "../conventions/vault-walk.js";
|
|
16
|
-
import { writeNote } from "../capture/safe.js";
|
|
17
|
-
import { resolveConcept } from "../core/ontology/resolver.js";
|
|
18
|
-
import { applyLinks, hashBody } from "../engine/linkify/apply.js";
|
|
19
|
-
import { suggestLinks, termBoundNotes } from "../engine/linkify/suggest.js";
|
|
20
|
-
import { validateVaultLintFolder } from "../engine/conventions/vault-lint.js";
|
|
21
|
-
import { resolveActiveOntology } from "../ontology/active.js";
|
|
22
|
-
/** Parallel note reads; the walk itself is cheap, contents are the hot cost. */
|
|
23
|
-
const READ_CONCURRENCY = 16;
|
|
24
|
-
/** Flatten an unknown frontmatter `aliases` value to trimmed non-empty strings. */
|
|
25
|
-
function aliasStrings(value) {
|
|
26
|
-
if (Array.isArray(value))
|
|
27
|
-
return value.flatMap(aliasStrings);
|
|
28
|
-
if (typeof value !== "string")
|
|
29
|
-
return [];
|
|
30
|
-
const trimmed = value.trim();
|
|
31
|
-
return trimmed ? [trimmed] : [];
|
|
32
|
-
}
|
|
33
|
-
/** Read every markdown note in the vault, parsed into body + surface forms. */
|
|
34
|
-
async function scanVault(vault, ontology) {
|
|
35
|
-
const paths = [];
|
|
36
|
-
for await (const notePath of walkVaultMarkdown(vault))
|
|
37
|
-
paths.push(notePath);
|
|
38
|
-
return mapWithConcurrency(paths, READ_CONCURRENCY, async (notePath) => {
|
|
39
|
-
const raw = await readFile(path.join(vault, notePath), "utf-8");
|
|
40
|
-
const parsed = parseNote(raw);
|
|
41
|
-
return {
|
|
42
|
-
path: notePath,
|
|
43
|
-
body: parsed.body,
|
|
44
|
-
concept: resolveConcept(ontology, notePath)?.concept ?? null,
|
|
45
|
-
aliases: aliasStrings(parsed.frontmatter["aliases"]),
|
|
46
|
-
};
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
/** True when `notePath` sits inside `folder` (or when no scope was requested). */
|
|
50
|
-
function inScope(notePath, folder) {
|
|
51
|
-
return folder === undefined || notePath.startsWith(`${folder}/`);
|
|
52
|
-
}
|
|
53
|
-
function toTermNote(note) {
|
|
54
|
-
return { path: note.path, concept: note.concept, aliases: note.aliases };
|
|
55
|
-
}
|
|
12
|
+
import { linkifyVault } from "../kernel/link/workflow.js";
|
|
13
|
+
import { validateVaultLintFolder } from "../kernel/engine/conventions/vault-lint.js";
|
|
14
|
+
import { resolveActiveOntology } from "../kernel/ontology/active.js";
|
|
56
15
|
function describeCandidate(candidate) {
|
|
57
16
|
const ambiguity = candidate.ambiguous ? ` (ambiguous: ${candidate.rivalPaths.join(", ")})` : "";
|
|
58
17
|
return ` ${candidate.matchedText} → ${candidate.renderedReplacement} [${candidate.targetPath}]${ambiguity}`;
|
|
@@ -63,20 +22,6 @@ function reportNote(notePath, candidates) {
|
|
|
63
22
|
for (const candidate of candidates)
|
|
64
23
|
console.log(describeCandidate(candidate));
|
|
65
24
|
}
|
|
66
|
-
/** Persist one note's candidates through the capture kernel. */
|
|
67
|
-
async function applyNote(vault, ontology, note, candidates) {
|
|
68
|
-
const result = await applyLinks({
|
|
69
|
-
body: note.body,
|
|
70
|
-
baseContentHash: hashBody(note.body),
|
|
71
|
-
accepted: candidates,
|
|
72
|
-
writeNote,
|
|
73
|
-
target: { target: { vault, source: "explicit" }, ontology, notePath: note.path },
|
|
74
|
-
});
|
|
75
|
-
if (result.applied)
|
|
76
|
-
return true;
|
|
77
|
-
console.error(`[oms] linkify skipped ${note.path}: ${result.reason}`);
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
25
|
/**
|
|
81
26
|
* Scan (and optionally link) a vault, restricting link TARGETS to notes bound
|
|
82
27
|
* to the `term` concept.
|
|
@@ -89,25 +34,25 @@ export async function runLinkify(options) {
|
|
|
89
34
|
try {
|
|
90
35
|
const { ontology } = await resolveActiveOntology(options.vault);
|
|
91
36
|
await validateVaultLintFolder(options.vault, ontology, options.folder);
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
const scoped = notes.filter((note) => inScope(note.path, options.folder));
|
|
95
|
-
console.log(`\nOh My Second Brain linkify: ${String(scoped.length)} note(s) in scope, ${String(targets.length)} term note(s) available as link targets.`);
|
|
37
|
+
const workflow = await linkifyVault({ vault: options.vault, source: "explicit", ontology }, { folder: options.folder, apply: options.apply });
|
|
38
|
+
console.log(`\nOh My Second Brain linkify: ${String(workflow.notesInScope)} note(s) in scope, ${String(workflow.targetNotes)} term note(s) available as link targets.`);
|
|
96
39
|
let candidateCount = 0;
|
|
97
40
|
let appliedNotes = 0;
|
|
98
|
-
for (const
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
41
|
+
for (const proposal of workflow.candidates) {
|
|
42
|
+
candidateCount += proposal.candidates.length;
|
|
43
|
+
reportNote(proposal.notePath, proposal.candidates);
|
|
44
|
+
if (proposal.outcome !== undefined) {
|
|
45
|
+
if (proposal.outcome.result.applied) {
|
|
46
|
+
appliedNotes++;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
console.error(`[oms] linkify skipped ${proposal.notePath}: ${proposal.outcome.result.reason}`);
|
|
50
|
+
}
|
|
106
51
|
}
|
|
107
52
|
}
|
|
108
53
|
console.log(options.apply
|
|
109
54
|
? `\n${String(candidateCount)} candidate(s); applied to ${String(appliedNotes)} note(s).\n`
|
|
110
|
-
: `\n${String(candidateCount)} candidate(s) proposed across ${String(
|
|
55
|
+
: `\n${String(candidateCount)} candidate(s) proposed across ${String(workflow.notesInScope)} note(s). Report only — nothing was written. Re-run with --apply --yes to write.\n`);
|
|
111
56
|
return 0;
|
|
112
57
|
}
|
|
113
58
|
catch (error) {
|
package/dist/cli/linkify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linkify.js","sourceRoot":"","sources":["../../src/cli/linkify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"linkify.js","sourceRoot":"","sources":["../../src/cli/linkify.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/oms.d.ts
CHANGED
|
@@ -5,5 +5,5 @@ export { runDoctor, runLint } from "./doctor-lint.js";
|
|
|
5
5
|
export { runAudit } from "./audit.js";
|
|
6
6
|
export { formatLinkResult, runLink, } from "./link-command.js";
|
|
7
7
|
export { runLinkify } from "./linkify.js";
|
|
8
|
-
export { runSetup, type SetupPrompt, } from "./setup-command.js";
|
|
8
|
+
export { runSetup, type SetupPrompt, type SetupEmbeddingDescriptor, } from "./setup-command.js";
|
|
9
9
|
export { maybePrintUpdateNotice } from "./update-notice.js";
|
package/dist/cli/oms.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { realpathSync } from "node:fs";
|
|
2
|
+
import { readFileSync, realpathSync } from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
|
-
import { runPostToolUse } from "../hook/post-tool-use.js";
|
|
6
|
-
import { runPreToolUse } from "../hook/pre-tool-use.js";
|
|
7
|
-
import { resolveEffectiveVault } from "../link/link.js";
|
|
5
|
+
import { runPostToolUse } from "../vendors/claude/hook/post-tool-use.js";
|
|
6
|
+
import { runPreToolUse } from "../vendors/claude/hook/pre-tool-use.js";
|
|
7
|
+
import { resolveEffectiveVault } from "../kernel/link/link.js";
|
|
8
8
|
import { runMcpServer } from "../mcp/server.js";
|
|
9
|
-
import { resolveBundledAssetPaths } from "../
|
|
9
|
+
import { resolveBundledAssetPaths } from "../kernel/runtime/assets.js";
|
|
10
10
|
import { parseCliArgs } from "./args.js";
|
|
11
11
|
import { runAudit } from "./audit.js";
|
|
12
12
|
import { runDoctor, runLint } from "./doctor-lint.js";
|
|
@@ -43,23 +43,48 @@ async function main() {
|
|
|
43
43
|
process.exitCode = 1;
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
|
-
let { command, vault, vaultExplicit, yes, apply, installClaude, suggestFields, runtime, dryRun, executeExternal, checkUpdate, timeoutMs, agentVault, verbose, json, maxPerConcept, folders, conventionNote, unknownFlags, } = parsedArgs;
|
|
46
|
+
let { command, vault, vaultExplicit, yes, apply, installClaude, suggestFields, runtime, dryRun, executeExternal, checkUpdate, timeoutMs, agentVault, verbose, json, maxPerConcept, folders, conventionNote, embeddingDescriptorPath, embeddingNoDefault, unknownFlags, } = parsedArgs;
|
|
47
47
|
// `mcp` keeps the FULL resolution result: the write surface trusts every
|
|
48
48
|
// source except `cwd`, so the server needs the source, not just the path.
|
|
49
49
|
let mcpTarget;
|
|
50
|
+
if ((command === "update" || command === "update-reconcile") && unknownFlags.length > 0) {
|
|
51
|
+
console.error(`[oms] Unsupported update option: ${unknownFlags.join(", ")}`);
|
|
52
|
+
process.exitCode = 1;
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
50
55
|
if (command === "mcp") {
|
|
51
56
|
mcpTarget = vaultExplicit
|
|
52
57
|
? { vault, scope: null, source: "explicit" }
|
|
53
58
|
: await resolveEffectiveVault(process.cwd(), process.env);
|
|
54
59
|
vault = mcpTarget.vault;
|
|
55
60
|
}
|
|
61
|
+
else if (command === "update" || command === "update-reconcile") {
|
|
62
|
+
if (!vaultExplicit) {
|
|
63
|
+
const resolved = await resolveEffectiveVault(process.cwd(), process.env);
|
|
64
|
+
if (resolved.source === "cwd") {
|
|
65
|
+
console.error("[oms] Refusing update: target-unverified; no verified vault target was resolved from the current directory. Pass --vault or configure OMS_VAULT instead.");
|
|
66
|
+
process.exitCode = 1;
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
vault = resolved.vault;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
56
72
|
else if (shouldResolveBridgeVault(command, vaultExplicit)) {
|
|
57
73
|
vault = (await resolveEffectiveVault(process.cwd(), process.env)).vault;
|
|
58
74
|
}
|
|
59
75
|
if (command === "setup") {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
76
|
+
let embeddingDescriptor;
|
|
77
|
+
if (embeddingDescriptorPath !== undefined) {
|
|
78
|
+
embeddingDescriptor = JSON.parse(readFileSync(embeddingDescriptorPath, "utf8"));
|
|
79
|
+
}
|
|
80
|
+
else if (embeddingNoDefault) {
|
|
81
|
+
embeddingDescriptor = null;
|
|
82
|
+
}
|
|
83
|
+
await runSetup({ vault, yes, installClaude, suggestFields, dryRun, embeddingDescriptor });
|
|
84
|
+
if (!dryRun)
|
|
85
|
+
await nonFatalGlobalWriteback(() => registerGlobalVault({ vault: path.resolve(vault), homeDir: undefined, overwrite: true }));
|
|
86
|
+
if (!dryRun)
|
|
87
|
+
await maybePrintUpdateNotice();
|
|
63
88
|
}
|
|
64
89
|
else if (command === "link") {
|
|
65
90
|
process.exitCode = await runLink({
|
|
@@ -135,10 +160,19 @@ async function main() {
|
|
|
135
160
|
process.exitCode = 1;
|
|
136
161
|
}
|
|
137
162
|
}
|
|
138
|
-
else {
|
|
163
|
+
else if (command === undefined) {
|
|
164
|
+
// No command at all is a request for help, not an error.
|
|
139
165
|
printUsage();
|
|
140
166
|
process.exitCode = 0;
|
|
141
167
|
}
|
|
168
|
+
else {
|
|
169
|
+
// An unrecognised command must fail. Printing usage and exiting 0 makes a
|
|
170
|
+
// typo look like success, and makes a removed command indistinguishable
|
|
171
|
+
// from a working one - which is how the retired qmd aliases went unnoticed.
|
|
172
|
+
console.error(`[oms] Unknown command: ${command}`);
|
|
173
|
+
printUsage();
|
|
174
|
+
process.exitCode = 1;
|
|
175
|
+
}
|
|
142
176
|
function hostContext() {
|
|
143
177
|
return {
|
|
144
178
|
vault,
|
|
@@ -152,7 +186,7 @@ async function main() {
|
|
|
152
186
|
checkUpdate,
|
|
153
187
|
timeoutMs,
|
|
154
188
|
unknownFlags,
|
|
155
|
-
adapterRoot: bundledAssets.
|
|
189
|
+
adapterRoot: bundledAssets.packageRoot,
|
|
156
190
|
};
|
|
157
191
|
}
|
|
158
192
|
}
|
package/dist/cli/oms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oms.js","sourceRoot":"","sources":["../../src/cli/oms.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"oms.js","sourceRoot":"","sources":["../../src/cli/oms.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SemanticQueryOptions, SemanticSearchMode } from "../
|
|
1
|
+
import type { SemanticQueryOptions, SemanticSearchMode } from "../kernel/search/semantic-contract.js";
|
|
2
2
|
export interface ParsedSemanticArgs {
|
|
3
3
|
readonly positional: readonly string[];
|
|
4
4
|
readonly options: Readonly<Record<string, string | boolean>>;
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
function appendStringOption(options, key, value) {
|
|
2
|
+
const prior = options[key];
|
|
3
|
+
// A NUL separator distinguishes repeated flags from comma-delimited axis
|
|
4
|
+
// values (`--field tags=one,two --field status=open`). It never appears in a
|
|
5
|
+
// shell argument, so the representation remains unambiguous until the axis
|
|
6
|
+
// object is built below.
|
|
7
|
+
options[key] = typeof prior === "string" && prior.length > 0 ? `${prior}\u0000${value}` : value;
|
|
8
|
+
}
|
|
1
9
|
export function parseSemanticArgs(argv) {
|
|
2
10
|
const positional = [];
|
|
3
11
|
const options = {};
|
|
@@ -22,6 +30,15 @@ export function parseSemanticArgs(argv) {
|
|
|
22
30
|
options[camelOption(arg)] = argv[i + 1] ?? "";
|
|
23
31
|
i++;
|
|
24
32
|
}
|
|
33
|
+
else if (arg === "--cursor"
|
|
34
|
+
|| arg === "--collection-path"
|
|
35
|
+
|| arg === "--mode"
|
|
36
|
+
|| arg === "--folder"
|
|
37
|
+
|| arg === "--field"
|
|
38
|
+
|| arg === "--link") {
|
|
39
|
+
appendStringOption(options, camelOption(arg), argv[i + 1] ?? "");
|
|
40
|
+
i++;
|
|
41
|
+
}
|
|
25
42
|
else if (arg === "--intent" || arg === "--lex" || arg === "--vec" || arg === "--hyde") {
|
|
26
43
|
options[arg.slice(2)] = argv[i + 1] ?? "";
|
|
27
44
|
i++;
|
|
@@ -85,6 +102,21 @@ export function printJson(write, value) {
|
|
|
85
102
|
write(JSON.stringify(value, null, 2));
|
|
86
103
|
}
|
|
87
104
|
export function semanticQueryOptions(mode, vault, args, query) {
|
|
105
|
+
const requestedMode = stringOption(args, "mode");
|
|
106
|
+
if (requestedMode !== undefined && requestedMode !== mode) {
|
|
107
|
+
throw new Error(`CLI mode "${requestedMode}" contradicts the "${mode}" query command.`);
|
|
108
|
+
}
|
|
109
|
+
const axes = queryAxesFromCli(args);
|
|
110
|
+
const vec = stringOption(args, "vec");
|
|
111
|
+
const hyde = stringOption(args, "hyde");
|
|
112
|
+
// The query/search CLI commands are intentionally lexical by default. A
|
|
113
|
+
// model is only consulted when the caller opts into --vec, --hyde, or the
|
|
114
|
+
// dedicated vsearch command; this keeps plain searches useful on a
|
|
115
|
+
// model-less vault without approximating a vector result.
|
|
116
|
+
const lex = stringOption(args, "lex")
|
|
117
|
+
?? (mode === "vsearch" || vec !== undefined || hyde !== undefined || query.trim().length === 0
|
|
118
|
+
? undefined
|
|
119
|
+
: query);
|
|
88
120
|
return {
|
|
89
121
|
vault,
|
|
90
122
|
query,
|
|
@@ -94,15 +126,82 @@ export function semanticQueryOptions(mode, vault, args, query) {
|
|
|
94
126
|
limit: numberOption(args, "limit"),
|
|
95
127
|
minScore: numberOption(args, "minScore"),
|
|
96
128
|
intent: stringOption(args, "intent"),
|
|
97
|
-
lex
|
|
98
|
-
vec
|
|
99
|
-
hyde
|
|
129
|
+
lex,
|
|
130
|
+
vec,
|
|
131
|
+
hyde,
|
|
132
|
+
cursor: stringOption(args, "cursor"),
|
|
133
|
+
collectionPath: stringOption(args, "collectionPath"),
|
|
134
|
+
...(axes === undefined ? {} : { axes }),
|
|
100
135
|
all: booleanOption(args, "all"),
|
|
101
136
|
full: booleanOption(args, "full"),
|
|
102
137
|
fullPath: booleanOption(args, "fullPath"),
|
|
103
138
|
candidateLimit: numberOption(args, "candidateLimit"),
|
|
104
139
|
};
|
|
105
140
|
}
|
|
141
|
+
function axisScalar(value) {
|
|
142
|
+
const trimmed = value.trim();
|
|
143
|
+
if (trimmed === "true")
|
|
144
|
+
return true;
|
|
145
|
+
if (trimmed === "false")
|
|
146
|
+
return false;
|
|
147
|
+
// Keep values such as "001" as strings; they are commonly identifiers, not
|
|
148
|
+
// numbers. Decimal and signed integer forms retain their typed axis meaning.
|
|
149
|
+
if (/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/u.test(trimmed)) {
|
|
150
|
+
const parsed = Number(trimmed);
|
|
151
|
+
if (Number.isFinite(parsed))
|
|
152
|
+
return parsed;
|
|
153
|
+
}
|
|
154
|
+
return trimmed;
|
|
155
|
+
}
|
|
156
|
+
function axisList(value) {
|
|
157
|
+
if (value === undefined)
|
|
158
|
+
return undefined;
|
|
159
|
+
const values = value
|
|
160
|
+
.split(/[,\u0000]/u)
|
|
161
|
+
.map((item) => axisScalar(item))
|
|
162
|
+
.filter((item) => typeof item !== "string" || item.length > 0);
|
|
163
|
+
if (values.length === 0)
|
|
164
|
+
return undefined;
|
|
165
|
+
return values.length === 1 ? values[0] : values;
|
|
166
|
+
}
|
|
167
|
+
function queryAxesFromCli(args) {
|
|
168
|
+
const folder = axisList(stringOption(args, "folder"));
|
|
169
|
+
const link = axisList(stringOption(args, "link"));
|
|
170
|
+
const fieldsRaw = stringOption(args, "field");
|
|
171
|
+
let field;
|
|
172
|
+
if (fieldsRaw !== undefined) {
|
|
173
|
+
field = {};
|
|
174
|
+
for (const entry of fieldsRaw.split("\u0000")) {
|
|
175
|
+
const separator = entry.indexOf("=");
|
|
176
|
+
const colon = entry.indexOf(":");
|
|
177
|
+
const splitAt = separator >= 0 ? separator : colon;
|
|
178
|
+
if (splitAt <= 0) {
|
|
179
|
+
throw new Error(`Invalid --field "${entry}". Use --field name=value.`);
|
|
180
|
+
}
|
|
181
|
+
const key = entry.slice(0, splitAt).trim();
|
|
182
|
+
const value = axisList(entry.slice(splitAt + 1));
|
|
183
|
+
if (!key || value === undefined) {
|
|
184
|
+
throw new Error(`Invalid --field "${entry}". Use --field name=value.`);
|
|
185
|
+
}
|
|
186
|
+
const prior = field[key];
|
|
187
|
+
if (prior === undefined) {
|
|
188
|
+
field[key] = value;
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
const priorValues = Array.isArray(prior) ? prior : [prior];
|
|
192
|
+
const nextValues = Array.isArray(value) ? value : [value];
|
|
193
|
+
field[key] = [...priorValues, ...nextValues];
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
if (folder === undefined && link === undefined && field === undefined)
|
|
198
|
+
return undefined;
|
|
199
|
+
return {
|
|
200
|
+
...(folder === undefined ? {} : { folder }),
|
|
201
|
+
...(field === undefined ? {} : { field }),
|
|
202
|
+
...(link === undefined ? {} : { link }),
|
|
203
|
+
};
|
|
204
|
+
}
|
|
106
205
|
export function targetList(values) {
|
|
107
206
|
return values.flatMap((value) => value.split(",").map((item) => item.trim()).filter((item) => item.length > 0));
|
|
108
207
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-args.js","sourceRoot":"","sources":["../../src/cli/semantic-args.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"semantic-args.js","sourceRoot":"","sources":["../../src/cli/semantic-args.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createServer } from "node:http";
|
|
2
|
-
import { assembleSemanticEngine } from "../
|
|
3
|
-
import { handleSemanticTool } from "../
|
|
4
|
-
import { semanticMcpTools } from "../
|
|
2
|
+
import { assembleSemanticEngine } from "../kernel/semantic/semantic-engine.js";
|
|
3
|
+
import { handleSemanticTool } from "../kernel/semantic/semantic-retrieve.js";
|
|
4
|
+
import { semanticMcpTools } from "../kernel/semantic/semantic-schemas.js";
|
|
5
5
|
function safeHost(host) {
|
|
6
6
|
const selected = host?.trim() || "127.0.0.1";
|
|
7
7
|
if (selected !== "127.0.0.1" && selected !== "localhost" && selected !== "::1") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-http.js","sourceRoot":"","sources":["../../src/cli/semantic-http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0D,MAAM,WAAW,CAAC;AAGjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"semantic-http.js","sourceRoot":"","sources":["../../src/cli/semantic-http.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,6 @@ export function semanticUsageText() {
|
|
|
15
15
|
Embeddings are explicit: set OMS_EMBEDDING_PROVIDER (gguf|upstage) and OMS_EMBEDDING_MODEL.
|
|
16
16
|
Without them, lexical search and document reads work; vector/HyDE fail fast.
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
Top-level semantic commands: oms search|embed|collection|context|cleanup|serve|http`;
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=semantic-usage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-usage.js","sourceRoot":"","sources":["../../src/cli/semantic-usage.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB;IAC/B,OAAO;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"semantic-usage.js","sourceRoot":"","sources":["../../src/cli/semantic-usage.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB;IAC/B,OAAO;;;;;;;;;;;;;;;;oFAgB2E,CAAC;AACrF,CAAC"}
|
package/dist/cli/semantic.js
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
import { assembleSemanticEngine } from "../
|
|
1
|
+
import { assembleSemanticEngine } from "../kernel/semantic/semantic-engine.js";
|
|
2
|
+
import { assembleCoreSemanticEngineReadOnly, assembleEngineReadOnly, assembleEphemeralCoreSemanticEngine, } from "../kernel/engine/assemble.js";
|
|
3
|
+
import { embeddingConfigPresent } from "../kernel/semantic/semantic-engine.js";
|
|
2
4
|
import { booleanOption, numberOption, parseSemanticArgs, printJson, semanticQueryOptions, stringOption, targetList, } from "./semantic-args.js";
|
|
3
5
|
import { startSemanticHttpServer } from "./semantic-http.js";
|
|
4
6
|
import { semanticUsageText } from "./semantic-usage.js";
|
|
5
7
|
const TOP_LEVEL_COMMANDS = new Set([
|
|
6
8
|
"semantic",
|
|
7
|
-
"query",
|
|
8
9
|
"search",
|
|
9
|
-
"vsearch",
|
|
10
|
-
"get",
|
|
11
|
-
"multi-get",
|
|
12
|
-
"status",
|
|
13
10
|
"embed",
|
|
14
11
|
"collection",
|
|
15
12
|
"context",
|
|
@@ -31,6 +28,28 @@ async function withSemanticAdapter(vault, fn) {
|
|
|
31
28
|
await engine.dispose();
|
|
32
29
|
}
|
|
33
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Assemble a read path without creating a vault index. Existing indexes use a
|
|
33
|
+
* SELECT-only engine; a missing index gets an in-memory lexical engine so
|
|
34
|
+
* document reads and first lexical searches remain useful without touching
|
|
35
|
+
* `<vault>/.oms`.
|
|
36
|
+
*/
|
|
37
|
+
async function withReadOnlySemanticAdapter(vault, fn) {
|
|
38
|
+
const readOnly = embeddingConfigPresent()
|
|
39
|
+
? assembleEngineReadOnly({
|
|
40
|
+
vault,
|
|
41
|
+
embeddingProvider: process.env["OMS_EMBEDDING_PROVIDER"],
|
|
42
|
+
embeddingModel: process.env["OMS_EMBEDDING_MODEL"],
|
|
43
|
+
})
|
|
44
|
+
: assembleCoreSemanticEngineReadOnly({ vault });
|
|
45
|
+
const engine = readOnly ?? assembleEphemeralCoreSemanticEngine({ vault });
|
|
46
|
+
try {
|
|
47
|
+
return await fn(engine.adapter);
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
await engine.dispose();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
34
53
|
export async function runSemanticCli(options) {
|
|
35
54
|
const write = options.write ?? ((message) => console.log(message));
|
|
36
55
|
const writeError = options.writeError ?? ((message) => console.error(message));
|
|
@@ -71,7 +90,7 @@ export async function runSemanticCli(options) {
|
|
|
71
90
|
});
|
|
72
91
|
}
|
|
73
92
|
if (command === "status") {
|
|
74
|
-
return
|
|
93
|
+
return withReadOnlySemanticAdapter(vault, (adapter) => {
|
|
75
94
|
const status = adapter.semanticStatus({ vault, index: stringOption(parsed, "index") });
|
|
76
95
|
printJson(write, status);
|
|
77
96
|
return Promise.resolve(status.available ? 0 : 1);
|
|
@@ -86,7 +105,7 @@ export async function runSemanticCli(options) {
|
|
|
86
105
|
}
|
|
87
106
|
if (command === "query" || command === "search" || command === "vsearch") {
|
|
88
107
|
const mode = command === "search" ? "search" : command === "vsearch" ? "vsearch" : "query";
|
|
89
|
-
return
|
|
108
|
+
return withReadOnlySemanticAdapter(vault, async (adapter) => {
|
|
90
109
|
const result = await adapter.semanticQuery(semanticQueryOptions(mode, vault, parsed, rest.join(" ")));
|
|
91
110
|
printJson(write, result);
|
|
92
111
|
return result.available ? 0 : 1;
|
|
@@ -109,7 +128,7 @@ async function runGetCommand(rest, parsed, vault, write, writeError) {
|
|
|
109
128
|
writeError("Usage: oms semantic get <target>");
|
|
110
129
|
return 1;
|
|
111
130
|
}
|
|
112
|
-
return
|
|
131
|
+
return withReadOnlySemanticAdapter(vault, async (adapter) => {
|
|
113
132
|
const result = await adapter.getDocument({
|
|
114
133
|
vault,
|
|
115
134
|
target,
|
|
@@ -129,7 +148,7 @@ async function runMultiGetCommand(rest, parsed, vault, write, writeError) {
|
|
|
129
148
|
writeError("Usage: oms semantic multi-get <target...>");
|
|
130
149
|
return 1;
|
|
131
150
|
}
|
|
132
|
-
return
|
|
151
|
+
return withReadOnlySemanticAdapter(vault, async (adapter) => {
|
|
133
152
|
const result = await adapter.multiGetDocuments({
|
|
134
153
|
vault,
|
|
135
154
|
targets: [...targets],
|
|
@@ -144,7 +163,7 @@ async function runMultiGetCommand(rest, parsed, vault, write, writeError) {
|
|
|
144
163
|
});
|
|
145
164
|
}
|
|
146
165
|
async function runCollectionCommand(action, collectionName, parsed, vault, write) {
|
|
147
|
-
return
|
|
166
|
+
return withReadOnlySemanticAdapter(vault, (adapter) => {
|
|
148
167
|
const result = adapter.listCollections({ vault, index: stringOption(parsed, "index") });
|
|
149
168
|
if (!result.available) {
|
|
150
169
|
printJson(write, result);
|
|
@@ -161,7 +180,7 @@ async function runContextCommand(action, parsed, vault, write) {
|
|
|
161
180
|
write(semanticUsageText());
|
|
162
181
|
return 1;
|
|
163
182
|
}
|
|
164
|
-
return
|
|
183
|
+
return withReadOnlySemanticAdapter(vault, (adapter) => {
|
|
165
184
|
const result = adapter.listContexts({ vault, index: stringOption(parsed, "index") });
|
|
166
185
|
printJson(write, result);
|
|
167
186
|
return Promise.resolve(result.available ? 0 : 1);
|