@noyrax/5d-database-plugin 0.1.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 (369) hide show
  1. package/ADR_VORSCHLAEGE.md +247 -0
  2. package/CHROMADB_SETUP.md +69 -0
  3. package/IMPROVEMENT_ROADMAP.md +435 -0
  4. package/INSTALLATION_READINESS.md +150 -0
  5. package/KNOWN_ISSUES.md +210 -0
  6. package/LICENSE +21 -0
  7. package/MCP_SERVER_SETUP.md +359 -0
  8. package/MCP_SERVER_TEST_REPORT.md +206 -0
  9. package/NOYRAX_INTEGRATION.md +224 -0
  10. package/QUICK_START.md +316 -0
  11. package/README.md +240 -0
  12. package/SETUP_NEW_PROJECT.md +260 -0
  13. package/SYSTEM_ANALYSIS_REPORT.md +341 -0
  14. package/out/api/adr-api.d.ts +22 -0
  15. package/out/api/adr-api.d.ts.map +1 -0
  16. package/out/api/adr-api.js +38 -0
  17. package/out/api/adr-api.js.map +1 -0
  18. package/out/api/bootstrap-api.d.ts +43 -0
  19. package/out/api/bootstrap-api.d.ts.map +1 -0
  20. package/out/api/bootstrap-api.js +88 -0
  21. package/out/api/bootstrap-api.js.map +1 -0
  22. package/out/api/change-api.d.ts +30 -0
  23. package/out/api/change-api.d.ts.map +1 -0
  24. package/out/api/change-api.js +54 -0
  25. package/out/api/change-api.js.map +1 -0
  26. package/out/api/context-builder.d.ts +81 -0
  27. package/out/api/context-builder.d.ts.map +1 -0
  28. package/out/api/context-builder.js +288 -0
  29. package/out/api/context-builder.js.map +1 -0
  30. package/out/api/cross-dimension-api.d.ts +43 -0
  31. package/out/api/cross-dimension-api.d.ts.map +1 -0
  32. package/out/api/cross-dimension-api.js +55 -0
  33. package/out/api/cross-dimension-api.js.map +1 -0
  34. package/out/api/dependency-api.d.ts +26 -0
  35. package/out/api/dependency-api.d.ts.map +1 -0
  36. package/out/api/dependency-api.js +46 -0
  37. package/out/api/dependency-api.js.map +1 -0
  38. package/out/api/learning-path-api.d.ts +49 -0
  39. package/out/api/learning-path-api.d.ts.map +1 -0
  40. package/out/api/learning-path-api.js +174 -0
  41. package/out/api/learning-path-api.js.map +1 -0
  42. package/out/api/module-api.d.ts +26 -0
  43. package/out/api/module-api.d.ts.map +1 -0
  44. package/out/api/module-api.js +46 -0
  45. package/out/api/module-api.js.map +1 -0
  46. package/out/api/search-api.d.ts +64 -0
  47. package/out/api/search-api.d.ts.map +1 -0
  48. package/out/api/search-api.js +235 -0
  49. package/out/api/search-api.js.map +1 -0
  50. package/out/api/self-explanation-api.d.ts +71 -0
  51. package/out/api/self-explanation-api.d.ts.map +1 -0
  52. package/out/api/self-explanation-api.js +153 -0
  53. package/out/api/self-explanation-api.js.map +1 -0
  54. package/out/api/semantic-search-api.d.ts +64 -0
  55. package/out/api/semantic-search-api.d.ts.map +1 -0
  56. package/out/api/semantic-search-api.js +205 -0
  57. package/out/api/semantic-search-api.js.map +1 -0
  58. package/out/api/symbol-api.d.ts +22 -0
  59. package/out/api/symbol-api.d.ts.map +1 -0
  60. package/out/api/symbol-api.js +38 -0
  61. package/out/api/symbol-api.js.map +1 -0
  62. package/out/api/vector-api.d.ts +26 -0
  63. package/out/api/vector-api.d.ts.map +1 -0
  64. package/out/api/vector-api.js +49 -0
  65. package/out/api/vector-api.js.map +1 -0
  66. package/out/cli/embedding-cli.d.ts +3 -0
  67. package/out/cli/embedding-cli.d.ts.map +1 -0
  68. package/out/cli/embedding-cli.js +151 -0
  69. package/out/cli/embedding-cli.js.map +1 -0
  70. package/out/cli/ingest-cli.d.ts +3 -0
  71. package/out/cli/ingest-cli.d.ts.map +1 -0
  72. package/out/cli/ingest-cli.js +145 -0
  73. package/out/cli/ingest-cli.js.map +1 -0
  74. package/out/cli/mcp-server-cli.d.ts +3 -0
  75. package/out/cli/mcp-server-cli.d.ts.map +1 -0
  76. package/out/cli/mcp-server-cli.js +159 -0
  77. package/out/cli/mcp-server-cli.js.map +1 -0
  78. package/out/cli/query-cli.d.ts +3 -0
  79. package/out/cli/query-cli.d.ts.map +1 -0
  80. package/out/cli/query-cli.js +217 -0
  81. package/out/cli/query-cli.js.map +1 -0
  82. package/out/cli/semantic-search-cli.d.ts +3 -0
  83. package/out/cli/semantic-search-cli.d.ts.map +1 -0
  84. package/out/cli/semantic-search-cli.js +196 -0
  85. package/out/cli/semantic-search-cli.js.map +1 -0
  86. package/out/cli/test-chromadb.d.ts +3 -0
  87. package/out/cli/test-chromadb.d.ts.map +1 -0
  88. package/out/cli/test-chromadb.js +204 -0
  89. package/out/cli/test-chromadb.js.map +1 -0
  90. package/out/cli/test-v-dimension.d.ts +3 -0
  91. package/out/cli/test-v-dimension.d.ts.map +1 -0
  92. package/out/cli/test-v-dimension.js +330 -0
  93. package/out/cli/test-v-dimension.js.map +1 -0
  94. package/out/cli/tool-cli.d.ts +3 -0
  95. package/out/cli/tool-cli.d.ts.map +1 -0
  96. package/out/cli/tool-cli.js +237 -0
  97. package/out/cli/tool-cli.js.map +1 -0
  98. package/out/cli/verify-openai-key.d.ts +3 -0
  99. package/out/cli/verify-openai-key.d.ts.map +1 -0
  100. package/out/cli/verify-openai-key.js +141 -0
  101. package/out/cli/verify-openai-key.js.map +1 -0
  102. package/out/cli/verify-vss-status.d.ts +3 -0
  103. package/out/cli/verify-vss-status.d.ts.map +1 -0
  104. package/out/cli/verify-vss-status.js +185 -0
  105. package/out/cli/verify-vss-status.js.map +1 -0
  106. package/out/core/chromadb-vector-database.d.ts +52 -0
  107. package/out/core/chromadb-vector-database.d.ts.map +1 -0
  108. package/out/core/chromadb-vector-database.js +276 -0
  109. package/out/core/chromadb-vector-database.js.map +1 -0
  110. package/out/core/docs-path-resolver.d.ts +43 -0
  111. package/out/core/docs-path-resolver.d.ts.map +1 -0
  112. package/out/core/docs-path-resolver.js +137 -0
  113. package/out/core/docs-path-resolver.js.map +1 -0
  114. package/out/core/id-mapper.d.ts +68 -0
  115. package/out/core/id-mapper.d.ts.map +1 -0
  116. package/out/core/id-mapper.js +132 -0
  117. package/out/core/id-mapper.js.map +1 -0
  118. package/out/core/migration-manager.d.ts +75 -0
  119. package/out/core/migration-manager.d.ts.map +1 -0
  120. package/out/core/migration-manager.js +212 -0
  121. package/out/core/migration-manager.js.map +1 -0
  122. package/out/core/multi-db-manager.d.ts +84 -0
  123. package/out/core/multi-db-manager.d.ts.map +1 -0
  124. package/out/core/multi-db-manager.js +206 -0
  125. package/out/core/multi-db-manager.js.map +1 -0
  126. package/out/core/transaction-manager.d.ts +69 -0
  127. package/out/core/transaction-manager.d.ts.map +1 -0
  128. package/out/core/transaction-manager.js +138 -0
  129. package/out/core/transaction-manager.js.map +1 -0
  130. package/out/core/vector-database-factory.d.ts +25 -0
  131. package/out/core/vector-database-factory.d.ts.map +1 -0
  132. package/out/core/vector-database-factory.js +82 -0
  133. package/out/core/vector-database-factory.js.map +1 -0
  134. package/out/core/vector-database-interface.d.ts +50 -0
  135. package/out/core/vector-database-interface.d.ts.map +1 -0
  136. package/out/core/vector-database-interface.js +3 -0
  137. package/out/core/vector-database-interface.js.map +1 -0
  138. package/out/core/vss-loader.d.ts +29 -0
  139. package/out/core/vss-loader.d.ts.map +1 -0
  140. package/out/core/vss-loader.js +150 -0
  141. package/out/core/vss-loader.js.map +1 -0
  142. package/out/core/vss-manager.d.ts +81 -0
  143. package/out/core/vss-manager.d.ts.map +1 -0
  144. package/out/core/vss-manager.js +323 -0
  145. package/out/core/vss-manager.js.map +1 -0
  146. package/out/core/vss-vector-database.d.ts +71 -0
  147. package/out/core/vss-vector-database.d.ts.map +1 -0
  148. package/out/core/vss-vector-database.js +284 -0
  149. package/out/core/vss-vector-database.js.map +1 -0
  150. package/out/embedding/embedding-generator.d.ts +45 -0
  151. package/out/embedding/embedding-generator.d.ts.map +1 -0
  152. package/out/embedding/embedding-generator.js +143 -0
  153. package/out/embedding/embedding-generator.js.map +1 -0
  154. package/out/embedding/embedding-pipeline.d.ts +42 -0
  155. package/out/embedding/embedding-pipeline.d.ts.map +1 -0
  156. package/out/embedding/embedding-pipeline.js +290 -0
  157. package/out/embedding/embedding-pipeline.js.map +1 -0
  158. package/out/extension.d.ts +10 -0
  159. package/out/extension.d.ts.map +1 -0
  160. package/out/extension.js +164 -0
  161. package/out/extension.js.map +1 -0
  162. package/out/ingestors/adr-ingestor.d.ts +41 -0
  163. package/out/ingestors/adr-ingestor.d.ts.map +1 -0
  164. package/out/ingestors/adr-ingestor.js +329 -0
  165. package/out/ingestors/adr-ingestor.js.map +1 -0
  166. package/out/ingestors/base-ingestor.d.ts +30 -0
  167. package/out/ingestors/base-ingestor.d.ts.map +1 -0
  168. package/out/ingestors/base-ingestor.js +3 -0
  169. package/out/ingestors/base-ingestor.js.map +1 -0
  170. package/out/ingestors/change-ingestor.d.ts +36 -0
  171. package/out/ingestors/change-ingestor.d.ts.map +1 -0
  172. package/out/ingestors/change-ingestor.js +216 -0
  173. package/out/ingestors/change-ingestor.js.map +1 -0
  174. package/out/ingestors/dependency-ingestor.d.ts +32 -0
  175. package/out/ingestors/dependency-ingestor.d.ts.map +1 -0
  176. package/out/ingestors/dependency-ingestor.js +194 -0
  177. package/out/ingestors/dependency-ingestor.js.map +1 -0
  178. package/out/ingestors/module-ingestor.d.ts +27 -0
  179. package/out/ingestors/module-ingestor.d.ts.map +1 -0
  180. package/out/ingestors/module-ingestor.js +137 -0
  181. package/out/ingestors/module-ingestor.js.map +1 -0
  182. package/out/ingestors/symbol-ingestor.d.ts +26 -0
  183. package/out/ingestors/symbol-ingestor.d.ts.map +1 -0
  184. package/out/ingestors/symbol-ingestor.js +183 -0
  185. package/out/ingestors/symbol-ingestor.js.map +1 -0
  186. package/out/mcp/resources/adrs.d.ts +13 -0
  187. package/out/mcp/resources/adrs.d.ts.map +1 -0
  188. package/out/mcp/resources/adrs.js +26 -0
  189. package/out/mcp/resources/adrs.js.map +1 -0
  190. package/out/mcp/resources/changes.d.ts +13 -0
  191. package/out/mcp/resources/changes.d.ts.map +1 -0
  192. package/out/mcp/resources/changes.js +26 -0
  193. package/out/mcp/resources/changes.js.map +1 -0
  194. package/out/mcp/resources/dependencies.d.ts +13 -0
  195. package/out/mcp/resources/dependencies.d.ts.map +1 -0
  196. package/out/mcp/resources/dependencies.js +26 -0
  197. package/out/mcp/resources/dependencies.js.map +1 -0
  198. package/out/mcp/resources/modules.d.ts +13 -0
  199. package/out/mcp/resources/modules.d.ts.map +1 -0
  200. package/out/mcp/resources/modules.js +26 -0
  201. package/out/mcp/resources/modules.js.map +1 -0
  202. package/out/mcp/resources/symbols.d.ts +13 -0
  203. package/out/mcp/resources/symbols.d.ts.map +1 -0
  204. package/out/mcp/resources/symbols.js +26 -0
  205. package/out/mcp/resources/symbols.js.map +1 -0
  206. package/out/mcp/server.d.ts +29 -0
  207. package/out/mcp/server.d.ts.map +1 -0
  208. package/out/mcp/server.js +300 -0
  209. package/out/mcp/server.js.map +1 -0
  210. package/out/mcp/tools/architecture-mining.d.ts +46 -0
  211. package/out/mcp/tools/architecture-mining.d.ts.map +1 -0
  212. package/out/mcp/tools/architecture-mining.js +272 -0
  213. package/out/mcp/tools/architecture-mining.js.map +1 -0
  214. package/out/mcp/tools/bootstrap.d.ts +9 -0
  215. package/out/mcp/tools/bootstrap.d.ts.map +1 -0
  216. package/out/mcp/tools/bootstrap.js +14 -0
  217. package/out/mcp/tools/bootstrap.js.map +1 -0
  218. package/out/mcp/tools/cross-analysis.d.ts +18 -0
  219. package/out/mcp/tools/cross-analysis.d.ts.map +1 -0
  220. package/out/mcp/tools/cross-analysis.js +23 -0
  221. package/out/mcp/tools/cross-analysis.js.map +1 -0
  222. package/out/mcp/tools/gap-analysis.d.ts +34 -0
  223. package/out/mcp/tools/gap-analysis.d.ts.map +1 -0
  224. package/out/mcp/tools/gap-analysis.js +106 -0
  225. package/out/mcp/tools/gap-analysis.js.map +1 -0
  226. package/out/mcp/tools/learning-path.d.ts +10 -0
  227. package/out/mcp/tools/learning-path.d.ts.map +1 -0
  228. package/out/mcp/tools/learning-path.js +18 -0
  229. package/out/mcp/tools/learning-path.js.map +1 -0
  230. package/out/mcp/tools/query-dependencies.d.ts +18 -0
  231. package/out/mcp/tools/query-dependencies.d.ts.map +1 -0
  232. package/out/mcp/tools/query-dependencies.js +31 -0
  233. package/out/mcp/tools/query-dependencies.js.map +1 -0
  234. package/out/mcp/tools/query-modules.d.ts +17 -0
  235. package/out/mcp/tools/query-modules.d.ts.map +1 -0
  236. package/out/mcp/tools/query-modules.js +22 -0
  237. package/out/mcp/tools/query-modules.js.map +1 -0
  238. package/out/mcp/tools/query-symbols.d.ts +18 -0
  239. package/out/mcp/tools/query-symbols.d.ts.map +1 -0
  240. package/out/mcp/tools/query-symbols.js +32 -0
  241. package/out/mcp/tools/query-symbols.js.map +1 -0
  242. package/out/mcp/tools/semantic-discovery.d.ts +12 -0
  243. package/out/mcp/tools/semantic-discovery.d.ts.map +1 -0
  244. package/out/mcp/tools/semantic-discovery.js +35 -0
  245. package/out/mcp/tools/semantic-discovery.js.map +1 -0
  246. package/out/mcp/tools/system-explanation.d.ts +9 -0
  247. package/out/mcp/tools/system-explanation.d.ts.map +1 -0
  248. package/out/mcp/tools/system-explanation.js +14 -0
  249. package/out/mcp/tools/system-explanation.js.map +1 -0
  250. package/out/mcp/types.d.ts +19 -0
  251. package/out/mcp/types.d.ts.map +1 -0
  252. package/out/mcp/types.js +6 -0
  253. package/out/mcp/types.js.map +1 -0
  254. package/out/models/adr.d.ts +26 -0
  255. package/out/models/adr.d.ts.map +1 -0
  256. package/out/models/adr.js +3 -0
  257. package/out/models/adr.js.map +1 -0
  258. package/out/models/change.d.ts +42 -0
  259. package/out/models/change.d.ts.map +1 -0
  260. package/out/models/change.js +3 -0
  261. package/out/models/change.js.map +1 -0
  262. package/out/models/dependency.d.ts +37 -0
  263. package/out/models/dependency.d.ts.map +1 -0
  264. package/out/models/dependency.js +3 -0
  265. package/out/models/dependency.js.map +1 -0
  266. package/out/models/entity-reference.d.ts +20 -0
  267. package/out/models/entity-reference.d.ts.map +1 -0
  268. package/out/models/entity-reference.js +19 -0
  269. package/out/models/entity-reference.js.map +1 -0
  270. package/out/models/module.d.ts +26 -0
  271. package/out/models/module.d.ts.map +1 -0
  272. package/out/models/module.js +3 -0
  273. package/out/models/module.js.map +1 -0
  274. package/out/models/symbol.d.ts +31 -0
  275. package/out/models/symbol.d.ts.map +1 -0
  276. package/out/models/symbol.js +3 -0
  277. package/out/models/symbol.js.map +1 -0
  278. package/out/repositories/adr-repository.d.ts +41 -0
  279. package/out/repositories/adr-repository.d.ts.map +1 -0
  280. package/out/repositories/adr-repository.js +128 -0
  281. package/out/repositories/adr-repository.js.map +1 -0
  282. package/out/repositories/base-repository.d.ts +86 -0
  283. package/out/repositories/base-repository.d.ts.map +1 -0
  284. package/out/repositories/base-repository.js +66 -0
  285. package/out/repositories/base-repository.js.map +1 -0
  286. package/out/repositories/change-repository.d.ts +40 -0
  287. package/out/repositories/change-repository.d.ts.map +1 -0
  288. package/out/repositories/change-repository.js +150 -0
  289. package/out/repositories/change-repository.js.map +1 -0
  290. package/out/repositories/dependency-repository.d.ts +40 -0
  291. package/out/repositories/dependency-repository.d.ts.map +1 -0
  292. package/out/repositories/dependency-repository.js +129 -0
  293. package/out/repositories/dependency-repository.js.map +1 -0
  294. package/out/repositories/embedding-repository.d.ts +64 -0
  295. package/out/repositories/embedding-repository.d.ts.map +1 -0
  296. package/out/repositories/embedding-repository.js +126 -0
  297. package/out/repositories/embedding-repository.js.map +1 -0
  298. package/out/repositories/importance-repository.d.ts +63 -0
  299. package/out/repositories/importance-repository.d.ts.map +1 -0
  300. package/out/repositories/importance-repository.js +117 -0
  301. package/out/repositories/importance-repository.js.map +1 -0
  302. package/out/repositories/module-repository.d.ts +37 -0
  303. package/out/repositories/module-repository.d.ts.map +1 -0
  304. package/out/repositories/module-repository.js +122 -0
  305. package/out/repositories/module-repository.js.map +1 -0
  306. package/out/repositories/navigation-repository.d.ts +117 -0
  307. package/out/repositories/navigation-repository.d.ts.map +1 -0
  308. package/out/repositories/navigation-repository.js +211 -0
  309. package/out/repositories/navigation-repository.js.map +1 -0
  310. package/out/repositories/symbol-repository.d.ts +37 -0
  311. package/out/repositories/symbol-repository.d.ts.map +1 -0
  312. package/out/repositories/symbol-repository.js +136 -0
  313. package/out/repositories/symbol-repository.js.map +1 -0
  314. package/out/services/cross-dimension-linker.d.ts +45 -0
  315. package/out/services/cross-dimension-linker.d.ts.map +1 -0
  316. package/out/services/cross-dimension-linker.js +98 -0
  317. package/out/services/cross-dimension-linker.js.map +1 -0
  318. package/out/services/importance-scorer.d.ts +47 -0
  319. package/out/services/importance-scorer.d.ts.map +1 -0
  320. package/out/services/importance-scorer.js +188 -0
  321. package/out/services/importance-scorer.js.map +1 -0
  322. package/out/services/ingestion-orchestrator.d.ts +49 -0
  323. package/out/services/ingestion-orchestrator.d.ts.map +1 -0
  324. package/out/services/ingestion-orchestrator.js +140 -0
  325. package/out/services/ingestion-orchestrator.js.map +1 -0
  326. package/out/services/navigation-builder.d.ts +29 -0
  327. package/out/services/navigation-builder.d.ts.map +1 -0
  328. package/out/services/navigation-builder.js +229 -0
  329. package/out/services/navigation-builder.js.map +1 -0
  330. package/out/services/system-model-builder.d.ts +40 -0
  331. package/out/services/system-model-builder.d.ts.map +1 -0
  332. package/out/services/system-model-builder.js +88 -0
  333. package/out/services/system-model-builder.js.map +1 -0
  334. package/out/ui/commands.d.ts +9 -0
  335. package/out/ui/commands.d.ts.map +1 -0
  336. package/out/ui/commands.js +123 -0
  337. package/out/ui/commands.js.map +1 -0
  338. package/out/ui/database-explorer.d.ts +27 -0
  339. package/out/ui/database-explorer.d.ts.map +1 -0
  340. package/out/ui/database-explorer.js +169 -0
  341. package/out/ui/database-explorer.js.map +1 -0
  342. package/out/ui/detail-view-provider.d.ts +86 -0
  343. package/out/ui/detail-view-provider.d.ts.map +1 -0
  344. package/out/ui/detail-view-provider.js +1037 -0
  345. package/out/ui/detail-view-provider.js.map +1 -0
  346. package/out/ui/search-provider.d.ts +30 -0
  347. package/out/ui/search-provider.d.ts.map +1 -0
  348. package/out/ui/search-provider.js +240 -0
  349. package/out/ui/search-provider.js.map +1 -0
  350. package/out/ui/status-provider.d.ts +17 -0
  351. package/out/ui/status-provider.d.ts.map +1 -0
  352. package/out/ui/status-provider.js +76 -0
  353. package/out/ui/status-provider.js.map +1 -0
  354. package/out/validators/consistency-validator.d.ts +37 -0
  355. package/out/validators/consistency-validator.d.ts.map +1 -0
  356. package/out/validators/consistency-validator.js +93 -0
  357. package/out/validators/consistency-validator.js.map +1 -0
  358. package/out/validators/integrity-validator.d.ts +45 -0
  359. package/out/validators/integrity-validator.d.ts.map +1 -0
  360. package/out/validators/integrity-validator.js +115 -0
  361. package/out/validators/integrity-validator.js.map +1 -0
  362. package/package.json +173 -0
  363. package/schemas/sqlite/001_initial_modules.sql +39 -0
  364. package/schemas/sqlite/002_initial_symbols.sql +46 -0
  365. package/schemas/sqlite/003_initial_dependencies.sql +51 -0
  366. package/schemas/sqlite/004_initial_adrs.sql +41 -0
  367. package/schemas/sqlite/005_initial_changes.sql +54 -0
  368. package/schemas/sqlite/006_initial_ingestion.sql +34 -0
  369. package/schemas/sqlite/006_vectors_schema.sql +73 -0
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SemanticSearchApi = void 0;
4
+ const embedding_repository_1 = require("../repositories/embedding-repository");
5
+ const importance_repository_1 = require("../repositories/importance-repository");
6
+ /**
7
+ * API for semantic search over all dimensions using vector similarity.
8
+ */
9
+ class SemanticSearchApi {
10
+ constructor(dbManager, embeddingGenerator) {
11
+ this.vectorWeight = 0.7;
12
+ this.importanceWeight = 0.3;
13
+ this.dbManager = dbManager;
14
+ this.embeddingGenerator = embeddingGenerator;
15
+ }
16
+ /**
17
+ * Performs semantic search across all or specified dimensions.
18
+ *
19
+ * @param query Natural language query
20
+ * @param pluginId Plugin ID
21
+ * @param options Search options
22
+ * @returns Promise that resolves to search results sorted by relevance
23
+ */
24
+ async search(query, pluginId, options = {}) {
25
+ if (!this.embeddingGenerator.isConfigured()) {
26
+ throw new Error('Embedding generator not configured. Cannot perform semantic search.');
27
+ }
28
+ const dimensions = options.dimensions || ['X', 'Y', 'Z', 'W', 'T'];
29
+ const limit = options.limit || 10;
30
+ const minScore = options.minScore || 0.0;
31
+ console.log(`[SemanticSearchApi] Searching for "${query}" in dimensions ${dimensions.join(', ')}`);
32
+ // 1. Generate query embedding
33
+ const queryEmbedding = await this.embeddingGenerator.generateEmbedding('X', // Dimension doesn't matter for query
34
+ 'query', query);
35
+ // 2. Search in each dimension
36
+ const allResults = [];
37
+ for (const dimension of dimensions) {
38
+ const dimensionResults = await this.searchDimension(dimension, queryEmbedding, pluginId, minScore);
39
+ allResults.push(...dimensionResults);
40
+ }
41
+ // 3. Sort by combined score (descending)
42
+ allResults.sort((a, b) => b.score - a.score);
43
+ // 4. Apply limit
44
+ return allResults.slice(0, limit);
45
+ }
46
+ /**
47
+ * Searches in a specific dimension using vector similarity.
48
+ * Uses VSS if available, otherwise falls back to cosine similarity.
49
+ */
50
+ async searchDimension(dimension, queryEmbedding, pluginId, minScore) {
51
+ const db = await this.dbManager.getDatabase('V');
52
+ const embeddingRepo = new embedding_repository_1.EmbeddingRepository(db);
53
+ const importanceRepo = new importance_repository_1.ImportanceRepository(db);
54
+ const vectorDb = this.dbManager.getVectorDatabase();
55
+ const model = this.embeddingGenerator.getModel();
56
+ // Try vector database search first if available
57
+ if (vectorDb && vectorDb.isAvailable()) {
58
+ try {
59
+ return await this.searchWithVectorDatabase(dimension, queryEmbedding, pluginId, minScore, vectorDb, embeddingRepo, importanceRepo);
60
+ }
61
+ catch (vectorDbError) {
62
+ console.warn(`[SemanticSearchApi] Vector database search failed, falling back to cosine similarity: ${vectorDbError}`);
63
+ // Fall through to cosine similarity
64
+ }
65
+ }
66
+ // Fallback: Manual cosine similarity
67
+ return await this.searchWithCosineSimilarity(dimension, queryEmbedding, pluginId, minScore, embeddingRepo, importanceRepo, model);
68
+ }
69
+ /**
70
+ * Searches using vector database (VSS or external DB).
71
+ */
72
+ async searchWithVectorDatabase(dimension, queryEmbedding, pluginId, minScore, vectorDb, embeddingRepo, importanceRepo) {
73
+ // Perform vector database search
74
+ const queryEmbeddingFloat32 = new Float32Array(queryEmbedding);
75
+ const vectorResults = await vectorDb.search(queryEmbeddingFloat32, 100, dimension, pluginId);
76
+ if (vectorResults.length === 0) {
77
+ return [];
78
+ }
79
+ // Get importance scores
80
+ const importanceScores = await importanceRepo.getAllByDimension(dimension, pluginId);
81
+ const importanceMap = new Map();
82
+ for (const score of importanceScores) {
83
+ importanceMap.set(score.entity_id, score.combined_score);
84
+ }
85
+ // Get embeddings for the rowids
86
+ const db = await this.dbManager.getDatabase('V');
87
+ const results = [];
88
+ for (const vectorResult of vectorResults) {
89
+ // Get embedding ID from rowid
90
+ const embeddingId = await vectorDb.getEmbeddingIdFromRowid(vectorResult.rowid);
91
+ if (!embeddingId) {
92
+ continue;
93
+ }
94
+ // Get embedding by ID
95
+ const embedding = await embeddingRepo.getById(embeddingId, pluginId);
96
+ if (!embedding) {
97
+ continue;
98
+ }
99
+ // Use vector database similarity score
100
+ const vectorScore = vectorResult.similarity || (1 - vectorResult.distance);
101
+ // Get importance score (default to 0 if not found)
102
+ const importanceScore = importanceMap.get(embedding.entity_id) || 0;
103
+ // Combine scores
104
+ const combinedScore = this.vectorWeight * vectorScore + this.importanceWeight * importanceScore;
105
+ if (combinedScore >= minScore) {
106
+ results.push({
107
+ dimension,
108
+ entityId: embedding.entity_id,
109
+ externalId: embedding.external_id,
110
+ score: combinedScore,
111
+ vectorScore,
112
+ importanceScore,
113
+ entityRef: {
114
+ dimension,
115
+ entity_id: embedding.entity_id,
116
+ external_id: embedding.external_id
117
+ }
118
+ });
119
+ }
120
+ }
121
+ return results;
122
+ }
123
+ /**
124
+ * Gets embedding by rowid.
125
+ */
126
+ async getEmbeddingByRowid(db, rowid, pluginId) {
127
+ return new Promise((resolve, reject) => {
128
+ db.get(`SELECT * FROM embeddings WHERE rowid = ? AND plugin_id = ?`, [rowid, pluginId], (err, row) => {
129
+ if (err) {
130
+ reject(err);
131
+ }
132
+ else {
133
+ resolve(row || null);
134
+ }
135
+ });
136
+ });
137
+ }
138
+ /**
139
+ * Searches using manual cosine similarity (fallback).
140
+ */
141
+ async searchWithCosineSimilarity(dimension, queryEmbedding, pluginId, minScore, embeddingRepo, importanceRepo, model) {
142
+ // Get all embeddings for this dimension
143
+ const embeddings = await embeddingRepo.getAllByDimension(dimension, pluginId, model);
144
+ if (embeddings.length === 0) {
145
+ return [];
146
+ }
147
+ // Get importance scores
148
+ const importanceScores = await importanceRepo.getAllByDimension(dimension, pluginId);
149
+ const importanceMap = new Map();
150
+ for (const score of importanceScores) {
151
+ importanceMap.set(score.entity_id, score.combined_score);
152
+ }
153
+ // Calculate vector similarity for each embedding
154
+ const results = [];
155
+ for (const embedding of embeddings) {
156
+ // Convert Buffer to Float32Array
157
+ const embeddingVector = new Float32Array(embedding.embedding_vector.buffer, embedding.embedding_vector.byteOffset, embedding.embedding_vector.length / 4);
158
+ // Calculate cosine similarity
159
+ const vectorScore = this.cosineSimilarity(queryEmbedding, Array.from(embeddingVector));
160
+ // Get importance score (default to 0 if not found)
161
+ const importanceScore = importanceMap.get(embedding.entity_id) || 0;
162
+ // Combine scores
163
+ const combinedScore = this.vectorWeight * vectorScore + this.importanceWeight * importanceScore;
164
+ if (combinedScore >= minScore) {
165
+ results.push({
166
+ dimension,
167
+ entityId: embedding.entity_id,
168
+ externalId: embedding.external_id,
169
+ score: combinedScore,
170
+ vectorScore,
171
+ importanceScore,
172
+ entityRef: {
173
+ dimension,
174
+ entity_id: embedding.entity_id,
175
+ external_id: embedding.external_id
176
+ }
177
+ });
178
+ }
179
+ }
180
+ return results;
181
+ }
182
+ /**
183
+ * Calculates cosine similarity between two vectors.
184
+ */
185
+ cosineSimilarity(vecA, vecB) {
186
+ if (vecA.length !== vecB.length) {
187
+ throw new Error(`Vector length mismatch: ${vecA.length} vs ${vecB.length}`);
188
+ }
189
+ let dotProduct = 0;
190
+ let normA = 0;
191
+ let normB = 0;
192
+ for (let i = 0; i < vecA.length; i++) {
193
+ dotProduct += vecA[i] * vecB[i];
194
+ normA += vecA[i] * vecA[i];
195
+ normB += vecB[i] * vecB[i];
196
+ }
197
+ const denominator = Math.sqrt(normA) * Math.sqrt(normB);
198
+ if (denominator === 0) {
199
+ return 0;
200
+ }
201
+ return dotProduct / denominator;
202
+ }
203
+ }
204
+ exports.SemanticSearchApi = SemanticSearchApi;
205
+ //# sourceMappingURL=semantic-search-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-search-api.js","sourceRoot":"","sources":["../../src/api/semantic-search-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { MultiDbManager } from '../core/multi-db-manager';
2
+ import { Symbol } from '../models/symbol';
3
+ /**
4
+ * API for Y-Dimension: Symbols
5
+ */
6
+ export declare class SymbolApi {
7
+ private dbManager;
8
+ constructor(dbManager: MultiDbManager);
9
+ /**
10
+ * Gets a symbol by external symbol ID.
11
+ */
12
+ getSymbolById(symbolId: string, pluginId: string): Promise<Symbol | null>;
13
+ /**
14
+ * Gets all symbols for a plugin.
15
+ */
16
+ getAllSymbols(pluginId: string): Promise<Symbol[]>;
17
+ /**
18
+ * Gets symbols by file path.
19
+ */
20
+ getSymbolsByPath(path: string, pluginId: string): Promise<Symbol[]>;
21
+ }
22
+ //# sourceMappingURL=symbol-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbol-api.d.ts","sourceRoot":"","sources":["../../src/api/symbol-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;GAEG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAiB;gBAEtB,SAAS,EAAE,cAAc;IAIrC;;OAEG;IACU,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMtF;;OAEG;IACU,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAM/D;;OAEG;IACU,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAKnF"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SymbolApi = void 0;
4
+ const symbol_repository_1 = require("../repositories/symbol-repository");
5
+ /**
6
+ * API for Y-Dimension: Symbols
7
+ */
8
+ class SymbolApi {
9
+ constructor(dbManager) {
10
+ this.dbManager = dbManager;
11
+ }
12
+ /**
13
+ * Gets a symbol by external symbol ID.
14
+ */
15
+ async getSymbolById(symbolId, pluginId) {
16
+ const db = await this.dbManager.getDatabase('Y');
17
+ const repository = new symbol_repository_1.SymbolRepository(db);
18
+ return repository.getBySymbolId(symbolId, pluginId);
19
+ }
20
+ /**
21
+ * Gets all symbols for a plugin.
22
+ */
23
+ async getAllSymbols(pluginId) {
24
+ const db = await this.dbManager.getDatabase('Y');
25
+ const repository = new symbol_repository_1.SymbolRepository(db);
26
+ return repository.getAll(pluginId);
27
+ }
28
+ /**
29
+ * Gets symbols by file path.
30
+ */
31
+ async getSymbolsByPath(path, pluginId) {
32
+ const db = await this.dbManager.getDatabase('Y');
33
+ const repository = new symbol_repository_1.SymbolRepository(db);
34
+ return repository.findByPath(path, pluginId);
35
+ }
36
+ }
37
+ exports.SymbolApi = SymbolApi;
38
+ //# sourceMappingURL=symbol-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbol-api.js","sourceRoot":"","sources":["../../src/api/symbol-api.ts"],"names":[],"mappings":";;;AACA,yEAAqE;AAGrE;;GAEG;AACH,MAAa,SAAS;IAGlB,YAAY,SAAyB;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,QAAgB;QACzD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,oCAAgB,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,QAAgB;QACvC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,oCAAgB,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,QAAgB;QACxD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,oCAAgB,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;CACJ;AAjCD,8BAiCC"}
@@ -0,0 +1,26 @@
1
+ import { MultiDbManager } from '../core/multi-db-manager';
2
+ /**
3
+ * API for V-Dimension: Vectors
4
+ * Provides access to embeddings, importance scores, and navigation metadata.
5
+ */
6
+ export declare class VectorApi {
7
+ private dbManager;
8
+ constructor(dbManager: MultiDbManager);
9
+ /**
10
+ * Gets embedding for an entity.
11
+ */
12
+ getEmbedding(dimension: 'X' | 'Y' | 'Z' | 'W' | 'T', entityId: string, pluginId: string, model: string): Promise<import("../repositories/embedding-repository").Embedding | null>;
13
+ /**
14
+ * Gets importance score for an entity.
15
+ */
16
+ getImportanceScore(dimension: 'X' | 'Y' | 'Z' | 'W' | 'T', entityId: string, pluginId: string): Promise<import("../repositories/importance-repository").ImportanceScore | null>;
17
+ /**
18
+ * Gets navigation metadata for an entity.
19
+ */
20
+ getNavigationMetadata(dimension: 'X' | 'Y' | 'Z' | 'W' | 'T', entityId: string, pluginId: string): Promise<import("../repositories/navigation-repository").NavigationMetadata | null>;
21
+ /**
22
+ * Gets all entry points for a dimension.
23
+ */
24
+ getEntryPoints(dimension: 'X' | 'Y' | 'Z' | 'W' | 'T', pluginId: string): Promise<import("../repositories/navigation-repository").NavigationMetadata[]>;
25
+ }
26
+ //# sourceMappingURL=vector-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-api.d.ts","sourceRoot":"","sources":["../../src/api/vector-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK1D;;;GAGG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAiB;gBAEtB,SAAS,EAAE,cAAc;IAIrC;;OAEG;IACG,YAAY,CACd,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM;IAOjB;;OAEG;IACG,kBAAkB,CACpB,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;IAOpB;;OAEG;IACG,qBAAqB,CACvB,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;IAOpB;;OAEG;IACG,cAAc,CAChB,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACtC,QAAQ,EAAE,MAAM;CAMvB"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VectorApi = void 0;
4
+ const embedding_repository_1 = require("../repositories/embedding-repository");
5
+ const importance_repository_1 = require("../repositories/importance-repository");
6
+ const navigation_repository_1 = require("../repositories/navigation-repository");
7
+ /**
8
+ * API for V-Dimension: Vectors
9
+ * Provides access to embeddings, importance scores, and navigation metadata.
10
+ */
11
+ class VectorApi {
12
+ constructor(dbManager) {
13
+ this.dbManager = dbManager;
14
+ }
15
+ /**
16
+ * Gets embedding for an entity.
17
+ */
18
+ async getEmbedding(dimension, entityId, pluginId, model) {
19
+ const db = await this.dbManager.getDatabase('V');
20
+ const embeddingRepo = new embedding_repository_1.EmbeddingRepository(db);
21
+ return embeddingRepo.getByEntity(dimension, entityId, pluginId, model);
22
+ }
23
+ /**
24
+ * Gets importance score for an entity.
25
+ */
26
+ async getImportanceScore(dimension, entityId, pluginId) {
27
+ const db = await this.dbManager.getDatabase('V');
28
+ const importanceRepo = new importance_repository_1.ImportanceRepository(db);
29
+ return importanceRepo.getByEntity(dimension, entityId, pluginId);
30
+ }
31
+ /**
32
+ * Gets navigation metadata for an entity.
33
+ */
34
+ async getNavigationMetadata(dimension, entityId, pluginId) {
35
+ const db = await this.dbManager.getDatabase('V');
36
+ const navRepo = new navigation_repository_1.NavigationRepository(db);
37
+ return navRepo.getByEntity(dimension, entityId, pluginId);
38
+ }
39
+ /**
40
+ * Gets all entry points for a dimension.
41
+ */
42
+ async getEntryPoints(dimension, pluginId) {
43
+ const db = await this.dbManager.getDatabase('V');
44
+ const navRepo = new navigation_repository_1.NavigationRepository(db);
45
+ return navRepo.getEntryPoints(dimension, pluginId);
46
+ }
47
+ }
48
+ exports.VectorApi = VectorApi;
49
+ //# sourceMappingURL=vector-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-api.js","sourceRoot":"","sources":["../../src/api/vector-api.ts"],"names":[],"mappings":";;;AACA,+EAA2E;AAC3E,iFAA6E;AAC7E,iFAA6E;AAE7E;;;GAGG;AACH,MAAa,SAAS;IAGlB,YAAY,SAAyB;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CACd,SAAsC,EACtC,QAAgB,EAChB,QAAgB,EAChB,KAAa;QAEb,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,0CAAmB,CAAC,EAAE,CAAC,CAAC;QAClD,OAAO,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACpB,SAAsC,EACtC,QAAgB,EAChB,QAAgB;QAEhB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,4CAAoB,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CACvB,SAAsC,EACtC,QAAgB,EAChB,QAAgB;QAEhB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,4CAAoB,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAChB,SAAsC,EACtC,QAAgB;QAEhB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,4CAAoB,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;CACJ;AA1DD,8BA0DC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=embedding-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-cli.d.ts","sourceRoot":"","sources":["../../src/cli/embedding-cli.ts"],"names":[],"mappings":""}
@@ -0,0 +1,151 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ const path = __importStar(require("path"));
38
+ const fs = __importStar(require("fs"));
39
+ const dotenv_1 = require("dotenv");
40
+ const multi_db_manager_1 = require("../core/multi-db-manager");
41
+ const embedding_pipeline_1 = require("../embedding/embedding-pipeline");
42
+ const embedding_generator_1 = require("../embedding/embedding-generator");
43
+ const docs_path_resolver_1 = require("../core/docs-path-resolver");
44
+ /**
45
+ * Loads .env file from workspace root or parent directories.
46
+ */
47
+ function loadEnvFile(workspaceRoot) {
48
+ let currentPath = workspaceRoot;
49
+ const maxDepth = 5;
50
+ for (let depth = 0; depth < maxDepth; depth++) {
51
+ const envPath = path.join(currentPath, '.env');
52
+ if (fs.existsSync(envPath)) {
53
+ (0, dotenv_1.config)({ path: envPath });
54
+ return;
55
+ }
56
+ const parentPath = path.dirname(currentPath);
57
+ if (parentPath === currentPath) {
58
+ break;
59
+ }
60
+ currentPath = parentPath;
61
+ }
62
+ }
63
+ /**
64
+ * Validates that docs/ directory exists.
65
+ */
66
+ function validateDocsDirectory(workspaceRoot) {
67
+ const docsPath = docs_path_resolver_1.DocsPathResolver.findDocsDirectoryFromPath(workspaceRoot);
68
+ if (!docsPath) {
69
+ console.error('ERROR: docs/ directory not found in workspace or parent directories.');
70
+ console.error('Please run Documentation System Plugin (Noyrax) first to generate docs/ directory.');
71
+ return false;
72
+ }
73
+ return true;
74
+ }
75
+ /**
76
+ * CLI tool for syncing embeddings (V-Dimension).
77
+ * Usage: embedding-cli <workspace-root>
78
+ */
79
+ async function main() {
80
+ const args = process.argv.slice(2);
81
+ if (args.length < 1) {
82
+ console.error('Usage: embedding-cli <workspace-root>');
83
+ console.error('');
84
+ console.error('This tool syncs embeddings for all 5 dimensions (X, Y, Z, W, T).');
85
+ console.error('It requires:');
86
+ console.error(' - OPENAI_API_KEY in .env file or environment');
87
+ console.error(' - ChromaDB Server running (on Windows) or SQLite VSS (on macOS/Linux)');
88
+ console.error(' - Existing 5D database with ingested data');
89
+ process.exit(1);
90
+ }
91
+ const workspaceRoot = path.resolve(args[0]);
92
+ // Validate workspace root exists
93
+ if (!fs.existsSync(workspaceRoot)) {
94
+ console.error(`ERROR: Workspace root does not exist: ${workspaceRoot}`);
95
+ process.exit(1);
96
+ }
97
+ // Load .env file (required for OpenAI API key)
98
+ loadEnvFile(workspaceRoot);
99
+ // Check for OpenAI API key
100
+ if (!process.env.OPENAI_API_KEY) {
101
+ console.error('ERROR: OPENAI_API_KEY not found in environment or .env file');
102
+ console.error('Embedding generation requires OpenAI API key.');
103
+ process.exit(1);
104
+ }
105
+ // Validate docs/ directory (for context)
106
+ validateDocsDirectory(workspaceRoot);
107
+ try {
108
+ console.log(`[Embedding CLI] Starting embedding sync for workspace: ${workspaceRoot}`);
109
+ const dbManager = new multi_db_manager_1.MultiDbManager(workspaceRoot);
110
+ const pluginId = dbManager.getPluginId();
111
+ // Check vector database availability
112
+ const vectorDb = dbManager.getVectorDatabase();
113
+ if (vectorDb) {
114
+ if (vectorDb.isAvailable()) {
115
+ console.log(`[Embedding CLI] Vector database available: ${vectorDb.constructor.name}`);
116
+ }
117
+ else {
118
+ console.warn('[Embedding CLI] Vector database initialized but not available.');
119
+ console.warn('[Embedding CLI] Will store embeddings in SQLite only (fallback to cosine similarity).');
120
+ console.warn('[Embedding CLI] On Windows: Make sure ChromaDB server is running: chroma run --host localhost --port 8000');
121
+ }
122
+ }
123
+ else {
124
+ console.warn('[Embedding CLI] Vector database not initialized. Embeddings will be stored in SQLite only.');
125
+ }
126
+ const embeddingGenerator = new embedding_generator_1.EmbeddingGenerator();
127
+ const embeddingPipeline = new embedding_pipeline_1.EmbeddingPipeline(dbManager, embeddingGenerator);
128
+ // Sync embeddings for all dimensions
129
+ await embeddingPipeline.syncEmbeddings(pluginId);
130
+ console.log('[Embedding CLI] Embedding sync completed successfully!');
131
+ }
132
+ catch (error) {
133
+ const errorMsg = error instanceof Error ? error.message : String(error);
134
+ console.error(`Error: ${errorMsg}`);
135
+ if (error instanceof Error && error.stack) {
136
+ console.error(`Stack trace: ${error.stack}`);
137
+ }
138
+ process.exit(1);
139
+ }
140
+ }
141
+ if (require.main === module) {
142
+ main().catch(error => {
143
+ const errorMsg = error instanceof Error ? error.message : String(error);
144
+ console.error(`Fatal error: ${errorMsg}`);
145
+ if (error instanceof Error && error.stack) {
146
+ console.error(`Stack trace: ${error.stack}`);
147
+ }
148
+ process.exit(1);
149
+ });
150
+ }
151
+ //# sourceMappingURL=embedding-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-cli.js","sourceRoot":"","sources":["../../src/cli/embedding-cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2CAA6B;AAC7B,uCAAyB;AACzB,mCAAgC;AAChC,+DAA0D;AAC1D,wEAAoE;AACpE,0EAAsE;AACtE,mEAA8D;AAE9D;;GAEG;AACH,SAAS,WAAW,CAAC,aAAqB;IACtC,IAAI,WAAW,GAAG,aAAa,CAAC;IAChC,MAAM,QAAQ,GAAG,CAAC,CAAC;IAEnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1B,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC7B,MAAM;QACV,CAAC;QACD,WAAW,GAAG,UAAU,CAAC;IAC7B,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,aAAqB;IAChD,MAAM,QAAQ,GAAG,qCAAgB,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACtF,OAAO,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;QACpG,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,IAAI;IACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;QACzF,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,iCAAiC;IACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,+CAA+C;IAC/C,WAAW,CAAC,aAAa,CAAC,CAAC;IAE3B,2BAA2B;IAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC7E,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,yCAAyC;IACzC,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAErC,IAAI,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,0DAA0D,aAAa,EAAE,CAAC,CAAC;QAEvF,MAAM,SAAS,GAAG,IAAI,iCAAc,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAEzC,qCAAqC;QACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,8CAA8C,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;gBAC/E,OAAO,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;gBACtG,OAAO,CAAC,IAAI,CAAC,2GAA2G,CAAC,CAAC;YAC9H,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAC;QAC/G,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,wCAAkB,EAAE,CAAC;QACpD,MAAM,iBAAiB,GAAG,IAAI,sCAAiB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAE/E,qCAAqC;QACrC,MAAM,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEjD,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,gBAAgB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACjB,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC;QAC1C,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,gBAAgB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=ingest-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingest-cli.d.ts","sourceRoot":"","sources":["../../src/cli/ingest-cli.ts"],"names":[],"mappings":""}