homegraph 0.9.9

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 (549) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +709 -0
  3. package/dist/bin/codegraph.d.ts +26 -0
  4. package/dist/bin/codegraph.d.ts.map +1 -0
  5. package/dist/bin/codegraph.js +1572 -0
  6. package/dist/bin/codegraph.js.map +1 -0
  7. package/dist/bin/homegraph.d.ts +26 -0
  8. package/dist/bin/homegraph.d.ts.map +1 -0
  9. package/dist/bin/homegraph.js +1572 -0
  10. package/dist/bin/homegraph.js.map +1 -0
  11. package/dist/bin/node-version-check.d.ts +37 -0
  12. package/dist/bin/node-version-check.d.ts.map +1 -0
  13. package/dist/bin/node-version-check.js +79 -0
  14. package/dist/bin/node-version-check.js.map +1 -0
  15. package/dist/bin/uninstall.d.ts +14 -0
  16. package/dist/bin/uninstall.d.ts.map +1 -0
  17. package/dist/bin/uninstall.js +36 -0
  18. package/dist/bin/uninstall.js.map +1 -0
  19. package/dist/context/formatter.d.ts +30 -0
  20. package/dist/context/formatter.d.ts.map +1 -0
  21. package/dist/context/formatter.js +263 -0
  22. package/dist/context/formatter.js.map +1 -0
  23. package/dist/context/index.d.ts +119 -0
  24. package/dist/context/index.d.ts.map +1 -0
  25. package/dist/context/index.js +1289 -0
  26. package/dist/context/index.js.map +1 -0
  27. package/dist/context/markers.d.ts +19 -0
  28. package/dist/context/markers.d.ts.map +1 -0
  29. package/dist/context/markers.js +22 -0
  30. package/dist/context/markers.js.map +1 -0
  31. package/dist/db/index.d.ts +101 -0
  32. package/dist/db/index.d.ts.map +1 -0
  33. package/dist/db/index.js +250 -0
  34. package/dist/db/index.js.map +1 -0
  35. package/dist/db/migrations.d.ts +44 -0
  36. package/dist/db/migrations.d.ts.map +1 -0
  37. package/dist/db/migrations.js +131 -0
  38. package/dist/db/migrations.js.map +1 -0
  39. package/dist/db/queries.d.ts +386 -0
  40. package/dist/db/queries.d.ts.map +1 -0
  41. package/dist/db/queries.js +1562 -0
  42. package/dist/db/queries.js.map +1 -0
  43. package/dist/db/schema.sql +151 -0
  44. package/dist/db/sqlite-adapter.d.ts +53 -0
  45. package/dist/db/sqlite-adapter.d.ts.map +1 -0
  46. package/dist/db/sqlite-adapter.js +117 -0
  47. package/dist/db/sqlite-adapter.js.map +1 -0
  48. package/dist/directory.d.ts +57 -0
  49. package/dist/directory.d.ts.map +1 -0
  50. package/dist/directory.js +253 -0
  51. package/dist/directory.js.map +1 -0
  52. package/dist/errors.d.ts +136 -0
  53. package/dist/errors.d.ts.map +1 -0
  54. package/dist/errors.js +219 -0
  55. package/dist/errors.js.map +1 -0
  56. package/dist/extraction/arkanalyzer-extractor.d.ts +6 -0
  57. package/dist/extraction/arkanalyzer-extractor.d.ts.map +1 -0
  58. package/dist/extraction/arkanalyzer-extractor.js +11 -0
  59. package/dist/extraction/arkanalyzer-extractor.js.map +1 -0
  60. package/dist/extraction/arkanalyzer-project.d.ts +20 -0
  61. package/dist/extraction/arkanalyzer-project.d.ts.map +1 -0
  62. package/dist/extraction/arkanalyzer-project.js +596 -0
  63. package/dist/extraction/arkanalyzer-project.js.map +1 -0
  64. package/dist/extraction/context.d.ts +12 -0
  65. package/dist/extraction/context.d.ts.map +1 -0
  66. package/dist/extraction/context.js +29 -0
  67. package/dist/extraction/context.js.map +1 -0
  68. package/dist/extraction/dfm-extractor.d.ts +31 -0
  69. package/dist/extraction/dfm-extractor.d.ts.map +1 -0
  70. package/dist/extraction/dfm-extractor.js +151 -0
  71. package/dist/extraction/dfm-extractor.js.map +1 -0
  72. package/dist/extraction/extraction-version.d.ts +25 -0
  73. package/dist/extraction/extraction-version.d.ts.map +1 -0
  74. package/dist/extraction/extraction-version.js +28 -0
  75. package/dist/extraction/extraction-version.js.map +1 -0
  76. package/dist/extraction/generated-detection.d.ts +30 -0
  77. package/dist/extraction/generated-detection.d.ts.map +1 -0
  78. package/dist/extraction/generated-detection.js +80 -0
  79. package/dist/extraction/generated-detection.js.map +1 -0
  80. package/dist/extraction/grammars.d.ts +108 -0
  81. package/dist/extraction/grammars.d.ts.map +1 -0
  82. package/dist/extraction/grammars.js +465 -0
  83. package/dist/extraction/grammars.js.map +1 -0
  84. package/dist/extraction/index.d.ts +138 -0
  85. package/dist/extraction/index.d.ts.map +1 -0
  86. package/dist/extraction/index.js +1396 -0
  87. package/dist/extraction/index.js.map +1 -0
  88. package/dist/extraction/languages/arkts.d.ts +18 -0
  89. package/dist/extraction/languages/arkts.d.ts.map +1 -0
  90. package/dist/extraction/languages/arkts.js +878 -0
  91. package/dist/extraction/languages/arkts.js.map +1 -0
  92. package/dist/extraction/languages/c-cpp.d.ts +4 -0
  93. package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
  94. package/dist/extraction/languages/c-cpp.js +173 -0
  95. package/dist/extraction/languages/c-cpp.js.map +1 -0
  96. package/dist/extraction/languages/csharp.d.ts +25 -0
  97. package/dist/extraction/languages/csharp.d.ts.map +1 -0
  98. package/dist/extraction/languages/csharp.js +120 -0
  99. package/dist/extraction/languages/csharp.js.map +1 -0
  100. package/dist/extraction/languages/dart.d.ts +3 -0
  101. package/dist/extraction/languages/dart.d.ts.map +1 -0
  102. package/dist/extraction/languages/dart.js +192 -0
  103. package/dist/extraction/languages/dart.js.map +1 -0
  104. package/dist/extraction/languages/go.d.ts +3 -0
  105. package/dist/extraction/languages/go.d.ts.map +1 -0
  106. package/dist/extraction/languages/go.js +74 -0
  107. package/dist/extraction/languages/go.js.map +1 -0
  108. package/dist/extraction/languages/index.d.ts +10 -0
  109. package/dist/extraction/languages/index.d.ts.map +1 -0
  110. package/dist/extraction/languages/index.js +51 -0
  111. package/dist/extraction/languages/index.js.map +1 -0
  112. package/dist/extraction/languages/java.d.ts +3 -0
  113. package/dist/extraction/languages/java.d.ts.map +1 -0
  114. package/dist/extraction/languages/java.js +74 -0
  115. package/dist/extraction/languages/java.js.map +1 -0
  116. package/dist/extraction/languages/javascript.d.ts +3 -0
  117. package/dist/extraction/languages/javascript.d.ts.map +1 -0
  118. package/dist/extraction/languages/javascript.js +90 -0
  119. package/dist/extraction/languages/javascript.js.map +1 -0
  120. package/dist/extraction/languages/kotlin.d.ts +3 -0
  121. package/dist/extraction/languages/kotlin.d.ts.map +1 -0
  122. package/dist/extraction/languages/kotlin.js +285 -0
  123. package/dist/extraction/languages/kotlin.js.map +1 -0
  124. package/dist/extraction/languages/lua.d.ts +3 -0
  125. package/dist/extraction/languages/lua.d.ts.map +1 -0
  126. package/dist/extraction/languages/lua.js +150 -0
  127. package/dist/extraction/languages/lua.js.map +1 -0
  128. package/dist/extraction/languages/luau.d.ts +3 -0
  129. package/dist/extraction/languages/luau.d.ts.map +1 -0
  130. package/dist/extraction/languages/luau.js +37 -0
  131. package/dist/extraction/languages/luau.js.map +1 -0
  132. package/dist/extraction/languages/objc.d.ts +3 -0
  133. package/dist/extraction/languages/objc.d.ts.map +1 -0
  134. package/dist/extraction/languages/objc.js +133 -0
  135. package/dist/extraction/languages/objc.js.map +1 -0
  136. package/dist/extraction/languages/pascal.d.ts +3 -0
  137. package/dist/extraction/languages/pascal.d.ts.map +1 -0
  138. package/dist/extraction/languages/pascal.js +66 -0
  139. package/dist/extraction/languages/pascal.js.map +1 -0
  140. package/dist/extraction/languages/php.d.ts +3 -0
  141. package/dist/extraction/languages/php.d.ts.map +1 -0
  142. package/dist/extraction/languages/php.js +120 -0
  143. package/dist/extraction/languages/php.js.map +1 -0
  144. package/dist/extraction/languages/python.d.ts +3 -0
  145. package/dist/extraction/languages/python.d.ts.map +1 -0
  146. package/dist/extraction/languages/python.js +56 -0
  147. package/dist/extraction/languages/python.js.map +1 -0
  148. package/dist/extraction/languages/ruby.d.ts +3 -0
  149. package/dist/extraction/languages/ruby.d.ts.map +1 -0
  150. package/dist/extraction/languages/ruby.js +149 -0
  151. package/dist/extraction/languages/ruby.js.map +1 -0
  152. package/dist/extraction/languages/rust.d.ts +3 -0
  153. package/dist/extraction/languages/rust.d.ts.map +1 -0
  154. package/dist/extraction/languages/rust.js +113 -0
  155. package/dist/extraction/languages/rust.js.map +1 -0
  156. package/dist/extraction/languages/scala.d.ts +3 -0
  157. package/dist/extraction/languages/scala.d.ts.map +1 -0
  158. package/dist/extraction/languages/scala.js +174 -0
  159. package/dist/extraction/languages/scala.js.map +1 -0
  160. package/dist/extraction/languages/swift.d.ts +3 -0
  161. package/dist/extraction/languages/swift.d.ts.map +1 -0
  162. package/dist/extraction/languages/swift.js +91 -0
  163. package/dist/extraction/languages/swift.js.map +1 -0
  164. package/dist/extraction/languages/typescript.d.ts +3 -0
  165. package/dist/extraction/languages/typescript.d.ts.map +1 -0
  166. package/dist/extraction/languages/typescript.js +129 -0
  167. package/dist/extraction/languages/typescript.js.map +1 -0
  168. package/dist/extraction/liquid-extractor.d.ts +59 -0
  169. package/dist/extraction/liquid-extractor.d.ts.map +1 -0
  170. package/dist/extraction/liquid-extractor.js +354 -0
  171. package/dist/extraction/liquid-extractor.js.map +1 -0
  172. package/dist/extraction/mybatis-extractor.d.ts +48 -0
  173. package/dist/extraction/mybatis-extractor.d.ts.map +1 -0
  174. package/dist/extraction/mybatis-extractor.js +198 -0
  175. package/dist/extraction/mybatis-extractor.js.map +1 -0
  176. package/dist/extraction/parse-worker.d.ts +8 -0
  177. package/dist/extraction/parse-worker.d.ts.map +1 -0
  178. package/dist/extraction/parse-worker.js +94 -0
  179. package/dist/extraction/parse-worker.js.map +1 -0
  180. package/dist/extraction/razor-extractor.d.ts +42 -0
  181. package/dist/extraction/razor-extractor.d.ts.map +1 -0
  182. package/dist/extraction/razor-extractor.js +285 -0
  183. package/dist/extraction/razor-extractor.js.map +1 -0
  184. package/dist/extraction/svelte-extractor.d.ts +56 -0
  185. package/dist/extraction/svelte-extractor.d.ts.map +1 -0
  186. package/dist/extraction/svelte-extractor.js +272 -0
  187. package/dist/extraction/svelte-extractor.js.map +1 -0
  188. package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
  189. package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
  190. package/dist/extraction/tree-sitter-helpers.js +103 -0
  191. package/dist/extraction/tree-sitter-helpers.js.map +1 -0
  192. package/dist/extraction/tree-sitter-types.d.ts +210 -0
  193. package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
  194. package/dist/extraction/tree-sitter-types.js +10 -0
  195. package/dist/extraction/tree-sitter-types.js.map +1 -0
  196. package/dist/extraction/tree-sitter.d.ts +455 -0
  197. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  198. package/dist/extraction/tree-sitter.js +4089 -0
  199. package/dist/extraction/tree-sitter.js.map +1 -0
  200. package/dist/extraction/vue-extractor.d.ts +51 -0
  201. package/dist/extraction/vue-extractor.d.ts.map +1 -0
  202. package/dist/extraction/vue-extractor.js +251 -0
  203. package/dist/extraction/vue-extractor.js.map +1 -0
  204. package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
  205. package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  206. package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
  207. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  208. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  209. package/dist/extraction/wasm-runtime-flags.d.ts +38 -0
  210. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
  211. package/dist/extraction/wasm-runtime-flags.js +106 -0
  212. package/dist/extraction/wasm-runtime-flags.js.map +1 -0
  213. package/dist/graph/index.d.ts +8 -0
  214. package/dist/graph/index.d.ts.map +1 -0
  215. package/dist/graph/index.js +13 -0
  216. package/dist/graph/index.js.map +1 -0
  217. package/dist/graph/queries.d.ts +106 -0
  218. package/dist/graph/queries.d.ts.map +1 -0
  219. package/dist/graph/queries.js +339 -0
  220. package/dist/graph/queries.js.map +1 -0
  221. package/dist/graph/traversal.d.ts +127 -0
  222. package/dist/graph/traversal.d.ts.map +1 -0
  223. package/dist/graph/traversal.js +531 -0
  224. package/dist/graph/traversal.js.map +1 -0
  225. package/dist/index.d.ts +522 -0
  226. package/dist/index.d.ts.map +1 -0
  227. package/dist/index.js +947 -0
  228. package/dist/index.js.map +1 -0
  229. package/dist/installer/config-writer.d.ts +28 -0
  230. package/dist/installer/config-writer.d.ts.map +1 -0
  231. package/dist/installer/config-writer.js +91 -0
  232. package/dist/installer/config-writer.js.map +1 -0
  233. package/dist/installer/index.d.ts +100 -0
  234. package/dist/installer/index.d.ts.map +1 -0
  235. package/dist/installer/index.js +497 -0
  236. package/dist/installer/index.js.map +1 -0
  237. package/dist/installer/instructions-template.d.ts +18 -0
  238. package/dist/installer/instructions-template.d.ts.map +1 -0
  239. package/dist/installer/instructions-template.js +21 -0
  240. package/dist/installer/instructions-template.js.map +1 -0
  241. package/dist/installer/targets/antigravity.d.ts +57 -0
  242. package/dist/installer/targets/antigravity.d.ts.map +1 -0
  243. package/dist/installer/targets/antigravity.js +308 -0
  244. package/dist/installer/targets/antigravity.js.map +1 -0
  245. package/dist/installer/targets/claude.d.ts +56 -0
  246. package/dist/installer/targets/claude.d.ts.map +1 -0
  247. package/dist/installer/targets/claude.js +388 -0
  248. package/dist/installer/targets/claude.js.map +1 -0
  249. package/dist/installer/targets/codex.d.ts +18 -0
  250. package/dist/installer/targets/codex.d.ts.map +1 -0
  251. package/dist/installer/targets/codex.js +187 -0
  252. package/dist/installer/targets/codex.js.map +1 -0
  253. package/dist/installer/targets/cursor.d.ts +35 -0
  254. package/dist/installer/targets/cursor.d.ts.map +1 -0
  255. package/dist/installer/targets/cursor.js +254 -0
  256. package/dist/installer/targets/cursor.js.map +1 -0
  257. package/dist/installer/targets/gemini.d.ts +26 -0
  258. package/dist/installer/targets/gemini.d.ts.map +1 -0
  259. package/dist/installer/targets/gemini.js +167 -0
  260. package/dist/installer/targets/gemini.js.map +1 -0
  261. package/dist/installer/targets/hermes.d.ts +18 -0
  262. package/dist/installer/targets/hermes.d.ts.map +1 -0
  263. package/dist/installer/targets/hermes.js +359 -0
  264. package/dist/installer/targets/hermes.js.map +1 -0
  265. package/dist/installer/targets/kiro.d.ts +27 -0
  266. package/dist/installer/targets/kiro.d.ts.map +1 -0
  267. package/dist/installer/targets/kiro.js +178 -0
  268. package/dist/installer/targets/kiro.js.map +1 -0
  269. package/dist/installer/targets/opencode.d.ts +30 -0
  270. package/dist/installer/targets/opencode.d.ts.map +1 -0
  271. package/dist/installer/targets/opencode.js +237 -0
  272. package/dist/installer/targets/opencode.js.map +1 -0
  273. package/dist/installer/targets/registry.d.ts +35 -0
  274. package/dist/installer/targets/registry.d.ts.map +1 -0
  275. package/dist/installer/targets/registry.js +91 -0
  276. package/dist/installer/targets/registry.js.map +1 -0
  277. package/dist/installer/targets/shared.d.ts +77 -0
  278. package/dist/installer/targets/shared.d.ts.map +1 -0
  279. package/dist/installer/targets/shared.js +247 -0
  280. package/dist/installer/targets/shared.js.map +1 -0
  281. package/dist/installer/targets/toml.d.ts +52 -0
  282. package/dist/installer/targets/toml.d.ts.map +1 -0
  283. package/dist/installer/targets/toml.js +147 -0
  284. package/dist/installer/targets/toml.js.map +1 -0
  285. package/dist/installer/targets/types.d.ts +101 -0
  286. package/dist/installer/targets/types.d.ts.map +1 -0
  287. package/dist/installer/targets/types.js +16 -0
  288. package/dist/installer/targets/types.js.map +1 -0
  289. package/dist/mcp/daemon-paths.d.ts +46 -0
  290. package/dist/mcp/daemon-paths.d.ts.map +1 -0
  291. package/dist/mcp/daemon-paths.js +125 -0
  292. package/dist/mcp/daemon-paths.js.map +1 -0
  293. package/dist/mcp/daemon.d.ts +220 -0
  294. package/dist/mcp/daemon.d.ts.map +1 -0
  295. package/dist/mcp/daemon.js +616 -0
  296. package/dist/mcp/daemon.js.map +1 -0
  297. package/dist/mcp/engine.d.ts +105 -0
  298. package/dist/mcp/engine.d.ts.map +1 -0
  299. package/dist/mcp/engine.js +270 -0
  300. package/dist/mcp/engine.js.map +1 -0
  301. package/dist/mcp/index.d.ts +112 -0
  302. package/dist/mcp/index.d.ts.map +1 -0
  303. package/dist/mcp/index.js +478 -0
  304. package/dist/mcp/index.js.map +1 -0
  305. package/dist/mcp/ppid-watchdog.d.ts +44 -0
  306. package/dist/mcp/ppid-watchdog.d.ts.map +1 -0
  307. package/dist/mcp/ppid-watchdog.js +27 -0
  308. package/dist/mcp/ppid-watchdog.js.map +1 -0
  309. package/dist/mcp/proxy.d.ts +81 -0
  310. package/dist/mcp/proxy.d.ts.map +1 -0
  311. package/dist/mcp/proxy.js +584 -0
  312. package/dist/mcp/proxy.js.map +1 -0
  313. package/dist/mcp/server-instructions.d.ts +19 -0
  314. package/dist/mcp/server-instructions.d.ts.map +1 -0
  315. package/dist/mcp/server-instructions.js +74 -0
  316. package/dist/mcp/server-instructions.js.map +1 -0
  317. package/dist/mcp/session.d.ts +77 -0
  318. package/dist/mcp/session.d.ts.map +1 -0
  319. package/dist/mcp/session.js +294 -0
  320. package/dist/mcp/session.js.map +1 -0
  321. package/dist/mcp/tools.d.ts +413 -0
  322. package/dist/mcp/tools.d.ts.map +1 -0
  323. package/dist/mcp/tools.js +3049 -0
  324. package/dist/mcp/tools.js.map +1 -0
  325. package/dist/mcp/transport.d.ts +188 -0
  326. package/dist/mcp/transport.d.ts.map +1 -0
  327. package/dist/mcp/transport.js +343 -0
  328. package/dist/mcp/transport.js.map +1 -0
  329. package/dist/mcp/version.d.ts +19 -0
  330. package/dist/mcp/version.d.ts.map +1 -0
  331. package/dist/mcp/version.js +71 -0
  332. package/dist/mcp/version.js.map +1 -0
  333. package/dist/resolution/callback-synthesizer.d.ts +10 -0
  334. package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
  335. package/dist/resolution/callback-synthesizer.js +1818 -0
  336. package/dist/resolution/callback-synthesizer.js.map +1 -0
  337. package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
  338. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
  339. package/dist/resolution/frameworks/cargo-workspace.js +225 -0
  340. package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
  341. package/dist/resolution/frameworks/csharp.d.ts +8 -0
  342. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  343. package/dist/resolution/frameworks/csharp.js +241 -0
  344. package/dist/resolution/frameworks/csharp.js.map +1 -0
  345. package/dist/resolution/frameworks/drupal.d.ts +51 -0
  346. package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
  347. package/dist/resolution/frameworks/drupal.js +367 -0
  348. package/dist/resolution/frameworks/drupal.js.map +1 -0
  349. package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
  350. package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
  351. package/dist/resolution/frameworks/expo-modules.js +148 -0
  352. package/dist/resolution/frameworks/expo-modules.js.map +1 -0
  353. package/dist/resolution/frameworks/express.d.ts +8 -0
  354. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  355. package/dist/resolution/frameworks/express.js +308 -0
  356. package/dist/resolution/frameworks/express.js.map +1 -0
  357. package/dist/resolution/frameworks/fabric.d.ts +3 -0
  358. package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
  359. package/dist/resolution/frameworks/fabric.js +354 -0
  360. package/dist/resolution/frameworks/fabric.js.map +1 -0
  361. package/dist/resolution/frameworks/go.d.ts +8 -0
  362. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  363. package/dist/resolution/frameworks/go.js +161 -0
  364. package/dist/resolution/frameworks/go.js.map +1 -0
  365. package/dist/resolution/frameworks/index.d.ts +48 -0
  366. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  367. package/dist/resolution/frameworks/index.js +161 -0
  368. package/dist/resolution/frameworks/index.js.map +1 -0
  369. package/dist/resolution/frameworks/java.d.ts +8 -0
  370. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  371. package/dist/resolution/frameworks/java.js +504 -0
  372. package/dist/resolution/frameworks/java.js.map +1 -0
  373. package/dist/resolution/frameworks/laravel.d.ts +13 -0
  374. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  375. package/dist/resolution/frameworks/laravel.js +257 -0
  376. package/dist/resolution/frameworks/laravel.js.map +1 -0
  377. package/dist/resolution/frameworks/nestjs.d.ts +26 -0
  378. package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
  379. package/dist/resolution/frameworks/nestjs.js +698 -0
  380. package/dist/resolution/frameworks/nestjs.js.map +1 -0
  381. package/dist/resolution/frameworks/play.d.ts +19 -0
  382. package/dist/resolution/frameworks/play.d.ts.map +1 -0
  383. package/dist/resolution/frameworks/play.js +111 -0
  384. package/dist/resolution/frameworks/play.js.map +1 -0
  385. package/dist/resolution/frameworks/python.d.ts +10 -0
  386. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  387. package/dist/resolution/frameworks/python.js +400 -0
  388. package/dist/resolution/frameworks/python.js.map +1 -0
  389. package/dist/resolution/frameworks/react-native.d.ts +3 -0
  390. package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
  391. package/dist/resolution/frameworks/react-native.js +410 -0
  392. package/dist/resolution/frameworks/react-native.js.map +1 -0
  393. package/dist/resolution/frameworks/react.d.ts +8 -0
  394. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  395. package/dist/resolution/frameworks/react.js +365 -0
  396. package/dist/resolution/frameworks/react.js.map +1 -0
  397. package/dist/resolution/frameworks/ruby.d.ts +8 -0
  398. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  399. package/dist/resolution/frameworks/ruby.js +302 -0
  400. package/dist/resolution/frameworks/ruby.js.map +1 -0
  401. package/dist/resolution/frameworks/rust.d.ts +8 -0
  402. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  403. package/dist/resolution/frameworks/rust.js +304 -0
  404. package/dist/resolution/frameworks/rust.js.map +1 -0
  405. package/dist/resolution/frameworks/svelte.d.ts +9 -0
  406. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  407. package/dist/resolution/frameworks/svelte.js +249 -0
  408. package/dist/resolution/frameworks/svelte.js.map +1 -0
  409. package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
  410. package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
  411. package/dist/resolution/frameworks/swift-objc.js +252 -0
  412. package/dist/resolution/frameworks/swift-objc.js.map +1 -0
  413. package/dist/resolution/frameworks/swift.d.ts +10 -0
  414. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  415. package/dist/resolution/frameworks/swift.js +400 -0
  416. package/dist/resolution/frameworks/swift.js.map +1 -0
  417. package/dist/resolution/frameworks/vue.d.ts +9 -0
  418. package/dist/resolution/frameworks/vue.d.ts.map +1 -0
  419. package/dist/resolution/frameworks/vue.js +306 -0
  420. package/dist/resolution/frameworks/vue.js.map +1 -0
  421. package/dist/resolution/go-module.d.ts +26 -0
  422. package/dist/resolution/go-module.d.ts.map +1 -0
  423. package/dist/resolution/go-module.js +78 -0
  424. package/dist/resolution/go-module.js.map +1 -0
  425. package/dist/resolution/import-resolver.d.ts +68 -0
  426. package/dist/resolution/import-resolver.d.ts.map +1 -0
  427. package/dist/resolution/import-resolver.js +1726 -0
  428. package/dist/resolution/import-resolver.js.map +1 -0
  429. package/dist/resolution/index.d.ts +159 -0
  430. package/dist/resolution/index.d.ts.map +1 -0
  431. package/dist/resolution/index.js +1025 -0
  432. package/dist/resolution/index.js.map +1 -0
  433. package/dist/resolution/lru-cache.d.ts +24 -0
  434. package/dist/resolution/lru-cache.d.ts.map +1 -0
  435. package/dist/resolution/lru-cache.js +62 -0
  436. package/dist/resolution/lru-cache.js.map +1 -0
  437. package/dist/resolution/name-matcher.d.ts +52 -0
  438. package/dist/resolution/name-matcher.d.ts.map +1 -0
  439. package/dist/resolution/name-matcher.js +707 -0
  440. package/dist/resolution/name-matcher.js.map +1 -0
  441. package/dist/resolution/path-aliases.d.ts +68 -0
  442. package/dist/resolution/path-aliases.d.ts.map +1 -0
  443. package/dist/resolution/path-aliases.js +238 -0
  444. package/dist/resolution/path-aliases.js.map +1 -0
  445. package/dist/resolution/strip-comments.d.ts +27 -0
  446. package/dist/resolution/strip-comments.d.ts.map +1 -0
  447. package/dist/resolution/strip-comments.js +441 -0
  448. package/dist/resolution/strip-comments.js.map +1 -0
  449. package/dist/resolution/swift-objc-bridge.d.ts +134 -0
  450. package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
  451. package/dist/resolution/swift-objc-bridge.js +256 -0
  452. package/dist/resolution/swift-objc-bridge.js.map +1 -0
  453. package/dist/resolution/types.d.ts +216 -0
  454. package/dist/resolution/types.d.ts.map +1 -0
  455. package/dist/resolution/types.js +8 -0
  456. package/dist/resolution/types.js.map +1 -0
  457. package/dist/resolution/workspace-packages.d.ts +48 -0
  458. package/dist/resolution/workspace-packages.d.ts.map +1 -0
  459. package/dist/resolution/workspace-packages.js +208 -0
  460. package/dist/resolution/workspace-packages.js.map +1 -0
  461. package/dist/search/query-parser.d.ts +57 -0
  462. package/dist/search/query-parser.d.ts.map +1 -0
  463. package/dist/search/query-parser.js +177 -0
  464. package/dist/search/query-parser.js.map +1 -0
  465. package/dist/search/query-utils.d.ts +71 -0
  466. package/dist/search/query-utils.d.ts.map +1 -0
  467. package/dist/search/query-utils.js +380 -0
  468. package/dist/search/query-utils.js.map +1 -0
  469. package/dist/sync/git-hooks.d.ts +45 -0
  470. package/dist/sync/git-hooks.d.ts.map +1 -0
  471. package/dist/sync/git-hooks.js +225 -0
  472. package/dist/sync/git-hooks.js.map +1 -0
  473. package/dist/sync/index.d.ts +19 -0
  474. package/dist/sync/index.d.ts.map +1 -0
  475. package/dist/sync/index.js +35 -0
  476. package/dist/sync/index.js.map +1 -0
  477. package/dist/sync/watch-policy.d.ts +48 -0
  478. package/dist/sync/watch-policy.d.ts.map +1 -0
  479. package/dist/sync/watch-policy.js +124 -0
  480. package/dist/sync/watch-policy.js.map +1 -0
  481. package/dist/sync/watcher.d.ts +283 -0
  482. package/dist/sync/watcher.d.ts.map +1 -0
  483. package/dist/sync/watcher.js +606 -0
  484. package/dist/sync/watcher.js.map +1 -0
  485. package/dist/sync/worktree.d.ts +54 -0
  486. package/dist/sync/worktree.d.ts.map +1 -0
  487. package/dist/sync/worktree.js +137 -0
  488. package/dist/sync/worktree.js.map +1 -0
  489. package/dist/types.d.ts +377 -0
  490. package/dist/types.d.ts.map +1 -0
  491. package/dist/types.js +80 -0
  492. package/dist/types.js.map +1 -0
  493. package/dist/ui/glyphs.d.ts +42 -0
  494. package/dist/ui/glyphs.d.ts.map +1 -0
  495. package/dist/ui/glyphs.js +78 -0
  496. package/dist/ui/glyphs.js.map +1 -0
  497. package/dist/ui/shimmer-progress.d.ts +11 -0
  498. package/dist/ui/shimmer-progress.d.ts.map +1 -0
  499. package/dist/ui/shimmer-progress.js +90 -0
  500. package/dist/ui/shimmer-progress.js.map +1 -0
  501. package/dist/ui/shimmer-worker.d.ts +2 -0
  502. package/dist/ui/shimmer-worker.d.ts.map +1 -0
  503. package/dist/ui/shimmer-worker.js +118 -0
  504. package/dist/ui/shimmer-worker.js.map +1 -0
  505. package/dist/ui/types.d.ts +17 -0
  506. package/dist/ui/types.d.ts.map +1 -0
  507. package/dist/ui/types.js +3 -0
  508. package/dist/ui/types.js.map +1 -0
  509. package/dist/upgrade/index.d.ts +132 -0
  510. package/dist/upgrade/index.d.ts.map +1 -0
  511. package/dist/upgrade/index.js +462 -0
  512. package/dist/upgrade/index.js.map +1 -0
  513. package/dist/utils.d.ts +205 -0
  514. package/dist/utils.d.ts.map +1 -0
  515. package/dist/utils.js +549 -0
  516. package/dist/utils.js.map +1 -0
  517. package/package.json +57 -0
  518. package/scripts/add-lang/bench.sh +60 -0
  519. package/scripts/add-lang/check-grammar.mjs +75 -0
  520. package/scripts/add-lang/dump-ast.mjs +103 -0
  521. package/scripts/add-lang/verify-extraction.mjs +70 -0
  522. package/scripts/agent-eval/arms-F.sh +21 -0
  523. package/scripts/agent-eval/arms-matrix.sh +37 -0
  524. package/scripts/agent-eval/audit.sh +68 -0
  525. package/scripts/agent-eval/bench-readme.sh +28 -0
  526. package/scripts/agent-eval/bench-why-repo.sh +22 -0
  527. package/scripts/agent-eval/block-read-hook.sh +19 -0
  528. package/scripts/agent-eval/hook-settings.json +15 -0
  529. package/scripts/agent-eval/itrun.sh +120 -0
  530. package/scripts/agent-eval/parse-arms.mjs +116 -0
  531. package/scripts/agent-eval/parse-bench-readme.mjs +84 -0
  532. package/scripts/agent-eval/parse-run.mjs +45 -0
  533. package/scripts/agent-eval/parse-session.mjs +93 -0
  534. package/scripts/agent-eval/probe-context.mjs +21 -0
  535. package/scripts/agent-eval/probe-explore.mjs +40 -0
  536. package/scripts/agent-eval/probe-node.mjs +20 -0
  537. package/scripts/agent-eval/probe-sweep.mjs +119 -0
  538. package/scripts/agent-eval/probe-trace.mjs +20 -0
  539. package/scripts/agent-eval/run-agent.sh +34 -0
  540. package/scripts/agent-eval/run-all.sh +67 -0
  541. package/scripts/agent-eval/run-arms.sh +56 -0
  542. package/scripts/agent-eval/seq-matrix.mjs +137 -0
  543. package/scripts/build-bundle.sh +118 -0
  544. package/scripts/extract-release-notes.mjs +130 -0
  545. package/scripts/local-install.sh +41 -0
  546. package/scripts/npm-sdk.js +75 -0
  547. package/scripts/npm-shim.js +246 -0
  548. package/scripts/pack-npm.sh +119 -0
  549. package/scripts/prepare-release.mjs +270 -0
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ /**
3
+ * Database Migrations
4
+ *
5
+ * Schema versioning and migration support.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.CURRENT_SCHEMA_VERSION = void 0;
9
+ exports.getCurrentVersion = getCurrentVersion;
10
+ exports.runMigrations = runMigrations;
11
+ exports.needsMigration = needsMigration;
12
+ exports.getPendingMigrations = getPendingMigrations;
13
+ exports.getMigrationHistory = getMigrationHistory;
14
+ /**
15
+ * Current schema version
16
+ */
17
+ exports.CURRENT_SCHEMA_VERSION = 4;
18
+ /**
19
+ * All migrations in order
20
+ *
21
+ * Note: Version 1 is the initial schema, handled by schema.sql
22
+ * Future migrations go here.
23
+ */
24
+ const migrations = [
25
+ {
26
+ version: 2,
27
+ description: 'Add project metadata, provenance tracking, and unresolved ref context',
28
+ up: (db) => {
29
+ db.exec(`
30
+ CREATE TABLE IF NOT EXISTS project_metadata (
31
+ key TEXT PRIMARY KEY,
32
+ value TEXT NOT NULL,
33
+ updated_at INTEGER NOT NULL
34
+ );
35
+ ALTER TABLE unresolved_refs ADD COLUMN file_path TEXT NOT NULL DEFAULT '';
36
+ ALTER TABLE unresolved_refs ADD COLUMN language TEXT NOT NULL DEFAULT 'unknown';
37
+ ALTER TABLE edges ADD COLUMN provenance TEXT DEFAULT NULL;
38
+ CREATE INDEX IF NOT EXISTS idx_unresolved_file_path ON unresolved_refs(file_path);
39
+ CREATE INDEX IF NOT EXISTS idx_edges_provenance ON edges(provenance);
40
+ `);
41
+ },
42
+ },
43
+ {
44
+ version: 3,
45
+ description: 'Add lower(name) expression index for memory-efficient case-insensitive lookups',
46
+ up: (db) => {
47
+ db.exec(`
48
+ CREATE INDEX IF NOT EXISTS idx_nodes_lower_name ON nodes(lower(name));
49
+ `);
50
+ },
51
+ },
52
+ {
53
+ version: 4,
54
+ description: 'Drop redundant idx_edges_source / idx_edges_target (covered by source_kind / target_kind composites)',
55
+ up: (db) => {
56
+ db.exec(`
57
+ DROP INDEX IF EXISTS idx_edges_source;
58
+ DROP INDEX IF EXISTS idx_edges_target;
59
+ `);
60
+ },
61
+ },
62
+ ];
63
+ /**
64
+ * Get the current schema version from the database
65
+ */
66
+ function getCurrentVersion(db) {
67
+ try {
68
+ const row = db
69
+ .prepare('SELECT MAX(version) as version FROM schema_versions')
70
+ .get();
71
+ return row?.version ?? 0;
72
+ }
73
+ catch {
74
+ // Table doesn't exist yet
75
+ return 0;
76
+ }
77
+ }
78
+ /**
79
+ * Record a migration as applied
80
+ */
81
+ function recordMigration(db, version, description) {
82
+ db.prepare('INSERT INTO schema_versions (version, applied_at, description) VALUES (?, ?, ?)').run(version, Date.now(), description);
83
+ }
84
+ /**
85
+ * Run all pending migrations
86
+ */
87
+ function runMigrations(db, fromVersion) {
88
+ const pending = migrations.filter((m) => m.version > fromVersion);
89
+ if (pending.length === 0) {
90
+ return;
91
+ }
92
+ // Sort by version
93
+ pending.sort((a, b) => a.version - b.version);
94
+ // Run each migration in a transaction
95
+ for (const migration of pending) {
96
+ db.transaction(() => {
97
+ migration.up(db);
98
+ recordMigration(db, migration.version, migration.description);
99
+ })();
100
+ }
101
+ }
102
+ /**
103
+ * Check if the database needs migration
104
+ */
105
+ function needsMigration(db) {
106
+ const current = getCurrentVersion(db);
107
+ return current < exports.CURRENT_SCHEMA_VERSION;
108
+ }
109
+ /**
110
+ * Get list of pending migrations
111
+ */
112
+ function getPendingMigrations(db) {
113
+ const current = getCurrentVersion(db);
114
+ return migrations
115
+ .filter((m) => m.version > current)
116
+ .sort((a, b) => a.version - b.version);
117
+ }
118
+ /**
119
+ * Get migration history from database
120
+ */
121
+ function getMigrationHistory(db) {
122
+ const rows = db
123
+ .prepare('SELECT version, applied_at, description FROM schema_versions ORDER BY version')
124
+ .all();
125
+ return rows.map((row) => ({
126
+ version: row.version,
127
+ appliedAt: row.applied_at,
128
+ description: row.description,
129
+ }));
130
+ }
131
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,386 @@
1
+ /**
2
+ * Database Queries
3
+ *
4
+ * Prepared statements for CRUD operations on the knowledge graph.
5
+ */
6
+ import { SqliteDatabase } from './sqlite-adapter';
7
+ import { Node, Edge, FileRecord, UnresolvedReference, NodeKind, EdgeKind, GraphStats, SearchOptions, SearchResult } from '../types';
8
+ /**
9
+ * Query builder for the knowledge graph database
10
+ */
11
+ export declare class QueryBuilder {
12
+ private db;
13
+ private nodeCache;
14
+ private readonly maxCacheSize;
15
+ private stmts;
16
+ constructor(db: SqliteDatabase);
17
+ /**
18
+ * Insert a new node
19
+ */
20
+ insertNode(node: Node): void;
21
+ /**
22
+ * Insert multiple nodes in a transaction
23
+ */
24
+ insertNodes(nodes: Node[]): void;
25
+ /**
26
+ * Update an existing node
27
+ */
28
+ updateNode(node: Node): void;
29
+ /**
30
+ * Delete a node by ID
31
+ */
32
+ deleteNode(id: string): void;
33
+ /**
34
+ * Delete all nodes for a file
35
+ */
36
+ deleteNodesByFile(filePath: string): void;
37
+ /**
38
+ * Get a node by ID
39
+ */
40
+ getNodeById(id: string): Node | null;
41
+ /**
42
+ * Batch lookup: fetch many nodes by ID in a single SQL round-trip.
43
+ *
44
+ * Replaces the N+1 pattern in graph traversal where every edge would
45
+ * trigger its own `getNodeById` call. For a function with 50 callers
46
+ * this collapses 50 point reads into one IN-list query (~10-50x
47
+ * faster end-to-end).
48
+ *
49
+ * Returns a Map keyed by id so callers can preserve their own ordering
50
+ * (typically the order edges were returned from the graph). Missing IDs
51
+ * are simply absent from the map.
52
+ *
53
+ * Cache-aware: ids already in the LRU cache are served from memory and
54
+ * the SQL query only touches the misses.
55
+ */
56
+ getNodesByIds(ids: readonly string[]): Map<string, Node>;
57
+ private getExistingNodeIds;
58
+ /**
59
+ * Add a node to the cache, evicting oldest if needed
60
+ */
61
+ private cacheNode;
62
+ /**
63
+ * Clear the node cache
64
+ */
65
+ clearCache(): void;
66
+ /**
67
+ * Get all nodes in a file
68
+ */
69
+ getNodesByFile(filePath: string): Node[];
70
+ /**
71
+ * Find the file that holds the densest concentration of the project's
72
+ * internal call graph — the "core" file. Used by context-builder to
73
+ * boost ranking of symbols in that file's directory (so e.g. sinatra
74
+ * queries surface `lib/sinatra/base.rb`'s `route!` instead of
75
+ * `sinatra-contrib/lib/sinatra/multi_route.rb`'s `route` extension).
76
+ *
77
+ * Returns null if no file has a meaningful concentration (e.g. spread
78
+ * evenly across many files, or empty index).
79
+ *
80
+ * "Internal" = source and target are in the same file. Cross-file
81
+ * edges aren't useful here — they don't tell us which file is the
82
+ * functional center.
83
+ *
84
+ * Excludes test/spec files from candidacy via path-pattern. The agent's
85
+ * typical question is "how does X work", not "how is X tested", so
86
+ * boosting a test file's directory would be a misfire.
87
+ */
88
+ getDominantFile(): {
89
+ filePath: string;
90
+ edgeCount: number;
91
+ nextEdgeCount: number;
92
+ } | null;
93
+ /**
94
+ * Find the file that holds the densest concentration of the project's
95
+ * `route` nodes (framework-emitted: Express/Gin/Flask/Rails/Drupal/etc.).
96
+ * Used by handleContext on small repos to inline the project's routing
97
+ * config when the agent's query is about request flow — eliminating the
98
+ * "Glob + Read routes.rb" pattern that beats codegraph on tiny realworld
99
+ * template repos.
100
+ *
101
+ * Excludes test/generated files from candidacy. Returns null if there
102
+ * are fewer than 3 non-test routes total, or if no file holds at least
103
+ * 30% of them (diffuse routing → no single answer file).
104
+ */
105
+ getTopRouteFile(): {
106
+ filePath: string;
107
+ routeCount: number;
108
+ totalRoutes: number;
109
+ } | null;
110
+ /**
111
+ * Build a URL → handler manifest from the index. Each route node's
112
+ * `references` edge points at the function/method that handles the
113
+ * request. We join them in one pass; the agent gets the canonical
114
+ * routing answer ("POST /users/login → AuthController#login") without
115
+ * having to parse the framework's route DSL itself.
116
+ *
117
+ * Also returns the file with the most handler endpoints — used as the
118
+ * "top handler file" to inline source for, so the agent has both the
119
+ * mapping AND the handler implementations.
120
+ */
121
+ getRoutingManifest(limit?: number): {
122
+ entries: Array<{
123
+ url: string;
124
+ handler: string;
125
+ handlerFile: string;
126
+ handlerLine: number;
127
+ handlerKind: string;
128
+ }>;
129
+ topHandlerFile: string | null;
130
+ topHandlerFileCount: number;
131
+ totalRoutes: number;
132
+ } | null;
133
+ /**
134
+ * Get all nodes of a specific kind
135
+ */
136
+ getNodesByKind(kind: NodeKind): Node[];
137
+ /**
138
+ * Stream every node of a kind one at a time (lazy) instead of materializing
139
+ * them all like {@link getNodesByKind}. For unbounded kinds (`function`,
140
+ * `method`) on a symbol-dense project the full array is gigabytes; the
141
+ * dynamic-edge synthesizers only scan-and-filter, so they iterate to keep
142
+ * memory O(1) in the node count rather than O(nodes) (#610).
143
+ */
144
+ iterateNodesByKind(kind: NodeKind): IterableIterator<Node>;
145
+ /**
146
+ * Get all nodes in the database
147
+ */
148
+ getAllNodes(): Node[];
149
+ /**
150
+ * Get nodes by exact name match (uses idx_nodes_name index)
151
+ */
152
+ getNodesByName(name: string): Node[];
153
+ /**
154
+ * Get nodes by exact qualified name match (uses idx_nodes_qualified_name index)
155
+ */
156
+ getNodesByQualifiedNameExact(qualifiedName: string): Node[];
157
+ /**
158
+ * Get nodes by lowercase name match (uses idx_nodes_lower_name expression index)
159
+ */
160
+ getNodesByLowerName(lowerName: string): Node[];
161
+ /**
162
+ * Search nodes by name using FTS with fallback to LIKE for better matching
163
+ *
164
+ * Search strategy:
165
+ * 1. Try FTS5 prefix match (query*) for word-start matching
166
+ * 2. If no results, try LIKE for substring matching (e.g., "signIn" finds "signInWithGoogle")
167
+ * 3. Score results based on match quality
168
+ */
169
+ searchNodes(query: string, options?: SearchOptions): SearchResult[];
170
+ /**
171
+ * Match-everything path used when the user supplied only field
172
+ * filters (`kind:function lang:typescript`) with no text. Returns
173
+ * candidates ordered by name; the caller's filter pass narrows to
174
+ * what was asked for.
175
+ */
176
+ private searchAllByFilters;
177
+ /**
178
+ * Fuzzy fallback: when zero FTS/LIKE hits, try an edit-distance
179
+ * sweep over the distinct symbol-name set. Caps `maxDist` at 2 so
180
+ * `getUssr` finds `getUser` but `process` doesn't match `prosody`.
181
+ * Bounded edit distance keeps each comparison cheap; the per-query
182
+ * scan is O(distinct-name-count) which is far smaller than total
183
+ * node count on any real codebase.
184
+ */
185
+ private searchNodesFuzzy;
186
+ /**
187
+ * FTS5 search with prefix matching
188
+ */
189
+ private searchNodesFTS;
190
+ /**
191
+ * LIKE-based substring search for cases where FTS doesn't match
192
+ * Useful for camelCase matching (e.g., "signIn" finds "signInWithGoogle")
193
+ */
194
+ private searchNodesLike;
195
+ /**
196
+ * Find nodes by exact name match
197
+ *
198
+ * Used for hybrid search - looks up symbols by exact name or case-insensitive match.
199
+ * Returns high-confidence matches for known symbol names extracted from query.
200
+ *
201
+ * @param names - Array of symbol names to look up
202
+ * @param options - Search options (kinds, languages, limit)
203
+ * @returns SearchResult array with exact matches scored at 1.0
204
+ */
205
+ findNodesByExactName(names: string[], options?: SearchOptions): SearchResult[];
206
+ /**
207
+ * Find nodes whose name contains a substring (LIKE-based).
208
+ * Useful for CamelCase-part matching where FTS fails because
209
+ * e.g. "TransportSearchAction" is one FTS token, not matchable by "Search"*.
210
+ *
211
+ * Results are ordered by name length (shorter = more likely to be the core type).
212
+ */
213
+ findNodesByNameSubstring(substring: string, options?: SearchOptions & {
214
+ excludePrefix?: boolean;
215
+ }): SearchResult[];
216
+ /**
217
+ * Insert a new edge
218
+ */
219
+ insertEdge(edge: Edge): void;
220
+ /**
221
+ * Insert multiple edges in a transaction
222
+ */
223
+ insertEdges(edges: Edge[]): void;
224
+ /**
225
+ * Delete all edges from a source node
226
+ */
227
+ deleteEdgesBySource(sourceId: string): void;
228
+ /**
229
+ * Get outgoing edges from a node
230
+ */
231
+ getOutgoingEdges(sourceId: string, kinds?: EdgeKind[], provenance?: string): Edge[];
232
+ /**
233
+ * Get incoming edges to a node
234
+ */
235
+ getIncomingEdges(targetId: string, kinds?: EdgeKind[]): Edge[];
236
+ /**
237
+ * Find all edges where both source and target are in the given node set.
238
+ * Useful for recovering inter-node connectivity after BFS.
239
+ */
240
+ findEdgesBetweenNodes(nodeIds: string[], kinds?: EdgeKind[]): Edge[];
241
+ /**
242
+ * Distinct file paths that DEPEND ON `filePath`: every file containing a
243
+ * symbol with a cross-file edge (any kind except `contains`) into a symbol
244
+ * of this file. This is the file-level projection of the symbol dependency
245
+ * graph and the basis for blast-radius / `affected` test selection.
246
+ *
247
+ * It deliberately does NOT restrict to `imports` edges. In this graph an
248
+ * `imports` edge connects a file to its own local import declarations
249
+ * (it is always same-file), so an imports-only lookup returns zero
250
+ * cross-file dependents for every file. The real cross-file dependency
251
+ * signal is the resolved call/reference graph — calls, references,
252
+ * instantiates, extends, implements, overrides, type_of, returns,
253
+ * decorates — exactly what {@link GraphTraverser.getImpactRadius} traverses.
254
+ * `contains` is excluded: a parent containing a symbol does not *depend* on
255
+ * it. One indexed query (idx_nodes_file_path + idx_edges_target_kind).
256
+ */
257
+ getDependentFilePaths(filePath: string): string[];
258
+ /**
259
+ * Distinct file paths that `filePath` DEPENDS ON — the inverse of
260
+ * {@link getDependentFilePaths}: every file containing a symbol that a
261
+ * symbol of this file has a cross-file edge into. Same edge-kind rules
262
+ * (all kinds except `contains`); same reason imports-only is insufficient.
263
+ */
264
+ getDependencyFilePaths(filePath: string): string[];
265
+ /**
266
+ * Remove ArkTS RTA call edges persisted at batch scope (cross-file).
267
+ * Per-file edges are removed by {@link deleteFile} during re-index.
268
+ */
269
+ deleteArkTSCrossFileCallEdges(): number;
270
+ /**
271
+ * Insert or update a file record
272
+ */
273
+ upsertFile(file: FileRecord): void;
274
+ /**
275
+ * Delete a file record and its nodes
276
+ */
277
+ deleteFile(filePath: string): void;
278
+ /**
279
+ * Get a file record by path
280
+ */
281
+ getFileByPath(filePath: string): FileRecord | null;
282
+ /**
283
+ * Get all tracked files
284
+ */
285
+ getAllFiles(): FileRecord[];
286
+ /**
287
+ * Most recent index timestamp (ms since epoch) across all tracked files, or
288
+ * null when nothing is indexed yet. One indexed aggregate, no per-row scan. (#329)
289
+ */
290
+ getLastIndexedAt(): number | null;
291
+ /**
292
+ * Get files that need re-indexing (hash changed)
293
+ */
294
+ getStaleFiles(currentHashes: Map<string, string>): FileRecord[];
295
+ /**
296
+ * Insert an unresolved reference
297
+ */
298
+ insertUnresolvedRef(ref: UnresolvedReference): void;
299
+ /**
300
+ * Insert multiple unresolved references in a transaction
301
+ */
302
+ insertUnresolvedRefsBatch(refs: UnresolvedReference[]): void;
303
+ /**
304
+ * Delete unresolved references from a node
305
+ */
306
+ deleteUnresolvedByNode(nodeId: string): void;
307
+ /**
308
+ * Get unresolved references by name (for resolution)
309
+ */
310
+ getUnresolvedByName(name: string): UnresolvedReference[];
311
+ /**
312
+ * Get all unresolved references
313
+ */
314
+ getUnresolvedReferences(): UnresolvedReference[];
315
+ /**
316
+ * Get the count of unresolved references without loading them into memory
317
+ */
318
+ getUnresolvedReferencesCount(): number;
319
+ /**
320
+ * Get a batch of unresolved references using LIMIT/OFFSET pagination.
321
+ * Used to process references in bounded memory chunks.
322
+ */
323
+ getUnresolvedReferencesBatch(offset: number, limit: number): UnresolvedReference[];
324
+ /**
325
+ * Get all tracked file paths (lightweight — no full FileRecord objects)
326
+ */
327
+ getAllFilePaths(): string[];
328
+ /**
329
+ * Get all distinct node names (lightweight — just name strings for pre-filtering)
330
+ */
331
+ getAllNodeNames(): string[];
332
+ /**
333
+ * Get unresolved references scoped to specific file paths.
334
+ * Uses the idx_unresolved_file_path index for efficient lookup.
335
+ */
336
+ getUnresolvedReferencesByFiles(filePaths: string[]): UnresolvedReference[];
337
+ /**
338
+ * Delete all unresolved references (after resolution)
339
+ */
340
+ clearUnresolvedReferences(): void;
341
+ /**
342
+ * Delete resolved references by their IDs
343
+ */
344
+ deleteResolvedReferences(fromNodeIds: string[]): void;
345
+ /**
346
+ * Delete specific resolved references by (fromNodeId, referenceName, referenceKind) tuples.
347
+ * More precise than deleteResolvedReferences — only removes refs that were actually resolved.
348
+ */
349
+ deleteSpecificResolvedReferences(refs: Array<{
350
+ fromNodeId: string;
351
+ referenceName: string;
352
+ referenceKind: string;
353
+ }>): void;
354
+ /**
355
+ * Lightweight (nodes, edges) count snapshot. Used around an index/sync
356
+ * run to compute true additions across extraction + resolution +
357
+ * synthesis — the per-phase counter in the orchestrator only sees
358
+ * extraction's contribution, which is why the CLI summary under-reported
359
+ * the edge count (resolution + synthesizer edges were invisible).
360
+ */
361
+ getNodeAndEdgeCount(): {
362
+ nodes: number;
363
+ edges: number;
364
+ };
365
+ /**
366
+ * Get graph statistics
367
+ */
368
+ getStats(): GraphStats;
369
+ /**
370
+ * Get a metadata value by key
371
+ */
372
+ getMetadata(key: string): string | null;
373
+ /**
374
+ * Set a metadata key-value pair (upsert)
375
+ */
376
+ setMetadata(key: string, value: string): void;
377
+ /**
378
+ * Get all metadata as a key-value record
379
+ */
380
+ getAllMetadata(): Record<string, string>;
381
+ /**
382
+ * Clear all data from the database
383
+ */
384
+ clear(): void;
385
+ }
386
+ //# sourceMappingURL=queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"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"}