@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,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DependencyRepository = void 0;
4
+ const base_repository_1 = require("./base-repository");
5
+ /**
6
+ * Repository for Z-Dimension: Dependencies
7
+ */
8
+ class DependencyRepository extends base_repository_1.BaseRepositoryImpl {
9
+ constructor(db) {
10
+ super(db, 'Z');
11
+ }
12
+ async create(dependency) {
13
+ await this.execute(`INSERT INTO dependencies (id, plugin_id, from_module, to_module, dependency_type, symbols_json, content_hash, is_type_only, is_reexport, created_at, updated_at)
14
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
15
+ dependency.id,
16
+ dependency.plugin_id,
17
+ dependency.from_module,
18
+ dependency.to_module,
19
+ dependency.dependency_type,
20
+ dependency.symbols_json,
21
+ dependency.content_hash,
22
+ dependency.is_type_only ? 1 : 0,
23
+ dependency.is_reexport ? 1 : 0,
24
+ dependency.created_at,
25
+ dependency.updated_at
26
+ ]);
27
+ return dependency;
28
+ }
29
+ async getById(id, pluginId) {
30
+ const row = await this.queryOne(`SELECT * FROM dependencies WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
31
+ if (!row) {
32
+ return null;
33
+ }
34
+ return this.mapRowToDependency(row);
35
+ }
36
+ async update(dependency) {
37
+ await this.execute(`UPDATE dependencies
38
+ SET from_module = ?, to_module = ?, dependency_type = ?, symbols_json = ?, content_hash = ?, is_type_only = ?, is_reexport = ?, updated_at = ?
39
+ WHERE id = ? AND plugin_id = ?`, [
40
+ dependency.from_module,
41
+ dependency.to_module,
42
+ dependency.dependency_type,
43
+ dependency.symbols_json,
44
+ dependency.content_hash,
45
+ dependency.is_type_only ? 1 : 0,
46
+ dependency.is_reexport ? 1 : 0,
47
+ dependency.updated_at,
48
+ dependency.id,
49
+ dependency.plugin_id
50
+ ]);
51
+ return dependency;
52
+ }
53
+ async delete(id, pluginId) {
54
+ await this.execute(`DELETE FROM dependencies WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
55
+ }
56
+ async getAll(pluginId) {
57
+ const rows = await this.queryAll(`SELECT * FROM dependencies WHERE plugin_id = ? ORDER BY from_module, to_module`, [pluginId]);
58
+ return rows.map(row => this.mapRowToDependency(row));
59
+ }
60
+ async exists(id, pluginId) {
61
+ const row = await this.queryOne(`SELECT COUNT(*) as count FROM dependencies WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
62
+ return row !== null && row.count > 0;
63
+ }
64
+ /**
65
+ * Gets dependencies by from_module.
66
+ */
67
+ async findByFromModule(fromModule, pluginId) {
68
+ const rows = await this.queryAll(`SELECT * FROM dependencies WHERE from_module = ? AND plugin_id = ?`, [fromModule, pluginId]);
69
+ return rows.map(row => this.mapRowToDependency(row));
70
+ }
71
+ /**
72
+ * Gets dependencies by to_module.
73
+ */
74
+ async findByToModule(toModule, pluginId) {
75
+ const rows = await this.queryAll(`SELECT * FROM dependencies WHERE to_module = ? AND plugin_id = ?`, [toModule, pluginId]);
76
+ return rows.map(row => this.mapRowToDependency(row));
77
+ }
78
+ /**
79
+ * Gets the dependency graph cache.
80
+ */
81
+ async getDependencyGraphCache(pluginId) {
82
+ const row = await this.queryOne(`SELECT * FROM dependency_graph_cache WHERE plugin_id = ?`, [pluginId]);
83
+ if (!row) {
84
+ return null;
85
+ }
86
+ return {
87
+ id: row.id,
88
+ plugin_id: row.plugin_id,
89
+ mermaid_graph: row.mermaid_graph,
90
+ generated_at: new Date(row.generated_at)
91
+ };
92
+ }
93
+ /**
94
+ * Sets the dependency graph cache.
95
+ */
96
+ async setDependencyGraphCache(cache) {
97
+ await this.execute(`INSERT OR REPLACE INTO dependency_graph_cache (id, plugin_id, mermaid_graph, generated_at)
98
+ VALUES (?, ?, ?, ?)`, [cache.id, cache.plugin_id, cache.mermaid_graph, cache.generated_at]);
99
+ return cache;
100
+ }
101
+ /**
102
+ * Creates a dependency symbol evidence link.
103
+ */
104
+ async createDependencySymbolEvidence(evidence) {
105
+ await this.execute(`INSERT INTO dependency_symbol_evidence (id, dependency_id, symbol_dependency_id)
106
+ VALUES (?, ?, ?)`, [evidence.id, evidence.dependency_id, evidence.symbol_dependency_id]);
107
+ return evidence;
108
+ }
109
+ /**
110
+ * Maps a database row to a Dependency object.
111
+ */
112
+ mapRowToDependency(row) {
113
+ return {
114
+ id: row.id,
115
+ plugin_id: row.plugin_id,
116
+ from_module: row.from_module,
117
+ to_module: row.to_module,
118
+ dependency_type: row.dependency_type,
119
+ symbols_json: row.symbols_json,
120
+ content_hash: row.content_hash,
121
+ is_type_only: row.is_type_only === 1,
122
+ is_reexport: row.is_reexport === 1,
123
+ created_at: new Date(row.created_at),
124
+ updated_at: new Date(row.updated_at)
125
+ };
126
+ }
127
+ }
128
+ exports.DependencyRepository = DependencyRepository;
129
+ //# sourceMappingURL=dependency-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-repository.js","sourceRoot":"","sources":["../../src/repositories/dependency-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import * as sqlite3 from 'sqlite3';
2
+ import { BaseRepositoryImpl } from './base-repository';
3
+ /**
4
+ * Embedding model for V-Dimension
5
+ */
6
+ export interface Embedding {
7
+ id: string;
8
+ plugin_id: string;
9
+ dimension: 'X' | 'Y' | 'Z' | 'W' | 'T';
10
+ entity_id: string;
11
+ external_id: string;
12
+ content_hash: string;
13
+ embedding_model: string;
14
+ embedding_vector: Buffer;
15
+ created_at: Date;
16
+ updated_at: Date;
17
+ }
18
+ /**
19
+ * Repository for V-Dimension: Embeddings
20
+ */
21
+ export declare class EmbeddingRepository extends BaseRepositoryImpl<Embedding> {
22
+ constructor(db: sqlite3.Database);
23
+ /**
24
+ * Creates a new embedding.
25
+ */
26
+ create(embedding: Embedding): Promise<Embedding>;
27
+ /**
28
+ * Gets an embedding by dimension, entity_id, and model.
29
+ */
30
+ getByEntity(dimension: 'X' | 'Y' | 'Z' | 'W' | 'T', entityId: string, pluginId: string, model: string): Promise<Embedding | null>;
31
+ /**
32
+ * Gets all embeddings for a plugin and dimension.
33
+ */
34
+ getAllByDimension(dimension: 'X' | 'Y' | 'Z' | 'W' | 'T', pluginId: string, model: string): Promise<Embedding[]>;
35
+ /**
36
+ * Gets embedding by content hash (for change detection).
37
+ */
38
+ getByContentHash(dimension: 'X' | 'Y' | 'Z' | 'W' | 'T', contentHash: string, pluginId: string, model: string): Promise<Embedding | null>;
39
+ /**
40
+ * Updates an existing embedding.
41
+ */
42
+ update(embedding: Embedding): Promise<Embedding>;
43
+ /**
44
+ * Gets an embedding by ID.
45
+ */
46
+ getById(id: string, pluginId: string): Promise<Embedding | null>;
47
+ /**
48
+ * Gets all embeddings for a plugin.
49
+ */
50
+ getAll(pluginId: string): Promise<Embedding[]>;
51
+ /**
52
+ * Checks if an embedding exists.
53
+ */
54
+ exists(id: string, pluginId: string): Promise<boolean>;
55
+ /**
56
+ * Deletes an embedding.
57
+ */
58
+ delete(id: string, pluginId: string): Promise<void>;
59
+ /**
60
+ * Maps a database row to an Embedding object.
61
+ */
62
+ private mapRowToEmbedding;
63
+ }
64
+ //# sourceMappingURL=embedding-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/embedding-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,kBAAkB,CAAC,SAAS,CAAC;gBACtD,EAAE,EAAE,OAAO,CAAC,QAAQ;IAIhC;;OAEG;IACU,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAoB7D;;OAEG;IACU,WAAW,CACpB,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAc5B;;OAEG;IACU,iBAAiB,CAC1B,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,EAAE,CAAC;IAWvB;;OAEG;IACU,gBAAgB,CACzB,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACtC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAc5B;;OAEG;IACU,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAgB7D;;OAEG;IACU,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAa7E;;OAEG;IACU,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAS3D;;OAEG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnE;;OAEG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhE;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAc5B"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmbeddingRepository = void 0;
4
+ const base_repository_1 = require("./base-repository");
5
+ /**
6
+ * Repository for V-Dimension: Embeddings
7
+ */
8
+ class EmbeddingRepository extends base_repository_1.BaseRepositoryImpl {
9
+ constructor(db) {
10
+ super(db, 'V');
11
+ }
12
+ /**
13
+ * Creates a new embedding.
14
+ */
15
+ async create(embedding) {
16
+ await this.execute(`INSERT INTO embeddings (id, plugin_id, dimension, entity_id, external_id, content_hash, embedding_model, embedding_vector, created_at, updated_at)
17
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
18
+ embedding.id,
19
+ embedding.plugin_id,
20
+ embedding.dimension,
21
+ embedding.entity_id,
22
+ embedding.external_id,
23
+ embedding.content_hash,
24
+ embedding.embedding_model,
25
+ embedding.embedding_vector,
26
+ embedding.created_at,
27
+ embedding.updated_at
28
+ ]);
29
+ return embedding;
30
+ }
31
+ /**
32
+ * Gets an embedding by dimension, entity_id, and model.
33
+ */
34
+ async getByEntity(dimension, entityId, pluginId, model) {
35
+ const row = await this.queryOne(`SELECT * FROM embeddings
36
+ WHERE dimension = ? AND entity_id = ? AND plugin_id = ? AND embedding_model = ?`, [dimension, entityId, pluginId, model]);
37
+ if (!row) {
38
+ return null;
39
+ }
40
+ return this.mapRowToEmbedding(row);
41
+ }
42
+ /**
43
+ * Gets all embeddings for a plugin and dimension.
44
+ */
45
+ async getAllByDimension(dimension, pluginId, model) {
46
+ const rows = await this.queryAll(`SELECT * FROM embeddings
47
+ WHERE dimension = ? AND plugin_id = ? AND embedding_model = ?
48
+ ORDER BY created_at DESC`, [dimension, pluginId, model]);
49
+ return rows.map(row => this.mapRowToEmbedding(row));
50
+ }
51
+ /**
52
+ * Gets embedding by content hash (for change detection).
53
+ */
54
+ async getByContentHash(dimension, contentHash, pluginId, model) {
55
+ const row = await this.queryOne(`SELECT * FROM embeddings
56
+ WHERE dimension = ? AND content_hash = ? AND plugin_id = ? AND embedding_model = ?`, [dimension, contentHash, pluginId, model]);
57
+ if (!row) {
58
+ return null;
59
+ }
60
+ return this.mapRowToEmbedding(row);
61
+ }
62
+ /**
63
+ * Updates an existing embedding.
64
+ */
65
+ async update(embedding) {
66
+ await this.execute(`UPDATE embeddings
67
+ SET content_hash = ?, embedding_vector = ?, updated_at = ?
68
+ WHERE id = ? AND plugin_id = ?`, [
69
+ embedding.content_hash,
70
+ embedding.embedding_vector,
71
+ embedding.updated_at,
72
+ embedding.id,
73
+ embedding.plugin_id
74
+ ]);
75
+ return embedding;
76
+ }
77
+ /**
78
+ * Gets an embedding by ID.
79
+ */
80
+ async getById(id, pluginId) {
81
+ const row = await this.queryOne(`SELECT * FROM embeddings WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
82
+ if (!row) {
83
+ return null;
84
+ }
85
+ return this.mapRowToEmbedding(row);
86
+ }
87
+ /**
88
+ * Gets all embeddings for a plugin.
89
+ */
90
+ async getAll(pluginId) {
91
+ const rows = await this.queryAll(`SELECT * FROM embeddings WHERE plugin_id = ? ORDER BY created_at DESC`, [pluginId]);
92
+ return rows.map(row => this.mapRowToEmbedding(row));
93
+ }
94
+ /**
95
+ * Checks if an embedding exists.
96
+ */
97
+ async exists(id, pluginId) {
98
+ const row = await this.queryOne(`SELECT COUNT(*) as count FROM embeddings WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
99
+ return row !== null && row.count > 0;
100
+ }
101
+ /**
102
+ * Deletes an embedding.
103
+ */
104
+ async delete(id, pluginId) {
105
+ await this.execute(`DELETE FROM embeddings WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
106
+ }
107
+ /**
108
+ * Maps a database row to an Embedding object.
109
+ */
110
+ mapRowToEmbedding(row) {
111
+ return {
112
+ id: row.id,
113
+ plugin_id: row.plugin_id,
114
+ dimension: row.dimension,
115
+ entity_id: row.entity_id,
116
+ external_id: row.external_id,
117
+ content_hash: row.content_hash,
118
+ embedding_model: row.embedding_model,
119
+ embedding_vector: Buffer.from(row.embedding_vector),
120
+ created_at: new Date(row.created_at),
121
+ updated_at: new Date(row.updated_at)
122
+ };
123
+ }
124
+ }
125
+ exports.EmbeddingRepository = EmbeddingRepository;
126
+ //# sourceMappingURL=embedding-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-repository.js","sourceRoot":"","sources":["../../src/repositories/embedding-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import * as sqlite3 from 'sqlite3';
2
+ import { BaseRepositoryImpl } from './base-repository';
3
+ /**
4
+ * Importance score model for V-Dimension
5
+ */
6
+ export interface ImportanceScore {
7
+ id: string;
8
+ plugin_id: string;
9
+ dimension: 'X' | 'Y' | 'Z' | 'W' | 'T';
10
+ entity_id: string;
11
+ pagerank_score: number;
12
+ betweenness_score: number;
13
+ combined_score: number;
14
+ rank: number;
15
+ created_at: Date;
16
+ }
17
+ /**
18
+ * Repository for V-Dimension: Importance Scores
19
+ */
20
+ export declare class ImportanceRepository extends BaseRepositoryImpl<ImportanceScore> {
21
+ constructor(db: sqlite3.Database);
22
+ /**
23
+ * Creates or updates an importance score.
24
+ */
25
+ upsert(score: ImportanceScore): Promise<void>;
26
+ /**
27
+ * Gets importance score for an entity.
28
+ */
29
+ getByEntity(dimension: 'X' | 'Y' | 'Z' | 'W' | 'T', entityId: string, pluginId: string): Promise<ImportanceScore | null>;
30
+ /**
31
+ * Gets all importance scores for a dimension, sorted by rank.
32
+ */
33
+ getAllByDimension(dimension: 'X' | 'Y' | 'Z' | 'W' | 'T', pluginId: string): Promise<ImportanceScore[]>;
34
+ /**
35
+ * Creates a new importance score.
36
+ */
37
+ create(score: ImportanceScore): Promise<ImportanceScore>;
38
+ /**
39
+ * Gets an importance score by ID.
40
+ */
41
+ getById(id: string, pluginId: string): Promise<ImportanceScore | null>;
42
+ /**
43
+ * Updates an existing importance score.
44
+ */
45
+ update(score: ImportanceScore): Promise<ImportanceScore>;
46
+ /**
47
+ * Deletes an importance score.
48
+ */
49
+ delete(id: string, pluginId: string): Promise<void>;
50
+ /**
51
+ * Gets all importance scores for a plugin.
52
+ */
53
+ getAll(pluginId: string): Promise<ImportanceScore[]>;
54
+ /**
55
+ * Checks if an importance score exists.
56
+ */
57
+ exists(id: string, pluginId: string): Promise<boolean>;
58
+ /**
59
+ * Maps a database row to an ImportanceScore object.
60
+ */
61
+ private mapRowToScore;
62
+ }
63
+ //# sourceMappingURL=importance-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importance-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/importance-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB,CAAC,eAAe,CAAC;gBAC7D,EAAE,EAAE,OAAO,CAAC,QAAQ;IAIhC;;OAEG;IACU,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB1D;;OAEG;IACU,WAAW,CACpB,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAclC;;OAEG;IACU,iBAAiB,CAC1B,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EACtC,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,EAAE,CAAC;IAW7B;;OAEG;IACU,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAKrE;;OAEG;IACU,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAanF;;OAEG;IACU,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAKrE;;OAEG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhE;;OAEG;IACU,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IASjE;;OAEG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnE;;OAEG;IACH,OAAO,CAAC,aAAa;CAaxB"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImportanceRepository = void 0;
4
+ const base_repository_1 = require("./base-repository");
5
+ /**
6
+ * Repository for V-Dimension: Importance Scores
7
+ */
8
+ class ImportanceRepository extends base_repository_1.BaseRepositoryImpl {
9
+ constructor(db) {
10
+ super(db, 'V');
11
+ }
12
+ /**
13
+ * Creates or updates an importance score.
14
+ */
15
+ async upsert(score) {
16
+ await this.execute(`INSERT INTO importance_scores (id, plugin_id, dimension, entity_id, pagerank_score, betweenness_score, combined_score, rank, created_at)
17
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
18
+ ON CONFLICT(plugin_id, dimension, entity_id)
19
+ DO UPDATE SET
20
+ pagerank_score = excluded.pagerank_score,
21
+ betweenness_score = excluded.betweenness_score,
22
+ combined_score = excluded.combined_score,
23
+ rank = excluded.rank`, [
24
+ score.id,
25
+ score.plugin_id,
26
+ score.dimension,
27
+ score.entity_id,
28
+ score.pagerank_score,
29
+ score.betweenness_score,
30
+ score.combined_score,
31
+ score.rank,
32
+ score.created_at
33
+ ]);
34
+ }
35
+ /**
36
+ * Gets importance score for an entity.
37
+ */
38
+ async getByEntity(dimension, entityId, pluginId) {
39
+ const row = await this.queryOne(`SELECT * FROM importance_scores
40
+ WHERE dimension = ? AND entity_id = ? AND plugin_id = ?`, [dimension, entityId, pluginId]);
41
+ if (!row) {
42
+ return null;
43
+ }
44
+ return this.mapRowToScore(row);
45
+ }
46
+ /**
47
+ * Gets all importance scores for a dimension, sorted by rank.
48
+ */
49
+ async getAllByDimension(dimension, pluginId) {
50
+ const rows = await this.queryAll(`SELECT * FROM importance_scores
51
+ WHERE dimension = ? AND plugin_id = ?
52
+ ORDER BY rank ASC`, [dimension, pluginId]);
53
+ return rows.map(row => this.mapRowToScore(row));
54
+ }
55
+ /**
56
+ * Creates a new importance score.
57
+ */
58
+ async create(score) {
59
+ await this.upsert(score);
60
+ return score;
61
+ }
62
+ /**
63
+ * Gets an importance score by ID.
64
+ */
65
+ async getById(id, pluginId) {
66
+ const row = await this.queryOne(`SELECT * FROM importance_scores WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
67
+ if (!row) {
68
+ return null;
69
+ }
70
+ return this.mapRowToScore(row);
71
+ }
72
+ /**
73
+ * Updates an existing importance score.
74
+ */
75
+ async update(score) {
76
+ await this.upsert(score);
77
+ return score;
78
+ }
79
+ /**
80
+ * Deletes an importance score.
81
+ */
82
+ async delete(id, pluginId) {
83
+ await this.execute(`DELETE FROM importance_scores WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
84
+ }
85
+ /**
86
+ * Gets all importance scores for a plugin.
87
+ */
88
+ async getAll(pluginId) {
89
+ const rows = await this.queryAll(`SELECT * FROM importance_scores WHERE plugin_id = ? ORDER BY rank ASC`, [pluginId]);
90
+ return rows.map(row => this.mapRowToScore(row));
91
+ }
92
+ /**
93
+ * Checks if an importance score exists.
94
+ */
95
+ async exists(id, pluginId) {
96
+ const row = await this.queryOne(`SELECT COUNT(*) as count FROM importance_scores WHERE id = ? AND plugin_id = ?`, [id, pluginId]);
97
+ return row !== null && row.count > 0;
98
+ }
99
+ /**
100
+ * Maps a database row to an ImportanceScore object.
101
+ */
102
+ mapRowToScore(row) {
103
+ return {
104
+ id: row.id,
105
+ plugin_id: row.plugin_id,
106
+ dimension: row.dimension,
107
+ entity_id: row.entity_id,
108
+ pagerank_score: row.pagerank_score,
109
+ betweenness_score: row.betweenness_score,
110
+ combined_score: row.combined_score,
111
+ rank: row.rank,
112
+ created_at: new Date(row.created_at)
113
+ };
114
+ }
115
+ }
116
+ exports.ImportanceRepository = ImportanceRepository;
117
+ //# sourceMappingURL=importance-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importance-repository.js","sourceRoot":"","sources":["../../src/repositories/importance-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import * as sqlite3 from 'sqlite3';
2
+ import { BaseRepositoryImpl } from './base-repository';
3
+ import { Module, ModuleSymbol } from '../models/module';
4
+ /**
5
+ * Repository for X-Dimension: Modules
6
+ */
7
+ export declare class ModuleRepository extends BaseRepositoryImpl<Module> {
8
+ constructor(db: sqlite3.Database);
9
+ create(module: Module): Promise<Module>;
10
+ getById(id: string, pluginId: string): Promise<Module | null>;
11
+ getByFilePath(filePath: string, pluginId: string): Promise<Module | null>;
12
+ update(module: Module): Promise<Module>;
13
+ delete(id: string, pluginId: string): Promise<void>;
14
+ getAll(pluginId: string): Promise<Module[]>;
15
+ exists(id: string, pluginId: string): Promise<boolean>;
16
+ /**
17
+ * Gets a module by file path.
18
+ */
19
+ findByFilePath(filePath: string, pluginId: string): Promise<Module | null>;
20
+ /**
21
+ * Gets modules by content hash (for change detection).
22
+ */
23
+ findByContentHash(contentHash: string, pluginId: string): Promise<Module[]>;
24
+ /**
25
+ * Creates a module symbol association.
26
+ */
27
+ createModuleSymbol(moduleSymbol: ModuleSymbol): Promise<ModuleSymbol>;
28
+ /**
29
+ * Gets all symbols for a module.
30
+ */
31
+ getModuleSymbols(moduleId: string): Promise<ModuleSymbol[]>;
32
+ /**
33
+ * Maps a database row to a Module object.
34
+ */
35
+ private mapRowToModule;
36
+ }
37
+ //# sourceMappingURL=module-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/module-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGxD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB,CAAC,MAAM,CAAC;gBAChD,EAAE,EAAE,OAAO,CAAC,QAAQ;IAInB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBvC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAa7D,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAazE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBvC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAS3C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnE;;OAEG;IACU,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIvF;;OAEG;IACU,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IASxF;;OAEG;IACU,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAelF;;OAEG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAexE;;OAEG;IACH,OAAO,CAAC,cAAc;CAYzB"}