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 +0,0 @@
1
- {"version":3,"file":"semantic-listing.js","sourceRoot":"","sources":["../../src/search/semantic-listing.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { SemanticCollectionSummary, SemanticIndexFile, SemanticStorage } from "./semantic-types.js";
2
- export declare function now(): string;
3
- export declare function normalizePathPrefix(value: string | undefined): string;
4
- export declare function emptyIndex(vault: string, storage?: SemanticStorage): SemanticIndexFile;
5
- export declare function loadIndexOrEmpty(opts: {
6
- readonly vault: string;
7
- readonly index?: string;
8
- readonly storage?: SemanticStorage;
9
- }): Promise<SemanticIndexFile>;
10
- export declare function writeIndex(index: SemanticIndexFile, opts: {
11
- readonly vault: string;
12
- readonly index?: string;
13
- readonly storage?: SemanticStorage;
14
- }): Promise<void>;
15
- export declare function collectionsWithCounts(index: SemanticIndexFile): readonly SemanticCollectionSummary[];
@@ -1,43 +0,0 @@
1
- import path from "node:path";
2
- import { JSON_QMD_COMPATIBILITY, normalizeSemanticStorage, QMD_COMPATIBILITY, readSemanticIndex, SEMANTIC_JSON_STORAGE, writeSemanticIndex, } from "./semantic-index.js";
3
- export function now() {
4
- return new Date().toISOString();
5
- }
6
- export function normalizePathPrefix(value) {
7
- const normalized = (value?.trim() || ".").replace(/\\/g, "/").replace(/^\.?\//u, "");
8
- return normalized.length > 0 ? normalized : ".";
9
- }
10
- export function emptyIndex(vault, storage) {
11
- const normalizedStorage = normalizeSemanticStorage(storage);
12
- return {
13
- version: 1,
14
- storage: normalizedStorage,
15
- generatedAt: now(),
16
- vault: path.resolve(vault),
17
- collection: "vault",
18
- collections: [],
19
- contexts: [],
20
- qmdCompatibility: normalizedStorage === SEMANTIC_JSON_STORAGE ? JSON_QMD_COMPATIBILITY : QMD_COMPATIBILITY,
21
- documents: [],
22
- };
23
- }
24
- export async function loadIndexOrEmpty(opts) {
25
- const loaded = await readSemanticIndex(opts);
26
- return loaded.available ? loaded.index : emptyIndex(opts.vault, opts.storage);
27
- }
28
- export async function writeIndex(index, opts) {
29
- await writeSemanticIndex({ ...index, generatedAt: now(), qmdCompatibility: index.qmdCompatibility ?? QMD_COMPATIBILITY }, { ...opts, storage: index.storage });
30
- }
31
- function collectionCounts(index, collection) {
32
- const documents = index.documents.filter((document) => document.collection === collection.name).length;
33
- return {
34
- ...collection,
35
- documents,
36
- activeDocuments: documents,
37
- lastModified: collection.lastModified ?? index.generatedAt,
38
- };
39
- }
40
- export function collectionsWithCounts(index) {
41
- return (index.collections ?? []).map((collection) => collectionCounts(index, collection));
42
- }
43
- //# sourceMappingURL=semantic-maintenance-shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semantic-maintenance-shared.js","sourceRoot":"","sources":["../../src/search/semantic-maintenance-shared.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,UAAU,GAAG;IACjB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACrF,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,OAAyB;IACjE,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC5D,OAAO;QACL,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,GAAG,EAAE;QAClB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1B,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,EAAE;QACZ,gBAAgB,EAAE,iBAAiB,KAAK,qBAAqB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,iBAAiB;QAC1G,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAItC;IACC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAwB,EAAE,IAI1D;IACC,MAAM,kBAAkB,CACtB,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,iBAAiB,EAAE,EAC/F,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAwB,EAAE,UAAqC;IACvF,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACvG,OAAO;QACL,GAAG,UAAU;QACb,SAAS;QACT,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,KAAK,CAAC,WAAW;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAwB;IAC5D,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAC5F,CAAC"}
@@ -1,103 +0,0 @@
1
- import type { SemanticCollectionSummary, SemanticStorage } from "./semantic-index-types.js";
2
- import type { SemanticModels } from "./semantic-provider-types.js";
3
- export type SemanticCollectionResult = {
4
- readonly available: true;
5
- readonly collections: readonly SemanticCollectionSummary[];
6
- } | {
7
- readonly available: false;
8
- readonly reason: string;
9
- readonly collections: readonly SemanticCollectionSummary[];
10
- };
11
- export type SemanticCollectionMutationResult = {
12
- readonly available: true;
13
- readonly collection: string;
14
- readonly renamed?: boolean;
15
- readonly removed?: boolean;
16
- readonly updated?: boolean;
17
- } | {
18
- readonly available: false;
19
- readonly reason: string;
20
- readonly collection?: string;
21
- };
22
- export type SemanticContextResult = {
23
- readonly available: true;
24
- readonly contexts: readonly import("./semantic-index-types.js").SemanticStoredContext[];
25
- } | {
26
- readonly available: false;
27
- readonly reason: string;
28
- readonly contexts: readonly import("./semantic-index-types.js").SemanticStoredContext[];
29
- };
30
- export interface SemanticDocumentListing {
31
- readonly collection: string;
32
- readonly path: string;
33
- readonly docid: string;
34
- readonly title?: string;
35
- readonly uri: string;
36
- readonly lineCount: number;
37
- readonly size: number;
38
- }
39
- export type SemanticDocumentListingResult = {
40
- readonly available: true;
41
- readonly documents: readonly SemanticDocumentListing[];
42
- } | {
43
- readonly available: false;
44
- readonly reason: string;
45
- readonly documents: readonly SemanticDocumentListing[];
46
- };
47
- export type SemanticCleanupResult = {
48
- readonly available: true;
49
- readonly storage: SemanticStorage;
50
- readonly removedDocuments: number;
51
- readonly remainingDocuments: number;
52
- readonly collections: number;
53
- } | {
54
- readonly available: false;
55
- readonly storage: SemanticStorage;
56
- readonly reason: string;
57
- };
58
- export interface SemanticDoctorCheck {
59
- readonly name: string;
60
- readonly status: "pass" | "warn" | "fail" | "unsupported";
61
- readonly detail: string;
62
- }
63
- export type SemanticDoctorResult = {
64
- readonly available: true;
65
- readonly storage: SemanticStorage;
66
- readonly checks: readonly SemanticDoctorCheck[];
67
- } | {
68
- readonly available: false;
69
- readonly storage: SemanticStorage;
70
- readonly reason: string;
71
- readonly checks: readonly SemanticDoctorCheck[];
72
- };
73
- export interface SemanticInitResult {
74
- readonly available: boolean;
75
- readonly initialized: boolean;
76
- readonly storage: SemanticStorage;
77
- readonly index: string;
78
- }
79
- export interface SemanticPullResult {
80
- readonly available: true;
81
- readonly storage: SemanticStorage;
82
- readonly models: SemanticModels;
83
- readonly message: string;
84
- }
85
- export type SemanticBenchmarkResult = {
86
- readonly available: true;
87
- readonly total: number;
88
- readonly passed: number;
89
- readonly failed: number;
90
- readonly cases: readonly {
91
- readonly query: string;
92
- readonly expected: string;
93
- readonly hit?: string;
94
- readonly pass: boolean;
95
- }[];
96
- } | {
97
- readonly available: false;
98
- readonly reason: string;
99
- readonly total: 0;
100
- readonly passed: 0;
101
- readonly failed: 0;
102
- readonly cases: readonly [];
103
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=semantic-maintenance-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semantic-maintenance-types.js","sourceRoot":"","sources":["../../src/search/semantic-maintenance-types.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- export { initSemanticStore, listSemanticCollections, removeSemanticCollection, renameSemanticCollection, updateSemanticCollection, } from "./semantic-collections.js";
2
- export { addSemanticContext, listSemanticContexts, removeSemanticContext, } from "./semantic-contexts.js";
3
- export { pullSemanticModels, readSemanticDoctor, runSemanticBenchmark, } from "./semantic-diagnostics.js";
4
- export { cleanupSemanticStore, listSemanticDocuments, } from "./semantic-listing.js";
@@ -1,5 +0,0 @@
1
- export { initSemanticStore, listSemanticCollections, removeSemanticCollection, renameSemanticCollection, updateSemanticCollection, } from "./semantic-collections.js";
2
- export { addSemanticContext, listSemanticContexts, removeSemanticContext, } from "./semantic-contexts.js";
3
- export { pullSemanticModels, readSemanticDoctor, runSemanticBenchmark, } from "./semantic-diagnostics.js";
4
- export { cleanupSemanticStore, listSemanticDocuments, } from "./semantic-listing.js";
5
- //# sourceMappingURL=semantic-maintenance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semantic-maintenance.js","sourceRoot":"","sources":["../../src/search/semantic-maintenance.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC"}
@@ -1,34 +0,0 @@
1
- import type { SemanticCollectionSummary, SemanticQmdCompatibility, SemanticStorage } from "./semantic-index-types.js";
2
- export interface SemanticModels {
3
- readonly embedding?: string;
4
- readonly reranking?: string;
5
- readonly generation?: string;
6
- }
7
- export interface SemanticIndexDocuments {
8
- readonly total?: number;
9
- readonly vectors?: number;
10
- readonly pending?: number;
11
- readonly updated?: string;
12
- }
13
- export interface SemanticIndexStatus {
14
- readonly path?: string;
15
- readonly size?: string;
16
- readonly documents?: SemanticIndexDocuments;
17
- }
18
- export type SemanticProviderStatus = {
19
- readonly available: true;
20
- readonly storage: SemanticStorage;
21
- readonly models: SemanticModels;
22
- readonly index?: SemanticIndexStatus;
23
- readonly collections?: readonly SemanticCollectionSummary[];
24
- readonly qmdCompatibility?: SemanticQmdCompatibility;
25
- } | {
26
- readonly available: false;
27
- readonly reason: string;
28
- };
29
- export interface SemanticStatusOptions {
30
- readonly vault?: string;
31
- readonly index?: string;
32
- readonly storage?: SemanticStorage;
33
- readonly modelPath?: string;
34
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=semantic-provider-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semantic-provider-types.js","sourceRoot":"","sources":["../../src/search/semantic-provider-types.ts"],"names":[],"mappings":""}
@@ -1,83 +0,0 @@
1
- import type { SemanticStatusOptions } from "./semantic-provider-types.js";
2
- export interface SemanticHitEvidence {
3
- readonly lexical: boolean;
4
- readonly vector: boolean;
5
- }
6
- export type SemanticSearchMode = "query" | "search" | "vsearch";
7
- export type SemanticSearchFormat = "json" | "files";
8
- export type SemanticTypedSearchType = "lex" | "vec" | "hyde";
9
- export interface SemanticTypedSearch {
10
- readonly type: SemanticTypedSearchType;
11
- readonly query: string;
12
- }
13
- export interface SemanticSearchHit {
14
- readonly docid: string;
15
- readonly score: number;
16
- readonly uri: string;
17
- readonly path: string;
18
- readonly line?: number;
19
- readonly title?: string;
20
- readonly snippet: string;
21
- readonly context?: string;
22
- readonly evidence: SemanticHitEvidence;
23
- }
24
- export type SemanticQueryResult = {
25
- readonly available: true;
26
- readonly hits: readonly SemanticSearchHit[];
27
- } | {
28
- readonly available: false;
29
- readonly reason: string;
30
- readonly hits: readonly SemanticSearchHit[];
31
- };
32
- export interface SemanticDocument {
33
- readonly target: string;
34
- readonly path: string;
35
- readonly content: string;
36
- readonly docid?: string;
37
- readonly title?: string;
38
- readonly uri?: string;
39
- }
40
- export type SemanticDocumentResult = {
41
- readonly available: true;
42
- readonly documents: readonly SemanticDocument[];
43
- } | {
44
- readonly available: false;
45
- readonly reason: string;
46
- readonly documents: readonly SemanticDocument[];
47
- };
48
- export interface SemanticQueryOptions extends SemanticStatusOptions {
49
- readonly query: string;
50
- readonly collection?: string;
51
- readonly limit?: number;
52
- readonly mode?: SemanticSearchMode;
53
- readonly intent?: string;
54
- readonly searches?: readonly SemanticTypedSearch[];
55
- readonly lex?: string;
56
- readonly vec?: string;
57
- readonly hyde?: string;
58
- readonly minScore?: number;
59
- readonly all?: boolean;
60
- readonly format?: SemanticSearchFormat;
61
- readonly full?: boolean;
62
- readonly lineNumbers?: boolean;
63
- readonly fullPath?: boolean;
64
- readonly chunkStrategy?: string;
65
- readonly candidateLimit?: number;
66
- readonly noRerank?: boolean;
67
- }
68
- export interface SemanticGetOptions extends SemanticStatusOptions {
69
- readonly target: string;
70
- readonly collection?: string;
71
- readonly fromLine?: number;
72
- readonly lineCount?: number;
73
- readonly lineNumbers?: boolean;
74
- readonly fullPath?: boolean;
75
- }
76
- export interface SemanticMultiGetOptions extends SemanticStatusOptions {
77
- readonly targets: readonly string[];
78
- readonly collection?: string;
79
- readonly lineLimit?: number;
80
- readonly maxBytes?: number;
81
- readonly lineNumbers?: boolean;
82
- readonly fullPath?: boolean;
83
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=semantic-query-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semantic-query-types.js","sourceRoot":"","sources":["../../src/search/semantic-query-types.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import type { SemanticQueryOptions, SemanticQueryResult } from "./semantic-types.js";
2
- export declare function querySemanticStore(opts: SemanticQueryOptions): Promise<SemanticQueryResult>;
@@ -1,188 +0,0 @@
1
- import path from "node:path";
2
- import { normalizeSemanticStorage, readSemanticIndex, SEMANTIC_SQLITE_STORAGE } from "./semantic-index.js";
3
- import { querySqliteSemanticStore } from "./semantic-sqlite-query.js";
4
- import { cosineScore, firstMatchingLine, lexicalScore, parseLexQuery, snippetAroundLine, termFrequency, tokenize, } from "./semantic-token.js";
5
- function parseQueryDocument(query) {
6
- const searches = [];
7
- let intent;
8
- const fallback = [];
9
- let sawStructuredLine = false;
10
- for (const rawLine of query.split(/\r?\n/u)) {
11
- const line = rawLine.trim();
12
- if (!line)
13
- continue;
14
- const match = /^(intent|lex|vec|hyde|expand):\s*(.+)$/u.exec(line);
15
- if (!match) {
16
- fallback.push(line);
17
- continue;
18
- }
19
- sawStructuredLine = true;
20
- const key = match[1];
21
- const value = match[2]?.trim();
22
- if (!value)
23
- continue;
24
- if (key === "intent") {
25
- intent = value;
26
- }
27
- else if (key === "expand") {
28
- searches.push({ type: "lex", query: value }, { type: "vec", query: value }, { type: "hyde", query: value });
29
- }
30
- else if (key === "lex" || key === "vec" || key === "hyde") {
31
- searches.push({ type: key, query: value });
32
- }
33
- }
34
- if (!sawStructuredLine)
35
- return { searches: [], fallback: query.trim() || undefined };
36
- return { intent, searches, fallback: fallback.join("\n").trim() || undefined };
37
- }
38
- function typedSearches(opts) {
39
- const parsed = parseQueryDocument(opts.query);
40
- const direct = [];
41
- if (opts.lex?.trim())
42
- direct.push({ type: "lex", query: opts.lex.trim() });
43
- if (opts.vec?.trim())
44
- direct.push({ type: "vec", query: opts.vec.trim() });
45
- if (opts.hyde?.trim())
46
- direct.push({ type: "hyde", query: opts.hyde.trim() });
47
- return [...parsed.searches, ...direct, ...(opts.searches ?? [])].filter((search) => search.query.trim().length > 0);
48
- }
49
- function queryTexts(opts) {
50
- const parsed = parseQueryDocument(opts.query);
51
- const searches = typedSearches(opts);
52
- const lexical = searches.filter((search) => search.type === "lex").map((search) => search.query);
53
- const vector = searches.filter((search) => search.type === "vec" || search.type === "hyde").map((search) => search.query);
54
- const fallback = parsed.fallback ?? opts.query.trim();
55
- const intent = opts.intent?.trim() ?? parsed.intent;
56
- return {
57
- lexical: lexical.length > 0 ? lexical : fallback ? [fallback] : [],
58
- vector: vector.length > 0 ? [...vector, ...(intent ? [intent] : [])] : fallback ? [fallback, ...(intent ? [intent] : [])] : [],
59
- };
60
- }
61
- function weightedText(texts) {
62
- const first = texts[0];
63
- return [first, ...texts].filter((value) => value && value.trim().length > 0).join("\n");
64
- }
65
- function maxLexicalScore(texts, document) {
66
- let score = 0;
67
- let line;
68
- for (const text of texts) {
69
- const current = lexicalScore(parseLexQuery(text), document);
70
- if (current.score > score) {
71
- score = current.score;
72
- line = current.line;
73
- }
74
- }
75
- return { score, line };
76
- }
77
- function contextForDocument(index, document) {
78
- const contexts = [];
79
- if (index.globalContext?.trim())
80
- contexts.push(index.globalContext.trim());
81
- const collectionContext = index.collections?.find((collection) => collection.name === document.collection)?.context;
82
- if (collectionContext?.trim())
83
- contexts.push(collectionContext.trim());
84
- for (const entry of index.contexts ?? []) {
85
- if (entry.collection && entry.collection !== document.collection)
86
- continue;
87
- const prefix = entry.pathPrefix === "." ? "" : entry.pathPrefix.replace(/^\.?\//u, "");
88
- if (prefix.length === 0 || document.path.startsWith(prefix))
89
- contexts.push(entry.context);
90
- }
91
- return contexts.join("\n");
92
- }
93
- function documentWithContext(index, document) {
94
- const context = contextForDocument(index, document);
95
- if (!context)
96
- return document;
97
- const content = `${context}\n${document.content}`;
98
- return {
99
- ...document,
100
- content,
101
- terms: tokenize(content),
102
- termFrequency: termFrequency(content),
103
- };
104
- }
105
- function scoreDocuments(opts, index, documents) {
106
- const texts = queryTexts(opts);
107
- const useLexical = opts.mode !== "vsearch";
108
- const useVector = opts.mode !== "search";
109
- const vectorFrequency = termFrequency(weightedText(texts.vector));
110
- const prelim = documents.map((rawDocument) => {
111
- const document = documentWithContext(index, rawDocument);
112
- const lexical = useLexical ? maxLexicalScore(texts.lexical, document) : { score: 0 };
113
- const vector = useVector ? cosineScore(vectorFrequency, document.termFrequency) : 0;
114
- const vectorLine = useVector ? firstMatchingLine(document.content, tokenize(weightedText(texts.vector))) : undefined;
115
- return {
116
- document: rawDocument,
117
- lexical: lexical.score,
118
- vector,
119
- line: lexical.line ?? vectorLine,
120
- };
121
- });
122
- const lexicalRanks = rankScores(prelim.map((item) => ({ key: item.document.docid, score: item.lexical })));
123
- const vectorRanks = rankScores(prelim.map((item) => ({ key: item.document.docid, score: item.vector })));
124
- return prelim.map((item) => {
125
- const lexicalRrf = item.lexical > 0 ? 1 / (60 + (lexicalRanks.get(item.document.docid) ?? 1000)) : 0;
126
- const vectorRrf = item.vector > 0 ? 1 / (60 + (vectorRanks.get(item.document.docid) ?? 1000)) : 0;
127
- const topBonus = (lexicalRanks.get(item.document.docid) === 1 ? 0.04 : 0) + (vectorRanks.get(item.document.docid) === 1 ? 0.04 : 0);
128
- const blended = (item.lexical + item.vector) / (useLexical && useVector ? 2 : 1);
129
- const score = Math.min(1, blended * 0.8 + (lexicalRrf + vectorRrf) * 6 + topBonus);
130
- return { ...item, score };
131
- });
132
- }
133
- function rankScores(items) {
134
- return new Map([...items]
135
- .filter((item) => item.score > 0)
136
- .sort((a, b) => b.score - a.score || a.key.localeCompare(b.key))
137
- .map((item, index) => [item.key, index + 1]));
138
- }
139
- function hitPath(opts, indexVault, document) {
140
- return opts.fullPath === true ? path.join(indexVault, document.path) : document.path;
141
- }
142
- function hitFromRanked(opts, index, ranked) {
143
- const snippet = snippetAroundLine(ranked.document.content, ranked.line);
144
- const configuredContext = contextForDocument(index, ranked.document);
145
- const context = [configuredContext, opts.full === true ? ranked.document.content : snippet]
146
- .filter((value) => value && value.length > 0)
147
- .join("\n");
148
- return {
149
- docid: ranked.document.docid,
150
- score: Number(ranked.score.toFixed(6)),
151
- uri: ranked.document.uri,
152
- path: hitPath(opts, index.vault, ranked.document),
153
- line: ranked.line,
154
- title: ranked.document.title,
155
- snippet: snippet || ranked.document.title || ranked.document.path,
156
- context,
157
- evidence: {
158
- lexical: ranked.lexical > 0,
159
- vector: ranked.vector > 0,
160
- },
161
- };
162
- }
163
- export async function querySemanticStore(opts) {
164
- if (normalizeSemanticStorage(opts.storage) === SEMANTIC_SQLITE_STORAGE)
165
- return querySqliteSemanticStore(opts);
166
- return queryJsonSemanticStore(opts);
167
- }
168
- async function queryJsonSemanticStore(opts) {
169
- const loaded = await readSemanticIndex(opts);
170
- if (!loaded.available)
171
- return { available: false, reason: loaded.reason, hits: [] };
172
- const collection = opts.collection?.trim();
173
- const documents = collection
174
- ? loaded.index.documents.filter((document) => document.collection === collection)
175
- : loaded.index.documents;
176
- const limit = Math.max(1, Math.min(opts.limit ?? 10, 50));
177
- const candidateLimit = Math.max(limit, Math.min(opts.candidateLimit ?? 100, 500));
178
- const minScore = opts.minScore ?? 0;
179
- const ranked = scoreDocuments(opts, loaded.index, documents)
180
- .filter((item) => opts.all === true || item.score > 0)
181
- .filter((item) => item.score >= minScore)
182
- .sort((a, b) => b.score - a.score || a.document.path.localeCompare(b.document.path))
183
- .slice(0, candidateLimit)
184
- .slice(0, limit)
185
- .map((item) => hitFromRanked(opts, loaded.index, item));
186
- return { available: true, hits: ranked };
187
- }
188
- //# sourceMappingURL=semantic-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semantic-query.js","sourceRoot":"","sources":["../../src/search/semantic-query.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import Database from "better-sqlite3";
2
- export type SemanticSqliteDb = ReturnType<typeof Database>;
3
- export interface OpenSemanticSqliteStore {
4
- readonly db: SemanticSqliteDb;
5
- readonly path: string;
6
- readonly vectorAvailable: boolean;
7
- }
8
- export declare function semanticSqlitePath(opts: {
9
- readonly vault?: string;
10
- readonly index?: string;
11
- }): string;
12
- export declare function openSemanticSqliteStore(opts: {
13
- readonly vault?: string;
14
- readonly index?: string;
15
- readonly readonly?: boolean;
16
- readonly fileMustExist?: boolean;
17
- }): Promise<OpenSemanticSqliteStore>;
18
- export declare function ensureSemanticSqliteSchema(db: SemanticSqliteDb, vectorAvailable: boolean): void;
@@ -1,87 +0,0 @@
1
- import { mkdir } from "node:fs/promises";
2
- import path from "node:path";
3
- import Database from "better-sqlite3";
4
- import * as sqliteVec from "sqlite-vec";
5
- import { semanticIndexPath, SEMANTIC_SQLITE_STORAGE, } from "./semantic-index-core.js";
6
- import { SQLITE_VECTOR_DIMENSIONS } from "./semantic-embedding-hash.js";
7
- export function semanticSqlitePath(opts) {
8
- return semanticIndexPath({ ...opts, storage: SEMANTIC_SQLITE_STORAGE });
9
- }
10
- export async function openSemanticSqliteStore(opts) {
11
- const databasePath = semanticSqlitePath(opts);
12
- if (!opts.readonly)
13
- await mkdir(path.dirname(databasePath), { recursive: true });
14
- const databaseOptions = {};
15
- if (opts.readonly !== undefined)
16
- databaseOptions.readonly = opts.readonly;
17
- if (opts.fileMustExist !== undefined)
18
- databaseOptions.fileMustExist = opts.fileMustExist;
19
- const db = new Database(databasePath, databaseOptions);
20
- let vectorAvailable = false;
21
- try {
22
- sqliteVec.load(db);
23
- vectorAvailable = true;
24
- }
25
- catch (error) {
26
- if (!(error instanceof Error))
27
- throw error;
28
- }
29
- if (!opts.readonly)
30
- ensureSemanticSqliteSchema(db, vectorAvailable);
31
- return { db, path: databasePath, vectorAvailable };
32
- }
33
- export function ensureSemanticSqliteSchema(db, vectorAvailable) {
34
- db.pragma("journal_mode = WAL");
35
- db.exec(`
36
- CREATE TABLE IF NOT EXISTS store_meta (
37
- key TEXT PRIMARY KEY,
38
- value TEXT NOT NULL
39
- );
40
- CREATE TABLE IF NOT EXISTS store_collections (
41
- name TEXT PRIMARY KEY,
42
- path TEXT NOT NULL,
43
- pattern TEXT NOT NULL DEFAULT '**/*.md',
44
- ignore_patterns TEXT NOT NULL DEFAULT '[]',
45
- include_by_default INTEGER NOT NULL DEFAULT 1,
46
- update_command TEXT,
47
- context TEXT,
48
- doc_count INTEGER NOT NULL DEFAULT 0,
49
- active_count INTEGER NOT NULL DEFAULT 0,
50
- last_modified TEXT
51
- );
52
- CREATE TABLE IF NOT EXISTS store_contexts (
53
- collection TEXT,
54
- path_prefix TEXT NOT NULL,
55
- context TEXT NOT NULL,
56
- updated_at TEXT NOT NULL,
57
- PRIMARY KEY(collection, path_prefix)
58
- );
59
- CREATE TABLE IF NOT EXISTS documents (
60
- rowid INTEGER PRIMARY KEY,
61
- collection TEXT NOT NULL,
62
- path TEXT NOT NULL,
63
- uri TEXT NOT NULL,
64
- docid TEXT NOT NULL UNIQUE,
65
- title TEXT,
66
- content TEXT NOT NULL,
67
- terms_json TEXT NOT NULL,
68
- term_frequency_json TEXT NOT NULL,
69
- line_count INTEGER NOT NULL,
70
- mtime_ms REAL NOT NULL,
71
- size INTEGER NOT NULL,
72
- active INTEGER NOT NULL DEFAULT 1,
73
- UNIQUE(collection, path)
74
- );
75
- CREATE VIRTUAL TABLE IF NOT EXISTS documents_fts USING fts5(
76
- docid UNINDEXED,
77
- collection UNINDEXED,
78
- path UNINDEXED,
79
- title,
80
- content
81
- );
82
- `);
83
- if (vectorAvailable) {
84
- db.exec(`CREATE VIRTUAL TABLE IF NOT EXISTS document_vectors USING vec0(embedding float[${SQLITE_VECTOR_DIMENSIONS}]);`);
85
- }
86
- }
87
- //# sourceMappingURL=semantic-sqlite-db.js.map