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.
Files changed (466) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/README.ko.md +127 -0
  3. package/README.md +128 -0
  4. package/adapters/README.md +8 -8
  5. package/adapters/claude-code/.claude-plugin/plugin.json +3 -2
  6. package/adapters/claude-code/.mcp.json +8 -0
  7. package/adapters/claude-code/CLAUDE.md +5 -6
  8. package/adapters/claude-code/skills/compile/SKILL.md +10 -35
  9. package/adapters/claude-code/skills/distill/SKILL.md +6 -26
  10. package/adapters/claude-code/skills/link/SKILL.md +87 -0
  11. package/adapters/claude-code/skills/retrieve/SKILL.md +4 -7
  12. package/adapters/claude-code/skills/setup/SKILL.md +5 -6
  13. package/adapters/claude-code/skills/uninstall/SKILL.md +1 -1
  14. package/adapters/claude-code/skills/wiki/SKILL.md +49 -24
  15. package/adapters/claude-code/skills/write/SKILL.md +16 -0
  16. package/adapters/codex/.codex-plugin/plugin.json +1 -1
  17. package/adapters/codex/AGENTS.md +2 -2
  18. package/adapters/codex/rules/oms.md +1 -1
  19. package/adapters/codex/skills/oms-compile/SKILL.md +7 -9
  20. package/adapters/codex/skills/oms-distill/SKILL.md +4 -9
  21. package/adapters/codex/skills/oms-link/SKILL.md +35 -0
  22. package/adapters/codex/skills/oms-retrieve/SKILL.md +5 -6
  23. package/adapters/codex/skills/oms-wiki/SKILL.md +28 -8
  24. package/adapters/codex/skills/oms-write/SKILL.md +10 -0
  25. package/adapters/hermes/README.md +3 -1
  26. package/adapters/hermes/SOUL.md +2 -3
  27. package/adapters/hermes/manifest.json +1 -1
  28. package/adapters/hermes/skills/compile/SKILL.md +5 -7
  29. package/adapters/hermes/skills/distill/SKILL.md +1 -3
  30. package/adapters/hermes/skills/link/SKILL.md +18 -0
  31. package/adapters/hermes/skills/retrieve/SKILL.md +5 -6
  32. package/adapters/hermes/skills/setup/SKILL.md +5 -2
  33. package/adapters/hermes/skills/wiki/SKILL.md +4 -2
  34. package/adapters/hermes/skills/write/SKILL.md +10 -0
  35. package/core/AGENTS.md +4 -2
  36. package/core/agents/librarian.md +3 -2
  37. package/core/ontology/concepts/term.yaml +12 -0
  38. package/core/ontology/taxonomy.yaml +3 -0
  39. package/core/skills/compile/SKILL.md +19 -18
  40. package/core/skills/distill/SKILL.md +13 -24
  41. package/core/skills/link/SKILL.md +130 -0
  42. package/core/skills/retrieve/SKILL.md +0 -1
  43. package/core/skills/setup/SKILL.md +12 -14
  44. package/core/skills/vault-lint/SKILL.md +1 -1
  45. package/core/skills/wiki/SKILL.md +109 -30
  46. package/core/skills/write/SKILL.md +15 -0
  47. package/dist/capture/safe.d.ts +61 -1
  48. package/dist/capture/safe.js +489 -66
  49. package/dist/capture/safe.js.map +1 -1
  50. package/dist/cli/args.d.ts +29 -0
  51. package/dist/cli/args.js +156 -0
  52. package/dist/cli/args.js.map +1 -0
  53. package/dist/cli/audit.d.ts +6 -0
  54. package/dist/cli/audit.js +93 -0
  55. package/dist/cli/audit.js.map +1 -0
  56. package/dist/cli/claude-install-plan.d.ts +10 -0
  57. package/dist/cli/claude-install-plan.js +26 -0
  58. package/dist/cli/claude-install-plan.js.map +1 -0
  59. package/dist/cli/doctor-lint.d.ts +11 -0
  60. package/dist/cli/doctor-lint.js +86 -0
  61. package/dist/cli/doctor-lint.js.map +1 -0
  62. package/dist/cli/global-writeback.d.ts +31 -0
  63. package/dist/cli/global-writeback.js +73 -0
  64. package/dist/cli/global-writeback.js.map +1 -0
  65. package/dist/cli/host-commands.d.ts +30 -0
  66. package/dist/cli/host-commands.js +89 -0
  67. package/dist/cli/host-commands.js.map +1 -0
  68. package/dist/cli/link-command.d.ts +9 -0
  69. package/dist/cli/link-command.js +47 -0
  70. package/dist/cli/link-command.js.map +1 -0
  71. package/dist/cli/linkify.d.ts +23 -0
  72. package/dist/cli/linkify.js +118 -0
  73. package/dist/cli/linkify.js.map +1 -0
  74. package/dist/cli/oms.d.ts +8 -32
  75. package/dist/cli/oms.js +100 -703
  76. package/dist/cli/oms.js.map +1 -1
  77. package/dist/cli/semantic-args.d.ts +1 -2
  78. package/dist/cli/semantic-args.js +4 -7
  79. package/dist/cli/semantic-args.js.map +1 -1
  80. package/dist/cli/semantic-http.d.ts +0 -3
  81. package/dist/cli/semantic-http.js +40 -45
  82. package/dist/cli/semantic-http.js.map +1 -1
  83. package/dist/cli/semantic-usage.js +10 -9
  84. package/dist/cli/semantic-usage.js.map +1 -1
  85. package/dist/cli/semantic.js +99 -137
  86. package/dist/cli/semantic.js.map +1 -1
  87. package/dist/cli/setup-command.d.ts +11 -0
  88. package/dist/cli/setup-command.js +196 -0
  89. package/dist/cli/setup-command.js.map +1 -0
  90. package/dist/cli/setup-documents.d.ts +15 -0
  91. package/dist/cli/setup-documents.js +149 -0
  92. package/dist/cli/setup-documents.js.map +1 -0
  93. package/dist/cli/update-notice.d.ts +10 -0
  94. package/dist/cli/update-notice.js +42 -0
  95. package/dist/cli/update-notice.js.map +1 -0
  96. package/dist/cli/usage.d.ts +4 -0
  97. package/dist/cli/usage.js +102 -0
  98. package/dist/cli/usage.js.map +1 -0
  99. package/dist/conventions/lint.js +12 -33
  100. package/dist/conventions/lint.js.map +1 -1
  101. package/dist/conventions/report.d.ts +62 -0
  102. package/dist/conventions/report.js +217 -0
  103. package/dist/conventions/report.js.map +1 -0
  104. package/dist/conventions/validate.d.ts +1 -1
  105. package/dist/conventions/vault-walk.d.ts +38 -0
  106. package/dist/conventions/vault-walk.js +80 -0
  107. package/dist/conventions/vault-walk.js.map +1 -0
  108. package/dist/conventions/write-contract.d.ts +27 -0
  109. package/dist/conventions/write-contract.js +91 -0
  110. package/dist/conventions/write-contract.js.map +1 -0
  111. package/dist/conventions/write-protocol.d.ts +39 -0
  112. package/dist/conventions/write-protocol.js +44 -0
  113. package/dist/conventions/write-protocol.js.map +1 -0
  114. package/dist/core/ontology/loader.d.ts +2 -0
  115. package/dist/{ontology → core/ontology}/loader.js +11 -20
  116. package/dist/core/ontology/loader.js.map +1 -0
  117. package/dist/core/ontology/resolver.d.ts +2 -0
  118. package/dist/{ontology → core/ontology}/resolver.js +1 -15
  119. package/dist/core/ontology/resolver.js.map +1 -0
  120. package/dist/core/ontology/types.d.ts +47 -0
  121. package/dist/core/ontology/types.js +2 -0
  122. package/dist/core/ontology/types.js.map +1 -0
  123. package/dist/core/runtime/assets.d.ts +20 -0
  124. package/dist/core/runtime/assets.js +66 -0
  125. package/dist/core/runtime/assets.js.map +1 -0
  126. package/dist/engine/assemble.d.ts +28 -72
  127. package/dist/engine/assemble.js +77 -61
  128. package/dist/engine/assemble.js.map +1 -1
  129. package/dist/engine/conventions/vault-lint.d.ts +30 -2
  130. package/dist/engine/conventions/vault-lint.js +93 -97
  131. package/dist/engine/conventions/vault-lint.js.map +1 -1
  132. package/dist/engine/embed/deferred.d.ts +3 -4
  133. package/dist/engine/embed/deferred.js +10 -7
  134. package/dist/engine/embed/deferred.js.map +1 -1
  135. package/dist/engine/embed/identity.d.ts +11 -0
  136. package/dist/engine/embed/identity.js +15 -0
  137. package/dist/engine/embed/identity.js.map +1 -0
  138. package/dist/engine/embed/provider.d.ts +12 -13
  139. package/dist/engine/embed/provider.js +30 -27
  140. package/dist/engine/embed/provider.js.map +1 -1
  141. package/dist/engine/embed/store.d.ts +48 -27
  142. package/dist/engine/embed/store.js +281 -98
  143. package/dist/engine/embed/store.js.map +1 -1
  144. package/dist/engine/embed/sync.d.ts +17 -47
  145. package/dist/engine/embed/sync.js +233 -69
  146. package/dist/engine/embed/sync.js.map +1 -1
  147. package/dist/engine/graph/builder.d.ts +1 -1
  148. package/dist/engine/graph/builder.js +1 -1
  149. package/dist/engine/graph/explore.d.ts +2 -2
  150. package/dist/engine/graph/explore.js +0 -0
  151. package/dist/engine/graph/resolver.d.ts +17 -0
  152. package/dist/engine/graph/resolver.js +46 -11
  153. package/dist/engine/graph/resolver.js.map +1 -1
  154. package/dist/engine/linkify/apply.d.ts +56 -0
  155. package/dist/engine/linkify/apply.js +65 -0
  156. package/dist/engine/linkify/apply.js.map +1 -0
  157. package/dist/engine/linkify/josa.d.ts +58 -0
  158. package/dist/engine/linkify/josa.js +133 -0
  159. package/dist/engine/linkify/josa.js.map +1 -0
  160. package/dist/engine/linkify/mask.d.ts +29 -0
  161. package/dist/engine/linkify/mask.js +173 -0
  162. package/dist/engine/linkify/mask.js.map +1 -0
  163. package/dist/engine/linkify/suggest.d.ts +52 -0
  164. package/dist/engine/linkify/suggest.js +181 -0
  165. package/dist/engine/linkify/suggest.js.map +1 -0
  166. package/dist/engine/linkify/types.d.ts +68 -0
  167. package/dist/engine/linkify/types.js +12 -0
  168. package/dist/engine/linkify/types.js.map +1 -0
  169. package/dist/engine/mcp/facade.d.ts +12 -18
  170. package/dist/engine/mcp/facade.js +30 -80
  171. package/dist/engine/mcp/facade.js.map +1 -1
  172. package/dist/engine/mcp/op-mappers.d.ts +3 -9
  173. package/dist/engine/mcp/op-mappers.js +2 -30
  174. package/dist/engine/mcp/op-mappers.js.map +1 -1
  175. package/dist/engine/mcp/types.d.ts +5 -29
  176. package/dist/engine/tracer.js +6 -2
  177. package/dist/engine/tracer.js.map +1 -1
  178. package/dist/engine/types.d.ts +8 -3
  179. package/dist/graph/cache.d.ts +1 -11
  180. package/dist/graph/cache.js +1 -44
  181. package/dist/graph/cache.js.map +1 -1
  182. package/dist/graph/explore.js +88 -137
  183. package/dist/graph/explore.js.map +1 -1
  184. package/dist/harness/surface-registry.d.ts +56 -0
  185. package/dist/harness/surface-registry.js +397 -0
  186. package/dist/harness/surface-registry.js.map +1 -0
  187. package/dist/harness/validation.d.ts +9 -0
  188. package/dist/harness/validation.js +201 -0
  189. package/dist/harness/validation.js.map +1 -0
  190. package/dist/hook/post-tool-use.js +2 -2
  191. package/dist/hook/post-tool-use.js.map +1 -1
  192. package/dist/index.d.ts +7 -5
  193. package/dist/index.js +7 -5
  194. package/dist/index.js.map +1 -1
  195. package/dist/install/adapter-source.d.ts +14 -0
  196. package/dist/install/adapter-source.js +45 -0
  197. package/dist/install/adapter-source.js.map +1 -0
  198. package/dist/install/claude-hooks.d.ts +13 -0
  199. package/dist/install/claude-hooks.js +411 -0
  200. package/dist/install/claude-hooks.js.map +1 -0
  201. package/dist/install/claude-marketplace.d.ts +44 -0
  202. package/dist/install/claude-marketplace.js +89 -0
  203. package/dist/install/claude-marketplace.js.map +1 -0
  204. package/dist/install/claude.d.ts +4 -0
  205. package/dist/install/claude.js +216 -0
  206. package/dist/install/claude.js.map +1 -0
  207. package/dist/install/codex.d.ts +24 -0
  208. package/dist/install/codex.js +193 -0
  209. package/dist/install/codex.js.map +1 -0
  210. package/dist/install/common.d.ts +34 -0
  211. package/dist/install/common.js +122 -0
  212. package/dist/install/common.js.map +1 -0
  213. package/dist/install/hermes.d.ts +4 -0
  214. package/dist/install/hermes.js +78 -0
  215. package/dist/install/hermes.js.map +1 -0
  216. package/dist/install/hosts.d.ts +6 -56
  217. package/dist/install/hosts.js +65 -610
  218. package/dist/install/hosts.js.map +1 -1
  219. package/dist/install/types.d.ts +34 -0
  220. package/dist/install/types.js +2 -0
  221. package/dist/install/types.js.map +1 -0
  222. package/dist/link/convention-note.d.ts +10 -0
  223. package/dist/link/convention-note.js +59 -0
  224. package/dist/link/convention-note.js.map +1 -0
  225. package/dist/link/global-config.d.ts +22 -0
  226. package/dist/link/global-config.js +69 -0
  227. package/dist/link/global-config.js.map +1 -0
  228. package/dist/link/link.d.ts +101 -0
  229. package/dist/link/link.js +265 -0
  230. package/dist/link/link.js.map +1 -0
  231. package/dist/mcp/engine-morning-backend.d.ts +12 -17
  232. package/dist/mcp/engine-morning-backend.js +25 -131
  233. package/dist/mcp/engine-morning-backend.js.map +1 -1
  234. package/dist/mcp/link-tools.d.ts +81 -0
  235. package/dist/mcp/link-tools.js +157 -0
  236. package/dist/mcp/link-tools.js.map +1 -0
  237. package/dist/mcp/semantic-engine.d.ts +32 -0
  238. package/dist/mcp/semantic-engine.js +52 -0
  239. package/dist/mcp/semantic-engine.js.map +1 -0
  240. package/dist/mcp/semantic-retrieve-args.d.ts +1 -5
  241. package/dist/mcp/semantic-retrieve-args.js +1 -26
  242. package/dist/mcp/semantic-retrieve-args.js.map +1 -1
  243. package/dist/mcp/semantic-retrieve-schema.d.ts +0 -14
  244. package/dist/mcp/semantic-retrieve-schema.js +0 -5
  245. package/dist/mcp/semantic-retrieve-schema.js.map +1 -1
  246. package/dist/mcp/semantic-retrieve.d.ts +12 -18
  247. package/dist/mcp/semantic-retrieve.js +40 -71
  248. package/dist/mcp/semantic-retrieve.js.map +1 -1
  249. package/dist/mcp/semantic-tool-schemas.js +7 -24
  250. package/dist/mcp/semantic-tool-schemas.js.map +1 -1
  251. package/dist/mcp/server.d.ts +7 -0
  252. package/dist/mcp/server.js +224 -162
  253. package/dist/mcp/server.js.map +1 -1
  254. package/dist/mcp/update-notice.d.ts +51 -0
  255. package/dist/mcp/update-notice.js +196 -0
  256. package/dist/mcp/update-notice.js.map +1 -0
  257. package/dist/ontology/active.d.ts +7 -0
  258. package/dist/ontology/active.js +41 -0
  259. package/dist/ontology/active.js.map +1 -0
  260. package/dist/retrieve/morning.d.ts +10 -18
  261. package/dist/retrieve/morning.js +2 -26
  262. package/dist/retrieve/morning.js.map +1 -1
  263. package/dist/retrieve/semantic-contract.d.ts +10 -0
  264. package/dist/retrieve/semantic-contract.js +2 -0
  265. package/dist/retrieve/semantic-contract.js.map +1 -0
  266. package/dist/setup/axis.d.ts +22 -3
  267. package/dist/setup/axis.js +82 -35
  268. package/dist/setup/axis.js.map +1 -1
  269. package/dist/update/update.d.ts +12 -0
  270. package/dist/update/update.js +2 -2
  271. package/dist/update/update.js.map +1 -1
  272. package/docs/install.md +43 -7
  273. package/docs/release.md +109 -17
  274. package/package.json +11 -3
  275. package/scripts/install.sh +1 -1
  276. package/adapters/claude-code/skills/capture/SKILL.md +0 -50
  277. package/adapters/codex/skills/oms-capture/SKILL.md +0 -16
  278. package/adapters/hermes/skills/capture/SKILL.md +0 -16
  279. package/core/skills/capture/SKILL.md +0 -50
  280. package/dist/adapt/HostAdapter.d.ts +0 -21
  281. package/dist/adapt/HostAdapter.js +0 -10
  282. package/dist/adapt/HostAdapter.js.map +0 -1
  283. package/dist/adapt/claudeCode.d.ts +0 -9
  284. package/dist/adapt/claudeCode.js +0 -15
  285. package/dist/adapt/claudeCode.js.map +0 -1
  286. package/dist/adapt/codex.d.ts +0 -9
  287. package/dist/adapt/codex.js +0 -15
  288. package/dist/adapt/codex.js.map +0 -1
  289. package/dist/adapt/hermes.d.ts +0 -9
  290. package/dist/adapt/hermes.js +0 -15
  291. package/dist/adapt/hermes.js.map +0 -1
  292. package/dist/cli/semantic-metadata-commands.d.ts +0 -3
  293. package/dist/cli/semantic-metadata-commands.js +0 -115
  294. package/dist/cli/semantic-metadata-commands.js.map +0 -1
  295. package/dist/engine/compile/cascade.d.ts +0 -35
  296. package/dist/engine/compile/cascade.js +0 -59
  297. package/dist/engine/compile/cascade.js.map +0 -1
  298. package/dist/engine/compile/cot.d.ts +0 -30
  299. package/dist/engine/compile/cot.js +0 -153
  300. package/dist/engine/compile/cot.js.map +0 -1
  301. package/dist/engine/compile/phases.d.ts +0 -47
  302. package/dist/engine/compile/phases.js +0 -101
  303. package/dist/engine/compile/phases.js.map +0 -1
  304. package/dist/engine/compile/provenance.d.ts +0 -45
  305. package/dist/engine/compile/provenance.js +0 -103
  306. package/dist/engine/compile/provenance.js.map +0 -1
  307. package/dist/engine/compile/sha-cache.d.ts +0 -42
  308. package/dist/engine/compile/sha-cache.js +0 -86
  309. package/dist/engine/compile/sha-cache.js.map +0 -1
  310. package/dist/engine/compile/types.d.ts +0 -71
  311. package/dist/engine/compile/types.js +0 -9
  312. package/dist/engine/compile/types.js.map +0 -1
  313. package/dist/engine/compile/worker.d.ts +0 -47
  314. package/dist/engine/compile/worker.js +0 -75
  315. package/dist/engine/compile/worker.js.map +0 -1
  316. package/dist/engine/distill/analyzer.d.ts +0 -51
  317. package/dist/engine/distill/analyzer.js +0 -279
  318. package/dist/engine/distill/analyzer.js.map +0 -1
  319. package/dist/engine/distill/clean-room.d.ts +0 -46
  320. package/dist/engine/distill/clean-room.js +0 -131
  321. package/dist/engine/distill/clean-room.js.map +0 -1
  322. package/dist/engine/distill/report.d.ts +0 -23
  323. package/dist/engine/distill/report.js +0 -107
  324. package/dist/engine/distill/report.js.map +0 -1
  325. package/dist/engine/distill/types.d.ts +0 -89
  326. package/dist/engine/distill/types.js +0 -9
  327. package/dist/engine/distill/types.js.map +0 -1
  328. package/dist/engine/embed/pull.d.ts +0 -51
  329. package/dist/engine/embed/pull.js +0 -90
  330. package/dist/engine/embed/pull.js.map +0 -1
  331. package/dist/engine/graph/community.d.ts +0 -38
  332. package/dist/engine/graph/community.js +0 -122
  333. package/dist/engine/graph/community.js.map +0 -1
  334. package/dist/engine/index.d.ts +0 -5
  335. package/dist/engine/index.js +0 -2
  336. package/dist/engine/index.js.map +0 -1
  337. package/dist/engine/mcp/index.d.ts +0 -15
  338. package/dist/engine/mcp/index.js +0 -19
  339. package/dist/engine/mcp/index.js.map +0 -1
  340. package/dist/engine/mcp/retrieve-mapper.d.ts +0 -38
  341. package/dist/engine/mcp/retrieve-mapper.js +0 -96
  342. package/dist/engine/mcp/retrieve-mapper.js.map +0 -1
  343. package/dist/engine/setup/ambiguity.d.ts +0 -39
  344. package/dist/engine/setup/ambiguity.js +0 -50
  345. package/dist/engine/setup/ambiguity.js.map +0 -1
  346. package/dist/engine/setup/types.d.ts +0 -71
  347. package/dist/engine/setup/types.js +0 -22
  348. package/dist/engine/setup/types.js.map +0 -1
  349. package/dist/engine/setup/writer.d.ts +0 -32
  350. package/dist/engine/setup/writer.js +0 -77
  351. package/dist/engine/setup/writer.js.map +0 -1
  352. package/dist/engine/wiki/collection.d.ts +0 -91
  353. package/dist/engine/wiki/collection.js +0 -188
  354. package/dist/engine/wiki/collection.js.map +0 -1
  355. package/dist/engine/wiki/ledger.d.ts +0 -59
  356. package/dist/engine/wiki/ledger.js +0 -130
  357. package/dist/engine/wiki/ledger.js.map +0 -1
  358. package/dist/engine/wiki/lint.d.ts +0 -38
  359. package/dist/engine/wiki/lint.js +0 -186
  360. package/dist/engine/wiki/lint.js.map +0 -1
  361. package/dist/engine/wiki/navigation.d.ts +0 -40
  362. package/dist/engine/wiki/navigation.js +0 -83
  363. package/dist/engine/wiki/navigation.js.map +0 -1
  364. package/dist/engine/wiki/types.d.ts +0 -54
  365. package/dist/engine/wiki/types.js +0 -7
  366. package/dist/engine/wiki/types.js.map +0 -1
  367. package/dist/ontology/loader.d.ts +0 -13
  368. package/dist/ontology/loader.js.map +0 -1
  369. package/dist/ontology/resolver.d.ts +0 -13
  370. package/dist/ontology/resolver.js.map +0 -1
  371. package/dist/ontology/types.d.ts +0 -72
  372. package/dist/ontology/types.js +0 -12
  373. package/dist/ontology/types.js.map +0 -1
  374. package/dist/retrieve/embedding-sync.d.ts +0 -3
  375. package/dist/retrieve/embedding-sync.js +0 -21
  376. package/dist/retrieve/embedding-sync.js.map +0 -1
  377. package/dist/runtime/assets.d.ts +0 -7
  378. package/dist/runtime/assets.js +0 -13
  379. package/dist/runtime/assets.js.map +0 -1
  380. package/dist/search/semantic-collections.d.ts +0 -32
  381. package/dist/search/semantic-collections.js +0 -68
  382. package/dist/search/semantic-collections.js.map +0 -1
  383. package/dist/search/semantic-contexts.d.ts +0 -21
  384. package/dist/search/semantic-contexts.js +0 -28
  385. package/dist/search/semantic-contexts.js.map +0 -1
  386. package/dist/search/semantic-diagnostics.d.ts +0 -16
  387. package/dist/search/semantic-diagnostics.js +0 -110
  388. package/dist/search/semantic-diagnostics.js.map +0 -1
  389. package/dist/search/semantic-documents.d.ts +0 -3
  390. package/dist/search/semantic-documents.js +0 -150
  391. package/dist/search/semantic-documents.js.map +0 -1
  392. package/dist/search/semantic-embedding-hash.d.ts +0 -3
  393. package/dist/search/semantic-embedding-hash.js +0 -30
  394. package/dist/search/semantic-embedding-hash.js.map +0 -1
  395. package/dist/search/semantic-embedding-provider.d.ts +0 -9
  396. package/dist/search/semantic-embedding-provider.js +0 -58
  397. package/dist/search/semantic-embedding-provider.js.map +0 -1
  398. package/dist/search/semantic-index-build.d.ts +0 -13
  399. package/dist/search/semantic-index-build.js +0 -101
  400. package/dist/search/semantic-index-build.js.map +0 -1
  401. package/dist/search/semantic-index-core.d.ts +0 -21
  402. package/dist/search/semantic-index-core.js +0 -106
  403. package/dist/search/semantic-index-core.js.map +0 -1
  404. package/dist/search/semantic-index-io.d.ts +0 -19
  405. package/dist/search/semantic-index-io.js +0 -214
  406. package/dist/search/semantic-index-io.js.map +0 -1
  407. package/dist/search/semantic-index-types.d.ts +0 -50
  408. package/dist/search/semantic-index-types.js +0 -2
  409. package/dist/search/semantic-index-types.js.map +0 -1
  410. package/dist/search/semantic-index.d.ts +0 -4
  411. package/dist/search/semantic-index.js +0 -4
  412. package/dist/search/semantic-index.js.map +0 -1
  413. package/dist/search/semantic-listing.d.ts +0 -12
  414. package/dist/search/semantic-listing.js +0 -64
  415. package/dist/search/semantic-listing.js.map +0 -1
  416. package/dist/search/semantic-maintenance-shared.d.ts +0 -15
  417. package/dist/search/semantic-maintenance-shared.js +0 -43
  418. package/dist/search/semantic-maintenance-shared.js.map +0 -1
  419. package/dist/search/semantic-maintenance-types.d.ts +0 -103
  420. package/dist/search/semantic-maintenance-types.js +0 -2
  421. package/dist/search/semantic-maintenance-types.js.map +0 -1
  422. package/dist/search/semantic-maintenance.d.ts +0 -4
  423. package/dist/search/semantic-maintenance.js +0 -5
  424. package/dist/search/semantic-maintenance.js.map +0 -1
  425. package/dist/search/semantic-provider-types.d.ts +0 -34
  426. package/dist/search/semantic-provider-types.js +0 -2
  427. package/dist/search/semantic-provider-types.js.map +0 -1
  428. package/dist/search/semantic-query-types.d.ts +0 -83
  429. package/dist/search/semantic-query-types.js +0 -2
  430. package/dist/search/semantic-query-types.js.map +0 -1
  431. package/dist/search/semantic-query.d.ts +0 -2
  432. package/dist/search/semantic-query.js +0 -188
  433. package/dist/search/semantic-query.js.map +0 -1
  434. package/dist/search/semantic-sqlite-db.d.ts +0 -18
  435. package/dist/search/semantic-sqlite-db.js +0 -87
  436. package/dist/search/semantic-sqlite-db.js.map +0 -1
  437. package/dist/search/semantic-sqlite-query.d.ts +0 -2
  438. package/dist/search/semantic-sqlite-query.js +0 -128
  439. package/dist/search/semantic-sqlite-query.js.map +0 -1
  440. package/dist/search/semantic-sqlite-read.d.ts +0 -5
  441. package/dist/search/semantic-sqlite-read.js +0 -104
  442. package/dist/search/semantic-sqlite-read.js.map +0 -1
  443. package/dist/search/semantic-sqlite-write.d.ts +0 -7
  444. package/dist/search/semantic-sqlite-write.js +0 -66
  445. package/dist/search/semantic-sqlite-write.js.map +0 -1
  446. package/dist/search/semantic-store.d.ts +0 -15
  447. package/dist/search/semantic-store.js +0 -17
  448. package/dist/search/semantic-store.js.map +0 -1
  449. package/dist/search/semantic-sync-types.d.ts +0 -47
  450. package/dist/search/semantic-sync-types.js +0 -2
  451. package/dist/search/semantic-sync-types.js.map +0 -1
  452. package/dist/search/semantic-sync.d.ts +0 -13
  453. package/dist/search/semantic-sync.js +0 -131
  454. package/dist/search/semantic-sync.js.map +0 -1
  455. package/dist/search/semantic-test-fixtures.d.ts +0 -1
  456. package/dist/search/semantic-test-fixtures.js +0 -38
  457. package/dist/search/semantic-test-fixtures.js.map +0 -1
  458. package/dist/search/semantic-token.d.ts +0 -25
  459. package/dist/search/semantic-token.js +0 -114
  460. package/dist/search/semantic-token.js.map +0 -1
  461. package/dist/search/semantic-types.d.ts +0 -5
  462. package/dist/search/semantic-types.js +0 -2
  463. package/dist/search/semantic-types.js.map +0 -1
  464. package/dist/search/semantic.d.ts +0 -6
  465. package/dist/search/semantic.js +0 -6
  466. package/dist/search/semantic.js.map +0 -1
