oh-my-second-brain 0.3.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/ACKNOWLEDGMENTS.md +8 -0
- package/CHANGELOG-assets.md +10 -0
- package/CHANGELOG-cli.md +11 -0
- package/CHANGELOG-kernel.md +31 -0
- package/CHANGELOG-mcp.md +12 -0
- package/CHANGELOG-vendors.md +6 -0
- package/CHANGELOG.md +35 -0
- package/assets/hermes-manifest.json +1 -1
- package/assets/skills/doctor/SKILL.md +2 -2
- package/assets/skills/search/SKILL.md +17 -1
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.js +13 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/host-commands.js +2 -1
- package/dist/cli/host-commands.js.map +1 -1
- package/dist/cli/oms.d.ts +1 -1
- package/dist/cli/oms.js +26 -3
- package/dist/cli/oms.js.map +1 -1
- package/dist/cli/semantic-args.js +102 -3
- package/dist/cli/semantic-args.js.map +1 -1
- package/dist/cli/semantic.js +30 -6
- package/dist/cli/semantic.js.map +1 -1
- package/dist/cli/setup-command.d.ts +16 -0
- package/dist/cli/setup-command.js +50 -1
- package/dist/cli/setup-command.js.map +1 -1
- package/dist/kernel/contracts/index.d.ts +144 -0
- package/dist/kernel/contracts/index.js +401 -0
- package/dist/kernel/contracts/index.js.map +1 -0
- package/dist/kernel/conventions/note-exclude.d.ts +14 -0
- package/dist/kernel/conventions/note-exclude.js +95 -0
- package/dist/kernel/conventions/note-exclude.js.map +1 -0
- package/dist/kernel/engine/assemble.d.ts +22 -1
- package/dist/kernel/engine/assemble.js +202 -19
- package/dist/kernel/engine/assemble.js.map +1 -1
- package/dist/kernel/engine/axes/store.d.ts +90 -0
- package/dist/kernel/engine/axes/store.js +422 -0
- package/dist/kernel/engine/axes/store.js.map +1 -0
- package/dist/kernel/engine/conventions/vault-lint.d.ts +7 -2
- package/dist/kernel/engine/conventions/vault-lint.js +7 -21
- package/dist/kernel/engine/conventions/vault-lint.js.map +1 -1
- package/dist/kernel/engine/embed/identity.d.ts +14 -4
- package/dist/kernel/engine/embed/identity.js +33 -1
- package/dist/kernel/engine/embed/identity.js.map +1 -1
- package/dist/kernel/engine/embed/model.d.ts +134 -0
- package/dist/kernel/engine/embed/model.js +302 -0
- package/dist/kernel/engine/embed/model.js.map +1 -0
- package/dist/kernel/engine/embed/provider.d.ts +36 -5
- package/dist/kernel/engine/embed/provider.js +240 -103
- package/dist/kernel/engine/embed/provider.js.map +1 -1
- package/dist/kernel/engine/embed/store.d.ts +5 -1
- package/dist/kernel/engine/embed/store.js +136 -26
- package/dist/kernel/engine/embed/store.js.map +1 -1
- package/dist/kernel/engine/embed/sync.d.ts +53 -0
- package/dist/kernel/engine/embed/sync.js +489 -59
- package/dist/kernel/engine/embed/sync.js.map +1 -1
- package/dist/kernel/engine/graph/builder.d.ts +9 -5
- package/dist/kernel/engine/graph/builder.js +225 -82
- package/dist/kernel/engine/graph/builder.js.map +1 -1
- package/dist/kernel/engine/graph/node.d.ts +49 -1
- package/dist/kernel/engine/graph/node.js +205 -0
- package/dist/kernel/engine/graph/node.js.map +1 -1
- package/dist/kernel/engine/mcp/facade.d.ts +21 -1
- package/dist/kernel/engine/mcp/facade.js +523 -28
- package/dist/kernel/engine/mcp/facade.js.map +1 -1
- package/dist/kernel/engine/mcp/query-mapper.d.ts +27 -2
- package/dist/kernel/engine/mcp/query-mapper.js +157 -12
- package/dist/kernel/engine/mcp/query-mapper.js.map +1 -1
- package/dist/kernel/engine/mcp/types.d.ts +64 -2
- package/dist/kernel/engine/retrieval/dispatcher.d.ts +22 -0
- package/dist/kernel/engine/retrieval/dispatcher.js +84 -8
- package/dist/kernel/engine/retrieval/dispatcher.js.map +1 -1
- package/dist/kernel/engine/retrieval/index.d.ts +2 -1
- package/dist/kernel/engine/retrieval/index.js +1 -1
- package/dist/kernel/engine/retrieval/index.js.map +1 -1
- package/dist/kernel/engine/retrieval/reranker.d.ts +82 -4
- package/dist/kernel/engine/retrieval/reranker.js +178 -3
- package/dist/kernel/engine/retrieval/reranker.js.map +1 -1
- package/dist/kernel/engine/retrieval/rrf.d.ts +10 -2
- package/dist/kernel/engine/retrieval/rrf.js +39 -16
- package/dist/kernel/engine/retrieval/rrf.js.map +1 -1
- package/dist/kernel/engine/tracer.d.ts +13 -0
- package/dist/kernel/engine/tracer.js +63 -6
- package/dist/kernel/engine/tracer.js.map +1 -1
- package/dist/kernel/graph/cache.js +174 -23
- package/dist/kernel/graph/cache.js.map +1 -1
- package/dist/kernel/index.d.ts +2 -0
- package/dist/kernel/index.js +2 -0
- package/dist/kernel/index.js.map +1 -1
- package/dist/kernel/measurement/no-default-contract.d.ts +17 -0
- package/dist/kernel/measurement/no-default-contract.js +84 -0
- package/dist/kernel/measurement/no-default-contract.js.map +1 -0
- package/dist/kernel/searchbackend/engine-search-backend.js +93 -7
- package/dist/kernel/searchbackend/engine-search-backend.js.map +1 -1
- package/dist/kernel/searchbackend/search-backend.d.ts +11 -1
- package/dist/kernel/searchbackend/search-backend.js +66 -5
- package/dist/kernel/searchbackend/search-backend.js.map +1 -1
- package/dist/kernel/semantic/semantic-engine.js +31 -5
- package/dist/kernel/semantic/semantic-engine.js.map +1 -1
- package/dist/kernel/semantic/semantic-retrieve-args.d.ts +19 -2
- package/dist/kernel/semantic/semantic-retrieve-args.js +81 -7
- package/dist/kernel/semantic/semantic-retrieve-args.js.map +1 -1
- package/dist/kernel/update/update.d.ts +7 -0
- package/dist/kernel/update/update.js +106 -8
- package/dist/kernel/update/update.js.map +1 -1
- package/dist/mcp/server.js +84 -34
- package/dist/mcp/server.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-args.js","sourceRoot":"","sources":["../../src/cli/semantic-args.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"semantic-args.js","sourceRoot":"","sources":["../../src/cli/semantic-args.ts"],"names":[],"mappings":"AAQA,SAAS,kBAAkB,CACzB,OAAyC,EACzC,GAAW,EACX,KAAa;IAEb,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,yBAAyB;IACzB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAuB;IACvD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,OAAO,GAAqC,EAAE,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACtE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YAClD,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;YACpF,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IACL,GAAG,KAAK,UAAU;eACf,GAAG,KAAK,mBAAmB;eAC3B,GAAG,KAAK,QAAQ;eAChB,GAAG,KAAK,UAAU;eAClB,GAAG,KAAK,SAAS;eACjB,GAAG,KAAK,QAAQ,EACnB,CAAC;YACD,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACpF,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,kBAAkB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,GAAG,KAAK,mBAAmB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,sBAAsB,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YACzH,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;YACvC,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;YAC1C,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;QACpC,CAAC;aAAM,IAAI,GAAG,KAAK,gBAAgB,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACxL,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;aAAM,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;YACvC,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAwB,EAAE,GAAW;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAwB,EAAE,GAAW;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAwB,EAAE,GAAW;IAChE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAwB,EAAE,GAAW;IACpE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3G,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAgC,EAAE,KAAc;IACxE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAwB,EACxB,KAAa,EACb,IAAwB,EACxB,KAAa;IAEb,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,aAAa,aAAa,sBAAsB,IAAI,kBAAkB,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,wEAAwE;IACxE,0EAA0E;IAC1E,mEAAmE;IACnE,0DAA0D;IAC1D,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;WAChC,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAC5F,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,CAAC,CAAC;IACb,OAAO;QACL,KAAK;QACL,KAAK;QACL,IAAI;QACJ,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC;QAC5C,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,QAAQ,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC;QACxC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpC,GAAG;QACH,GAAG;QACH,IAAI;QACJ,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpC,cAAc,EAAE,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC;QACpD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;QAC/B,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC;QACjC,QAAQ,EAAE,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC;QACzC,cAAc,EAAE,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACtC,2EAA2E;IAC3E,6EAA6E;IAC7E,IAAI,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CACf,KAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,MAAM,GAAG,KAAK;SACjB,KAAK,CAAC,YAAY,CAAC;SACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC/B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAwB;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,KAAyF,CAAC;IAC9F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,KAAK,GAAG,EAAE,CAAC;QACX,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;YACnD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,4BAA4B,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,GAAG,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,4BAA4B,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC1D,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxF,OAAO;QACL,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAyB;IAClD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AAClH,CAAC"}
|
package/dist/cli/semantic.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { assembleSemanticEngine } from "../kernel/semantic/semantic-engine.js";
|
|
2
|
+
import { assembleCoreSemanticEngineReadOnly, assembleEngineReadOnly, assembleEphemeralCoreSemanticEngine, } from "../kernel/engine/assemble.js";
|
|
3
|
+
import { embeddingConfigPresent } from "../kernel/semantic/semantic-engine.js";
|
|
2
4
|
import { booleanOption, numberOption, parseSemanticArgs, printJson, semanticQueryOptions, stringOption, targetList, } from "./semantic-args.js";
|
|
3
5
|
import { startSemanticHttpServer } from "./semantic-http.js";
|
|
4
6
|
import { semanticUsageText } from "./semantic-usage.js";
|
|
@@ -26,6 +28,28 @@ async function withSemanticAdapter(vault, fn) {
|
|
|
26
28
|
await engine.dispose();
|
|
27
29
|
}
|
|
28
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Assemble a read path without creating a vault index. Existing indexes use a
|
|
33
|
+
* SELECT-only engine; a missing index gets an in-memory lexical engine so
|
|
34
|
+
* document reads and first lexical searches remain useful without touching
|
|
35
|
+
* `<vault>/.oms`.
|
|
36
|
+
*/
|
|
37
|
+
async function withReadOnlySemanticAdapter(vault, fn) {
|
|
38
|
+
const readOnly = embeddingConfigPresent()
|
|
39
|
+
? assembleEngineReadOnly({
|
|
40
|
+
vault,
|
|
41
|
+
embeddingProvider: process.env["OMS_EMBEDDING_PROVIDER"],
|
|
42
|
+
embeddingModel: process.env["OMS_EMBEDDING_MODEL"],
|
|
43
|
+
})
|
|
44
|
+
: assembleCoreSemanticEngineReadOnly({ vault });
|
|
45
|
+
const engine = readOnly ?? assembleEphemeralCoreSemanticEngine({ vault });
|
|
46
|
+
try {
|
|
47
|
+
return await fn(engine.adapter);
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
await engine.dispose();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
29
53
|
export async function runSemanticCli(options) {
|
|
30
54
|
const write = options.write ?? ((message) => console.log(message));
|
|
31
55
|
const writeError = options.writeError ?? ((message) => console.error(message));
|
|
@@ -66,7 +90,7 @@ export async function runSemanticCli(options) {
|
|
|
66
90
|
});
|
|
67
91
|
}
|
|
68
92
|
if (command === "status") {
|
|
69
|
-
return
|
|
93
|
+
return withReadOnlySemanticAdapter(vault, (adapter) => {
|
|
70
94
|
const status = adapter.semanticStatus({ vault, index: stringOption(parsed, "index") });
|
|
71
95
|
printJson(write, status);
|
|
72
96
|
return Promise.resolve(status.available ? 0 : 1);
|
|
@@ -81,7 +105,7 @@ export async function runSemanticCli(options) {
|
|
|
81
105
|
}
|
|
82
106
|
if (command === "query" || command === "search" || command === "vsearch") {
|
|
83
107
|
const mode = command === "search" ? "search" : command === "vsearch" ? "vsearch" : "query";
|
|
84
|
-
return
|
|
108
|
+
return withReadOnlySemanticAdapter(vault, async (adapter) => {
|
|
85
109
|
const result = await adapter.semanticQuery(semanticQueryOptions(mode, vault, parsed, rest.join(" ")));
|
|
86
110
|
printJson(write, result);
|
|
87
111
|
return result.available ? 0 : 1;
|
|
@@ -104,7 +128,7 @@ async function runGetCommand(rest, parsed, vault, write, writeError) {
|
|
|
104
128
|
writeError("Usage: oms semantic get <target>");
|
|
105
129
|
return 1;
|
|
106
130
|
}
|
|
107
|
-
return
|
|
131
|
+
return withReadOnlySemanticAdapter(vault, async (adapter) => {
|
|
108
132
|
const result = await adapter.getDocument({
|
|
109
133
|
vault,
|
|
110
134
|
target,
|
|
@@ -124,7 +148,7 @@ async function runMultiGetCommand(rest, parsed, vault, write, writeError) {
|
|
|
124
148
|
writeError("Usage: oms semantic multi-get <target...>");
|
|
125
149
|
return 1;
|
|
126
150
|
}
|
|
127
|
-
return
|
|
151
|
+
return withReadOnlySemanticAdapter(vault, async (adapter) => {
|
|
128
152
|
const result = await adapter.multiGetDocuments({
|
|
129
153
|
vault,
|
|
130
154
|
targets: [...targets],
|
|
@@ -139,7 +163,7 @@ async function runMultiGetCommand(rest, parsed, vault, write, writeError) {
|
|
|
139
163
|
});
|
|
140
164
|
}
|
|
141
165
|
async function runCollectionCommand(action, collectionName, parsed, vault, write) {
|
|
142
|
-
return
|
|
166
|
+
return withReadOnlySemanticAdapter(vault, (adapter) => {
|
|
143
167
|
const result = adapter.listCollections({ vault, index: stringOption(parsed, "index") });
|
|
144
168
|
if (!result.available) {
|
|
145
169
|
printJson(write, result);
|
|
@@ -156,7 +180,7 @@ async function runContextCommand(action, parsed, vault, write) {
|
|
|
156
180
|
write(semanticUsageText());
|
|
157
181
|
return 1;
|
|
158
182
|
}
|
|
159
|
-
return
|
|
183
|
+
return withReadOnlySemanticAdapter(vault, (adapter) => {
|
|
160
184
|
const result = adapter.listContexts({ vault, index: stringOption(parsed, "index") });
|
|
161
185
|
printJson(write, result);
|
|
162
186
|
return Promise.resolve(result.available ? 0 : 1);
|
package/dist/cli/semantic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/cli/semantic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EACL,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,YAAY,EACZ,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AASxD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,UAAU;IACV,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAAC,OAA2B;IAC9D,OAAO,OAAO,KAAK,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,gGAAgG;AAChG,KAAK,UAAU,mBAAmB,CAAI,KAAa,EAAE,EAA6C;IAChG,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA8B;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClG,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE5B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACnC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;YAC3C,KAAK;YACL,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;YAClC,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI;YAC1C,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;SACrC,CAAC,CAAC;QACH,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACtE,OAAO,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC;gBAC1C,KAAK;gBACL,UAAU,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC;gBAC9C,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;gBACpC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC;gBACrC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC;gBACrC,aAAa,EAAE,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC;gBACpD,eAAe,EAAE,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBACxD,UAAU,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC;aAC/C,CAAC,CAAC;YACH,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACzB,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/cli/semantic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
import type { EmbeddingModelDescriptor } from "../kernel/engine/embed/model.js";
|
|
1
2
|
export interface SetupPrompt {
|
|
2
3
|
question(query: string): Promise<string>;
|
|
3
4
|
close(): void;
|
|
4
5
|
}
|
|
6
|
+
export type SetupEmbeddingDescriptor = EmbeddingModelDescriptor & {
|
|
7
|
+
readonly url: string;
|
|
8
|
+
readonly sha256: string;
|
|
9
|
+
};
|
|
5
10
|
export declare function runSetup(opts: {
|
|
6
11
|
vault: string;
|
|
7
12
|
yes: boolean;
|
|
@@ -9,4 +14,15 @@ export declare function runSetup(opts: {
|
|
|
9
14
|
suggestFields?: boolean;
|
|
10
15
|
dryRun?: boolean;
|
|
11
16
|
prompt?: SetupPrompt;
|
|
17
|
+
/**
|
|
18
|
+
* Optional canonical model descriptor. Setup verifies and caches the model
|
|
19
|
+
* outside the vault before writing convention files.
|
|
20
|
+
*/
|
|
21
|
+
embeddingDescriptor?: SetupEmbeddingDescriptor | null;
|
|
22
|
+
/** User-level model cache override, primarily for setup automation/tests. */
|
|
23
|
+
embeddingCacheDir?: string;
|
|
24
|
+
/** Explicitly waive installing a default embedding model. */
|
|
25
|
+
embeddingNoDefault?: boolean;
|
|
26
|
+
/** Fetch seam for setup tests; production uses global fetch. */
|
|
27
|
+
embeddingFetchImpl?: typeof fetch;
|
|
12
28
|
}): Promise<void>;
|
|
@@ -5,9 +5,44 @@ import { parseLensDefinitions } from "../kernel/setup/axis.js";
|
|
|
5
5
|
import { applySetup, decideNonInteractiveSetup, decideSetup, defaultSetupBinding, inspectSetup, } from "../kernel/setup/service.js";
|
|
6
6
|
import { isFieldType } from "../kernel/setup/documents.js";
|
|
7
7
|
import { buildClaudeInstallPlan, printClaudeInstallPlan } from "./claude-install-plan.js";
|
|
8
|
+
import { acquireEmbeddingModel } from "../kernel/engine/embed/model.js";
|
|
8
9
|
const bundledAssets = resolveBundledAssetPaths();
|
|
10
|
+
function validateSetupEmbeddingDescriptor(descriptor) {
|
|
11
|
+
const context = descriptor.context ?? descriptor.contextLength ?? descriptor.contextTokens;
|
|
12
|
+
const missing = descriptor.dimensions === undefined ||
|
|
13
|
+
context === undefined ||
|
|
14
|
+
descriptor.mrlDim === undefined ||
|
|
15
|
+
!descriptor.normalization?.trim() ||
|
|
16
|
+
!descriptor.prefixScheme?.trim();
|
|
17
|
+
if (missing) {
|
|
18
|
+
throw new Error("Setup embeddingDescriptor is incomplete. dimensions/context/mrlDim/normalization/prefixScheme are required.");
|
|
19
|
+
}
|
|
20
|
+
if (!Number.isInteger(descriptor.dimensions) || descriptor.dimensions <= 0) {
|
|
21
|
+
throw new Error("Setup embeddingDescriptor dimensions must be a positive integer.");
|
|
22
|
+
}
|
|
23
|
+
if (!Number.isInteger(context) || context <= 0) {
|
|
24
|
+
throw new Error("Setup embeddingDescriptor context must be a positive integer.");
|
|
25
|
+
}
|
|
26
|
+
if (!Number.isInteger(descriptor.mrlDim) || descriptor.mrlDim < 0) {
|
|
27
|
+
throw new Error("Setup embeddingDescriptor mrlDim must be a non-negative integer.");
|
|
28
|
+
}
|
|
29
|
+
}
|
|
9
30
|
export async function runSetup(opts) {
|
|
10
|
-
const { vault, yes, installClaude = false, suggestFields = false, dryRun = false } = opts;
|
|
31
|
+
const { vault, yes, installClaude = false, suggestFields = false, dryRun = false, embeddingDescriptor, embeddingCacheDir, embeddingNoDefault, embeddingFetchImpl, } = opts;
|
|
32
|
+
const hasEmbeddingDescriptor = embeddingDescriptor !== undefined && embeddingDescriptor !== null;
|
|
33
|
+
const noDefaultWaived = embeddingNoDefault === true || embeddingDescriptor === null;
|
|
34
|
+
const hasEmbeddingOptions = embeddingDescriptor !== undefined ||
|
|
35
|
+
embeddingCacheDir !== undefined ||
|
|
36
|
+
embeddingNoDefault !== undefined ||
|
|
37
|
+
embeddingFetchImpl !== undefined;
|
|
38
|
+
if (hasEmbeddingDescriptor && embeddingNoDefault === true) {
|
|
39
|
+
throw new Error("Setup embeddingDescriptor and embeddingNoDefault are mutually exclusive.");
|
|
40
|
+
}
|
|
41
|
+
if (hasEmbeddingDescriptor)
|
|
42
|
+
validateSetupEmbeddingDescriptor(embeddingDescriptor);
|
|
43
|
+
if (hasEmbeddingOptions && !hasEmbeddingDescriptor && !noDefaultWaived) {
|
|
44
|
+
throw new Error("Setup requires an embeddingDescriptor or an explicit embeddingNoDefault:true waiver.");
|
|
45
|
+
}
|
|
11
46
|
const nonInteractive = yes || process.env["OMS_NON_INTERACTIVE"] === "1";
|
|
12
47
|
const state = await inspectSetup({ vault, ontologyDir: bundledAssets.ontologyDir });
|
|
13
48
|
let decision;
|
|
@@ -74,6 +109,16 @@ export async function runSetup(opts) {
|
|
|
74
109
|
}
|
|
75
110
|
decision = decideSetup(state, { folderBindings, additionalFieldsByConcept: interactiveFieldsByConcept, additionalLensesByConcept: interactiveLensesByConcept });
|
|
76
111
|
}
|
|
112
|
+
let acquiredModelPath;
|
|
113
|
+
if (!dryRun && hasEmbeddingDescriptor) {
|
|
114
|
+
const acquired = await acquireEmbeddingModel({
|
|
115
|
+
vault,
|
|
116
|
+
cacheDir: embeddingCacheDir,
|
|
117
|
+
descriptor: embeddingDescriptor,
|
|
118
|
+
fetchImpl: embeddingFetchImpl,
|
|
119
|
+
});
|
|
120
|
+
acquiredModelPath = acquired.modelPath;
|
|
121
|
+
}
|
|
77
122
|
const { copiedFiles, copyError } = await applySetup(decision, { dryRun });
|
|
78
123
|
if (copyError !== undefined)
|
|
79
124
|
console.warn("[oms] Could not copy concept files:", copyError);
|
|
@@ -82,6 +127,10 @@ export async function runSetup(opts) {
|
|
|
82
127
|
console.log(` ${dryRun ? "Would write" : "Written"}: ${path.join(state.omsDir, "taxonomy.yaml")}`);
|
|
83
128
|
console.log(` Concepts: ${dryRun ? decision.bundledConceptFiles.join(", ") || "(none)" : copiedFiles.join(", ") || "(none)"}`);
|
|
84
129
|
console.log(` Folders: ${Object.keys(decision.taxonomy.folders).join(", ") || "(none)"}`);
|
|
130
|
+
if (acquiredModelPath !== undefined)
|
|
131
|
+
console.log(` Embedding model: ${acquiredModelPath}`);
|
|
132
|
+
if (noDefaultWaived)
|
|
133
|
+
console.log(" Embedding model: no default (explicit waiver)");
|
|
85
134
|
console.log(`\nRun "oh-my-second-brain doctor" to validate existing notes.\n`);
|
|
86
135
|
if (installClaude) {
|
|
87
136
|
printClaudeInstallPlan(buildClaudeInstallPlan({ vault }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-command.js","sourceRoot":"","sources":["../../src/cli/setup-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,WAAW,EACX,mBAAmB,EACnB,YAAY,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-command.js","sourceRoot":"","sources":["../../src/cli/setup-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,WAAW,EACX,mBAAmB,EACnB,YAAY,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC;AAYjD,SAAS,gCAAgC,CAAC,UAAoC;IAC5E,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC;IAC3F,MAAM,OAAO,GACX,UAAU,CAAC,UAAU,KAAK,SAAS;QACnC,OAAO,KAAK,SAAS;QACrB,UAAU,CAAC,MAAM,KAAK,SAAS;QAC/B,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,EAAE;QACjC,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACnC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,6GAA6G,CAC9G,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAkB9B;IACC,MAAM,EACJ,KAAK,EACL,GAAG,EACH,aAAa,GAAG,KAAK,EACrB,aAAa,GAAG,KAAK,EACrB,MAAM,GAAG,KAAK,EACd,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,GAAG,IAAI,CAAC;IACT,MAAM,sBAAsB,GAAG,mBAAmB,KAAK,SAAS,IAAI,mBAAmB,KAAK,IAAI,CAAC;IACjG,MAAM,eAAe,GAAG,kBAAkB,KAAK,IAAI,IAAI,mBAAmB,KAAK,IAAI,CAAC;IACpF,MAAM,mBAAmB,GACvB,mBAAmB,KAAK,SAAS;QACjC,iBAAiB,KAAK,SAAS;QAC/B,kBAAkB,KAAK,SAAS;QAChC,kBAAkB,KAAK,SAAS,CAAC;IACnC,IAAI,sBAAsB,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,sBAAsB;QAAE,gCAAgC,CAAC,mBAAmB,CAAC,CAAC;IAClF,IAAI,mBAAmB,IAAI,CAAC,sBAAsB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,GAAG,CAAC;IACzE,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;IACpF,IAAI,QAAQ,CAAC;IAEb,IAAI,cAAc,EAAE,CAAC;QACnB,QAAQ,GAAG,yBAAyB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,GAAgB,IAAI,CAAC,MAAM,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACzG,MAAM,cAAc,GAAkC,EAAE,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACrG,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAA2B,CAAC;QACtE,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAA0B,CAAC;QACrE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,uBAAuB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAC;YAC5E,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACpD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,MAAM,eAAe,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;gBAC1F,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC;gBACnD,MAAM,cAAc,GAAG,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtF,MAAM,aAAa,GAAG,cAAc;oBAClC,CAAC,CAAC,mBAAmB,cAAc,cAAc,cAAc,oBAAoB;oBACnF,CAAC,CAAC,mBAAmB,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,mBAAmB,CAAC;gBAC3E,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1D,IAAI,WAA0B,CAAC;gBAC/B,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACzC,WAAW,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;gBACrE,CAAC;qBAAM,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7C,WAAW,GAAG,OAAO,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,sBAAsB,OAAO,qBAAqB,CAAC,CAAC;oBACjE,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;gBACD,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;gBAE1D,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;oBAC/E,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC7G,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ;wBAAE,OAAO,CAAC,IAAI,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;oBAC1F,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBACxK,MAAM,QAAQ,GAAoB,EAAE,CAAC;oBACrC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAAE,SAAS;wBAC5C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,QAAQ,CAAC,IAAI,WAAW,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;wBAC5F,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;wBACtF,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,QAAQ,CAAC,IAAI,sBAAsB,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;wBAC9G,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;wBACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,YAAY,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC3N,CAAC;oBACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;wBAAE,0BAA0B,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;oBAC5I,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3J,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC,EAAE,WAAW,CAAC,CAAC;oBAC/H,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;wBAAE,0BAA0B,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;gBAC1I,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;QACD,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,CAAC,CAAC;IAClK,CAAC;IAED,IAAI,iBAAqC,CAAC;IAC1C,IAAI,CAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC;YAC3C,KAAK;YACL,QAAQ,EAAE,iBAAiB;YAC3B,UAAU,EAAE,mBAAmB;YAC/B,SAAS,EAAE,kBAAkB;SAC9B,CAAC,CAAC;QACH,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAAC;IACzC,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,SAAS,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IAChI,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC5F,IAAI,iBAAiB,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,iBAAiB,EAAE,CAAC,CAAC;IAC5F,IAAI,eAAe;QAAE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,IAAI,aAAa,EAAE,CAAC;QAClB,sBAAsB,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
export type ContractAxisKind = "folder" | "field" | "link";
|
|
2
|
+
export type ContractValueType = "text" | "string" | "select" | "number" | "boolean" | "checkbox" | "date" | "datetime" | "list" | "multitext" | "multi" | "tags" | "aliases" | "file";
|
|
3
|
+
export interface ContractAllowedValue {
|
|
4
|
+
readonly value: string;
|
|
5
|
+
readonly intent?: string;
|
|
6
|
+
readonly [key: string]: unknown;
|
|
7
|
+
}
|
|
8
|
+
export type AllowedValue = string | ContractAllowedValue;
|
|
9
|
+
export interface ContractAxis {
|
|
10
|
+
readonly [key: string]: unknown;
|
|
11
|
+
readonly kind: ContractAxisKind;
|
|
12
|
+
readonly key: string;
|
|
13
|
+
readonly type: ContractValueType;
|
|
14
|
+
readonly intent?: string;
|
|
15
|
+
readonly required?: boolean;
|
|
16
|
+
readonly normalize?: "lower" | "trim" | "kebab";
|
|
17
|
+
readonly allowedValues?: readonly AllowedValue[];
|
|
18
|
+
}
|
|
19
|
+
/** Tracked, user-owned frontmatter contract stored at `<vault>/.oms/types.json`. */
|
|
20
|
+
export interface FrontmatterContract {
|
|
21
|
+
readonly [key: string]: unknown;
|
|
22
|
+
readonly version: number;
|
|
23
|
+
readonly intent?: string;
|
|
24
|
+
readonly axes: readonly ContractAxis[];
|
|
25
|
+
/** Type declarations keyed by a field/property name. */
|
|
26
|
+
readonly types: Readonly<Record<string, ContractValueType>>;
|
|
27
|
+
/** Closed vocabularies keyed by a field/property name. */
|
|
28
|
+
readonly allowedValues: Readonly<Record<string, readonly AllowedValue[]>>;
|
|
29
|
+
}
|
|
30
|
+
export interface ObsidianTypeAuthority {
|
|
31
|
+
readonly types: Readonly<Record<string, ContractValueType>>;
|
|
32
|
+
readonly source: string;
|
|
33
|
+
}
|
|
34
|
+
/** Parse and validate a JSON contract. Malformed contracts always throw. */
|
|
35
|
+
export declare function parseContract(input: string | unknown): FrontmatterContract;
|
|
36
|
+
/** Canonical stable JSON representation (two-space indent, trailing newline). */
|
|
37
|
+
export declare function serializeContract(contract: FrontmatterContract): string;
|
|
38
|
+
export declare const CONTRACT_SCHEMA: {
|
|
39
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
40
|
+
readonly type: "object";
|
|
41
|
+
readonly additionalProperties: true;
|
|
42
|
+
readonly required: readonly ["version", "axes", "types", "allowedValues"];
|
|
43
|
+
readonly properties: {
|
|
44
|
+
readonly version: {
|
|
45
|
+
readonly type: "integer";
|
|
46
|
+
readonly minimum: 1;
|
|
47
|
+
};
|
|
48
|
+
readonly intent: {
|
|
49
|
+
readonly type: "string";
|
|
50
|
+
readonly minLength: 1;
|
|
51
|
+
};
|
|
52
|
+
readonly axes: {
|
|
53
|
+
readonly type: "array";
|
|
54
|
+
readonly items: {
|
|
55
|
+
readonly type: "object";
|
|
56
|
+
readonly additionalProperties: true;
|
|
57
|
+
readonly required: readonly ["kind", "key", "type"];
|
|
58
|
+
readonly properties: {
|
|
59
|
+
readonly kind: {
|
|
60
|
+
readonly enum: readonly ["folder", "field", "link"];
|
|
61
|
+
};
|
|
62
|
+
readonly key: {
|
|
63
|
+
readonly type: "string";
|
|
64
|
+
readonly minLength: 1;
|
|
65
|
+
};
|
|
66
|
+
readonly type: {
|
|
67
|
+
readonly enum: readonly ContractValueType[];
|
|
68
|
+
};
|
|
69
|
+
readonly intent: {
|
|
70
|
+
readonly type: "string";
|
|
71
|
+
readonly minLength: 1;
|
|
72
|
+
};
|
|
73
|
+
readonly required: {
|
|
74
|
+
readonly type: "boolean";
|
|
75
|
+
};
|
|
76
|
+
readonly normalize: {
|
|
77
|
+
readonly enum: readonly ["lower", "trim", "kebab"];
|
|
78
|
+
};
|
|
79
|
+
readonly allowedValues: {
|
|
80
|
+
readonly type: "array";
|
|
81
|
+
readonly items: {
|
|
82
|
+
readonly oneOf: readonly [{
|
|
83
|
+
readonly type: "string";
|
|
84
|
+
}, {
|
|
85
|
+
readonly type: "object";
|
|
86
|
+
readonly additionalProperties: true;
|
|
87
|
+
readonly required: readonly ["value"];
|
|
88
|
+
readonly properties: {
|
|
89
|
+
readonly value: {
|
|
90
|
+
readonly type: "string";
|
|
91
|
+
readonly minLength: 1;
|
|
92
|
+
};
|
|
93
|
+
readonly intent: {
|
|
94
|
+
readonly type: "string";
|
|
95
|
+
readonly minLength: 1;
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
}];
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
readonly types: {
|
|
105
|
+
readonly type: "object";
|
|
106
|
+
readonly additionalProperties: {
|
|
107
|
+
readonly enum: readonly ContractValueType[];
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
readonly allowedValues: {
|
|
111
|
+
readonly type: "object";
|
|
112
|
+
readonly additionalProperties: {
|
|
113
|
+
readonly type: "array";
|
|
114
|
+
readonly items: {
|
|
115
|
+
readonly oneOf: readonly [{
|
|
116
|
+
readonly type: "string";
|
|
117
|
+
}, {
|
|
118
|
+
readonly type: "object";
|
|
119
|
+
readonly additionalProperties: true;
|
|
120
|
+
readonly required: readonly ["value"];
|
|
121
|
+
readonly properties: {
|
|
122
|
+
readonly value: {
|
|
123
|
+
readonly type: "string";
|
|
124
|
+
readonly minLength: 1;
|
|
125
|
+
};
|
|
126
|
+
readonly intent: {
|
|
127
|
+
readonly type: "string";
|
|
128
|
+
readonly minLength: 1;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
}];
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
/** Read the tracked JSON contract. Legacy YAML files are deliberately ignored. */
|
|
138
|
+
export declare function loadContract(input: string, options?: {
|
|
139
|
+
readonly obsidianTypes?: boolean;
|
|
140
|
+
}): Promise<FrontmatterContract | null>;
|
|
141
|
+
/** Read `.obsidian/types.json` through one adapter; this function never writes. */
|
|
142
|
+
export declare function loadObsidianTypes(input: string): Promise<ObsidianTypeAuthority | null>;
|
|
143
|
+
/** Persist a validated contract to `.oms/types.json`; no YAML is migrated. */
|
|
144
|
+
export declare function writeContract(input: string, contract: FrontmatterContract): Promise<void>;
|