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
package/dist/mcp/server.js
CHANGED
|
@@ -1,57 +1,25 @@
|
|
|
1
|
-
import { readFile
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
4
4
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
5
5
|
import { CallToolRequestSchema, ListResourceTemplatesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
6
6
|
import { parseNote } from "../conventions/frontmatter.js";
|
|
7
7
|
import { validateFrontmatter } from "../conventions/validate.js";
|
|
8
|
-
import {
|
|
8
|
+
import { lintVault } from "../engine/conventions/vault-lint.js";
|
|
9
|
+
import { safeVaultNotePath, writeNote, } from "../capture/safe.js";
|
|
9
10
|
import { buildGraphCache, graphCacheStatus, graphCachePath, lazyLoadNoteBody, } from "../graph/cache.js";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
11
|
+
import { readBundledPackageVersion } from "../core/runtime/assets.js";
|
|
12
|
+
import { resolveActiveOntology } from "../ontology/active.js";
|
|
13
|
+
import { resolveConcept } from "../core/ontology/resolver.js";
|
|
12
14
|
import { retrieveMorningContext } from "../retrieve/morning.js";
|
|
13
15
|
import { makeEngineMorningBackend } from "./engine-morning-backend.js";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
const localOntologyDir = path.join(vault, ".oms");
|
|
22
|
-
const omsKind = await pathKind(localOntologyDir);
|
|
23
|
-
if (omsKind === "missing") {
|
|
24
|
-
return { ontology: await loadOntology(bundledAssets.ontologyDir), source: "bundled" };
|
|
25
|
-
}
|
|
26
|
-
if (omsKind !== "directory") {
|
|
27
|
-
throw new Error("Local .oms exists but is not a directory.");
|
|
28
|
-
}
|
|
29
|
-
const taxonomyKind = await pathKind(path.join(localOntologyDir, "taxonomy.yaml"));
|
|
30
|
-
const conceptsKind = await pathKind(path.join(localOntologyDir, "concepts"));
|
|
31
|
-
if (taxonomyKind === "missing" && conceptsKind === "missing") {
|
|
32
|
-
return { ontology: await loadOntology(bundledAssets.ontologyDir), source: "bundled" };
|
|
33
|
-
}
|
|
34
|
-
if (taxonomyKind !== "file" || conceptsKind !== "directory") {
|
|
35
|
-
throw new Error("Local .oms ontology is incomplete; expected .oms/taxonomy.yaml and .oms/concepts/.");
|
|
36
|
-
}
|
|
37
|
-
return { ontology: await loadOntology(localOntologyDir), source: "vault" };
|
|
38
|
-
}
|
|
39
|
-
async function pathKind(target) {
|
|
40
|
-
try {
|
|
41
|
-
const info = await stat(target);
|
|
42
|
-
if (info.isFile())
|
|
43
|
-
return "file";
|
|
44
|
-
if (info.isDirectory())
|
|
45
|
-
return "directory";
|
|
46
|
-
return "other";
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
50
|
-
return "missing";
|
|
51
|
-
}
|
|
52
|
-
throw error;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
16
|
+
import { handleSemanticTool, isEngineSemanticOp, isEngineDocumentOp, isModelOptionalSemanticQueryOp, semanticMcpTools, semanticOptionsFromArgs, retrieveContextSemanticInputProperties, } from "./semantic-retrieve.js";
|
|
17
|
+
import { assembleCoreSemanticEngine, assembleGraphOnlyEngine } from "../engine/assemble.js";
|
|
18
|
+
import { assembleFullSemanticEngine, embeddingConfigPresent } from "./semantic-engine.js";
|
|
19
|
+
import { applyLinksForNote, linkApplyPayload, suggestLinksForNote } from "./link-tools.js";
|
|
20
|
+
import { buildServerInstructions, cachedUpdateNotice, scheduleUpdateNoticeRefresh, } from "./update-notice.js";
|
|
21
|
+
const SERVER_VERSION = readBundledPackageVersion();
|
|
22
|
+
export const BASE_SERVER_INSTRUCTIONS = "Oh My Second Brain exposes ontology/status/cache/retrieval tools and the write tool. write is gated by a verified vault target (a vault inferred from the current directory is refused), vault confinement, and contract validation.";
|
|
55
23
|
function jsonText(value) {
|
|
56
24
|
return {
|
|
57
25
|
content: [
|
|
@@ -237,17 +205,42 @@ export const omsMcpTools = [
|
|
|
237
205
|
},
|
|
238
206
|
},
|
|
239
207
|
{
|
|
240
|
-
name: "
|
|
241
|
-
title: "Oh My Second Brain
|
|
242
|
-
description: "
|
|
208
|
+
name: "oms_vault_audit",
|
|
209
|
+
title: "Oh My Second Brain vault audit",
|
|
210
|
+
description: "Scan vault notes against the active ontology and return a structured violation report. Read-only; the CLI counterpart is `oms audit`.",
|
|
243
211
|
inputSchema: {
|
|
244
212
|
type: "object",
|
|
245
213
|
properties: {
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
214
|
+
folder: {
|
|
215
|
+
type: "string",
|
|
216
|
+
description: "Restrict the scan to one top-level vault folder, for example \"references\".",
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
annotations: {
|
|
221
|
+
readOnlyHint: true,
|
|
222
|
+
destructiveHint: false,
|
|
223
|
+
idempotentHint: true,
|
|
224
|
+
openWorldHint: false,
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
name: "oms_link_suggest",
|
|
229
|
+
title: "Oh My Second Brain link suggest",
|
|
230
|
+
description: "Propose [[wikilink]] insertions for one note against the vault's term notes. Read-only: returns ranked candidates plus the baseContentHash oms_link_apply requires.",
|
|
231
|
+
inputSchema: {
|
|
232
|
+
type: "object",
|
|
233
|
+
properties: {
|
|
234
|
+
notePath: {
|
|
235
|
+
type: "string",
|
|
236
|
+
description: "Vault-relative markdown note path to linkify, for example notes/sage.md.",
|
|
237
|
+
},
|
|
238
|
+
folder: {
|
|
239
|
+
type: "string",
|
|
240
|
+
description: "Restrict the term-note candidate universe to one top-level vault folder.",
|
|
241
|
+
},
|
|
250
242
|
},
|
|
243
|
+
required: ["notePath"],
|
|
251
244
|
},
|
|
252
245
|
annotations: {
|
|
253
246
|
readOnlyHint: true,
|
|
@@ -257,18 +250,54 @@ export const omsMcpTools = [
|
|
|
257
250
|
},
|
|
258
251
|
},
|
|
259
252
|
{
|
|
260
|
-
name: "
|
|
261
|
-
title: "Oh My Second Brain
|
|
262
|
-
description: "
|
|
253
|
+
name: "oms_link_apply",
|
|
254
|
+
title: "Oh My Second Brain link apply",
|
|
255
|
+
description: "Splice accepted oms_link_suggest candidates into a note and persist through the write kernel. Refuses without writing when baseContentHash no longer matches the note.",
|
|
256
|
+
inputSchema: {
|
|
257
|
+
type: "object",
|
|
258
|
+
properties: {
|
|
259
|
+
notePath: {
|
|
260
|
+
type: "string",
|
|
261
|
+
description: "Vault-relative markdown note path returned by oms_link_suggest.",
|
|
262
|
+
},
|
|
263
|
+
baseContentHash: {
|
|
264
|
+
type: "string",
|
|
265
|
+
description: "The baseContentHash from the oms_link_suggest call the candidates came from.",
|
|
266
|
+
},
|
|
267
|
+
candidateIds: {
|
|
268
|
+
type: "array",
|
|
269
|
+
items: { type: "string" },
|
|
270
|
+
description: "Ids of the accepted candidates from that same oms_link_suggest call.",
|
|
271
|
+
},
|
|
272
|
+
folder: {
|
|
273
|
+
type: "string",
|
|
274
|
+
description: "Same candidate-universe folder scope used for the suggest call.",
|
|
275
|
+
},
|
|
276
|
+
},
|
|
277
|
+
required: ["notePath", "baseContentHash", "candidateIds"],
|
|
278
|
+
},
|
|
279
|
+
annotations: {
|
|
280
|
+
readOnlyHint: false,
|
|
281
|
+
destructiveHint: true,
|
|
282
|
+
idempotentHint: false,
|
|
283
|
+
openWorldHint: false,
|
|
284
|
+
},
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
name: "write",
|
|
288
|
+
title: "Oh My Second Brain write",
|
|
289
|
+
description: "Write a vault note through the kernel-owned .oms contract. Modes: create, append, update. Returns ask, inbox, written, or rejected.",
|
|
263
290
|
inputSchema: {
|
|
264
291
|
type: "object",
|
|
265
292
|
properties: {
|
|
293
|
+
mode: { type: "string", enum: ["create", "append", "update"] },
|
|
266
294
|
notePath: { type: "string" },
|
|
295
|
+
concept: { type: "string" },
|
|
296
|
+
folder: { type: "string" },
|
|
297
|
+
filename: { type: "string" },
|
|
267
298
|
frontmatter: { type: "object" },
|
|
268
299
|
body: { type: "string" },
|
|
269
|
-
mode: { type: "string", enum: ["create", "append"] },
|
|
270
300
|
},
|
|
271
|
-
required: ["notePath", "frontmatter", "body", "mode"],
|
|
272
301
|
},
|
|
273
302
|
annotations: {
|
|
274
303
|
readOnlyHint: false,
|
|
@@ -280,58 +309,67 @@ export const omsMcpTools = [
|
|
|
280
309
|
];
|
|
281
310
|
export function createOMSMcpServer(opts) {
|
|
282
311
|
const vault = path.resolve(opts.vault);
|
|
312
|
+
const source = opts.source;
|
|
283
313
|
// Native engine — graph layer (boot): assembled model-free via deferred
|
|
284
314
|
// (throw-on-use) embedding primitives. Axis-first retrieval and the derived
|
|
285
315
|
// graph cache status scan the vault off the filesystem and need no model.
|
|
286
316
|
// No model load, no SQLite store, no watcher: side-effect-free per boot (R2).
|
|
287
317
|
const engine = assembleGraphOnlyEngine({ vault });
|
|
288
318
|
// Native engine — semantic layer (lazy): assembled on the FIRST semantic op,
|
|
289
|
-
// not at boot, so boot stays stateless (R2).
|
|
290
|
-
// SQLite store on construction and loads the embedding model on first
|
|
291
|
-
//
|
|
292
|
-
//
|
|
293
|
-
//
|
|
294
|
-
//
|
|
295
|
-
// (ADR-007: no hash/fake fallback) that surfaces via the dispatch catch below.
|
|
319
|
+
// not at boot, so boot stays stateless (R2). The vec-capable engine opens the
|
|
320
|
+
// engine SQLite store on construction and loads the embedding model on first
|
|
321
|
+
// embed(). Embedding selection is canonical and explicit: OMS_EMBEDDING_PROVIDER
|
|
322
|
+
// (e.g. gguf | upstage) + OMS_EMBEDDING_MODEL (path or model id). Absent either,
|
|
323
|
+
// assembleFullSemanticEngine throws a loud, actionable error (ADR-007: no
|
|
324
|
+
// hash/fake fallback, no auto-detect) that surfaces via the dispatch catch.
|
|
296
325
|
let semanticEngine = null;
|
|
297
326
|
const getSemanticEngine = () => {
|
|
298
327
|
if (semanticEngine === null) {
|
|
299
|
-
|
|
300
|
-
semanticEngine = assembleEngine({ vault, ...(modelPath ? { modelPath } : {}) });
|
|
328
|
+
semanticEngine = assembleFullSemanticEngine(vault);
|
|
301
329
|
}
|
|
302
330
|
return semanticEngine;
|
|
303
331
|
};
|
|
304
|
-
//
|
|
305
|
-
//
|
|
306
|
-
//
|
|
307
|
-
|
|
308
|
-
const
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
// the caller degrades to the model-free src/search layer. This is the deliberate
|
|
312
|
-
// counterpart to the isEngineSemanticOp path, which assembles eagerly and lets
|
|
313
|
-
// the no-model error surface loudly (ADR-007). Both honor the same invariant:
|
|
314
|
-
// query + document reads resolve on the SAME backend, so a retrieve_context
|
|
315
|
-
// real-path docid always hydrates where it was produced (no split-brain).
|
|
316
|
-
const trySemanticEngineAdapter = () => {
|
|
317
|
-
if (!hasEmbeddingModel())
|
|
318
|
-
return null;
|
|
319
|
-
try {
|
|
320
|
-
return getSemanticEngine().adapter;
|
|
321
|
-
}
|
|
322
|
-
catch {
|
|
323
|
-
return null;
|
|
332
|
+
// Core semantic engine (lazy): lex + file-based document reads with NO model.
|
|
333
|
+
// vec/HyDE fail fast (the core store has no vec0 table). This is the model-less
|
|
334
|
+
// backend for the document/retrieve_context paths after the src/search teardown.
|
|
335
|
+
let coreSemanticEngine = null;
|
|
336
|
+
const getCoreSemanticEngine = () => {
|
|
337
|
+
if (coreSemanticEngine === null) {
|
|
338
|
+
coreSemanticEngine = assembleCoreSemanticEngine({ vault });
|
|
324
339
|
}
|
|
340
|
+
return coreSemanticEngine;
|
|
325
341
|
};
|
|
342
|
+
// A real embedding provider is configured iff the canonical pair is set
|
|
343
|
+
// (ADR-007). The engine's model-OPTIONAL surface (document reads,
|
|
344
|
+
// retrieve_context's semantic leg, ReadResource) keys off this to decide
|
|
345
|
+
// vec-capable vs core engine WITHOUT a no-model assembly throw.
|
|
346
|
+
const hasEmbeddingModel = embeddingConfigPresent;
|
|
347
|
+
// Adapter resolver for the model-OPTIONAL paths: the vec-capable engine when
|
|
348
|
+
// the canonical embedding pair is configured, else the core (lex + file-based
|
|
349
|
+
// document) engine. The counterpart isEngineSemanticOp path assembles eagerly
|
|
350
|
+
// and lets the no-model error surface loudly (ADR-007). Both honor the same
|
|
351
|
+
// invariant: query + document reads resolve on the SAME backend, so a
|
|
352
|
+
// retrieve_context real-path docid always hydrates where it was produced.
|
|
353
|
+
//
|
|
354
|
+
// No catch here: a CONFIGURED-but-broken full engine (bad provider/model,
|
|
355
|
+
// missing auth, store-open failure) must surface its error loudly rather than
|
|
356
|
+
// silently masquerade as a model-less host (ADR-007). The core fallback is
|
|
357
|
+
// strictly for the absent-config case.
|
|
358
|
+
const resolveDocumentAdapter = () => hasEmbeddingModel() ? getSemanticEngine().adapter : getCoreSemanticEngine().adapter;
|
|
326
359
|
const server = new Server({ name: "oms", version: SERVER_VERSION }, {
|
|
327
360
|
capabilities: { tools: {}, resources: {} },
|
|
328
|
-
|
|
361
|
+
// Cache read only: construction must never touch the network. The
|
|
362
|
+
// registry refresh that fills this cache is scheduled from runMcpServer.
|
|
363
|
+
instructions: buildServerInstructions(BASE_SERVER_INSTRUCTIONS, cachedUpdateNotice({ installedVersion: SERVER_VERSION })),
|
|
329
364
|
});
|
|
330
365
|
server.onclose = () => {
|
|
331
366
|
void engine.dispose().catch(() => undefined);
|
|
332
367
|
if (semanticEngine !== null) {
|
|
333
368
|
void semanticEngine.dispose().catch(() => undefined);
|
|
334
369
|
}
|
|
370
|
+
if (coreSemanticEngine !== null) {
|
|
371
|
+
void coreSemanticEngine.dispose().catch(() => undefined);
|
|
372
|
+
}
|
|
335
373
|
};
|
|
336
374
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
337
375
|
tools: omsMcpTools,
|
|
@@ -349,13 +387,10 @@ export function createOMSMcpServer(opts) {
|
|
|
349
387
|
server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
|
|
350
388
|
const uri = request.params.uri;
|
|
351
389
|
// Resource reads hydrate on the SAME backend the semantic ops use: the engine
|
|
352
|
-
// (file-based, qmd:// / oms:// scheme aware) when a model is
|
|
353
|
-
//
|
|
354
|
-
// regardless of which backend produced it.
|
|
355
|
-
const
|
|
356
|
-
const result = engineAdapter
|
|
357
|
-
? await engineAdapter.getDocument({ vault, target: uri })
|
|
358
|
-
: await getSemanticDocument({ vault, target: uri });
|
|
390
|
+
// (file-based, qmd:// / oms:// scheme aware), vec-capable when a model is
|
|
391
|
+
// configured and core (lex + file reads) otherwise — so a retrieve_context
|
|
392
|
+
// docid resolves through the URI surface regardless of which backend produced it.
|
|
393
|
+
const result = await resolveDocumentAdapter().getDocument({ vault, target: uri });
|
|
359
394
|
if (!result.available || !result.documents[0]) {
|
|
360
395
|
throw new Error(!result.available && result.reason ? result.reason : "OMS semantic resource not found.");
|
|
361
396
|
}
|
|
@@ -381,11 +416,11 @@ export function createOMSMcpServer(opts) {
|
|
|
381
416
|
// throw escape ALL inner catch branches and break the MCP handler.
|
|
382
417
|
const engineGraph = await engine.adapter.graphStatus(vault).catch(() => null);
|
|
383
418
|
try {
|
|
384
|
-
const { ontology, source } = await
|
|
419
|
+
const { ontology, source: ontologySource } = await resolveActiveOntology(vault);
|
|
385
420
|
const cacheStatus = await graphCacheStatus(vault, ontology);
|
|
386
421
|
return jsonText({
|
|
387
422
|
vault,
|
|
388
|
-
ontologySource
|
|
423
|
+
ontologySource,
|
|
389
424
|
sourceOfTruth: ["markdown notes", ".oms/taxonomy.yaml", ".oms/concepts/*.yaml"],
|
|
390
425
|
counts: {
|
|
391
426
|
concepts: ontology.concepts.size,
|
|
@@ -393,7 +428,9 @@ export function createOMSMcpServer(opts) {
|
|
|
393
428
|
},
|
|
394
429
|
derivedState: cacheStatus,
|
|
395
430
|
engineGraph,
|
|
396
|
-
writeTools: "
|
|
431
|
+
writeTools: source === "cwd"
|
|
432
|
+
? "write-disabled-target-unverified"
|
|
433
|
+
: "write-gated-by-verified-target-and-contract",
|
|
397
434
|
readTools: omsMcpTools.map((tool) => tool.name),
|
|
398
435
|
});
|
|
399
436
|
}
|
|
@@ -423,7 +460,7 @@ export function createOMSMcpServer(opts) {
|
|
|
423
460
|
}
|
|
424
461
|
try {
|
|
425
462
|
if (request.params.name === "oms_graph_build") {
|
|
426
|
-
const { ontology, source } = await
|
|
463
|
+
const { ontology, source } = await resolveActiveOntology(vault);
|
|
427
464
|
const cache = await buildGraphCache({ vault, ontology, write: true });
|
|
428
465
|
return jsonText({
|
|
429
466
|
vault,
|
|
@@ -437,7 +474,7 @@ export function createOMSMcpServer(opts) {
|
|
|
437
474
|
});
|
|
438
475
|
}
|
|
439
476
|
if (request.params.name === "oms_list_concepts") {
|
|
440
|
-
const { ontology, source } = await
|
|
477
|
+
const { ontology, source } = await resolveActiveOntology(vault);
|
|
441
478
|
return jsonText({
|
|
442
479
|
vault,
|
|
443
480
|
ontologySource: source,
|
|
@@ -469,14 +506,12 @@ export function createOMSMcpServer(opts) {
|
|
|
469
506
|
}
|
|
470
507
|
if (request.params.name === "oms_retrieve_context") {
|
|
471
508
|
// Graph + semantic fusion. The graph leg stays on the src/graph warm cache;
|
|
472
|
-
// the semantic leg routes to the native engine when a model is
|
|
473
|
-
// (parity
|
|
474
|
-
//
|
|
475
|
-
//
|
|
476
|
-
|
|
477
|
-
const
|
|
478
|
-
const semanticBackend = engineAdapter ? makeEngineMorningBackend(engineAdapter, vault) : undefined;
|
|
479
|
-
const { ontology, source } = await activeOntology(vault);
|
|
509
|
+
// the semantic leg routes to the native engine: vec-capable when a model is
|
|
510
|
+
// configured (parity ranking, real-path docids) and core (lex; vec/HyDE fail
|
|
511
|
+
// fast) otherwise. get/multi_get and ReadResource make the SAME choice, so a
|
|
512
|
+
// docid emitted here always hydrates on the backend that produced it.
|
|
513
|
+
const semanticBackend = makeEngineMorningBackend(resolveDocumentAdapter(), vault);
|
|
514
|
+
const { ontology, source } = await resolveActiveOntology(vault);
|
|
480
515
|
const limitValue = args?.["limit"];
|
|
481
516
|
const maxNeighborsValue = args?.["maxNeighbors"];
|
|
482
517
|
const useCacheValue = args?.["useCache"];
|
|
@@ -500,24 +535,22 @@ export function createOMSMcpServer(opts) {
|
|
|
500
535
|
...result,
|
|
501
536
|
});
|
|
502
537
|
}
|
|
503
|
-
// Semantic / sync / cleanup ops route to the native engine adapter
|
|
504
|
-
//
|
|
505
|
-
//
|
|
506
|
-
//
|
|
507
|
-
//
|
|
508
|
-
//
|
|
509
|
-
//
|
|
510
|
-
//
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
:
|
|
518
|
-
|
|
519
|
-
if (semanticToolResult) {
|
|
520
|
-
return semanticToolResult.ok ? jsonText(semanticToolResult.value) : errorText(semanticToolResult.message);
|
|
538
|
+
// Semantic / sync / cleanup / document ops route to the native engine adapter:
|
|
539
|
+
// - vec/HyDE semantic ops → EAGER getSemanticEngine().adapter (vec-capable):
|
|
540
|
+
// a model-less host throws a loud ADR-007 error (surfaces via the dispatch
|
|
541
|
+
// catch below).
|
|
542
|
+
// - lex-only query and document ops → resolveDocumentAdapter(): vec-capable
|
|
543
|
+
// engine when a model is configured, else the core engine. Lex is a real
|
|
544
|
+
// model-free BM25/FTS feature, not an ADR-007 fake vector fallback.
|
|
545
|
+
// Every other tool never touches the engine here.
|
|
546
|
+
if (isEngineSemanticOp(request.params.name) || isEngineDocumentOp(request.params.name)) {
|
|
547
|
+
const semanticAdapter = isEngineSemanticOp(request.params.name) && !isModelOptionalSemanticQueryOp(request.params.name, args, vault)
|
|
548
|
+
? getSemanticEngine().adapter
|
|
549
|
+
: resolveDocumentAdapter();
|
|
550
|
+
const semanticToolResult = await handleSemanticTool(request.params.name, args, vault, semanticAdapter);
|
|
551
|
+
if (semanticToolResult) {
|
|
552
|
+
return semanticToolResult.ok ? jsonText(semanticToolResult.value) : errorText(semanticToolResult.message);
|
|
553
|
+
}
|
|
521
554
|
}
|
|
522
555
|
if (request.params.name === "oms_lazy_load_note") {
|
|
523
556
|
const notePath = stringArg(args, "notePath");
|
|
@@ -538,7 +571,7 @@ export function createOMSMcpServer(opts) {
|
|
|
538
571
|
catch (error) {
|
|
539
572
|
return errorText(error instanceof Error ? error.message : String(error));
|
|
540
573
|
}
|
|
541
|
-
const { ontology, source } = await
|
|
574
|
+
const { ontology, source } = await resolveActiveOntology(vault);
|
|
542
575
|
const normalizedNotePath = path.relative(vault, fullPath).replace(/\\/g, "/");
|
|
543
576
|
const concept = resolveConcept(ontology, normalizedNotePath);
|
|
544
577
|
if (!concept) {
|
|
@@ -570,49 +603,75 @@ export function createOMSMcpServer(opts) {
|
|
|
570
603
|
violations: result.violations,
|
|
571
604
|
});
|
|
572
605
|
}
|
|
573
|
-
if (request.params.name === "
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
606
|
+
if (request.params.name === "oms_vault_audit") {
|
|
607
|
+
if (args !== undefined &&
|
|
608
|
+
Object.prototype.hasOwnProperty.call(args, "folder") &&
|
|
609
|
+
typeof args["folder"] !== "string") {
|
|
610
|
+
return errorText('Argument "folder" must be a string top-level folder name.');
|
|
611
|
+
}
|
|
612
|
+
const folder = stringArg(args, "folder");
|
|
613
|
+
const { ontology, source } = await resolveActiveOntology(vault);
|
|
614
|
+
const report = await lintVault(vault, ontology, { folder });
|
|
577
615
|
return jsonText({
|
|
578
616
|
vault,
|
|
579
617
|
ontologySource: source,
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
filename: stringArg(args, "filename"),
|
|
586
|
-
frontmatter,
|
|
587
|
-
}),
|
|
618
|
+
folder: folder ?? null,
|
|
619
|
+
scannedNotes: report.scannedNotes,
|
|
620
|
+
excludedNotes: report.excludedNotes,
|
|
621
|
+
clean: report.clean,
|
|
622
|
+
violations: report.violations,
|
|
588
623
|
});
|
|
589
624
|
}
|
|
590
|
-
if (request.params.name === "
|
|
591
|
-
const { ontology, source } = await activeOntology(vault);
|
|
625
|
+
if (request.params.name === "oms_link_suggest") {
|
|
592
626
|
const notePath = stringArg(args, "notePath");
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
const frontmatterArg = args?.["frontmatter"];
|
|
596
|
-
if (!notePath || !body || !isCaptureMode(mode) || !isRecord(frontmatterArg)) {
|
|
597
|
-
return errorText('Missing required arguments: notePath:string, frontmatter:object, body:string, mode:"create"|"append".');
|
|
627
|
+
if (!notePath) {
|
|
628
|
+
return errorText('Missing required string argument "notePath".');
|
|
598
629
|
}
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
frontmatter: frontmatterArg,
|
|
608
|
-
body,
|
|
609
|
-
mode,
|
|
610
|
-
}),
|
|
611
|
-
});
|
|
630
|
+
const { ontology, source: ontologySource } = await resolveActiveOntology(vault);
|
|
631
|
+
const suggestion = await suggestLinksForNote({ vault, source, ontology, notePath }, { folder: stringArg(args, "folder") });
|
|
632
|
+
return jsonText({ vault, ontologySource, ...suggestion });
|
|
633
|
+
}
|
|
634
|
+
if (request.params.name === "oms_link_apply") {
|
|
635
|
+
const notePath = stringArg(args, "notePath");
|
|
636
|
+
if (!notePath) {
|
|
637
|
+
return errorText('Missing required string argument "notePath".');
|
|
612
638
|
}
|
|
613
|
-
|
|
614
|
-
|
|
639
|
+
const baseContentHash = stringArg(args, "baseContentHash");
|
|
640
|
+
if (!baseContentHash) {
|
|
641
|
+
return errorText('Missing required string argument "baseContentHash".');
|
|
642
|
+
}
|
|
643
|
+
const idsArg = args?.["candidateIds"];
|
|
644
|
+
if (!Array.isArray(idsArg) || idsArg.some((id) => typeof id !== "string")) {
|
|
645
|
+
return errorText('Argument "candidateIds" must be an array of candidate id strings.');
|
|
615
646
|
}
|
|
647
|
+
const { ontology, source: ontologySource } = await resolveActiveOntology(vault);
|
|
648
|
+
const outcome = await applyLinksForNote({ vault, source, ontology, notePath }, { baseContentHash, candidateIds: idsArg.filter((id) => typeof id === "string") }, { folder: stringArg(args, "folder") });
|
|
649
|
+
return jsonText({ vault, ontologySource, ...linkApplyPayload(outcome) });
|
|
650
|
+
}
|
|
651
|
+
if (request.params.name === "write") {
|
|
652
|
+
const { ontology, source: ontologySource } = await resolveActiveOntology(vault);
|
|
653
|
+
const modeArg = stringArg(args, "mode");
|
|
654
|
+
const mode = isWriteMode(modeArg) ? modeArg : "create";
|
|
655
|
+
const frontmatterArg = args?.["frontmatter"];
|
|
656
|
+
const result = await writeNote({
|
|
657
|
+
target: { vault, source },
|
|
658
|
+
ontology,
|
|
659
|
+
mode,
|
|
660
|
+
dryRun: false,
|
|
661
|
+
concept: stringArg(args, "concept"),
|
|
662
|
+
folder: stringArg(args, "folder"),
|
|
663
|
+
filename: stringArg(args, "filename"),
|
|
664
|
+
notePath: stringArg(args, "notePath"),
|
|
665
|
+
frontmatter: isRecord(frontmatterArg) ? frontmatterArg : undefined,
|
|
666
|
+
body: stringArg(args, "body"),
|
|
667
|
+
});
|
|
668
|
+
return jsonText({
|
|
669
|
+
vault,
|
|
670
|
+
ontologySource,
|
|
671
|
+
...result,
|
|
672
|
+
resolvedVault: vault,
|
|
673
|
+
resolutionSource: source,
|
|
674
|
+
});
|
|
616
675
|
}
|
|
617
676
|
return errorText(`Unknown Oh My Second Brain tool: ${request.params.name}`);
|
|
618
677
|
}
|
|
@@ -626,8 +685,11 @@ export async function runMcpServer(opts) {
|
|
|
626
685
|
const server = createOMSMcpServer(opts);
|
|
627
686
|
const transport = new StdioServerTransport();
|
|
628
687
|
await server.connect(transport);
|
|
688
|
+
// Detached and unawaited: a slow or offline registry must not delay serving.
|
|
689
|
+
// Returns null while the cache is fresh, so most boots start nothing at all.
|
|
690
|
+
void scheduleUpdateNoticeRefresh({ installedVersion: SERVER_VERSION });
|
|
629
691
|
}
|
|
630
|
-
function
|
|
631
|
-
return value === "create" || value === "append";
|
|
692
|
+
function isWriteMode(value) {
|
|
693
|
+
return value === "create" || value === "append" || value === "update";
|
|
632
694
|
}
|
|
633
695
|
//# sourceMappingURL=server.js.map
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAW,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,kCAAkC,EAClC,sBAAsB,EACtB,yBAAyB,GAG1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,GAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,sCAAsC,GACvC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAwB,MAAM,uBAAuB,CAAC;AAGtG,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC;AAEjD,KAAK,UAAU,cAAc,CAAC,KAAa;IACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACxF,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;IAClF,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;IAE7E,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACxF,CAAC;IACD,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,MAAc;IACpC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,EAAE;YAAE,OAAO,MAAM,CAAC;QACjC,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,WAAW,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aACrC;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,IAAyC,EAAE,GAAW;IACvE,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB;IACtC,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QACH,cAAc,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAW;IACjC;QACE,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,iCAAiC;QACxC,WAAW,EACT,sHAAsH;QACxH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,gCAAgC;QACvC,WAAW,EACT,0FAA0F;QAC5F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;QACD,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,kCAAkC;QACzC,WAAW,EACT,4FAA4F;QAC9F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,qCAAqC;QAC5C,WAAW,EACT,mHAAmH;QACrH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;SACF;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,qCAAqC;QAC5C,WAAW,EACT,8IAA8I;QAChJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,GAAG,sCAAsC;aAC1C;SACF;QACD,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,GAAG,gBAAgB;IACnB;QACE,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,wCAAwC;QAC/C,WAAW,EACT,mFAAmF;QACrF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oCAAoC;iBAClD;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,sCAAsC;QAC7C,WAAW,EACT,8FAA8F;QAChG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oEAAoE;iBAClF;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,oCAAoC;QAC3C,WAAW,EACT,wHAAwH;QAC1H,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChC;SACF;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,mCAAmC;QAC1C,WAAW,EACT,wFAAwF;QAC1F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;aACrD;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC;SACtD;QACD,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,KAAK;SACrB;KACF;CACF,CAAC;AAMF,MAAM,UAAU,kBAAkB,CAAC,IAAyB;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvC,wEAAwE;IACxE,4EAA4E;IAC5E,0EAA0E;IAC1E,8EAA8E;IAC9E,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAElD,6EAA6E;IAC7E,6EAA6E;IAC7E,+EAA+E;IAC/E,kFAAkF;IAClF,2EAA2E;IAC3E,gFAAgF;IAChF,gFAAgF;IAChF,+EAA+E;IAC/E,IAAI,cAAc,GAA2B,IAAI,CAAC;IAClD,MAAM,iBAAiB,GAAG,GAAoB,EAAE;QAC9C,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAChD,cAAc,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC;IAEF,8EAA8E;IAC9E,+EAA+E;IAC/E,0EAA0E;IAC1E,qDAAqD;IACrD,MAAM,iBAAiB,GAAG,GAAY,EAAE,CACtC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAE3E,8EAA8E;IAC9E,8EAA8E;IAC9E,iFAAiF;IACjF,+EAA+E;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,wBAAwB,GAAG,GAA4B,EAAE;QAC7D,IAAI,CAAC,iBAAiB,EAAE;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,CAAC;YACH,OAAO,iBAAiB,EAAE,CAAC,OAAO,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,EACxC;QACE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC1C,YAAY,EACV,gKAAgK;KACnK,CACF,CAAC;IAEF,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;QACpB,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,WAAW;KACnB,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACxE,iBAAiB,EAAE;YACjB;gBACE,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,sCAAsC;gBAC5C,WAAW,EAAE,0EAA0E;gBACvF,QAAQ,EAAE,eAAe;aAC1B;SACF;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACpE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;QAC/B,8EAA8E;QAC9E,8EAA8E;QAC9E,4EAA4E;QAC5E,2CAA2C;QAC3C,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,aAAa;YAC1B,CAAC,CAAC,MAAM,aAAa,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACzD,CAAC,CAAC,MAAM,mBAAmB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,kCAAkC,CACxF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG;oBACH,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO;iBAClC;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvF,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC/C,0EAA0E;YAC1E,wEAAwE;YACxE,2EAA2E;YAC3E,yEAAyE;YACzE,uEAAuE;YACvE,sEAAsE;YACtE,mEAAmE;YACnE,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC9E,IAAI,CAAC;gBACH,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC5D,OAAO,QAAQ,CAAC;oBACd,KAAK;oBACL,cAAc,EAAE,MAAM;oBACtB,aAAa,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,sBAAsB,CAAC;oBAC/E,MAAM,EAAE;wBACN,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;wBAChC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM;qBACvD;oBACD,YAAY,EAAE,WAAW;oBACzB,WAAW;oBACX,UAAU,EAAE,mEAAmE;oBAC/E,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;iBAChD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,QAAQ,CAAC;oBACd,KAAK;oBACL,cAAc,EAAE,eAAe;oBAC/B,aAAa,EAAE,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,sBAAsB,CAAC;oBAC/E,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,MAAM,EAAE,IAAI;oBACZ,YAAY,EAAE;wBACZ,MAAM,EAAE,KAAK;wBACb,SAAS,EAAE;4BACT,WAAW,EAAE,IAAI;4BACjB,UAAU,EAAE,IAAI;4BAChB,WAAW,EAAE,IAAI;4BACjB,cAAc,EAAE,gBAAgB;4BAChC,eAAe,EAAE,IAAI;4BACrB,OAAO,EAAE,CAAC,2CAA2C,CAAC;yBACvD;qBACF;oBACD,WAAW;oBACX,UAAU,EAAE,2BAA2B;oBACvC,SAAS,EAAE,CAAC,kBAAkB,CAAC;iBAChC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACL,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBAC9C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtE,OAAO,QAAQ,CAAC;oBACd,KAAK;oBACL,cAAc,EAAE,MAAM;oBACtB,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC;oBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;oBACzB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;oBACzB,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;oBACpC,aAAa,EAAE,KAAK,CAAC,aAAa;iBACnC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBAChD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;gBACzD,OAAO,QAAQ,CAAC;oBACd,KAAK;oBACL,cAAc,EAAE,MAAM;oBACtB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;oBAClC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;iBACrE,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBACnD,uEAAuE;gBACvE,2EAA2E;gBAC3E,MAAM,UAAU,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;oBACjD,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC;oBACnC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;oBACjC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC;oBACrC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC/B,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC;oBACrC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC/B,KAAK,EAAE,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;iBAC/D,CAAC,CAAC;gBACH,uEAAuE;gBACvE,2EAA2E;gBAC3E,OAAO,QAAQ,CAAC;oBACd,KAAK;oBACL,IAAI,EAAE,0BAA0B;oBAChC,UAAU,EAAE,WAAW;oBACvB,GAAG,MAAM;iBACV,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBACnD,4EAA4E;gBAC5E,0EAA0E;gBAC1E,6EAA6E;gBAC7E,6EAA6E;gBAC7E,6EAA6E;gBAC7E,sEAAsE;gBACtE,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC;gBACjD,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,wBAAwB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACnG,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM,UAAU,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM,iBAAiB,GAAG,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC;gBACjD,MAAM,aAAa,GAAG,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC;oBACE,KAAK;oBACL,QAAQ;oBACR,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC;oBACnC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;oBACjC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC;oBACrC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC/B,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC;oBACrC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC/B,KAAK,EAAE,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;oBAC9D,YAAY,EAAE,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;oBACnF,QAAQ,EAAE,OAAO,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;oBACxE,QAAQ,EAAE,uBAAuB,CAAC,IAAI,CAAC;iBACxC,EACD,eAAe,CAChB,CAAC;gBACF,OAAO,QAAQ,CAAC;oBACd,KAAK;oBACL,cAAc,EAAE,MAAM;oBACtB,GAAG,MAAM;iBACV,CAAC,CAAC;YACL,CAAC;YAED,2EAA2E;YAC3E,4EAA4E;YAC5E,mCAAmC;YACnC,gFAAgF;YAChF,2EAA2E;YAC3E,+EAA+E;YAC/E,iFAAiF;YACjF,2EAA2E;YAC3E,+BAA+B;YAC/B,+DAA+D;YAC/D,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC7D,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO;gBAC7B,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBACvC,CAAC,CAAC,wBAAwB,EAAE;oBAC5B,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,kBAAkB,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;YACvG,IAAI,kBAAkB,EAAE,CAAC;gBACvB,OAAO,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC5G,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,SAAS,CAAC,8CAA8C,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO,QAAQ,CAAC,MAAM,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,SAAS,CAAC,8CAA8C,CAAC,CAAC;gBACnE,CAAC;gBAED,IAAI,QAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAChD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,SAAS,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC9E,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;gBAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,QAAQ,CAAC;wBACd,KAAK;wBACL,cAAc,EAAE,MAAM;wBACtB,QAAQ,EAAE,kBAAkB;wBAC5B,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE,KAAK;wBACZ,UAAU,EAAE;4BACV;gCACE,KAAK,EAAE,MAAM;gCACb,IAAI,EAAE,gBAAgB;gCACtB,OAAO,EAAE,iDAAiD;6BAC3D;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC9C,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACzD,OAAO,QAAQ,CAAC;oBACd,KAAK;oBACL,cAAc,EAAE,MAAM;oBACtB,QAAQ,EAAE,kBAAkB;oBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,cAAc;oBACd,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBAClD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM,cAAc,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,CAAC;gBAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,OAAO,QAAQ,CAAC;oBACd,KAAK;oBACL,cAAc,EAAE,MAAM;oBACtB,IAAI,EAAE,cAAc,CAAC;wBACnB,KAAK;wBACL,QAAQ;wBACR,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC;wBACnC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;wBACjC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC;wBACrC,WAAW;qBACZ,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACjD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACrC,MAAM,cAAc,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,CAAC;gBAC7C,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC5E,OAAO,SAAS,CACd,uGAAuG,CACxG,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC;oBACH,OAAO,QAAQ,CAAC;wBACd,KAAK;wBACL,cAAc,EAAE,MAAM;wBACtB,MAAM,EAAE,MAAM,aAAa,CAAC;4BAC1B,KAAK;4BACL,QAAQ;4BACR,QAAQ;4BACR,WAAW,EAAE,cAAc;4BAC3B,IAAI;4BACJ,IAAI;yBACL,CAAC;qBACH,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,SAAS,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YAED,OAAO,SAAS,CAAC,oCAAoC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAyB;IAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC9C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC;AAClD,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|