@@ -1,8 +1,6 @@
1
- import path from "node:path";
2
- import { cleanupSemanticStore, getSemanticDocument, initSemanticStore, listSemanticDocuments, multiGetSemanticDocuments, pullSemanticModels, querySemanticStore, readSemanticDoctor, readSemanticStatus, runSemanticBenchmark, syncSemanticEmbeddingStore, } from "../search/semantic.js";
3
- import { booleanOption, numberOption, parseSemanticArgs, printJson, semanticQueryOptions, semanticStorageOption, stringListOption, stringOption, targetList, } from "./semantic-args.js";
1
+ import { assembleSemanticEngine } from "../mcp/semantic-engine.js";
2
+ import { booleanOption, numberOption, parseSemanticArgs, printJson, semanticQueryOptions, stringOption, targetList, } from "./semantic-args.js";
4
3
  import { startSemanticHttpServer } from "./semantic-http.js";
5
- import { runCollectionCommand, runContextCommand } from "./semantic-metadata-commands.js";
6
4
  import { semanticUsageText } from "./semantic-usage.js";
7
5
  const TOP_LEVEL_COMMANDS = new Set([
8
6
  "semantic",
@@ -15,12 +13,7 @@ const TOP_LEVEL_COMMANDS = new Set([
15
13
  "embed",
16
14
  "collection",
17
15
  "context",
18
- "ls",
19
- "init",
20
16
  "cleanup",
21
- "doctor",
22
- "pull",
23
- "bench",
24
17
  "serve",
25
18
  "http",
26
19
  ]);
@@ -28,6 +21,16 @@ export function isSemanticCliCommand(command) {
28
21
  return command !== undefined && TOP_LEVEL_COMMANDS.has(command);
29
22
  }
30
23
  export { semanticUsageText } from "./semantic-usage.js";
24
+ /** Assemble the engine adapter (vec-capable when configured, else lex + docs), run, dispose. */
25
+ async function withSemanticAdapter(vault, fn) {
26
+ const engine = assembleSemanticEngine(vault);
27
+ try {
28
+ return await fn(engine.adapter);
29
+ }
30
+ finally {
31
+ await engine.dispose();
32
+ }
33
+ }
31
34
  export async function runSemanticCli(options) {
32
35
  const write = options.write ?? ((message) => console.log(message));
33
36
  const writeError = options.writeError ?? ((message) => console.error(message));
@@ -35,154 +38,90 @@ export async function runSemanticCli(options) {
35
38
  const command = parsed.positional[0] === "semantic" ? parsed.positional[1] : parsed.positional[0];
36
39
  const commandOffset = parsed.positional[0] === "semantic" ? 2 : 1;
37
40
  const rest = parsed.positional.slice(commandOffset);
41
+ const vault = options.vault;
38
42
  if (!command || command === "help") {
39
43
  write(semanticUsageText());
40
44
  return 0;
41
45
  }
42
- if (command === "init") {
43
- const result = await initSemanticStore({
44
- vault: options.vault,
46
+ if (command === "serve" || command === "http") {
47
+ const server = await startSemanticHttpServer({
48
+ vault,
49
+ host: stringOption(parsed, "host"),
50
+ port: numberOption(parsed, "port") ?? 8765,
45
51
  index: stringOption(parsed, "index"),
46
- storage: semanticStorageOption(parsed),
47
52
  });
48
- printJson(write, result);
49
- return result.available ? 0 : 1;
53
+ printJson(write, { available: true, url: server.url });
54
+ await new Promise(() => undefined);
55
+ return 0;
50
56
  }
51
57
  if (command === "sync" || command === "update" || command === "embed") {
52
- const result = await syncSemanticEmbeddingStore({
53
- vault: options.vault,
54
- collection: stringOption(parsed, "collection"),
55
- pattern: stringOption(parsed, "pattern"),
56
- ignore: stringListOption(parsed, "ignore"),
57
- includeByDefault: booleanOption(parsed, "includeDefault"),
58
- updateCommand: stringOption(parsed, "updateCommand"),
59
- index: stringOption(parsed, "index"),
60
- storage: semanticStorageOption(parsed),
61
- modelPath: stringOption(parsed, "modelPath"),
62
- force: booleanOption(parsed, "force"),
63
- pull: booleanOption(parsed, "pull"),
64
- update: booleanOption(parsed, "update"),
65
- embed: booleanOption(parsed, "embed"),
66
- chunkStrategy: stringOption(parsed, "chunkStrategy"),
67
- maxDocsPerBatch: numberOption(parsed, "maxDocsPerBatch"),
68
- maxBatchMb: numberOption(parsed, "maxBatchMb"),
58
+ return withSemanticAdapter(vault, async (adapter) => {
59
+ const result = await adapter.syncEmbeddings({
60
+ vault,
61
+ collection: stringOption(parsed, "collection"),
62
+ index: stringOption(parsed, "index"),
63
+ embed: booleanOption(parsed, "embed"),
64
+ force: booleanOption(parsed, "force"),
65
+ chunkStrategy: stringOption(parsed, "chunkStrategy"),
66
+ maxDocsPerBatch: numberOption(parsed, "maxDocsPerBatch"),
67
+ maxBatchMb: numberOption(parsed, "maxBatchMb"),
68
+ });
69
+ printJson(write, result);
70
+ return result.available ? 0 : 1;
69
71
  });
70
- printJson(write, result);
71
- return result.available ? 0 : 1;
72
72
  }
73
73
  if (command === "status") {
74
- const status = await readSemanticStatus({
75
- vault: options.vault,
76
- index: stringOption(parsed, "index"),
77
- storage: semanticStorageOption(parsed),
78
- modelPath: stringOption(parsed, "modelPath"),
74
+ return withSemanticAdapter(vault, (adapter) => {
75
+ const status = adapter.semanticStatus({ vault, index: stringOption(parsed, "index") });
76
+ printJson(write, status);
77
+ return Promise.resolve(status.available ? 0 : 1);
79
78
  });
80
- printJson(write, status);
81
- return status.available ? 0 : 1;
82
- }
83
- if (command === "doctor") {
84
- const result = await readSemanticDoctor({
85
- vault: options.vault,
86
- index: stringOption(parsed, "index"),
87
- storage: semanticStorageOption(parsed),
88
- modelPath: stringOption(parsed, "modelPath"),
89
- });
90
- printJson(write, result);
91
- return result.available ? 0 : 1;
92
79
  }
93
80
  if (command === "cleanup") {
94
- const result = await cleanupSemanticStore({
95
- vault: options.vault,
96
- index: stringOption(parsed, "index"),
97
- storage: semanticStorageOption(parsed),
98
- });
99
- printJson(write, result);
100
- return result.available ? 0 : 1;
101
- }
102
- if (command === "pull") {
103
- printJson(write, pullSemanticModels());
104
- return 0;
105
- }
106
- if (command === "bench") {
107
- return runBenchCommand(rest, parsed, options.vault, write, writeError);
108
- }
109
- if (command === "ls") {
110
- const result = await listSemanticDocuments({
111
- vault: options.vault,
112
- index: stringOption(parsed, "index"),
113
- storage: semanticStorageOption(parsed),
114
- target: rest[0],
81
+ return withSemanticAdapter(vault, async (adapter) => {
82
+ const result = await adapter.cleanup({ vault, index: stringOption(parsed, "index") });
83
+ printJson(write, result);
84
+ return result.available ? 0 : 1;
115
85
  });
116
- printJson(write, result);
117
- return result.available ? 0 : 1;
118
86
  }
119
87
  if (command === "query" || command === "search" || command === "vsearch") {
120
88
  const mode = command === "search" ? "search" : command === "vsearch" ? "vsearch" : "query";
121
- const result = await querySemanticStore(semanticQueryOptions(mode, options.vault, parsed, rest.join(" ")));
122
- printJson(write, result);
123
- return result.available ? 0 : 1;
89
+ return withSemanticAdapter(vault, async (adapter) => {
90
+ const result = await adapter.semanticQuery(semanticQueryOptions(mode, vault, parsed, rest.join(" ")));
91
+ printJson(write, result);
92
+ return result.available ? 0 : 1;
93
+ });
124
94
  }
125
95
  if (command === "get")
126
- return runGetCommand(rest, parsed, options.vault, write, writeError);
96
+ return runGetCommand(rest, parsed, vault, write, writeError);
127
97
  if (command === "multi-get")
128
- return runMultiGetCommand(rest, parsed, options.vault, write, writeError);
98
+ return runMultiGetCommand(rest, parsed, vault, write, writeError);
129
99
  if (command === "collection")
130
- return runCollectionCommand(rest[0], rest[1], parsed, options.vault, write, writeError);
100
+ return runCollectionCommand(rest[0], rest[1], parsed, vault, write);
131
101
  if (command === "context")
132
- return runContextCommand(rest[0], rest, parsed, options.vault, write, writeError);
133
- if (command === "serve" || command === "http") {
134
- const server = await startSemanticHttpServer({
135
- vault: options.vault,
136
- host: stringOption(parsed, "host"),
137
- port: numberOption(parsed, "port") ?? 8765,
138
- index: stringOption(parsed, "index"),
139
- storage: semanticStorageOption(parsed),
140
- modelPath: stringOption(parsed, "modelPath"),
141
- });
142
- printJson(write, { available: true, url: server.url });
143
- await new Promise(() => undefined);
144
- return 0;
145
- }
102
+ return runContextCommand(rest[0], parsed, vault, write);
146
103
  writeError(semanticUsageText());
147
104
  return 1;
148
105
  }
149
- async function runBenchCommand(rest, parsed, vault, write, writeError) {
150
- const fixture = rest[0];
151
- if (!fixture) {
152
- writeError("Usage: oms semantic bench <fixture.json>");
153
- return 1;
154
- }
155
- const result = await runSemanticBenchmark({
156
- vault,
157
- index: stringOption(parsed, "index"),
158
- storage: semanticStorageOption(parsed),
159
- modelPath: stringOption(parsed, "modelPath"),
160
- fixture: path.resolve(vault, fixture),
161
- collection: stringOption(parsed, "collection"),
162
- });
163
- printJson(write, result);
164
- return result.available && result.failed === 0 ? 0 : 1;
165
- }
166
106
  async function runGetCommand(rest, parsed, vault, write, writeError) {
167
107
  const target = rest[0];
168
108
  if (!target) {
169
109
  writeError("Usage: oms semantic get <target>");
170
110
  return 1;
171
111
  }
172
- const result = await getSemanticDocument({
173
- vault,
174
- target,
175
- collection: stringOption(parsed, "collection"),
176
- index: stringOption(parsed, "index"),
177
- storage: semanticStorageOption(parsed),
178
- modelPath: stringOption(parsed, "modelPath"),
179
- fromLine: numberOption(parsed, "fromLine"),
180
- lineCount: numberOption(parsed, "lineCount"),
181
- lineNumbers: booleanOption(parsed, "lineNumbers"),
182
- fullPath: booleanOption(parsed, "fullPath"),
112
+ return withSemanticAdapter(vault, async (adapter) => {
113
+ const result = await adapter.getDocument({
114
+ vault,
115
+ target,
116
+ collection: stringOption(parsed, "collection"),
117
+ fromLine: numberOption(parsed, "fromLine"),
118
+ lineCount: numberOption(parsed, "lineCount"),
119
+ lineNumbers: booleanOption(parsed, "lineNumbers"),
120
+ fullPath: booleanOption(parsed, "fullPath"),
121
+ });
122
+ printJson(write, result);
123
+ return result.available ? 0 : 1;
183
124
  });
184
- printJson(write, result);
185
- return result.available ? 0 : 1;
186
125
  }
187
126
  async function runMultiGetCommand(rest, parsed, vault, write, writeError) {
188
127
  const targets = targetList(rest);
@@ -190,19 +129,42 @@ async function runMultiGetCommand(rest, parsed, vault, write, writeError) {
190
129
  writeError("Usage: oms semantic multi-get <target...>");
191
130
  return 1;
192
131
  }
193
- const result = await multiGetSemanticDocuments({
194
- vault,
195
- targets,
196
- collection: stringOption(parsed, "collection"),
197
- index: stringOption(parsed, "index"),
198
- storage: semanticStorageOption(parsed),
199
- modelPath: stringOption(parsed, "modelPath"),
200
- lineLimit: numberOption(parsed, "lineLimit"),
201
- maxBytes: numberOption(parsed, "maxBytes"),
202
- lineNumbers: booleanOption(parsed, "lineNumbers"),
203
- fullPath: booleanOption(parsed, "fullPath"),
132
+ return withSemanticAdapter(vault, async (adapter) => {
133
+ const result = await adapter.multiGetDocuments({
134
+ vault,
135
+ targets: [...targets],
136
+ collection: stringOption(parsed, "collection"),
137
+ lineLimit: numberOption(parsed, "lineLimit"),
138
+ maxBytes: numberOption(parsed, "maxBytes"),
139
+ lineNumbers: booleanOption(parsed, "lineNumbers"),
140
+ fullPath: booleanOption(parsed, "fullPath"),
141
+ });
142
+ printJson(write, result);
143
+ return result.available ? 0 : 1;
144
+ });
145
+ }
146
+ async function runCollectionCommand(action, collectionName, parsed, vault, write) {
147
+ return withSemanticAdapter(vault, (adapter) => {
148
+ const result = adapter.listCollections({ vault, index: stringOption(parsed, "index") });
149
+ if (!result.available) {
150
+ printJson(write, result);
151
+ return Promise.resolve(1);
152
+ }
153
+ const name = action === "show" ? collectionName : undefined;
154
+ const collections = name ? result.collections.filter((collection) => collection.name === name) : result.collections;
155
+ printJson(write, { collections });
156
+ return Promise.resolve(0);
157
+ });
158
+ }
159
+ async function runContextCommand(action, parsed, vault, write) {
160
+ if (action && action !== "list") {
161
+ write(semanticUsageText());
162
+ return 1;
163
+ }
164
+ return withSemanticAdapter(vault, (adapter) => {
165
+ const result = adapter.listContexts({ vault, index: stringOption(parsed, "index") });
166
+ printJson(write, result);
167
+ return Promise.resolve(result.available ? 0 : 1);
204
168
  });
205
- printJson(write, result);
206
- return result.available ? 0 : 1;
207
169
  }
208
170
  //# sourceMappingURL=semantic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/cli/semantic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/cli/semantic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface SetupPrompt {
2
+ question(query: string): Promise<string>;
3
+ close(): void;
4
+ }
5
+ export declare function runSetup(opts: {
6
+ vault: string;
7
+ yes: boolean;
8
+ installClaude?: boolean;
9
+ suggestFields?: boolean;
10
+ prompt?: SetupPrompt;
11
+ }): Promise<void>;
@@ -0,0 +1,196 @@
1
+ import { copyFile, mkdir, readFile, readdir, writeFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { createInterface } from "node:readline/promises";
4
+ import { stringify as yamlStringify } from "yaml";
5
+ import { loadOntology } from "../core/ontology/loader.js";
6
+ import { resolveBundledAssetPaths } from "../core/runtime/assets.js";
7
+ import { collectObservedFields, mergeObservedFieldsIntoConcept, parseLensDefinitions, } from "../setup/axis.js";
8
+ import { buildClaudeInstallPlan, printClaudeInstallPlan, } from "./claude-install-plan.js";
9
+ import { buildPromptConcepts, conceptRefToPromptDefault, defaultConceptForFolder, isFieldType, mergeAdditionalFields, mergeAdditionalLenses, readConceptDocuments, readExistingTaxonomy, writeConcept, } from "./setup-documents.js";
10
+ const bundledAssets = resolveBundledAssetPaths();
11
+ function bundledOntologyDir() {
12
+ return bundledAssets.ontologyDir;
13
+ }
14
+ function humanize(name) {
15
+ return name.charAt(0).toUpperCase() + name.slice(1);
16
+ }
17
+ export async function runSetup(opts) {
18
+ const { vault, yes, installClaude = false, suggestFields = false } = opts;
19
+ const nonInteractive = yes || process.env["OMS_NON_INTERACTIVE"] === "1";
20
+ const ontologyDir = bundledOntologyDir();
21
+ const ontology = await loadOntology(ontologyDir);
22
+ const observedSummaries = await collectObservedFields({ vault });
23
+ const observedByFolder = new Map(observedSummaries.map((summary) => [summary.folder, summary]));
24
+ const topEntries = await readdir(vault, { withFileTypes: true });
25
+ const folders = topEntries
26
+ .filter((entry) => entry.isDirectory() && !entry.name.startsWith("."))
27
+ .map((entry) => entry.name);
28
+ const omsDir = path.join(vault, ".oms");
29
+ const existingTaxonomy = await readExistingTaxonomy(omsDir);
30
+ const existingConceptDocuments = await readConceptDocuments(omsDir);
31
+ const promptConcepts = buildPromptConcepts(ontology.concepts, existingConceptDocuments);
32
+ const folderBindings = { ...(existingTaxonomy?.folders ?? {}) };
33
+ const observedFieldsByConcept = new Map();
34
+ const interactiveFieldsByConcept = new Map();
35
+ const interactiveLensesByConcept = new Map();
36
+ if (nonInteractive) {
37
+ for (const folder of folders) {
38
+ const existing = folderBindings[folder];
39
+ const conceptName = conceptRefToPromptDefault(existing?.concept ?? null) ??
40
+ defaultConceptForFolder(promptConcepts, folder);
41
+ folderBindings[folder] = {
42
+ intent: existing?.intent || humanize(folder),
43
+ concept: conceptName,
44
+ };
45
+ if (suggestFields && conceptName !== null) {
46
+ const summary = observedByFolder.get(folder);
47
+ if (summary !== undefined) {
48
+ observedFieldsByConcept.set(conceptName, [
49
+ ...(observedFieldsByConcept.get(conceptName) ?? []),
50
+ ...summary.fields,
51
+ ]);
52
+ }
53
+ }
54
+ }
55
+ }
56
+ else {
57
+ const rl = opts.prompt ??
58
+ createInterface({
59
+ input: process.stdin,
60
+ output: process.stdout,
61
+ });
62
+ const conceptNames = Array.from(promptConcepts.keys());
63
+ try {
64
+ console.log("\nOh My Second Brain Setup — adopting existing vault folders.\n");
65
+ console.log(`Available concepts: ${conceptNames.join(", ") || "(none)"}\n`);
66
+ for (const folder of folders) {
67
+ const existing = folderBindings[folder];
68
+ const defaultIntent = existing?.intent || humanize(folder);
69
+ const rawIntent = await rl.question(`Folder "${folder}" — intent [${defaultIntent}]: `);
70
+ const intent = rawIntent.trim() || defaultIntent;
71
+ const defaultConcept = conceptRefToPromptDefault(existing?.concept ?? null) ??
72
+ defaultConceptForFolder(promptConcepts, folder);
73
+ const conceptPrompt = defaultConcept
74
+ ? ` Bind concept [${defaultConcept}] (blank = ${defaultConcept}, "null" = none): `
75
+ : ` Bind concept (${conceptNames.join("/") || "none"}, blank = none): `;
76
+ const rawConcept = await rl.question(conceptPrompt);
77
+ const trimmed = rawConcept.trim();
78
+ let conceptName;
79
+ if (trimmed === "null" || trimmed === "") {
80
+ conceptName = trimmed === "null" ? null : (defaultConcept ?? null);
81
+ }
82
+ else if (promptConcepts.has(trimmed)) {
83
+ conceptName = trimmed;
84
+ }
85
+ else {
86
+ console.warn(` Unknown concept "${trimmed}"; binding as null.`);
87
+ conceptName = null;
88
+ }
89
+ folderBindings[folder] = { intent, concept: conceptName };
90
+ const summary = observedByFolder.get(folder);
91
+ if (summary !== undefined && summary.fields.length > 0 && conceptName !== null) {
92
+ const observedNames = summary.fields.map((field) => `${field.name}:${field.type}`).join(", ");
93
+ console.log(` Observed fields: ${observedNames}`);
94
+ for (const warning of summary.warnings) {
95
+ console.warn(` Frontmatter warning: ${warning}`);
96
+ }
97
+ const rawFields = await rl.question(" Add observed fields (comma-separated names, blank = none): ");
98
+ const requested = new Set(rawFields
99
+ .split(",")
100
+ .map((field) => field.trim())
101
+ .filter((field) => field.length > 0));
102
+ const selected = [];
103
+ for (const observed of summary.fields) {
104
+ if (!requested.has(observed.name))
105
+ continue;
106
+ const rawType = await rl.question(` Field "${observed.name}" type [${observed.type}]: `);
107
+ const trimmedType = rawType.trim();
108
+ const fieldType = isFieldType(trimmedType) ? trimmedType : observed.type;
109
+ const rawRequired = await rl.question(` Field "${observed.name}" required? [n]: `);
110
+ const rawFieldIntent = await rl.question(` Field "${observed.name}" intent [Observed ${observed.name}]: `);
111
+ selected.push({
112
+ name: observed.name,
113
+ type: fieldType,
114
+ required: /^y(?:es)?$/i.test(rawRequired.trim()),
115
+ intent: rawFieldIntent.trim() || `Observed ${observed.name}`,
116
+ });
117
+ }
118
+ if (selected.length > 0) {
119
+ interactiveFieldsByConcept.set(conceptName, [
120
+ ...(interactiveFieldsByConcept.get(conceptName) ?? []),
121
+ ...selected,
122
+ ]);
123
+ }
124
+ const knownFields = new Set([
125
+ ...Array.from(promptConcepts.get(conceptName)?.fields ?? []).map((field) => field.name),
126
+ ...selected.map((field) => field.name),
127
+ ]);
128
+ const rawLenses = await rl.question(" Retrieval lenses (name:field1,field2; blank = none): ");
129
+ const lenses = parseLensDefinitions(rawLenses, knownFields);
130
+ if (lenses.length > 0) {
131
+ interactiveLensesByConcept.set(conceptName, [
132
+ ...(interactiveLensesByConcept.get(conceptName) ?? []),
133
+ ...lenses,
134
+ ]);
135
+ }
136
+ }
137
+ }
138
+ }
139
+ finally {
140
+ rl.close();
141
+ }
142
+ }
143
+ const taxonomy = { version: existingTaxonomy?.version ?? 0, folders: folderBindings };
144
+ const conceptsOutDir = path.join(omsDir, "concepts");
145
+ await mkdir(conceptsOutDir, { recursive: true });
146
+ await writeFile(path.join(omsDir, "taxonomy.yaml"), yamlStringify(taxonomy), "utf-8");
147
+ const conceptsSourceDir = path.join(ontologyDir, "concepts");
148
+ let copiedFiles = [];
149
+ try {
150
+ const conceptFiles = await readdir(conceptsSourceDir);
151
+ for (const file of conceptFiles) {
152
+ if (file.endsWith(".yaml") || file.endsWith(".yml")) {
153
+ const target = path.join(conceptsOutDir, file);
154
+ try {
155
+ await readFile(target, "utf-8");
156
+ }
157
+ catch (error) {
158
+ if (!(error instanceof Error))
159
+ throw error;
160
+ await copyFile(path.join(conceptsSourceDir, file), target);
161
+ copiedFiles.push(file);
162
+ }
163
+ }
164
+ }
165
+ }
166
+ catch (err) {
167
+ console.warn("[oms] Could not copy concept files:", err);
168
+ }
169
+ const localOntology = await loadOntology(omsDir);
170
+ const localConceptDocuments = await readConceptDocuments(omsDir);
171
+ const conceptNamesToUpdate = new Set([
172
+ ...observedFieldsByConcept.keys(),
173
+ ...interactiveFieldsByConcept.keys(),
174
+ ...interactiveLensesByConcept.keys(),
175
+ ]);
176
+ for (const conceptName of conceptNamesToUpdate) {
177
+ const concept = localOntology.concepts.get(conceptName);
178
+ if (concept === undefined)
179
+ continue;
180
+ const withObserved = mergeObservedFieldsIntoConcept(concept, observedFieldsByConcept.get(conceptName) ?? []);
181
+ const withInteractiveFields = mergeAdditionalFields(withObserved, interactiveFieldsByConcept.get(conceptName) ?? []);
182
+ const withLenses = mergeAdditionalLenses(withInteractiveFields, interactiveLensesByConcept.get(conceptName) ?? []);
183
+ await writeConcept(omsDir, withLenses, localConceptDocuments.get(conceptName));
184
+ }
185
+ console.log(`\nOh My Second Brain setup complete.`);
186
+ console.log(` Vault: ${vault}`);
187
+ console.log(` Written: ${path.join(omsDir, "taxonomy.yaml")}`);
188
+ console.log(` Concepts: ${copiedFiles.join(", ") || "(none)"}`);
189
+ console.log(` Folders: ${Object.keys(folderBindings).join(", ") || "(none)"}`);
190
+ console.log(`\nRun "oh-my-second-brain doctor" to validate existing notes.\n`);
191
+ if (installClaude) {
192
+ printClaudeInstallPlan(buildClaudeInstallPlan({ vault }));
193
+ console.log("");
194
+ }
195
+ }
196
+ //# sourceMappingURL=setup-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-command.js","sourceRoot":"","sources":["../../src/cli/setup-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,oBAAoB,GAErB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAE9B,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC;AAOjD,SAAS,kBAAkB;IACzB,OAAO,aAAa,CAAC,WAAW,CAAC;AACnC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAM9B;IACC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,GAAG,KAAK,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAC1E,MAAM,cAAc,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,GAAG,CAAC;IAEzE,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhG,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,UAAU;SACvB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACrE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,wBAAwB,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IACxF,MAAM,cAAc,GAAkC,EAAE,GAAG,CAAC,gBAAgB,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/F,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAA2B,CAAC;IACnE,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAA2B,CAAC;IACtE,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAA0B,CAAC;IAErE,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,WAAW,GACf,yBAAyB,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC;gBACpD,uBAAuB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAClD,cAAc,CAAC,MAAM,CAAC,GAAG;gBACvB,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;gBAC5C,OAAO,EAAE,WAAW;aACrB,CAAC;YACF,IAAI,aAAa,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,uBAAuB,CAAC,GAAG,CAAC,WAAW,EAAE;wBACvC,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;wBACnD,GAAG,OAAO,CAAC,MAAM;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,GACN,IAAI,CAAC,MAAM;YACX,eAAe,CAAC;gBACd,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;QAEL,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvD,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;YAE5E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,aAAa,GAAG,QAAQ,EAAE,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC3D,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CACjC,WAAW,MAAM,eAAe,aAAa,KAAK,CACnD,CAAC;gBACF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,aAAa,CAAC;gBAEjD,MAAM,cAAc,GAClB,yBAAyB,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC;oBACpD,uBAAuB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gBAElD,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;gBAE3E,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClC,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,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvC,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;gBAED,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;gBAE1D,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;oBAC/E,MAAM,aAAa,GAAG,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,CAAC;oBAC9F,OAAO,CAAC,GAAG,CAAC,sBAAsB,aAAa,EAAE,CAAC,CAAC;oBACnD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;wBACvC,OAAO,CAAC,IAAI,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;oBACpD,CAAC;oBACD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CACjC,+DAA+D,CAChE,CAAC;oBACF,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,SAAS;yBACN,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;yBAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CACvC,CAAC;oBACF,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,CAC/B,cAAc,QAAQ,CAAC,IAAI,WAAW,QAAQ,CAAC,IAAI,KAAK,CACzD,CAAC;wBACF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;wBACnC,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACzE,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;wBACtF,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CACtC,cAAc,QAAQ,CAAC,IAAI,sBAAsB,QAAQ,CAAC,IAAI,KAAK,CACpE,CAAC;wBACF,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;4BAChD,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,YAAY,QAAQ,CAAC,IAAI,EAAE;yBAC7D,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,0BAA0B,CAAC,GAAG,CAAC,WAAW,EAAE;4BAC1C,GAAG,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;4BACtD,GAAG,QAAQ;yBACZ,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;wBAC1B,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;wBACvF,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;qBACvC,CAAC,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CACjC,yDAAyD,CAC1D,CAAC;oBACF,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBAC5D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,0BAA0B,CAAC,GAAG,CAAC,WAAW,EAAE;4BAC1C,GAAG,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;4BACtD,GAAG,MAAM;yBACV,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IAChG,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IAEtF,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC7D,IAAI,WAAW,GAAa,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACtD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;wBAAE,MAAM,KAAK,CAAC;oBAC3C,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;oBAC3D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,qBAAqB,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;QACnC,GAAG,uBAAuB,CAAC,IAAI,EAAE;QACjC,GAAG,0BAA0B,CAAC,IAAI,EAAE;QACpC,GAAG,0BAA0B,CAAC,IAAI,EAAE;KACrC,CAAC,CAAC;IACH,KAAK,MAAM,WAAW,IAAI,oBAAoB,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS;QACpC,MAAM,YAAY,GAAG,8BAA8B,CACjD,OAAO,EACP,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAC/C,CAAC;QACF,MAAM,qBAAqB,GAAG,qBAAqB,CACjD,YAAY,EACZ,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAClD,CAAC;QACF,MAAM,UAAU,GAAG,qBAAqB,CACtC,qBAAqB,EACrB,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAClD,CAAC;QACF,MAAM,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAE/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,15 @@
1
+ import type { Concept, FieldType, FolderBinding, OntologyField, OntologyLens, Taxonomy } from "../core/ontology/types.js";
2
+ export interface ConceptDocument {
3
+ readonly filePath: string;
4
+ readonly raw: Record<string, unknown>;
5
+ readonly concept: Concept;
6
+ }
7
+ export declare function readConceptDocuments(omsDir: string): Promise<Map<string, ConceptDocument>>;
8
+ export declare function buildPromptConcepts(shippedConcepts: ReadonlyMap<string, Concept>, localDocuments: ReadonlyMap<string, ConceptDocument>): Map<string, Concept>;
9
+ export declare function defaultConceptForFolder(concepts: ReadonlyMap<string, Concept>, folder: string): string | null;
10
+ export declare function conceptRefToPromptDefault(concept: FolderBinding["concept"]): string | null;
11
+ export declare function isFieldType(value: string): value is FieldType;
12
+ export declare function readExistingTaxonomy(omsDir: string): Promise<Taxonomy | null>;
13
+ export declare function mergeAdditionalFields(concept: Concept, fields: readonly OntologyField[]): Concept;
14
+ export declare function mergeAdditionalLenses(concept: Concept, lenses: readonly OntologyLens[]): Concept;
15
+ export declare function writeConcept(omsDir: string, concept: Concept, existingDocument?: ConceptDocument): Promise<void>;