oh-my-second-brain 0.1.8 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +89 -0
- package/README.ko.md +127 -0
- package/README.md +128 -0
- package/adapters/README.md +8 -8
- package/adapters/claude-code/.claude-plugin/plugin.json +3 -2
- package/adapters/claude-code/.mcp.json +8 -0
- package/adapters/claude-code/CLAUDE.md +5 -6
- package/adapters/claude-code/skills/compile/SKILL.md +10 -35
- package/adapters/claude-code/skills/distill/SKILL.md +6 -26
- package/adapters/claude-code/skills/link/SKILL.md +87 -0
- package/adapters/claude-code/skills/retrieve/SKILL.md +4 -7
- package/adapters/claude-code/skills/setup/SKILL.md +5 -6
- package/adapters/claude-code/skills/uninstall/SKILL.md +1 -1
- package/adapters/claude-code/skills/wiki/SKILL.md +49 -24
- package/adapters/claude-code/skills/write/SKILL.md +16 -0
- package/adapters/codex/.codex-plugin/plugin.json +1 -1
- package/adapters/codex/AGENTS.md +2 -2
- package/adapters/codex/rules/oms.md +1 -1
- package/adapters/codex/skills/oms-compile/SKILL.md +7 -9
- package/adapters/codex/skills/oms-distill/SKILL.md +4 -9
- package/adapters/codex/skills/oms-link/SKILL.md +35 -0
- package/adapters/codex/skills/oms-retrieve/SKILL.md +5 -6
- package/adapters/codex/skills/oms-wiki/SKILL.md +28 -8
- package/adapters/codex/skills/oms-write/SKILL.md +10 -0
- package/adapters/hermes/README.md +3 -1
- package/adapters/hermes/SOUL.md +2 -3
- package/adapters/hermes/manifest.json +1 -1
- package/adapters/hermes/skills/compile/SKILL.md +5 -7
- package/adapters/hermes/skills/distill/SKILL.md +1 -3
- package/adapters/hermes/skills/link/SKILL.md +18 -0
- package/adapters/hermes/skills/retrieve/SKILL.md +5 -6
- package/adapters/hermes/skills/setup/SKILL.md +5 -2
- package/adapters/hermes/skills/wiki/SKILL.md +4 -2
- package/adapters/hermes/skills/write/SKILL.md +10 -0
- package/core/AGENTS.md +4 -2
- package/core/agents/librarian.md +3 -2
- package/core/ontology/concepts/term.yaml +12 -0
- package/core/ontology/taxonomy.yaml +3 -0
- package/core/skills/compile/SKILL.md +19 -18
- package/core/skills/distill/SKILL.md +13 -24
- package/core/skills/link/SKILL.md +130 -0
- package/core/skills/retrieve/SKILL.md +0 -1
- package/core/skills/setup/SKILL.md +12 -14
- package/core/skills/vault-lint/SKILL.md +1 -1
- package/core/skills/wiki/SKILL.md +109 -30
- package/core/skills/write/SKILL.md +15 -0
- package/dist/capture/safe.d.ts +61 -1
- package/dist/capture/safe.js +489 -66
- package/dist/capture/safe.js.map +1 -1
- package/dist/cli/args.d.ts +29 -0
- package/dist/cli/args.js +156 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/audit.d.ts +6 -0
- package/dist/cli/audit.js +93 -0
- package/dist/cli/audit.js.map +1 -0
- package/dist/cli/claude-install-plan.d.ts +10 -0
- package/dist/cli/claude-install-plan.js +26 -0
- package/dist/cli/claude-install-plan.js.map +1 -0
- package/dist/cli/doctor-lint.d.ts +11 -0
- package/dist/cli/doctor-lint.js +86 -0
- package/dist/cli/doctor-lint.js.map +1 -0
- package/dist/cli/global-writeback.d.ts +31 -0
- package/dist/cli/global-writeback.js +73 -0
- package/dist/cli/global-writeback.js.map +1 -0
- package/dist/cli/host-commands.d.ts +30 -0
- package/dist/cli/host-commands.js +89 -0
- package/dist/cli/host-commands.js.map +1 -0
- package/dist/cli/link-command.d.ts +9 -0
- package/dist/cli/link-command.js +47 -0
- package/dist/cli/link-command.js.map +1 -0
- package/dist/cli/linkify.d.ts +23 -0
- package/dist/cli/linkify.js +118 -0
- package/dist/cli/linkify.js.map +1 -0
- package/dist/cli/oms.d.ts +8 -32
- package/dist/cli/oms.js +100 -703
- package/dist/cli/oms.js.map +1 -1
- package/dist/cli/semantic-args.d.ts +1 -2
- package/dist/cli/semantic-args.js +4 -7
- package/dist/cli/semantic-args.js.map +1 -1
- package/dist/cli/semantic-http.d.ts +0 -3
- package/dist/cli/semantic-http.js +40 -45
- package/dist/cli/semantic-http.js.map +1 -1
- package/dist/cli/semantic-usage.js +10 -9
- package/dist/cli/semantic-usage.js.map +1 -1
- package/dist/cli/semantic.js +99 -137
- package/dist/cli/semantic.js.map +1 -1
- package/dist/cli/setup-command.d.ts +11 -0
- package/dist/cli/setup-command.js +196 -0
- package/dist/cli/setup-command.js.map +1 -0
- package/dist/cli/setup-documents.d.ts +15 -0
- package/dist/cli/setup-documents.js +149 -0
- package/dist/cli/setup-documents.js.map +1 -0
- package/dist/cli/update-notice.d.ts +10 -0
- package/dist/cli/update-notice.js +42 -0
- package/dist/cli/update-notice.js.map +1 -0
- package/dist/cli/usage.d.ts +4 -0
- package/dist/cli/usage.js +102 -0
- package/dist/cli/usage.js.map +1 -0
- package/dist/conventions/lint.js +12 -33
- package/dist/conventions/lint.js.map +1 -1
- package/dist/conventions/report.d.ts +62 -0
- package/dist/conventions/report.js +217 -0
- package/dist/conventions/report.js.map +1 -0
- package/dist/conventions/validate.d.ts +1 -1
- package/dist/conventions/vault-walk.d.ts +38 -0
- package/dist/conventions/vault-walk.js +80 -0
- package/dist/conventions/vault-walk.js.map +1 -0
- package/dist/conventions/write-contract.d.ts +27 -0
- package/dist/conventions/write-contract.js +91 -0
- package/dist/conventions/write-contract.js.map +1 -0
- package/dist/conventions/write-protocol.d.ts +39 -0
- package/dist/conventions/write-protocol.js +44 -0
- package/dist/conventions/write-protocol.js.map +1 -0
- package/dist/core/ontology/loader.d.ts +2 -0
- package/dist/{ontology → core/ontology}/loader.js +11 -20
- package/dist/core/ontology/loader.js.map +1 -0
- package/dist/core/ontology/resolver.d.ts +2 -0
- package/dist/{ontology → core/ontology}/resolver.js +1 -15
- package/dist/core/ontology/resolver.js.map +1 -0
- package/dist/core/ontology/types.d.ts +47 -0
- package/dist/core/ontology/types.js +2 -0
- package/dist/core/ontology/types.js.map +1 -0
- package/dist/core/runtime/assets.d.ts +20 -0
- package/dist/core/runtime/assets.js +66 -0
- package/dist/core/runtime/assets.js.map +1 -0
- package/dist/engine/assemble.d.ts +28 -72
- package/dist/engine/assemble.js +77 -61
- package/dist/engine/assemble.js.map +1 -1
- package/dist/engine/conventions/vault-lint.d.ts +30 -2
- package/dist/engine/conventions/vault-lint.js +93 -97
- package/dist/engine/conventions/vault-lint.js.map +1 -1
- package/dist/engine/embed/deferred.d.ts +3 -4
- package/dist/engine/embed/deferred.js +10 -7
- package/dist/engine/embed/deferred.js.map +1 -1
- package/dist/engine/embed/identity.d.ts +11 -0
- package/dist/engine/embed/identity.js +15 -0
- package/dist/engine/embed/identity.js.map +1 -0
- package/dist/engine/embed/provider.d.ts +12 -13
- package/dist/engine/embed/provider.js +30 -27
- package/dist/engine/embed/provider.js.map +1 -1
- package/dist/engine/embed/store.d.ts +48 -27
- package/dist/engine/embed/store.js +281 -98
- package/dist/engine/embed/store.js.map +1 -1
- package/dist/engine/embed/sync.d.ts +17 -47
- package/dist/engine/embed/sync.js +233 -69
- package/dist/engine/embed/sync.js.map +1 -1
- package/dist/engine/graph/builder.d.ts +1 -1
- package/dist/engine/graph/builder.js +1 -1
- package/dist/engine/graph/explore.d.ts +2 -2
- package/dist/engine/graph/explore.js +0 -0
- package/dist/engine/graph/resolver.d.ts +17 -0
- package/dist/engine/graph/resolver.js +46 -11
- package/dist/engine/graph/resolver.js.map +1 -1
- package/dist/engine/linkify/apply.d.ts +56 -0
- package/dist/engine/linkify/apply.js +65 -0
- package/dist/engine/linkify/apply.js.map +1 -0
- package/dist/engine/linkify/josa.d.ts +58 -0
- package/dist/engine/linkify/josa.js +133 -0
- package/dist/engine/linkify/josa.js.map +1 -0
- package/dist/engine/linkify/mask.d.ts +29 -0
- package/dist/engine/linkify/mask.js +173 -0
- package/dist/engine/linkify/mask.js.map +1 -0
- package/dist/engine/linkify/suggest.d.ts +52 -0
- package/dist/engine/linkify/suggest.js +181 -0
- package/dist/engine/linkify/suggest.js.map +1 -0
- package/dist/engine/linkify/types.d.ts +68 -0
- package/dist/engine/linkify/types.js +12 -0
- package/dist/engine/linkify/types.js.map +1 -0
- package/dist/engine/mcp/facade.d.ts +12 -18
- package/dist/engine/mcp/facade.js +30 -80
- package/dist/engine/mcp/facade.js.map +1 -1
- package/dist/engine/mcp/op-mappers.d.ts +3 -9
- package/dist/engine/mcp/op-mappers.js +2 -30
- package/dist/engine/mcp/op-mappers.js.map +1 -1
- package/dist/engine/mcp/types.d.ts +5 -29
- package/dist/engine/tracer.js +6 -2
- package/dist/engine/tracer.js.map +1 -1
- package/dist/engine/types.d.ts +8 -3
- package/dist/graph/cache.d.ts +1 -11
- package/dist/graph/cache.js +1 -44
- package/dist/graph/cache.js.map +1 -1
- package/dist/graph/explore.js +88 -137
- package/dist/graph/explore.js.map +1 -1
- package/dist/harness/surface-registry.d.ts +56 -0
- package/dist/harness/surface-registry.js +397 -0
- package/dist/harness/surface-registry.js.map +1 -0
- package/dist/harness/validation.d.ts +9 -0
- package/dist/harness/validation.js +201 -0
- package/dist/harness/validation.js.map +1 -0
- package/dist/hook/post-tool-use.js +2 -2
- package/dist/hook/post-tool-use.js.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/install/adapter-source.d.ts +14 -0
- package/dist/install/adapter-source.js +45 -0
- package/dist/install/adapter-source.js.map +1 -0
- package/dist/install/claude-hooks.d.ts +13 -0
- package/dist/install/claude-hooks.js +411 -0
- package/dist/install/claude-hooks.js.map +1 -0
- package/dist/install/claude-marketplace.d.ts +44 -0
- package/dist/install/claude-marketplace.js +89 -0
- package/dist/install/claude-marketplace.js.map +1 -0
- package/dist/install/claude.d.ts +4 -0
- package/dist/install/claude.js +216 -0
- package/dist/install/claude.js.map +1 -0
- package/dist/install/codex.d.ts +24 -0
- package/dist/install/codex.js +193 -0
- package/dist/install/codex.js.map +1 -0
- package/dist/install/common.d.ts +34 -0
- package/dist/install/common.js +122 -0
- package/dist/install/common.js.map +1 -0
- package/dist/install/hermes.d.ts +4 -0
- package/dist/install/hermes.js +78 -0
- package/dist/install/hermes.js.map +1 -0
- package/dist/install/hosts.d.ts +6 -56
- package/dist/install/hosts.js +65 -610
- package/dist/install/hosts.js.map +1 -1
- package/dist/install/types.d.ts +34 -0
- package/dist/install/types.js +2 -0
- package/dist/install/types.js.map +1 -0
- package/dist/link/convention-note.d.ts +10 -0
- package/dist/link/convention-note.js +59 -0
- package/dist/link/convention-note.js.map +1 -0
- package/dist/link/global-config.d.ts +22 -0
- package/dist/link/global-config.js +69 -0
- package/dist/link/global-config.js.map +1 -0
- package/dist/link/link.d.ts +101 -0
- package/dist/link/link.js +265 -0
- package/dist/link/link.js.map +1 -0
- package/dist/mcp/engine-morning-backend.d.ts +12 -17
- package/dist/mcp/engine-morning-backend.js +25 -131
- package/dist/mcp/engine-morning-backend.js.map +1 -1
- package/dist/mcp/link-tools.d.ts +81 -0
- package/dist/mcp/link-tools.js +157 -0
- package/dist/mcp/link-tools.js.map +1 -0
- package/dist/mcp/semantic-engine.d.ts +32 -0
- package/dist/mcp/semantic-engine.js +52 -0
- package/dist/mcp/semantic-engine.js.map +1 -0
- package/dist/mcp/semantic-retrieve-args.d.ts +1 -5
- package/dist/mcp/semantic-retrieve-args.js +1 -26
- package/dist/mcp/semantic-retrieve-args.js.map +1 -1
- package/dist/mcp/semantic-retrieve-schema.d.ts +0 -14
- package/dist/mcp/semantic-retrieve-schema.js +0 -5
- package/dist/mcp/semantic-retrieve-schema.js.map +1 -1
- package/dist/mcp/semantic-retrieve.d.ts +12 -18
- package/dist/mcp/semantic-retrieve.js +40 -71
- package/dist/mcp/semantic-retrieve.js.map +1 -1
- package/dist/mcp/semantic-tool-schemas.js +7 -24
- package/dist/mcp/semantic-tool-schemas.js.map +1 -1
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.js +224 -162
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/update-notice.d.ts +51 -0
- package/dist/mcp/update-notice.js +196 -0
- package/dist/mcp/update-notice.js.map +1 -0
- package/dist/ontology/active.d.ts +7 -0
- package/dist/ontology/active.js +41 -0
- package/dist/ontology/active.js.map +1 -0
- package/dist/retrieve/morning.d.ts +10 -18
- package/dist/retrieve/morning.js +2 -26
- package/dist/retrieve/morning.js.map +1 -1
- package/dist/retrieve/semantic-contract.d.ts +10 -0
- package/dist/retrieve/semantic-contract.js +2 -0
- package/dist/retrieve/semantic-contract.js.map +1 -0
- package/dist/setup/axis.d.ts +22 -3
- package/dist/setup/axis.js +82 -35
- package/dist/setup/axis.js.map +1 -1
- package/dist/update/update.d.ts +12 -0
- package/dist/update/update.js +2 -2
- package/dist/update/update.js.map +1 -1
- package/docs/install.md +43 -7
- package/docs/release.md +109 -17
- package/package.json +11 -3
- package/scripts/install.sh +1 -1
- package/adapters/claude-code/skills/capture/SKILL.md +0 -50
- package/adapters/codex/skills/oms-capture/SKILL.md +0 -16
- package/adapters/hermes/skills/capture/SKILL.md +0 -16
- package/core/skills/capture/SKILL.md +0 -50
- package/dist/adapt/HostAdapter.d.ts +0 -21
- package/dist/adapt/HostAdapter.js +0 -10
- package/dist/adapt/HostAdapter.js.map +0 -1
- package/dist/adapt/claudeCode.d.ts +0 -9
- package/dist/adapt/claudeCode.js +0 -15
- package/dist/adapt/claudeCode.js.map +0 -1
- package/dist/adapt/codex.d.ts +0 -9
- package/dist/adapt/codex.js +0 -15
- package/dist/adapt/codex.js.map +0 -1
- package/dist/adapt/hermes.d.ts +0 -9
- package/dist/adapt/hermes.js +0 -15
- package/dist/adapt/hermes.js.map +0 -1
- package/dist/cli/semantic-metadata-commands.d.ts +0 -3
- package/dist/cli/semantic-metadata-commands.js +0 -115
- package/dist/cli/semantic-metadata-commands.js.map +0 -1
- package/dist/engine/compile/cascade.d.ts +0 -35
- package/dist/engine/compile/cascade.js +0 -59
- package/dist/engine/compile/cascade.js.map +0 -1
- package/dist/engine/compile/cot.d.ts +0 -30
- package/dist/engine/compile/cot.js +0 -153
- package/dist/engine/compile/cot.js.map +0 -1
- package/dist/engine/compile/phases.d.ts +0 -47
- package/dist/engine/compile/phases.js +0 -101
- package/dist/engine/compile/phases.js.map +0 -1
- package/dist/engine/compile/provenance.d.ts +0 -45
- package/dist/engine/compile/provenance.js +0 -103
- package/dist/engine/compile/provenance.js.map +0 -1
- package/dist/engine/compile/sha-cache.d.ts +0 -42
- package/dist/engine/compile/sha-cache.js +0 -86
- package/dist/engine/compile/sha-cache.js.map +0 -1
- package/dist/engine/compile/types.d.ts +0 -71
- package/dist/engine/compile/types.js +0 -9
- package/dist/engine/compile/types.js.map +0 -1
- package/dist/engine/compile/worker.d.ts +0 -47
- package/dist/engine/compile/worker.js +0 -75
- package/dist/engine/compile/worker.js.map +0 -1
- package/dist/engine/distill/analyzer.d.ts +0 -51
- package/dist/engine/distill/analyzer.js +0 -279
- package/dist/engine/distill/analyzer.js.map +0 -1
- package/dist/engine/distill/clean-room.d.ts +0 -46
- package/dist/engine/distill/clean-room.js +0 -131
- package/dist/engine/distill/clean-room.js.map +0 -1
- package/dist/engine/distill/report.d.ts +0 -23
- package/dist/engine/distill/report.js +0 -107
- package/dist/engine/distill/report.js.map +0 -1
- package/dist/engine/distill/types.d.ts +0 -89
- package/dist/engine/distill/types.js +0 -9
- package/dist/engine/distill/types.js.map +0 -1
- package/dist/engine/embed/pull.d.ts +0 -51
- package/dist/engine/embed/pull.js +0 -90
- package/dist/engine/embed/pull.js.map +0 -1
- package/dist/engine/graph/community.d.ts +0 -38
- package/dist/engine/graph/community.js +0 -122
- package/dist/engine/graph/community.js.map +0 -1
- package/dist/engine/index.d.ts +0 -5
- package/dist/engine/index.js +0 -2
- package/dist/engine/index.js.map +0 -1
- package/dist/engine/mcp/index.d.ts +0 -15
- package/dist/engine/mcp/index.js +0 -19
- package/dist/engine/mcp/index.js.map +0 -1
- package/dist/engine/mcp/retrieve-mapper.d.ts +0 -38
- package/dist/engine/mcp/retrieve-mapper.js +0 -96
- package/dist/engine/mcp/retrieve-mapper.js.map +0 -1
- package/dist/engine/setup/ambiguity.d.ts +0 -39
- package/dist/engine/setup/ambiguity.js +0 -50
- package/dist/engine/setup/ambiguity.js.map +0 -1
- package/dist/engine/setup/types.d.ts +0 -71
- package/dist/engine/setup/types.js +0 -22
- package/dist/engine/setup/types.js.map +0 -1
- package/dist/engine/setup/writer.d.ts +0 -32
- package/dist/engine/setup/writer.js +0 -77
- package/dist/engine/setup/writer.js.map +0 -1
- package/dist/engine/wiki/collection.d.ts +0 -91
- package/dist/engine/wiki/collection.js +0 -188
- package/dist/engine/wiki/collection.js.map +0 -1
- package/dist/engine/wiki/ledger.d.ts +0 -59
- package/dist/engine/wiki/ledger.js +0 -130
- package/dist/engine/wiki/ledger.js.map +0 -1
- package/dist/engine/wiki/lint.d.ts +0 -38
- package/dist/engine/wiki/lint.js +0 -186
- package/dist/engine/wiki/lint.js.map +0 -1
- package/dist/engine/wiki/navigation.d.ts +0 -40
- package/dist/engine/wiki/navigation.js +0 -83
- package/dist/engine/wiki/navigation.js.map +0 -1
- package/dist/engine/wiki/types.d.ts +0 -54
- package/dist/engine/wiki/types.js +0 -7
- package/dist/engine/wiki/types.js.map +0 -1
- package/dist/ontology/loader.d.ts +0 -13
- package/dist/ontology/loader.js.map +0 -1
- package/dist/ontology/resolver.d.ts +0 -13
- package/dist/ontology/resolver.js.map +0 -1
- package/dist/ontology/types.d.ts +0 -72
- package/dist/ontology/types.js +0 -12
- package/dist/ontology/types.js.map +0 -1
- package/dist/retrieve/embedding-sync.d.ts +0 -3
- package/dist/retrieve/embedding-sync.js +0 -21
- package/dist/retrieve/embedding-sync.js.map +0 -1
- package/dist/runtime/assets.d.ts +0 -7
- package/dist/runtime/assets.js +0 -13
- package/dist/runtime/assets.js.map +0 -1
- package/dist/search/semantic-collections.d.ts +0 -32
- package/dist/search/semantic-collections.js +0 -68
- package/dist/search/semantic-collections.js.map +0 -1
- package/dist/search/semantic-contexts.d.ts +0 -21
- package/dist/search/semantic-contexts.js +0 -28
- package/dist/search/semantic-contexts.js.map +0 -1
- package/dist/search/semantic-diagnostics.d.ts +0 -16
- package/dist/search/semantic-diagnostics.js +0 -110
- package/dist/search/semantic-diagnostics.js.map +0 -1
- package/dist/search/semantic-documents.d.ts +0 -3
- package/dist/search/semantic-documents.js +0 -150
- package/dist/search/semantic-documents.js.map +0 -1
- package/dist/search/semantic-embedding-hash.d.ts +0 -3
- package/dist/search/semantic-embedding-hash.js +0 -30
- package/dist/search/semantic-embedding-hash.js.map +0 -1
- package/dist/search/semantic-embedding-provider.d.ts +0 -9
- package/dist/search/semantic-embedding-provider.js +0 -58
- package/dist/search/semantic-embedding-provider.js.map +0 -1
- package/dist/search/semantic-index-build.d.ts +0 -13
- package/dist/search/semantic-index-build.js +0 -101
- package/dist/search/semantic-index-build.js.map +0 -1
- package/dist/search/semantic-index-core.d.ts +0 -21
- package/dist/search/semantic-index-core.js +0 -106
- package/dist/search/semantic-index-core.js.map +0 -1
- package/dist/search/semantic-index-io.d.ts +0 -19
- package/dist/search/semantic-index-io.js +0 -214
- package/dist/search/semantic-index-io.js.map +0 -1
- package/dist/search/semantic-index-types.d.ts +0 -50
- package/dist/search/semantic-index-types.js +0 -2
- package/dist/search/semantic-index-types.js.map +0 -1
- package/dist/search/semantic-index.d.ts +0 -4
- package/dist/search/semantic-index.js +0 -4
- package/dist/search/semantic-index.js.map +0 -1
- package/dist/search/semantic-listing.d.ts +0 -12
- package/dist/search/semantic-listing.js +0 -64
- package/dist/search/semantic-listing.js.map +0 -1
- package/dist/search/semantic-maintenance-shared.d.ts +0 -15
- package/dist/search/semantic-maintenance-shared.js +0 -43
- package/dist/search/semantic-maintenance-shared.js.map +0 -1
- package/dist/search/semantic-maintenance-types.d.ts +0 -103
- package/dist/search/semantic-maintenance-types.js +0 -2
- package/dist/search/semantic-maintenance-types.js.map +0 -1
- package/dist/search/semantic-maintenance.d.ts +0 -4
- package/dist/search/semantic-maintenance.js +0 -5
- package/dist/search/semantic-maintenance.js.map +0 -1
- package/dist/search/semantic-provider-types.d.ts +0 -34
- package/dist/search/semantic-provider-types.js +0 -2
- package/dist/search/semantic-provider-types.js.map +0 -1
- package/dist/search/semantic-query-types.d.ts +0 -83
- package/dist/search/semantic-query-types.js +0 -2
- package/dist/search/semantic-query-types.js.map +0 -1
- package/dist/search/semantic-query.d.ts +0 -2
- package/dist/search/semantic-query.js +0 -188
- package/dist/search/semantic-query.js.map +0 -1
- package/dist/search/semantic-sqlite-db.d.ts +0 -18
- package/dist/search/semantic-sqlite-db.js +0 -87
- package/dist/search/semantic-sqlite-db.js.map +0 -1
- package/dist/search/semantic-sqlite-query.d.ts +0 -2
- package/dist/search/semantic-sqlite-query.js +0 -128
- package/dist/search/semantic-sqlite-query.js.map +0 -1
- package/dist/search/semantic-sqlite-read.d.ts +0 -5
- package/dist/search/semantic-sqlite-read.js +0 -104
- package/dist/search/semantic-sqlite-read.js.map +0 -1
- package/dist/search/semantic-sqlite-write.d.ts +0 -7
- package/dist/search/semantic-sqlite-write.js +0 -66
- package/dist/search/semantic-sqlite-write.js.map +0 -1
- package/dist/search/semantic-store.d.ts +0 -15
- package/dist/search/semantic-store.js +0 -17
- package/dist/search/semantic-store.js.map +0 -1
- package/dist/search/semantic-sync-types.d.ts +0 -47
- package/dist/search/semantic-sync-types.js +0 -2
- package/dist/search/semantic-sync-types.js.map +0 -1
- package/dist/search/semantic-sync.d.ts +0 -13
- package/dist/search/semantic-sync.js +0 -131
- package/dist/search/semantic-sync.js.map +0 -1
- package/dist/search/semantic-test-fixtures.d.ts +0 -1
- package/dist/search/semantic-test-fixtures.js +0 -38
- package/dist/search/semantic-test-fixtures.js.map +0 -1
- package/dist/search/semantic-token.d.ts +0 -25
- package/dist/search/semantic-token.js +0 -114
- package/dist/search/semantic-token.js.map +0 -1
- package/dist/search/semantic-types.d.ts +0 -5
- package/dist/search/semantic-types.js +0 -2
- package/dist/search/semantic-types.js.map +0 -1
- package/dist/search/semantic.d.ts +0 -6
- package/dist/search/semantic.js +0 -6
- package/dist/search/semantic.js.map +0 -1
|
@@ -15,68 +15,93 @@
|
|
|
15
15
|
* DEFAULT MODE: report-only. The vault is NEVER mutated unless
|
|
16
16
|
* `autofixEnabled: true` is passed (human-gate flag).
|
|
17
17
|
*
|
|
18
|
-
*
|
|
18
|
+
* Invalid folder scopes throw clear caller-facing errors; individual notes that cannot be parsed are skipped.
|
|
19
19
|
*/
|
|
20
|
-
import { readFile,
|
|
20
|
+
import { readFile, stat } from "node:fs/promises";
|
|
21
21
|
import path from "node:path";
|
|
22
|
-
import { validateFrontmatter } from "../../conventions/validate.js";
|
|
23
22
|
import { parseNote } from "../../conventions/frontmatter.js";
|
|
23
|
+
import { validateFrontmatter } from "../../conventions/validate.js";
|
|
24
|
+
import { enumViolations, routingLawStrictFolders as writeContractStrictFolders, routingLawViolations, } from "../../conventions/write-contract.js";
|
|
25
|
+
import { walkVaultMarkdown } from "../../conventions/vault-walk.js";
|
|
26
|
+
import { resolveConcept } from "../../core/ontology/resolver.js";
|
|
24
27
|
// ── Internals ─────────────────────────────────────────────────────────────────
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
".
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Default audit exemptions — deliberately not contract violations: build artifacts,
|
|
30
|
+
* self-documenting templates, and skill files that intentionally carry no frontmatter.
|
|
31
|
+
*/
|
|
32
|
+
export const DEFAULT_EXCLUDE_GLOBS = [
|
|
33
|
+
"25. Digital Garden/.deploy-staging/**",
|
|
34
|
+
"**/*.template.md",
|
|
35
|
+
"**/SKILL.md",
|
|
36
|
+
".obsidian/**",
|
|
37
|
+
".trash/**",
|
|
38
|
+
".oms/**",
|
|
39
|
+
"_attachments/**",
|
|
40
|
+
];
|
|
41
|
+
/** Convert a `*`/`**` glob into an anchored RegExp. `**` matches across `/`, `*` does not. */
|
|
42
|
+
function globToRegExp(glob) {
|
|
43
|
+
const GLOBSTAR = "\u0000";
|
|
44
|
+
const withPlaceholder = glob.replace(/\*\*/g, GLOBSTAR);
|
|
45
|
+
const escaped = withPlaceholder.replace(/[.+^${}()|[\]\\]/g, "\\$&");
|
|
46
|
+
const withStar = escaped.replace(/\*/g, "[^/]*");
|
|
47
|
+
const pattern = withStar.split(GLOBSTAR).join(".*");
|
|
48
|
+
return new RegExp(`^${pattern}$`);
|
|
49
|
+
}
|
|
50
|
+
export function matchesAnyGlob(notePath, globs) {
|
|
51
|
+
return globs.some((glob) => globToRegExp(glob).test(notePath));
|
|
52
|
+
}
|
|
53
|
+
/** Merge built-in defaults with vault-declared and caller-supplied exclude globs. */
|
|
54
|
+
export function resolveExcludeGlobs(ontology, extra = []) {
|
|
55
|
+
return [...DEFAULT_EXCLUDE_GLOBS, ...(ontology.taxonomy.exclude ?? []), ...extra];
|
|
56
|
+
}
|
|
57
|
+
export async function validateVaultLintFolder(vaultRoot, ontology, folder) {
|
|
58
|
+
if (folder === undefined)
|
|
40
59
|
return;
|
|
60
|
+
if (folder.length === 0 ||
|
|
61
|
+
folder === "." ||
|
|
62
|
+
folder.includes("/") ||
|
|
63
|
+
folder.includes("\\") ||
|
|
64
|
+
folder.includes("..")) {
|
|
65
|
+
throw new Error(`Audit folder "${folder}" must be one top-level vault folder name; path separators and ".." are not allowed.`);
|
|
41
66
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
67
|
+
if (!Object.prototype.hasOwnProperty.call(ontology.taxonomy.folders, folder)) {
|
|
68
|
+
throw new Error(`Audit folder "${folder}" is not declared in the active taxonomy.`);
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
const info = await stat(path.join(vaultRoot, folder));
|
|
72
|
+
if (!info.isDirectory()) {
|
|
73
|
+
throw new Error(`Audit folder "${folder}" does not exist as a top-level vault folder.`);
|
|
48
74
|
}
|
|
49
|
-
|
|
50
|
-
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
78
|
+
throw new Error(`Audit folder "${folder}" does not exist as a top-level vault folder.`);
|
|
51
79
|
}
|
|
80
|
+
throw error;
|
|
52
81
|
}
|
|
53
82
|
}
|
|
54
83
|
/**
|
|
55
|
-
* Derive the set of
|
|
84
|
+
* Derive the set of agent-writable folders from the loaded ontology.
|
|
56
85
|
*
|
|
57
|
-
* A folder is agent-writable when:
|
|
58
|
-
* - It is declared in taxonomy.folders
|
|
59
|
-
* - Its bound concept is NOT null
|
|
60
|
-
* - The concept declares at least one field (i.e. it is NOT a raw-capture
|
|
61
|
-
* inbox with no structure requirements)
|
|
86
|
+
* A folder is agent-writable when taxonomy explicitly declares `agentWritable: true`.
|
|
62
87
|
*/
|
|
63
|
-
function agentWritableFolders(ontology) {
|
|
88
|
+
export function agentWritableFolders(ontology) {
|
|
64
89
|
const zones = new Set();
|
|
65
90
|
for (const [folder, binding] of Object.entries(ontology.taxonomy.folders)) {
|
|
66
|
-
if (binding.
|
|
67
|
-
|
|
68
|
-
const names = Array.isArray(binding.concept)
|
|
69
|
-
? binding.concept
|
|
70
|
-
: [binding.concept];
|
|
71
|
-
for (const name of names) {
|
|
72
|
-
const concept = ontology.concepts.get(name);
|
|
73
|
-
if (concept && concept.fields.length > 0) {
|
|
74
|
-
zones.add(folder);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
91
|
+
if (binding.agentWritable === true)
|
|
92
|
+
zones.add(folder);
|
|
77
93
|
}
|
|
78
94
|
return zones;
|
|
79
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Derive folders where the ROUTING LAW is enforced as a hard per-note requirement.
|
|
98
|
+
*
|
|
99
|
+
* This is a strict subset of agentWritableFolders(): folders must be marked both
|
|
100
|
+
* `agentWritable: true` and `routingLawStrict: true`.
|
|
101
|
+
*/
|
|
102
|
+
export function routingLawStrictFolders(ontology) {
|
|
103
|
+
return writeContractStrictFolders(ontology);
|
|
104
|
+
}
|
|
80
105
|
// ── Per-note check functions ──────────────────────────────────────────────────
|
|
81
106
|
/** (1) No key outside the concept's declared field list. */
|
|
82
107
|
function checkAllowlist(frontmatter, concept, notePath) {
|
|
@@ -97,26 +122,12 @@ function checkAllowlist(frontmatter, concept, notePath) {
|
|
|
97
122
|
}
|
|
98
123
|
/** (4) String fields that carry an enum constraint must use a listed value. */
|
|
99
124
|
function checkEnum(frontmatter, concept, notePath) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
continue; // required check handles missing
|
|
107
|
-
if (typeof value !== "string")
|
|
108
|
-
continue; // type check handles wrong type
|
|
109
|
-
if (!field.enum.includes(value)) {
|
|
110
|
-
violations.push({
|
|
111
|
-
notePath,
|
|
112
|
-
field: field.name,
|
|
113
|
-
rule: "enum",
|
|
114
|
-
message: `Field "${field.name}" value "${value}" is not one of` +
|
|
115
|
-
` [${field.enum.map((e) => `"${e}"`).join(", ")}].`,
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
return violations;
|
|
125
|
+
return enumViolations(frontmatter, concept).map((violation) => ({
|
|
126
|
+
notePath,
|
|
127
|
+
field: violation.field,
|
|
128
|
+
rule: violation.rule,
|
|
129
|
+
message: violation.message,
|
|
130
|
+
}));
|
|
120
131
|
}
|
|
121
132
|
/**
|
|
122
133
|
* (5) ROUTING LAW: notes in agent-writable zones must carry `created_by`.
|
|
@@ -125,24 +136,12 @@ function checkEnum(frontmatter, concept, notePath) {
|
|
|
125
136
|
* traceable. A note outside agent zones is not subject to this rule.
|
|
126
137
|
*/
|
|
127
138
|
function checkRoutingLaw(frontmatter, notePath, agentZones) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
(typeof createdBy === "string" && createdBy.trim() === "");
|
|
135
|
-
if (!missing)
|
|
136
|
-
return [];
|
|
137
|
-
return [
|
|
138
|
-
{
|
|
139
|
-
notePath,
|
|
140
|
-
field: "created_by",
|
|
141
|
-
rule: "routing-law",
|
|
142
|
-
message: `Note in agent-writable zone "${folder}" must carry "created_by"` +
|
|
143
|
-
` to satisfy the ROUTING LAW (agent-authored notes are traceable).`,
|
|
144
|
-
},
|
|
145
|
-
];
|
|
139
|
+
return routingLawViolations(frontmatter, notePath, agentZones).map((violation) => ({
|
|
140
|
+
notePath,
|
|
141
|
+
field: violation.field,
|
|
142
|
+
rule: violation.rule,
|
|
143
|
+
message: violation.message,
|
|
144
|
+
}));
|
|
146
145
|
}
|
|
147
146
|
// ── Public API ────────────────────────────────────────────────────────────────
|
|
148
147
|
/**
|
|
@@ -195,10 +194,18 @@ export async function lintVault(vaultRoot, ontology, options = {}) {
|
|
|
195
194
|
// Autofix is not implemented. Set the flag only after the human-gate
|
|
196
195
|
// protocol for M5 vault mutations is fully specified and approved.
|
|
197
196
|
}
|
|
198
|
-
|
|
197
|
+
await validateVaultLintFolder(vaultRoot, ontology, options.folder);
|
|
198
|
+
const agentZones = routingLawStrictFolders(ontology);
|
|
199
|
+
const excludeGlobs = resolveExcludeGlobs(ontology, options.excludeGlobs ?? []);
|
|
199
200
|
const violations = [];
|
|
200
201
|
let scannedNotes = 0;
|
|
201
|
-
|
|
202
|
+
let excludedNotes = 0;
|
|
203
|
+
const walkRoot = options.folder ? path.join(vaultRoot, options.folder) : vaultRoot;
|
|
204
|
+
for await (const notePath of walkVaultMarkdown(walkRoot, { base: vaultRoot })) {
|
|
205
|
+
if (matchesAnyGlob(notePath, excludeGlobs)) {
|
|
206
|
+
excludedNotes++;
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
202
209
|
let raw;
|
|
203
210
|
try {
|
|
204
211
|
raw = await readFile(path.join(vaultRoot, notePath), "utf-8");
|
|
@@ -209,23 +216,12 @@ export async function lintVault(vaultRoot, ontology, options = {}) {
|
|
|
209
216
|
const { frontmatter, hasFrontmatter } = parseNote(raw);
|
|
210
217
|
if (!hasFrontmatter)
|
|
211
218
|
continue;
|
|
212
|
-
|
|
213
|
-
const folder = notePath.split("/")[0] ?? "";
|
|
214
|
-
const binding = ontology.taxonomy.folders[folder];
|
|
215
|
-
if (binding === undefined || binding.concept === null)
|
|
216
|
-
continue;
|
|
217
|
-
const conceptNames = Array.isArray(binding.concept)
|
|
218
|
-
? binding.concept
|
|
219
|
-
: [binding.concept];
|
|
220
|
-
const conceptName = conceptNames[0];
|
|
221
|
-
if (!conceptName)
|
|
222
|
-
continue;
|
|
223
|
-
const concept = ontology.concepts.get(conceptName);
|
|
219
|
+
const concept = resolveConcept(ontology, notePath);
|
|
224
220
|
if (!concept)
|
|
225
221
|
continue;
|
|
226
222
|
scannedNotes++;
|
|
227
223
|
violations.push(...lintNoteFrontmatter(frontmatter, notePath, concept, agentZones));
|
|
228
224
|
}
|
|
229
|
-
return { violations, scannedNotes, clean: violations.length === 0 };
|
|
225
|
+
return { violations, scannedNotes, excludedNotes, clean: violations.length === 0 };
|
|
230
226
|
}
|
|
231
227
|
//# sourceMappingURL=vault-lint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-lint.js","sourceRoot":"","sources":["../../../src/engine/conventions/vault-lint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"vault-lint.js","sourceRoot":"","sources":["../../../src/engine/conventions/vault-lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,9 @@
|
|
|
9
9
|
* silently fabricating vectors.
|
|
10
10
|
*
|
|
11
11
|
* ADR-007: these are LOUD GUARDS, not fake fallbacks. They never return a
|
|
12
|
-
* projected / hash vector — they throw. Real semantic retrieval
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* R18: no runtime import from src/search.
|
|
12
|
+
* projected / hash vector — they throw. Real semantic retrieval requires an
|
|
13
|
+
* explicitly configured embedding provider/model; the graph-only engine never
|
|
14
|
+
* loads one.
|
|
16
15
|
*/
|
|
17
16
|
import type { EmbeddingProvider } from "../types.js";
|
|
18
17
|
import type { EngineStore } from "./store.js";
|
|
@@ -9,10 +9,9 @@
|
|
|
9
9
|
* silently fabricating vectors.
|
|
10
10
|
*
|
|
11
11
|
* ADR-007: these are LOUD GUARDS, not fake fallbacks. They never return a
|
|
12
|
-
* projected / hash vector — they throw. Real semantic retrieval
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* R18: no runtime import from src/search.
|
|
12
|
+
* projected / hash vector — they throw. Real semantic retrieval requires an
|
|
13
|
+
* explicitly configured embedding provider/model; the graph-only engine never
|
|
14
|
+
* loads one.
|
|
16
15
|
*/
|
|
17
16
|
const GRAPH_ONLY = "graph-only engine";
|
|
18
17
|
/** Embedding width advertised by the deferred provider (EmbeddingGemma-300M). */
|
|
@@ -30,9 +29,9 @@ export function makeDeferredProvider() {
|
|
|
30
29
|
model: "deferred:graph-only",
|
|
31
30
|
dimensions: DEFERRED_DIMENSIONS,
|
|
32
31
|
embed(_text) {
|
|
33
|
-
return Promise.reject(new Error(`${GRAPH_ONLY}: embedding provider unavailable.
|
|
34
|
-
`
|
|
35
|
-
`
|
|
32
|
+
return Promise.reject(new Error(`${GRAPH_ONLY}: embedding provider unavailable. Configure embeddings via ` +
|
|
33
|
+
`OMS_EMBEDDING_PROVIDER + OMS_EMBEDDING_MODEL (and provider auth env vars, ` +
|
|
34
|
+
`e.g. UPSTAGE_API_KEY) for engine semantic ops.`));
|
|
36
35
|
},
|
|
37
36
|
async dispose() {
|
|
38
37
|
// no native resources held
|
|
@@ -53,6 +52,10 @@ export function makeDeferredStore() {
|
|
|
53
52
|
`a real embedding provider; graph ops do not use the store.`);
|
|
54
53
|
};
|
|
55
54
|
return {
|
|
55
|
+
capabilities: () => ({ vecAvailable: false }),
|
|
56
|
+
upsertLex: () => unavailable(),
|
|
57
|
+
readEmbeddingIdentity: () => unavailable(),
|
|
58
|
+
writeEmbeddingIdentity: () => unavailable(),
|
|
56
59
|
upsert: () => unavailable(),
|
|
57
60
|
queryVec: () => unavailable(),
|
|
58
61
|
queryLex: () => unavailable(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deferred.js","sourceRoot":"","sources":["../../../src/engine/embed/deferred.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"deferred.js","sourceRoot":"","sources":["../../../src/engine/embed/deferred.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAEvC,iFAAiF;AACjF,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,KAAK,EAAE,qBAAqB;QAC5B,UAAU,EAAE,mBAAmB;QAC/B,KAAK,CAAC,KAAa;YACjB,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,GAAG,UAAU,6DAA6D;gBACxE,4EAA4E;gBAC5E,gDAAgD,CACnD,CACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,OAAO;YACX,2BAA2B;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,WAAW,GAAG,GAAU,EAAE;QAC9B,MAAM,IAAI,KAAK,CACb,GAAG,UAAU,kEAAkE;YAC7E,4DAA4D,CAC/D,CAAC;IACJ,CAAC,CAAC;IACF,OAAO;QACL,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QAC7C,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;QAC9B,qBAAqB,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;QAC1C,sBAAsB,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;QAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;QAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;QAC7B,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;QAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;QAC5B,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;QAClC,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;QACjC,KAAK,EAAE,GAAG,EAAE;YACV,mBAAmB;QACrB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type EmbeddingIdentity } from "./store.js";
|
|
2
|
+
export declare function fingerprintEmbeddingIdentity(input: {
|
|
3
|
+
provider: string;
|
|
4
|
+
model: string;
|
|
5
|
+
dimensions: number;
|
|
6
|
+
}): string;
|
|
7
|
+
export declare function makeEmbeddingIdentity(input: {
|
|
8
|
+
provider: string;
|
|
9
|
+
model: string;
|
|
10
|
+
dimensions: number;
|
|
11
|
+
}): EmbeddingIdentity;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { ENGINE_EMBED_META_VERSION } from "./store.js";
|
|
3
|
+
export function fingerprintEmbeddingIdentity(input) {
|
|
4
|
+
const raw = [ENGINE_EMBED_META_VERSION, input.provider, input.model, String(input.dimensions)].join("\u0000");
|
|
5
|
+
return createHash("sha256").update(raw).digest("hex");
|
|
6
|
+
}
|
|
7
|
+
export function makeEmbeddingIdentity(input) {
|
|
8
|
+
return {
|
|
9
|
+
provider: input.provider,
|
|
10
|
+
model: input.model,
|
|
11
|
+
dimensions: input.dimensions,
|
|
12
|
+
fingerprint: fingerprintEmbeddingIdentity(input),
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/engine/embed/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAA0B,MAAM,YAAY,CAAC;AAE/E,MAAM,UAAU,4BAA4B,CAAC,KAI5C;IACC,MAAM,GAAG,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9G,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAIrC;IACC,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,4BAA4B,CAAC,KAAK,CAAC;KACjD,CAAC;AACJ,CAAC"}
|
|
@@ -42,26 +42,25 @@ export declare function createGGUFEmbeddingProvider(modelPath: string, dimension
|
|
|
42
42
|
* when UPSTAGE_API_KEY is set in the environment; never use by default.
|
|
43
43
|
* The API key MUST come from env — never hardcoded (R4 secrets-via-env).
|
|
44
44
|
*/
|
|
45
|
-
export declare function createUpstageProvider(apiKey: string): EmbeddingProvider;
|
|
46
|
-
|
|
45
|
+
export declare function createUpstageProvider(apiKey: string, model: string): EmbeddingProvider;
|
|
46
|
+
export type EmbeddingProviderKind = "gguf" | "upstage";
|
|
47
|
+
/** Options for the production embedding factory (explicit provider + model). */
|
|
47
48
|
export interface EmbeddingProviderOptions {
|
|
48
|
-
/**
|
|
49
|
-
|
|
49
|
+
/** Provider id selected by OMS_EMBEDDING_PROVIDER. */
|
|
50
|
+
provider?: EmbeddingProviderKind | string;
|
|
51
|
+
/** Provider-specific model identifier selected by OMS_EMBEDDING_MODEL. */
|
|
52
|
+
model?: string;
|
|
50
53
|
}
|
|
51
54
|
/** Alias kept for callers that import StrictEmbeddingProviderOptions by name. */
|
|
52
55
|
export type StrictEmbeddingProviderOptions = EmbeddingProviderOptions;
|
|
53
56
|
/**
|
|
54
57
|
* Resolve a REAL embedding provider or throw.
|
|
55
58
|
*
|
|
56
|
-
* This is the ONE production factory for the OMS engine.
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
+
* This is the ONE production factory for the OMS engine. It NEVER falls back to
|
|
60
|
+
* a fake/stub embedder and it NEVER auto-selects a provider based on env key
|
|
61
|
+
* presence (UPSTAGE_API_KEY, etc.). Provider selection is explicit.
|
|
59
62
|
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* 2. opts.modelPath provided → GGUF / node-llama-cpp (768d, EmbeddingGemma-300M).
|
|
63
|
-
* 3. Neither available → throws with a clear message mentioning OMS_MODEL_PATH.
|
|
64
|
-
*
|
|
65
|
-
* @throws {Error} When neither UPSTAGE_API_KEY nor modelPath is available.
|
|
63
|
+
* @throws {Error} When provider/model are missing or unsupported, or when
|
|
64
|
+
* provider-specific auth is missing.
|
|
66
65
|
*/
|
|
67
66
|
export declare function requireRealEmbeddingProvider(opts?: StrictEmbeddingProviderOptions): EmbeddingProvider;
|
|
@@ -52,8 +52,8 @@ const EMBED_MAX_INPUT_TOKENS = 1900;
|
|
|
52
52
|
/**
|
|
53
53
|
* L2-normalise a raw embedding vector and return as Float32Array.
|
|
54
54
|
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
55
|
+
* There is NO modulo fold or projection here: the full 768-element vector is
|
|
56
|
+
* preserved (no lossy fold to a smaller width).
|
|
57
57
|
* For EmbeddingGemma-300M this means float[768], no lossy fold to 64d.
|
|
58
58
|
*/
|
|
59
59
|
function normalizeVector(values) {
|
|
@@ -177,7 +177,6 @@ export function createGGUFEmbeddingProvider(modelPath, dimensions = GGUF_EMBEDDI
|
|
|
177
177
|
// ---------------------------------------------------------------------------
|
|
178
178
|
const UPSTAGE_DIMENSIONS = 4096;
|
|
179
179
|
const UPSTAGE_API_URL = "https://api.upstage.ai/v1/embeddings";
|
|
180
|
-
const UPSTAGE_MODEL = "embedding-passage";
|
|
181
180
|
/**
|
|
182
181
|
* Create an Upstage Solar embedding provider (4096d).
|
|
183
182
|
*
|
|
@@ -185,9 +184,9 @@ const UPSTAGE_MODEL = "embedding-passage";
|
|
|
185
184
|
* when UPSTAGE_API_KEY is set in the environment; never use by default.
|
|
186
185
|
* The API key MUST come from env — never hardcoded (R4 secrets-via-env).
|
|
187
186
|
*/
|
|
188
|
-
export function createUpstageProvider(apiKey) {
|
|
187
|
+
export function createUpstageProvider(apiKey, model) {
|
|
189
188
|
return {
|
|
190
|
-
model:
|
|
189
|
+
model: `upstage:${model}`,
|
|
191
190
|
dimensions: UPSTAGE_DIMENSIONS,
|
|
192
191
|
async embed(text) {
|
|
193
192
|
let input = (text ?? "").trim();
|
|
@@ -204,7 +203,7 @@ export function createUpstageProvider(apiKey) {
|
|
|
204
203
|
"Content-Type": "application/json",
|
|
205
204
|
Authorization: `Bearer ${apiKey}`,
|
|
206
205
|
},
|
|
207
|
-
body: JSON.stringify({ input, model
|
|
206
|
+
body: JSON.stringify({ input, model }),
|
|
208
207
|
});
|
|
209
208
|
if (response.ok) {
|
|
210
209
|
const json = (await response.json());
|
|
@@ -233,31 +232,35 @@ export function createUpstageProvider(apiKey) {
|
|
|
233
232
|
/**
|
|
234
233
|
* Resolve a REAL embedding provider or throw.
|
|
235
234
|
*
|
|
236
|
-
* This is the ONE production factory for the OMS engine.
|
|
237
|
-
*
|
|
238
|
-
*
|
|
235
|
+
* This is the ONE production factory for the OMS engine. It NEVER falls back to
|
|
236
|
+
* a fake/stub embedder and it NEVER auto-selects a provider based on env key
|
|
237
|
+
* presence (UPSTAGE_API_KEY, etc.). Provider selection is explicit.
|
|
239
238
|
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
* 2. opts.modelPath provided → GGUF / node-llama-cpp (768d, EmbeddingGemma-300M).
|
|
243
|
-
* 3. Neither available → throws with a clear message mentioning OMS_MODEL_PATH.
|
|
244
|
-
*
|
|
245
|
-
* @throws {Error} When neither UPSTAGE_API_KEY nor modelPath is available.
|
|
239
|
+
* @throws {Error} When provider/model are missing or unsupported, or when
|
|
240
|
+
* provider-specific auth is missing.
|
|
246
241
|
*/
|
|
247
242
|
export function requireRealEmbeddingProvider(opts = {}) {
|
|
248
|
-
const
|
|
249
|
-
|
|
250
|
-
|
|
243
|
+
const providerRaw = (opts.provider ?? "").toString().trim();
|
|
244
|
+
const model = (opts.model ?? "").toString().trim();
|
|
245
|
+
if (!providerRaw) {
|
|
246
|
+
throw new Error("OMS embedding provider is not configured. Set OMS_EMBEDDING_PROVIDER " +
|
|
247
|
+
"(e.g. gguf or upstage) and OMS_EMBEDDING_MODEL, then rerun sync.");
|
|
248
|
+
}
|
|
249
|
+
if (!model) {
|
|
250
|
+
throw new Error(`OMS embedding model is not configured for provider "${providerRaw}". ` +
|
|
251
|
+
"Set OMS_EMBEDDING_MODEL and rerun sync.");
|
|
252
|
+
}
|
|
253
|
+
if (providerRaw === "gguf") {
|
|
254
|
+
return createGGUFEmbeddingProvider(model);
|
|
251
255
|
}
|
|
252
|
-
if (
|
|
253
|
-
|
|
256
|
+
if (providerRaw === "upstage") {
|
|
257
|
+
const upstageKey = process.env["UPSTAGE_API_KEY"];
|
|
258
|
+
if (!upstageKey) {
|
|
259
|
+
throw new Error("OMS embedding provider is configured as upstage but UPSTAGE_API_KEY is missing.");
|
|
260
|
+
}
|
|
261
|
+
return createUpstageProvider(upstageKey, model);
|
|
254
262
|
}
|
|
255
|
-
throw new Error(
|
|
256
|
-
"
|
|
257
|
-
"(e.g. /path/to/hf_ggml-org_embeddinggemma-300M-Q8_0.gguf) " +
|
|
258
|
-
"or set UPSTAGE_API_KEY for the Upstage Solar API. " +
|
|
259
|
-
"The hash-projection fallback (model id 'hash-projection:dim=64') is NOT " +
|
|
260
|
-
"permitted on the production assemble path — it would silently produce " +
|
|
261
|
-
"fake embeddings and corrupt the vault index.");
|
|
263
|
+
throw new Error(`OMS embedding provider "${providerRaw}" is unsupported. ` +
|
|
264
|
+
"Supported providers: gguf, upstage.");
|
|
262
265
|
}
|
|
263
266
|
//# sourceMappingURL=provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/engine/embed/provider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/engine/embed/provider.ts"],"names":[],"mappings":"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"}
|