codebaseiq 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 (432) hide show
  1. package/CHANGELOG.md +481 -0
  2. package/LICENSE +202 -0
  3. package/README.md +349 -0
  4. package/dist/augment-vue-worker.js +2 -0
  5. package/dist/call-graph-evidence-gNsxjCW8.d.ts +16 -0
  6. package/dist/change-analysis-types-CCtoCHbC.d.ts +9 -0
  7. package/dist/chunk-2Q2LW5JW.js +14 -0
  8. package/dist/chunk-2X7V4HS4.js +88 -0
  9. package/dist/chunk-34WBMAYK.js +2 -0
  10. package/dist/chunk-35NLDRZC.js +2 -0
  11. package/dist/chunk-362QOSFD.js +3 -0
  12. package/dist/chunk-3IER7Q6H.js +12 -0
  13. package/dist/chunk-3JSXXYTZ.js +345 -0
  14. package/dist/chunk-3LCDIREB.js +4 -0
  15. package/dist/chunk-476NR5B7.js +2 -0
  16. package/dist/chunk-4FC325IF.js +30 -0
  17. package/dist/chunk-4WKDMDEW.js +9 -0
  18. package/dist/chunk-4XTAUQFD.js +2 -0
  19. package/dist/chunk-5PUWMSDU.js +26 -0
  20. package/dist/chunk-5VKBFZZU.js +3 -0
  21. package/dist/chunk-6BQ3DSPK.js +2 -0
  22. package/dist/chunk-6CS3UQTN.js +3 -0
  23. package/dist/chunk-6MUIJMVL.js +6 -0
  24. package/dist/chunk-6NW7MU72.js +40 -0
  25. package/dist/chunk-6OAHRI2D.js +6 -0
  26. package/dist/chunk-6YTSKJJ3.js +2 -0
  27. package/dist/chunk-7FND7D7N.js +2 -0
  28. package/dist/chunk-7MGU3HPH.js +2 -0
  29. package/dist/chunk-7NVGT435.js +2 -0
  30. package/dist/chunk-7XAN6GKB.js +2 -0
  31. package/dist/chunk-AAQQPKCU.js +2 -0
  32. package/dist/chunk-ADTBPVUZ.js +21 -0
  33. package/dist/chunk-AKB7V7TV.js +2 -0
  34. package/dist/chunk-ANFVSJWQ.js +11 -0
  35. package/dist/chunk-B2OB55RR.js +3 -0
  36. package/dist/chunk-B3UYV66Z.js +4 -0
  37. package/dist/chunk-B75HZHUP.js +2 -0
  38. package/dist/chunk-BFFZDZQV.js +2 -0
  39. package/dist/chunk-BGBBVSH4.js +2 -0
  40. package/dist/chunk-BH5F2Q4O.js +2 -0
  41. package/dist/chunk-BJ6SQAEN.js +2 -0
  42. package/dist/chunk-BMYOV5GP.js +77 -0
  43. package/dist/chunk-BVAJLC5A.js +7 -0
  44. package/dist/chunk-C6SBF2WH.js +4 -0
  45. package/dist/chunk-C74PPYLA.js +3 -0
  46. package/dist/chunk-C7QOQX32.js +8 -0
  47. package/dist/chunk-CAUCPUOF.js +7 -0
  48. package/dist/chunk-CO5R3UNA.js +2 -0
  49. package/dist/chunk-CQP3THUZ.js +7 -0
  50. package/dist/chunk-CVYSU6BX.js +16 -0
  51. package/dist/chunk-CWONGW6P.js +3 -0
  52. package/dist/chunk-DDZ7VHWV.js +20 -0
  53. package/dist/chunk-DGXRDLV5.js +2 -0
  54. package/dist/chunk-DO6WQD2T.js +3 -0
  55. package/dist/chunk-DQMDCD24.js +2 -0
  56. package/dist/chunk-DR2LURYU.js +3 -0
  57. package/dist/chunk-DRENNWRG.js +2 -0
  58. package/dist/chunk-ECQBG7PW.js +564 -0
  59. package/dist/chunk-EF2R3WNQ.js +2 -0
  60. package/dist/chunk-ELNRLMC5.js +29 -0
  61. package/dist/chunk-EMNIHCRB.js +18 -0
  62. package/dist/chunk-ENCCHKM6.js +5 -0
  63. package/dist/chunk-EZNMUY67.js +5 -0
  64. package/dist/chunk-FAJQ7LWY.js +3 -0
  65. package/dist/chunk-FDGD5AB5.js +2 -0
  66. package/dist/chunk-FETNQCFO.js +117 -0
  67. package/dist/chunk-FM5BPL4V.js +60 -0
  68. package/dist/chunk-FQKZWM4L.js +49 -0
  69. package/dist/chunk-FW53T7EB.js +2 -0
  70. package/dist/chunk-G6XFR4ZL.js +4 -0
  71. package/dist/chunk-GCHRX4YW.js +4 -0
  72. package/dist/chunk-GTIYTDRE.js +562 -0
  73. package/dist/chunk-GTXSJDCO.js +2 -0
  74. package/dist/chunk-GW6Z3WGY.js +2 -0
  75. package/dist/chunk-H3LGFZVK.js +2 -0
  76. package/dist/chunk-HKQUXIFO.js +2 -0
  77. package/dist/chunk-HOA5YGOH.js +3 -0
  78. package/dist/chunk-HPJRBHVT.js +3 -0
  79. package/dist/chunk-HRWGYWRJ.js +49 -0
  80. package/dist/chunk-I2T2LLK2.js +4 -0
  81. package/dist/chunk-ICFDQHAM.js +3 -0
  82. package/dist/chunk-ID63777H.js +4 -0
  83. package/dist/chunk-IJ4HMYBE.js +3 -0
  84. package/dist/chunk-ILMHV3KM.js +2 -0
  85. package/dist/chunk-IOP6FWIM.js +2 -0
  86. package/dist/chunk-IRQOAM5G.js +2 -0
  87. package/dist/chunk-J77SU6VA.js +38 -0
  88. package/dist/chunk-JE3WZ6II.js +2 -0
  89. package/dist/chunk-JEJLSICM.js +4 -0
  90. package/dist/chunk-JOIRNPPY.js +2 -0
  91. package/dist/chunk-JSOYNVWH.js +3 -0
  92. package/dist/chunk-KMITESMT.js +2 -0
  93. package/dist/chunk-KUW32IRO.js +2 -0
  94. package/dist/chunk-KWVHSKHK.js +31 -0
  95. package/dist/chunk-L4NRUAGJ.js +18 -0
  96. package/dist/chunk-L57ZKWVG.js +6 -0
  97. package/dist/chunk-LTA3BRZX.js +2 -0
  98. package/dist/chunk-LU3BMVH2.js +10 -0
  99. package/dist/chunk-LZYFLFEH.js +2 -0
  100. package/dist/chunk-MOVBWNIP.js +16 -0
  101. package/dist/chunk-MVB3DAEY.js +3 -0
  102. package/dist/chunk-N3IQCBCF.js +29 -0
  103. package/dist/chunk-NAUD7LCA.js +2 -0
  104. package/dist/chunk-NCZUNH3E.js +109 -0
  105. package/dist/chunk-NE6IU5ZD.js +5 -0
  106. package/dist/chunk-NEDP5RFQ.js +60 -0
  107. package/dist/chunk-NMTSZXCL.js +2 -0
  108. package/dist/chunk-NNJ2KZZG.js +4 -0
  109. package/dist/chunk-NNO6A2PO.js +2 -0
  110. package/dist/chunk-NNOKTMZT.js +20 -0
  111. package/dist/chunk-O6QTXQPJ.js +13 -0
  112. package/dist/chunk-OANDYLJQ.js +2 -0
  113. package/dist/chunk-OFBE4NGP.js +2 -0
  114. package/dist/chunk-OGTFJ3XD.js +2 -0
  115. package/dist/chunk-OL6KJP3N.js +16 -0
  116. package/dist/chunk-OLF4MA5W.js +8 -0
  117. package/dist/chunk-OTOKVOJ3.js +2 -0
  118. package/dist/chunk-OVTS4DKB.js +2 -0
  119. package/dist/chunk-OZYRSMSH.js +3 -0
  120. package/dist/chunk-P5XHIJHI.js +2 -0
  121. package/dist/chunk-PBI2LFKH.js +2 -0
  122. package/dist/chunk-PIOMTC27.js +2 -0
  123. package/dist/chunk-PTAWHLVJ.js +6 -0
  124. package/dist/chunk-PX4RYAAK.js +2 -0
  125. package/dist/chunk-PYAB5SM6.js +7 -0
  126. package/dist/chunk-Q5ELPRKQ.js +2 -0
  127. package/dist/chunk-Q65CQ4XL.js +2 -0
  128. package/dist/chunk-Q72QSKXC.js +308 -0
  129. package/dist/chunk-QCN62RTF.js +3 -0
  130. package/dist/chunk-QDCCHMVZ.js +2 -0
  131. package/dist/chunk-QHRNXP3C.js +3 -0
  132. package/dist/chunk-QKPLA6IC.js +2 -0
  133. package/dist/chunk-QOKYJ33H.js +2 -0
  134. package/dist/chunk-QW7EP6WI.js +21 -0
  135. package/dist/chunk-R2NOK63J.js +4 -0
  136. package/dist/chunk-RBAS5ZHI.js +2 -0
  137. package/dist/chunk-RDBI2RXU.js +9 -0
  138. package/dist/chunk-RKEJ6VTF.js +73 -0
  139. package/dist/chunk-RR7SX44N.js +35 -0
  140. package/dist/chunk-RU65DDUP.js +215 -0
  141. package/dist/chunk-SELM5MER.js +2 -0
  142. package/dist/chunk-SGX43S2L.js +2 -0
  143. package/dist/chunk-SMRBZ6EC.js +2 -0
  144. package/dist/chunk-SNNWPCN7.js +4 -0
  145. package/dist/chunk-ST7V3SKN.js +2 -0
  146. package/dist/chunk-SWHMHUKF.js +2 -0
  147. package/dist/chunk-SYDJMPES.js +2 -0
  148. package/dist/chunk-SZD2KF7Q.js +2 -0
  149. package/dist/chunk-T3DGWPXM.js +3 -0
  150. package/dist/chunk-TFZB6XTM.js +239 -0
  151. package/dist/chunk-TIIC3ZE7.js +2 -0
  152. package/dist/chunk-TRRC4ZJ7.js +2 -0
  153. package/dist/chunk-TXXOEMZJ.js +2 -0
  154. package/dist/chunk-UBGWN7I4.js +2 -0
  155. package/dist/chunk-UCD3H3UZ.js +5 -0
  156. package/dist/chunk-UDS562V4.js +5 -0
  157. package/dist/chunk-UNBY47BC.js +3 -0
  158. package/dist/chunk-UP3BUZR5.js +74 -0
  159. package/dist/chunk-UXM43C7T.js +3 -0
  160. package/dist/chunk-UZGZB3VB.js +3 -0
  161. package/dist/chunk-VE5AVNMP.js +2 -0
  162. package/dist/chunk-VEXUL62T.js +2 -0
  163. package/dist/chunk-VFY6Y2H6.js +61 -0
  164. package/dist/chunk-VUIYB2V3.js +2 -0
  165. package/dist/chunk-VXYS3FZD.js +23 -0
  166. package/dist/chunk-WE5RZHZ7.js +5 -0
  167. package/dist/chunk-WMPRTGH2.js +2 -0
  168. package/dist/chunk-WOQBZPIF.js +2 -0
  169. package/dist/chunk-XLQ3GLWZ.js +2 -0
  170. package/dist/chunk-XME3HPXZ.js +2 -0
  171. package/dist/chunk-XMQ23E27.js +2 -0
  172. package/dist/chunk-XWUOUWYI.js +2 -0
  173. package/dist/chunk-XZEE23VG.js +5 -0
  174. package/dist/chunk-Y6KHROC3.js +7 -0
  175. package/dist/chunk-YESXMKX3.js +3 -0
  176. package/dist/chunk-YMGZZEW4.js +2 -0
  177. package/dist/chunk-YSNONTJ2.js +2 -0
  178. package/dist/chunk-YUKYB54I.js +1 -0
  179. package/dist/chunk-YVCIMIOC.js +12 -0
  180. package/dist/chunk-Z54RD7VL.js +3 -0
  181. package/dist/chunk-ZKX2FRS6.js +15 -0
  182. package/dist/chunk-ZMI2JSX2.js +2 -0
  183. package/dist/chunk-ZV3JV5G5.js +8 -0
  184. package/dist/chunk-ZZ3MWF33.js +4 -0
  185. package/dist/chunk-ZZXSWSN6.js +2 -0
  186. package/dist/cli-context-3SNLDYBM.js +3 -0
  187. package/dist/cli-context-T3B7W6GG.js +2 -0
  188. package/dist/cli-program-YNOXO72B.js +7 -0
  189. package/dist/cli.js +3 -0
  190. package/dist/code-DlqpBDd0.d.ts +121 -0
  191. package/dist/command-descriptors-6AOUKWW7.js +346 -0
  192. package/dist/command-descriptors-ZFKJSRUP.js +344 -0
  193. package/dist/command-panels-SZONPMLJ.js +3 -0
  194. package/dist/config-types-BNoC96J3.d.ts +560 -0
  195. package/dist/db-D7sauVFH.d.ts +95 -0
  196. package/dist/direct-navigation-DP4LVMRX.js +3 -0
  197. package/dist/direct-navigation-FLUS3BT6.js +2 -0
  198. package/dist/exploration-topology-BG4v30HZ.d.ts +256 -0
  199. package/dist/file-dep-graph-Bqg3t3Px.d.ts +4 -0
  200. package/dist/file-kind-BKCVMNUf.d.ts +10 -0
  201. package/dist/frontend-behavior-evidence-EfM4_9bc.d.ts +4 -0
  202. package/dist/git-history-ChNHbfZQ.d.ts +13 -0
  203. package/dist/graph-evidence-BIFqyisO.d.ts +131 -0
  204. package/dist/health-DJaZXg8I.d.ts +340 -0
  205. package/dist/index.d.ts +183 -0
  206. package/dist/index.js +2 -0
  207. package/dist/invocation-command-descriptors-QT2JMY5J.js +3 -0
  208. package/dist/invocation-command-descriptors-YN4QJEAX.js +2 -0
  209. package/dist/next-anchor-candidates-BwMczMvX.d.ts +90 -0
  210. package/dist/output-continuation-command-2V2SL4TD.js +2 -0
  211. package/dist/output-continuation-command-65J5IP3O.js +3 -0
  212. package/dist/postinstall.js +3 -0
  213. package/dist/project-reindex-5JOKXAXT.js +2 -0
  214. package/dist/project-reindex-UQBIKO4M.js +3 -0
  215. package/dist/queries/affected.d.ts +40 -0
  216. package/dist/queries/affected.js +2 -0
  217. package/dist/queries/anchors.d.ts +123 -0
  218. package/dist/queries/anchors.js +2 -0
  219. package/dist/queries/architecture.d.ts +166 -0
  220. package/dist/queries/architecture.js +2 -0
  221. package/dist/queries/bottlenecks.d.ts +68 -0
  222. package/dist/queries/bottlenecks.js +2 -0
  223. package/dist/queries/by-kind.d.ts +27 -0
  224. package/dist/queries/by-kind.js +2 -0
  225. package/dist/queries/call-graph.d.ts +52 -0
  226. package/dist/queries/call-graph.js +2 -0
  227. package/dist/queries/change-surface.d.ts +55 -0
  228. package/dist/queries/change-surface.js +2 -0
  229. package/dist/queries/cleanup-plan.d.ts +66 -0
  230. package/dist/queries/cleanup-plan.js +2 -0
  231. package/dist/queries/co-change.d.ts +90 -0
  232. package/dist/queries/co-change.js +2 -0
  233. package/dist/queries/code.d.ts +6 -0
  234. package/dist/queries/code.js +2 -0
  235. package/dist/queries/complexity-hotspots.d.ts +61 -0
  236. package/dist/queries/complexity-hotspots.js +2 -0
  237. package/dist/queries/complexity.d.ts +74 -0
  238. package/dist/queries/complexity.js +2 -0
  239. package/dist/queries/context.d.ts +146 -0
  240. package/dist/queries/context.js +2 -0
  241. package/dist/queries/convergence.d.ts +33 -0
  242. package/dist/queries/convergence.js +2 -0
  243. package/dist/queries/coupling.d.ts +32 -0
  244. package/dist/queries/coupling.js +2 -0
  245. package/dist/queries/cycles.d.ts +66 -0
  246. package/dist/queries/cycles.js +2 -0
  247. package/dist/queries/dataflow.d.ts +77 -0
  248. package/dist/queries/dataflow.js +2 -0
  249. package/dist/queries/dead.d.ts +58 -0
  250. package/dist/queries/dead.js +2 -0
  251. package/dist/queries/decorative-checkers.d.ts +34 -0
  252. package/dist/queries/decorative-checkers.js +2 -0
  253. package/dist/queries/deep-chains.d.ts +5 -0
  254. package/dist/queries/deep-chains.js +2 -0
  255. package/dist/queries/dependence-slice.d.ts +46 -0
  256. package/dist/queries/dependence-slice.js +2 -0
  257. package/dist/queries/dependency-depth.d.ts +49 -0
  258. package/dist/queries/dependency-depth.js +2 -0
  259. package/dist/queries/deps.d.ts +15 -0
  260. package/dist/queries/deps.js +2 -0
  261. package/dist/queries/diff-impact.d.ts +165 -0
  262. package/dist/queries/diff-impact.js +2 -0
  263. package/dist/queries/doc-drift.d.ts +115 -0
  264. package/dist/queries/doc-drift.js +2 -0
  265. package/dist/queries/drift.d.ts +79 -0
  266. package/dist/queries/drift.js +2 -0
  267. package/dist/queries/duplicate-bodies.d.ts +55 -0
  268. package/dist/queries/duplicate-bodies.js +2 -0
  269. package/dist/queries/entry-map.d.ts +121 -0
  270. package/dist/queries/entry-map.js +2 -0
  271. package/dist/queries/evidence.d.ts +70 -0
  272. package/dist/queries/evidence.js +2 -0
  273. package/dist/queries/extract-candidates.d.ts +52 -0
  274. package/dist/queries/extract-candidates.js +2 -0
  275. package/dist/queries/fan.d.ts +53 -0
  276. package/dist/queries/fan.js +2 -0
  277. package/dist/queries/files.d.ts +20 -0
  278. package/dist/queries/files.js +2 -0
  279. package/dist/queries/health.d.ts +8 -0
  280. package/dist/queries/health.js +2 -0
  281. package/dist/queries/hierarchy.d.ts +21 -0
  282. package/dist/queries/hierarchy.js +2 -0
  283. package/dist/queries/hotspots.d.ts +42 -0
  284. package/dist/queries/hotspots.js +2 -0
  285. package/dist/queries/imports.d.ts +34 -0
  286. package/dist/queries/imports.js +2 -0
  287. package/dist/queries/incomplete-migration.d.ts +90 -0
  288. package/dist/queries/incomplete-migration.js +2 -0
  289. package/dist/queries/index.d.ts +180 -0
  290. package/dist/queries/index.js +2 -0
  291. package/dist/queries/isolated.d.ts +24 -0
  292. package/dist/queries/isolated.js +2 -0
  293. package/dist/queries/locality-candidates.d.ts +51 -0
  294. package/dist/queries/locality-candidates.js +2 -0
  295. package/dist/queries/members.d.ts +21 -0
  296. package/dist/queries/members.js +2 -0
  297. package/dist/queries/methods.d.ts +43 -0
  298. package/dist/queries/methods.js +2 -0
  299. package/dist/queries/not-implemented.d.ts +33 -0
  300. package/dist/queries/not-implemented.js +2 -0
  301. package/dist/queries/outline.d.ts +22 -0
  302. package/dist/queries/outline.js +2 -0
  303. package/dist/queries/passthrough-candidates.d.ts +41 -0
  304. package/dist/queries/passthrough-candidates.js +2 -0
  305. package/dist/queries/plan-context.d.ts +33 -0
  306. package/dist/queries/plan-context.js +2 -0
  307. package/dist/queries/react-component-duplicates.d.ts +39 -0
  308. package/dist/queries/react-component-duplicates.js +2 -0
  309. package/dist/queries/react-hook-candidates.d.ts +44 -0
  310. package/dist/queries/react-hook-candidates.js +2 -0
  311. package/dist/queries/react-large-component-pressure.d.ts +34 -0
  312. package/dist/queries/react-large-component-pressure.js +2 -0
  313. package/dist/queries/recent-duplicates.d.ts +79 -0
  314. package/dist/queries/recent-duplicates.js +2 -0
  315. package/dist/queries/redundant-reexports.d.ts +37 -0
  316. package/dist/queries/redundant-reexports.js +2 -0
  317. package/dist/queries/reference-neighborhood.d.ts +4 -0
  318. package/dist/queries/reference-neighborhood.js +2 -0
  319. package/dist/queries/reference-reachability.d.ts +48 -0
  320. package/dist/queries/reference-reachability.js +2 -0
  321. package/dist/queries/refs.d.ts +13 -0
  322. package/dist/queries/refs.js +2 -0
  323. package/dist/queries/self-audit.d.ts +65 -0
  324. package/dist/queries/self-audit.js +2 -0
  325. package/dist/queries/similar-chains.d.ts +48 -0
  326. package/dist/queries/similar-chains.js +2 -0
  327. package/dist/queries/similar-files.d.ts +35 -0
  328. package/dist/queries/similar-files.js +2 -0
  329. package/dist/queries/similar-signatures.d.ts +46 -0
  330. package/dist/queries/similar-signatures.js +2 -0
  331. package/dist/queries/similar.d.ts +187 -0
  332. package/dist/queries/similar.js +2 -0
  333. package/dist/queries/slice.d.ts +4 -0
  334. package/dist/queries/slice.js +2 -0
  335. package/dist/queries/source-inspection.d.ts +209 -0
  336. package/dist/queries/source-inspection.js +2 -0
  337. package/dist/queries/source-search.d.ts +85 -0
  338. package/dist/queries/source-search.js +2 -0
  339. package/dist/queries/stale-abstractions.d.ts +72 -0
  340. package/dist/queries/stale-abstractions.js +2 -0
  341. package/dist/queries/stats.d.ts +15 -0
  342. package/dist/queries/stats.js +2 -0
  343. package/dist/queries/surface.d.ts +22 -0
  344. package/dist/queries/surface.js +2 -0
  345. package/dist/queries/symbols.d.ts +14 -0
  346. package/dist/queries/symbols.js +2 -0
  347. package/dist/queries/system-map.d.ts +449 -0
  348. package/dist/queries/system-map.js +2 -0
  349. package/dist/queries/system.d.ts +21 -0
  350. package/dist/queries/system.js +2 -0
  351. package/dist/queries/test-quality.d.ts +56 -0
  352. package/dist/queries/test-quality.js +2 -0
  353. package/dist/queries/trace.d.ts +68 -0
  354. package/dist/queries/trace.js +2 -0
  355. package/dist/queries/twin-ab.d.ts +66 -0
  356. package/dist/queries/twin-ab.js +2 -0
  357. package/dist/queries/twin-drift.d.ts +119 -0
  358. package/dist/queries/twin-drift.js +2 -0
  359. package/dist/queries/unused-imports.d.ts +4 -0
  360. package/dist/queries/unused-imports.js +2 -0
  361. package/dist/queries/unused-params.d.ts +38 -0
  362. package/dist/queries/unused-params.js +2 -0
  363. package/dist/queries/value-flow.d.ts +42 -0
  364. package/dist/queries/value-flow.js +2 -0
  365. package/dist/queries/vue-component-duplicates.d.ts +43 -0
  366. package/dist/queries/vue-component-duplicates.js +2 -0
  367. package/dist/queries/vue-composable-candidates.d.ts +44 -0
  368. package/dist/queries/vue-composable-candidates.js +2 -0
  369. package/dist/queries/vue-large-view-pressure.d.ts +41 -0
  370. package/dist/queries/vue-large-view-pressure.js +2 -0
  371. package/dist/queries/wrapper-candidates.d.ts +34 -0
  372. package/dist/queries/wrapper-candidates.js +2 -0
  373. package/dist/reindex-worker.js +3 -0
  374. package/dist/reindex.d.ts +254 -0
  375. package/dist/reindex.js +298 -0
  376. package/dist/repository-text-C0Q8VYdN.d.ts +19 -0
  377. package/dist/runtime.d.ts +555 -0
  378. package/dist/runtime.js +4 -0
  379. package/dist/rust-semantic-session-server.js +2 -0
  380. package/dist/rust-semantic-session-worker.js +2 -0
  381. package/dist/rust-semantic-worker.js +2 -0
  382. package/dist/scip-cli-B7N3haxa.d.ts +67 -0
  383. package/dist/source-snippet-_wrcgmZc.d.ts +15 -0
  384. package/dist/symbol-types-BIQwfoAx.d.ts +74 -0
  385. package/dist/typescript-mailbox-worker.js +2 -0
  386. package/dist/watch-server.js +8 -0
  387. package/docs/AGENT_GUIDE.md +148 -0
  388. package/docs/AI_FAILURE_MODES.md +43 -0
  389. package/docs/API.md +40 -0
  390. package/docs/API_EVOLUTION.md +77 -0
  391. package/docs/CLI_JSON_OUTPUT.md +389 -0
  392. package/docs/COMMAND_REFERENCE.md +294 -0
  393. package/docs/CONFIGURATION_WRITE_SAFETY.md +131 -0
  394. package/docs/DETECTOR_GUIDE.md +46 -0
  395. package/docs/DURABILITY.md +159 -0
  396. package/docs/INDEX_GENERATIONS.md +167 -0
  397. package/docs/LOCK_PROTOCOL.md +133 -0
  398. package/docs/MAILBOX_LIFECYCLE.md +224 -0
  399. package/docs/REGEX_POLICY.md +36 -0
  400. package/docs/REINDEX_METADATA_COMPATIBILITY.md +104 -0
  401. package/docs/RUST_DURABLE_SESSION_PROTOCOL.md +126 -0
  402. package/docs/SECURITY_MODEL.md +125 -0
  403. package/docs/TELEMETRY_RETENTION.md +84 -0
  404. package/docs/TIME_SEMANTICS.md +77 -0
  405. package/docs/WATCH_REFRESH_REQUESTS.md +123 -0
  406. package/docs/WINDOWS_SIDECAR_RELEASE.md +424 -0
  407. package/docs/accuracy-audit-checklist.md +304 -0
  408. package/docs/accuracy-hardening-goal.md +500 -0
  409. package/docs/analyzer-inventory.md +78 -0
  410. package/docs/analyzer-validation-protocol.md +84 -0
  411. package/docs/architecture-coherence-vision.md +254 -0
  412. package/docs/assets/codebaseiq-logo-dark.svg +21 -0
  413. package/docs/assets/codebaseiq-logo.svg +24 -0
  414. package/docs/locality-analyzer-design.md +193 -0
  415. package/docs/schemas/cli-json-envelope.schema.json +237 -0
  416. package/docs/schemas/cli-output-page.schema.json +104 -0
  417. package/docs/schemas/npm-release-state.schema.json +146 -0
  418. package/docs/schemas/observation-receipt.schema.json +164 -0
  419. package/docs/schemas/project-config.schema.json +318 -0
  420. package/docs/schemas/suppression-record.schema.json +79 -0
  421. package/docs/schemas/windows-sidecar-provenance.schema.json +137 -0
  422. package/package.json +482 -0
  423. package/scripts/build-codebaseiq-windows.mjs +197 -0
  424. package/scripts/codebaseiq-windows-provenance.mjs +364 -0
  425. package/scripts/evidence-product-contract.mjs +197 -0
  426. package/scripts/verify-codebaseiq-windows.mjs +29 -0
  427. package/skills/codebaseiq/SKILL.md +75 -0
  428. package/skills/codebaseiq/agents/openai.yaml +4 -0
  429. package/skills/codebaseiq-explore/SKILL.md +34 -0
  430. package/skills/codebaseiq-explore/agents/openai.yaml +4 -0
  431. package/skills/concrete-plan/SKILL.md +79 -0
  432. package/skills/concrete-plan/agents/openai.yaml +4 -0
@@ -0,0 +1,40 @@
1
+ import { S as ScipDatabase } from '../db-D7sauVFH.js';
2
+ import 'better-sqlite3';
3
+ import '../config-types-BNoC96J3.js';
4
+
5
+ interface AffectedResult {
6
+ symbol: string;
7
+ shortName: string;
8
+ file: string;
9
+ depth: number;
10
+ }
11
+ interface PossibleImpactCoverage {
12
+ status: 'accounted' | 'bounded' | 'incomplete';
13
+ edgeBasis: 'reverse-static-call-or-reference-evidence';
14
+ maxDepth: number;
15
+ reachedDepth: number;
16
+ perSymbolEvidenceLimit: number | null;
17
+ remainingFrontierSymbols: number;
18
+ reasons: string[];
19
+ semanticEvidence: 'complete' | 'incomplete' | 'unavailable' | 'incomplete-and-unavailable';
20
+ }
21
+ interface PossibleImpactClosureResult {
22
+ rows: AffectedResult[];
23
+ coverage: PossibleImpactCoverage;
24
+ }
25
+ /**
26
+ * Bounded reverse closure of symbols that may consume a given symbol.
27
+ * BFS from the target through the mention graph: depth 1 = direct consumers,
28
+ * depth 2 = consumers of consumers, etc.
29
+ */
30
+ declare function affected(db: ScipDatabase, symbolPattern: string, opts?: {
31
+ maxDepth?: number;
32
+ scope?: string;
33
+ }): AffectedResult[];
34
+ /** Conservative reverse reference/caller closure; rows are possible impacts, not predicted failures. */
35
+ declare function possibleImpactClosure(db: ScipDatabase, symbolPattern: string, opts?: {
36
+ maxDepth?: number;
37
+ scope?: string;
38
+ }): PossibleImpactClosureResult;
39
+
40
+ export { type AffectedResult, type PossibleImpactClosureResult, type PossibleImpactCoverage, affected, possibleImpactClosure };
@@ -0,0 +1,2 @@
1
+ import{a,b}from"../chunk-LU3BMVH2.js";import"../chunk-JOIRNPPY.js";import"../chunk-6CS3UQTN.js";import"../chunk-P5XHIJHI.js";import"../chunk-J77SU6VA.js";import"../chunk-UCD3H3UZ.js";import"../chunk-CVYSU6BX.js";import"../chunk-ELNRLMC5.js";import"../chunk-UZGZB3VB.js";import"../chunk-ZKX2FRS6.js";import"../chunk-NNOKTMZT.js";import"../chunk-SGX43S2L.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as affected,b as possibleImpactClosure};
2
+ //# sourceMappingURL=affected.js.map
@@ -0,0 +1,123 @@
1
+ import { F as FileKind } from '../file-kind-BKCVMNUf.js';
2
+ import { S as ScipDatabase } from '../db-D7sauVFH.js';
3
+ import { a as CalleeEvidenceSource } from '../call-graph-evidence-gNsxjCW8.js';
4
+ import 'better-sqlite3';
5
+ import '../config-types-BNoC96J3.js';
6
+
7
+ type AnchorDiscoveryMatchSource = 'symbol' | 'path' | 'documentation' | 'source';
8
+ interface AnchorDiscoveryTermMatch {
9
+ term: string;
10
+ sources: AnchorDiscoveryMatchSource[];
11
+ locations: Array<{
12
+ file: string;
13
+ line: number;
14
+ }>;
15
+ }
16
+ interface AnchorDiscoveryCandidate {
17
+ symbol: string;
18
+ label: string;
19
+ leaf: string;
20
+ file: string;
21
+ line: number;
22
+ endLine: number;
23
+ kind: 'callable' | 'type' | 'symbol';
24
+ fileKind: FileKind;
25
+ matches: AnchorDiscoveryTermMatch[];
26
+ focusLocations: Array<{
27
+ file: string;
28
+ line: number;
29
+ matchedTerms: string[];
30
+ }>;
31
+ matchedTerms: string[];
32
+ symbolMatchedTerms: string[];
33
+ symbolPhraseLength: number;
34
+ identityMatchedTerms: string[];
35
+ rarity: number;
36
+ symbolRarity: number;
37
+ /** Exact slash-delimited query path fragments matched by this candidate's repository path. */
38
+ queryPathMatches?: string[];
39
+ /** Exact current source size for the compiler-owned range, when available. */
40
+ sourceCharacters?: number;
41
+ }
42
+ interface AnchorDiscoveryRelation {
43
+ kind: 'call' | 'runtime-boundary';
44
+ fromSymbol: string;
45
+ fromLabel: string;
46
+ fromFile: string;
47
+ toSymbol: string;
48
+ toLabel: string;
49
+ toFile: string;
50
+ depth: number;
51
+ strength: 'exact' | 'derived';
52
+ evidence: CalleeEvidenceSource | 'scip-occurrence-callsite' | 'ast-member-import-candidate' | `runtime-boundary:${string}`;
53
+ callsiteLine: number | null;
54
+ runtimeBoundaryKey?: string;
55
+ }
56
+ interface AnchorDiscoveryGroup {
57
+ id: string;
58
+ kind: 'cross-boundary-flow' | 'parallel-paths' | 'connected-flow' | 'shared-callee-owners';
59
+ roots: AnchorDiscoveryCandidate[];
60
+ keyAnchors: AnchorDiscoveryCandidate[];
61
+ candidateOwnerCount: number;
62
+ omittedCandidateOwners: AnchorDiscoveryCandidate[];
63
+ ownerRecoveryCommands: string[];
64
+ upstreamEntries: AnchorDiscoveryUpstreamEntry[];
65
+ matchedTerms: string[];
66
+ /** Exact slash-delimited query path fragments covered by the group's roots. */
67
+ queryPathMatches?: string[];
68
+ relations: AnchorDiscoveryRelation[];
69
+ relationCount: number;
70
+ /** Number of independently named sides that carry at least one causal edge. */
71
+ parallelConnectedSides?: number;
72
+ /** Number of independently named sides whose matched root has an outgoing causal edge. */
73
+ parallelOrchestrationSides?: number;
74
+ /** Query vocabulary that occurs in the repository path on every batched side. */
75
+ parallelSharedPathTerms?: string[];
76
+ /** Rarest repository frequency among the shared path terms; lower is more discriminative. */
77
+ parallelSharedPathFrequency?: number;
78
+ /** Matched roots that initiate at least one returned causal relationship. */
79
+ orchestrationRootCount?: number;
80
+ omittedRelations: number;
81
+ systemMapCommand: string;
82
+ }
83
+ interface AnchorDiscoveryUpstreamEntry {
84
+ name: string;
85
+ file: string;
86
+ line: number;
87
+ endLine: number;
88
+ callsiteLine: number;
89
+ }
90
+ interface AnchorDiscoveryResult {
91
+ query: string;
92
+ /** Slash-delimited repository path fragments preserved from the original query. */
93
+ queryPathFragments?: string[];
94
+ normalizedTerms: string[];
95
+ matchedTerms: string[];
96
+ unmatchedTerms: string[];
97
+ groups: AnchorDiscoveryGroup[];
98
+ candidateRoots: AnchorDiscoveryCandidate[];
99
+ candidateRootCount: number;
100
+ analyzedRootCount: number;
101
+ omittedRootCount: number;
102
+ omittedGroupCount: number;
103
+ scannedFiles: number;
104
+ scannedBytes: number;
105
+ recoveryCommand: string | null;
106
+ }
107
+ interface AnchorDiscoveryOptions {
108
+ scope?: string;
109
+ limit?: number;
110
+ full?: boolean;
111
+ semantic?: boolean;
112
+ }
113
+ /**
114
+ * Locate a small set of graph starting points from vocabulary that already
115
+ * exists in the repository. Query words are normalized mechanically; their
116
+ * meaning is not inferred. The highest-ranked owning definitions receive a
117
+ * bounded two-hop call expansion so connected candidates can be selected in
118
+ * one model-visible packet.
119
+ */
120
+ declare function discoverAnchors(db: ScipDatabase, query: string, options?: AnchorDiscoveryOptions): AnchorDiscoveryResult;
121
+ declare function normalizeAnchorQuery(query: string): string[];
122
+
123
+ export { type AnchorDiscoveryCandidate, type AnchorDiscoveryGroup, type AnchorDiscoveryMatchSource, type AnchorDiscoveryOptions, type AnchorDiscoveryRelation, type AnchorDiscoveryResult, type AnchorDiscoveryTermMatch, type AnchorDiscoveryUpstreamEntry, discoverAnchors, normalizeAnchorQuery };
@@ -0,0 +1,2 @@
1
+ import{a,b}from"../chunk-ENCCHKM6.js";import"../chunk-L57ZKWVG.js";import"../chunk-SMRBZ6EC.js";import"../chunk-XLQ3GLWZ.js";import"../chunk-JEJLSICM.js";import"../chunk-FQKZWM4L.js";import"../chunk-VE5AVNMP.js";import"../chunk-7FND7D7N.js";import"../chunk-BGBBVSH4.js";import"../chunk-JOIRNPPY.js";import"../chunk-6CS3UQTN.js";import"../chunk-P5XHIJHI.js";import"../chunk-J77SU6VA.js";import"../chunk-UCD3H3UZ.js";import"../chunk-CVYSU6BX.js";import"../chunk-ELNRLMC5.js";import"../chunk-UZGZB3VB.js";import"../chunk-ZKX2FRS6.js";import"../chunk-C7QOQX32.js";import"../chunk-TIIC3ZE7.js";import"../chunk-YUKYB54I.js";import"../chunk-OANDYLJQ.js";import"../chunk-NNOKTMZT.js";import"../chunk-SGX43S2L.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as discoverAnchors,b as normalizeAnchorQuery};
2
+ //# sourceMappingURL=anchors.js.map
@@ -0,0 +1,166 @@
1
+ import { G as ArchitectureConfig } from '../config-types-BNoC96J3.js';
2
+ import { S as ScipDatabase } from '../db-D7sauVFH.js';
3
+ import 'better-sqlite3';
4
+
5
+ interface TestBoundaryViolation {
6
+ testFile: string;
7
+ /** Boundary of the code this test covers, or null when no subject was found. */
8
+ ownerBoundary: string | null;
9
+ importedFile: string;
10
+ importedBoundary: string;
11
+ reason: 'outside-owner-policy' | 'unowned-test';
12
+ }
13
+
14
+ type ArchitecturePolicyStatus = 'allowed' | 'forbidden' | 'undeclared';
15
+ interface ArchitectureFileEdge {
16
+ fromFile: string;
17
+ toFile: string;
18
+ }
19
+ interface ArchitectureBoundaryEdge {
20
+ from: string;
21
+ to: string;
22
+ policyStatus: ArchitecturePolicyStatus;
23
+ fileEdgeCount: number;
24
+ importerCount: number;
25
+ importedFileCount: number;
26
+ examples: ArchitectureFileEdge[];
27
+ /**
28
+ * True when the entire boundary dependency rests on a single import. Not a
29
+ * violation — a signal that the edge is incidental rather than load-bearing,
30
+ * and therefore cheap to remove if it was never intended.
31
+ */
32
+ fragile: boolean;
33
+ }
34
+ interface ArchitectureBoundarySummary {
35
+ name: string;
36
+ paths: string[];
37
+ fileCount: number;
38
+ dependencyPolicyDeclared: boolean;
39
+ }
40
+ interface ArchitectureAmbiguousFile {
41
+ file: string;
42
+ boundaries: string[];
43
+ }
44
+ interface ArchitectureReciprocalPair {
45
+ boundaries: [string, string];
46
+ forward: ArchitectureBoundaryEdge;
47
+ reverse: ArchitectureBoundaryEdge;
48
+ }
49
+ interface ArchitectureCycle {
50
+ boundaries: string[];
51
+ internalEdges: ArchitectureBoundaryEdge[];
52
+ /** Least-broad internal edge(s), useful as inspection points rather than automatic repairs. */
53
+ narrowestEdges: ArchitectureBoundaryEdge[];
54
+ violatesPolicy: boolean;
55
+ }
56
+ interface ArchitectureCoverage {
57
+ totalFiles: number;
58
+ mappedFiles: number;
59
+ unmappedFiles: string[];
60
+ ambiguousFiles: ArchitectureAmbiguousFile[];
61
+ }
62
+ interface ArchitecturePolicyCoverage {
63
+ declaredRows: number;
64
+ totalBoundaries: number;
65
+ missingRows: string[];
66
+ requiresCompletePolicy: boolean;
67
+ requiresCompleteCoverage?: boolean;
68
+ requiresMinimalPolicy: boolean;
69
+ }
70
+ /** A declared allowance that no observed edge uses. */
71
+ interface ArchitectureStaleAllowance {
72
+ from: string;
73
+ to: string;
74
+ }
75
+ /** A boundary exceeding a configured size or connectivity limit. */
76
+ interface ArchitectureBoundaryLimit {
77
+ boundary: string;
78
+ kind: 'fan-out' | 'files';
79
+ observed: number;
80
+ limit: number;
81
+ }
82
+ /** One directed dependency between two sub-units inside a single boundary. */
83
+ interface ArchitectureSubUnitEdge {
84
+ from: string;
85
+ to: string;
86
+ fileEdgeCount: number;
87
+ examples: ArchitectureFileEdge[];
88
+ }
89
+ /**
90
+ * A boundary whose own members form a dependency cycle.
91
+ *
92
+ * `requireAcyclic` quotients the file graph by boundary and discards every
93
+ * intra-boundary edge, so a cycle wholly inside one boundary is reported as
94
+ * absent. Such a boundary is "too coarse to check": its clean status carries
95
+ * no information about the code it contains.
96
+ */
97
+ interface ArchitectureCoarseBoundary {
98
+ boundary: string;
99
+ violatesPolicy: boolean;
100
+ subUnits: string[];
101
+ internalEdges: ArchitectureSubUnitEdge[];
102
+ /** Least-broad internal edge(s) — the cheapest inspection points. */
103
+ narrowestEdges: ArchitectureSubUnitEdge[];
104
+ }
105
+ interface ArchitectureReport {
106
+ configured: boolean;
107
+ boundaries: ArchitectureBoundarySummary[];
108
+ edges: ArchitectureBoundaryEdge[];
109
+ forbiddenEdges: ArchitectureBoundaryEdge[];
110
+ reciprocalPairs: ArchitectureReciprocalPair[];
111
+ cycles: ArchitectureCycle[];
112
+ /** Boundaries hiding an internal cycle that the boundary graph cannot express. */
113
+ coarseBoundaries: ArchitectureCoarseBoundary[];
114
+ /** Declared allowances with no observed edge — policy wider than reality. */
115
+ staleAllowances: ArchitectureStaleAllowance[];
116
+ /** Boundaries over a configured fan-out or file-count limit. */
117
+ boundaryLimits: ArchitectureBoundaryLimit[];
118
+ /** Report-only: boundary edges resting on exactly one import. */
119
+ fragileEdges: ArchitectureBoundaryEdge[];
120
+ /** Test files importing beyond what their subject's boundary may reach. */
121
+ testBoundaryViolations: TestBoundaryViolation[];
122
+ coverage: ArchitectureCoverage;
123
+ policyCoverage: ArchitecturePolicyCoverage;
124
+ }
125
+ declare const ARCHITECTURE_BASELINE_PREFIX = "architecture:";
126
+ /**
127
+ * Evaluate a file dependency graph against project-owned architectural
128
+ * boundaries. This pure seam deliberately separates graph facts from the
129
+ * repository-specific judgment recorded in ArchitectureConfig.
130
+ */
131
+ declare function analyzeArchitectureGraph(fileGraph: ReadonlyMap<string, ReadonlySet<string>>, indexedFiles: readonly string[], config?: ArchitectureConfig, opts?: {
132
+ isModuleHierarchyFile?: (file: string) => boolean;
133
+ testBoundaryViolations?: TestBoundaryViolation[];
134
+ }): ArchitectureReport;
135
+ /** Build and analyze the current project's import dependency graph. */
136
+ declare function architecture(db: ScipDatabase, opts?: {
137
+ scope?: string;
138
+ }): ArchitectureReport;
139
+ /**
140
+ * Produce responsibility-level identities for explicit architecture failures.
141
+ * File examples are intentionally excluded so ordinary refactors do not churn
142
+ * the ratchet while the same boundary relationship remains.
143
+ */
144
+ declare function architectureFindingIdentities(report: ArchitectureReport): string[];
145
+ /** True when configuration contains at least one closed rule worth enforcing. */
146
+ declare function hasEnforceableArchitecturePolicy(config?: ArchitectureConfig): boolean;
147
+ /**
148
+ * Find boundaries whose members form a cycle the boundary graph cannot show.
149
+ *
150
+ * Works on the *quotient by sub-unit* (a file's containing directory), not the
151
+ * file graph: `cycles` reports no file-level loop in this repository's large
152
+ * boundaries even though several of them are internally cyclic, because a
153
+ * quotient can be cyclic while the graph it quotients is acyclic.
154
+ *
155
+ * `isModuleHierarchyFile` removes re-export bookkeeping (barrels, entries,
156
+ * tests) so normal parent/child module structure is not reported as debt.
157
+ * Rust `mod.rs` and `index.ts` module declarations fall out through that rule
158
+ * because a pure re-export file defines nothing of its own.
159
+ *
160
+ * Directory nesting alone is deliberately *not* a suppression signal: a
161
+ * boundary's root files and one of its sub-directories depending on each other
162
+ * is the most common real cycle, not module bookkeeping.
163
+ */
164
+ declare function detectCoarseBoundaries(fileGraph: ReadonlyMap<string, ReadonlySet<string>>, filesByBoundary: ReadonlyMap<string, ReadonlySet<string>>, isModuleHierarchyFile?: (file: string) => boolean, violatesPolicy?: boolean, granularityFor?: (boundary: string) => 'directory' | 'file'): ArchitectureCoarseBoundary[];
165
+
166
+ export { ARCHITECTURE_BASELINE_PREFIX, type ArchitectureAmbiguousFile, type ArchitectureBoundaryEdge, type ArchitectureBoundaryLimit, type ArchitectureBoundarySummary, type ArchitectureCoarseBoundary, type ArchitectureCoverage, type ArchitectureCycle, type ArchitectureFileEdge, type ArchitecturePolicyCoverage, type ArchitecturePolicyStatus, type ArchitectureReciprocalPair, type ArchitectureReport, type ArchitectureStaleAllowance, type ArchitectureSubUnitEdge, analyzeArchitectureGraph, architecture, architectureFindingIdentities, detectCoarseBoundaries, hasEnforceableArchitecturePolicy };
@@ -0,0 +1,2 @@
1
+ import{a,b,c,d,e,f}from"../chunk-WMPRTGH2.js";import"../chunk-QDCCHMVZ.js";import"../chunk-35NLDRZC.js";import"../chunk-C7QOQX32.js";import"../chunk-TIIC3ZE7.js";import"../chunk-YUKYB54I.js";import"../chunk-OANDYLJQ.js";import"../chunk-NNOKTMZT.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as ARCHITECTURE_BASELINE_PREFIX,b as analyzeArchitectureGraph,c as architecture,d as architectureFindingIdentities,f as detectCoarseBoundaries,e as hasEnforceableArchitecturePolicy};
2
+ //# sourceMappingURL=architecture.js.map
@@ -0,0 +1,68 @@
1
+ import { S as ScipDatabase } from '../db-D7sauVFH.js';
2
+ import 'better-sqlite3';
3
+ import '../config-types-BNoC96J3.js';
4
+
5
+ interface CoordinationHubCalleeEvidence {
6
+ symbol: string;
7
+ shortName: string;
8
+ file: string;
9
+ evidenceStrength: 'exact' | 'candidate';
10
+ evidenceSource: string;
11
+ }
12
+ interface BottleneckResult {
13
+ symbol: string;
14
+ shortName: string;
15
+ fanIn: number;
16
+ fanOut: number;
17
+ callerFiles: string[];
18
+ candidateCallerFiles?: string[];
19
+ externalCallees: Array<{
20
+ symbol: string;
21
+ shortName: string;
22
+ file: string;
23
+ }>;
24
+ externalCalleeEvidence?: CoordinationHubCalleeEvidence[];
25
+ candidateExternalCallees?: string[];
26
+ inputBasis?: 'mixed-static-call-or-reference-evidence';
27
+ /** fanIn * fanOut — higher = more central coupling hub */
28
+ score: number;
29
+ definedIn: string;
30
+ actionTier: 'signal';
31
+ riskKind: 'coordination-hotspot';
32
+ evidenceReasons: string[];
33
+ recommendation: string;
34
+ }
35
+ type BottleneckSemanticEvidenceStatus = 'complete' | 'incomplete' | 'unavailable' | 'incomplete-and-unavailable' | 'disabled';
36
+ interface BottleneckCoverage {
37
+ semanticEvidence: {
38
+ enabled: boolean;
39
+ status: BottleneckSemanticEvidenceStatus;
40
+ incompleteSymbolCount: number;
41
+ unavailableSymbolCount: number;
42
+ excludedSymbolCount: number;
43
+ };
44
+ }
45
+ interface BottlenecksEvidenceResult {
46
+ rows: BottleneckResult[];
47
+ coverage: BottleneckCoverage;
48
+ }
49
+ interface BottlenecksOptions {
50
+ limit?: number;
51
+ scope?: string;
52
+ minFanIn?: number;
53
+ minFanOut?: number;
54
+ scanLimit?: number;
55
+ semantic?: boolean;
56
+ }
57
+ /**
58
+ * Find coordination hubs: symbols with both many incoming caller/reference
59
+ * evidence files and many outgoing cross-file callable targets.
60
+ *
61
+ * This is a coordination-hub heuristic, not a graph-theoretic articulation
62
+ * point or proof that a change is dangerous. Score = fanIn * fanOut.
63
+ */
64
+ declare function bottlenecks(db: ScipDatabase, opts?: BottlenecksOptions): BottleneckResult[];
65
+ declare function bottlenecksEvidence(db: ScipDatabase, opts?: BottlenecksOptions): BottlenecksEvidenceResult;
66
+ declare function coordinationHubs(db: ScipDatabase, opts?: BottlenecksOptions): BottleneckResult[];
67
+
68
+ export { type BottleneckCoverage, type BottleneckResult, type BottleneckSemanticEvidenceStatus, type BottlenecksEvidenceResult, type BottlenecksOptions, type CoordinationHubCalleeEvidence, bottlenecks, bottlenecksEvidence, coordinationHubs };
@@ -0,0 +1,2 @@
1
+ import{a,b,c}from"../chunk-PBI2LFKH.js";import"../chunk-B75HZHUP.js";import"../chunk-7FND7D7N.js";import"../chunk-BGBBVSH4.js";import"../chunk-JOIRNPPY.js";import"../chunk-6CS3UQTN.js";import"../chunk-P5XHIJHI.js";import"../chunk-J77SU6VA.js";import"../chunk-UCD3H3UZ.js";import"../chunk-CVYSU6BX.js";import"../chunk-ELNRLMC5.js";import"../chunk-UZGZB3VB.js";import"../chunk-ZKX2FRS6.js";import"../chunk-C7QOQX32.js";import"../chunk-TIIC3ZE7.js";import"../chunk-YUKYB54I.js";import"../chunk-OANDYLJQ.js";import"../chunk-NNOKTMZT.js";import"../chunk-SGX43S2L.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as bottlenecks,b as bottlenecksEvidence,c as coordinationHubs};
2
+ //# sourceMappingURL=bottlenecks.js.map
@@ -0,0 +1,27 @@
1
+ import { S as ScipDatabase } from '../db-D7sauVFH.js';
2
+ import 'better-sqlite3';
3
+ import '../config-types-BNoC96J3.js';
4
+
5
+ interface ByKindResult {
6
+ symbol: string;
7
+ shortName: string;
8
+ kind: number;
9
+ kindName: string;
10
+ relativePath: string;
11
+ startLine: number;
12
+ endLine: number;
13
+ }
14
+ declare function byKind(db: ScipDatabase, kindQuery: string, opts?: {
15
+ scope?: string;
16
+ limit?: number;
17
+ }): ByKindResult[];
18
+ /** List all symbol kinds present in the index with counts */
19
+ declare function kindCounts(db: ScipDatabase, opts?: {
20
+ scope?: string;
21
+ }): Array<{
22
+ kind: number;
23
+ kindName: string;
24
+ count: number;
25
+ }>;
26
+
27
+ export { type ByKindResult, byKind, kindCounts };
@@ -0,0 +1,2 @@
1
+ import{a,b}from"../chunk-VXYS3FZD.js";import"../chunk-SGX43S2L.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as byKind,b as kindCounts};
2
+ //# sourceMappingURL=by-kind.js.map
@@ -0,0 +1,52 @@
1
+ import { S as ScipDatabase } from '../db-D7sauVFH.js';
2
+ import 'better-sqlite3';
3
+ import '../config-types-BNoC96J3.js';
4
+
5
+ interface CallGraphEvidenceRow {
6
+ symbol: string;
7
+ shortName: string;
8
+ file: string;
9
+ relationship: 'resolved-call' | 'reference-candidate' | 'chunk-candidate';
10
+ evidenceStrength: 'exact' | 'candidate';
11
+ evidenceSource: string;
12
+ }
13
+ interface CallGraphResult {
14
+ symbol: string;
15
+ shortName: string;
16
+ /** Symbols that call this one (incoming) */
17
+ callers: Array<{
18
+ symbol: string;
19
+ shortName: string;
20
+ file: string;
21
+ }>;
22
+ /** Symbols called by this one (outgoing) */
23
+ callees: Array<{
24
+ symbol: string;
25
+ shortName: string;
26
+ file: string;
27
+ }>;
28
+ callerEvidence?: CallGraphEvidenceRow[];
29
+ calleeEvidence?: CallGraphEvidenceRow[];
30
+ coverage?: {
31
+ scope: 'indexed-static-call-graph';
32
+ blindSpots: string[];
33
+ semanticEvidence: {
34
+ enabled: boolean;
35
+ incoming: SemanticEvidenceCoverageStatus;
36
+ outgoing: SemanticEvidenceCoverageStatus;
37
+ };
38
+ };
39
+ }
40
+ /**
41
+ * Build a call graph for a symbol: who calls it (incoming) and
42
+ * what it calls (outgoing).
43
+ *
44
+ * Incoming: other symbols whose definition ranges contain a reference to this symbol.
45
+ * Outgoing: symbols referenced within this symbol's definition range.
46
+ */
47
+ declare function callGraph(db: ScipDatabase, symbolPattern: string, opts?: {
48
+ semantic?: boolean;
49
+ }): CallGraphResult | null;
50
+ type SemanticEvidenceCoverageStatus = 'complete' | 'incomplete' | 'unavailable' | 'incomplete-and-unavailable' | 'disabled';
51
+
52
+ export { type CallGraphEvidenceRow, type CallGraphResult, callGraph };
@@ -0,0 +1,2 @@
1
+ import{a}from"../chunk-KMITESMT.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-JOIRNPPY.js";import"../chunk-6CS3UQTN.js";import"../chunk-P5XHIJHI.js";import"../chunk-J77SU6VA.js";import"../chunk-UCD3H3UZ.js";import"../chunk-CVYSU6BX.js";import"../chunk-ELNRLMC5.js";import"../chunk-UZGZB3VB.js";import"../chunk-ZKX2FRS6.js";import"../chunk-NNOKTMZT.js";import"../chunk-SGX43S2L.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as callGraph};
2
+ //# sourceMappingURL=call-graph.js.map
@@ -0,0 +1,55 @@
1
+ import { S as ScipDatabase } from '../db-D7sauVFH.js';
2
+ import 'better-sqlite3';
3
+ import '../config-types-BNoC96J3.js';
4
+
5
+ type ChangeRiskReasonKind = 'operational-root' | 'published-api' | 'metadata-unavailable';
6
+ interface ChangeRiskReason {
7
+ kind: ChangeRiskReasonKind;
8
+ detail: string;
9
+ }
10
+ interface FileChangeRiskMetadata {
11
+ operationalRoot: boolean;
12
+ publishedApi: boolean;
13
+ coverage: 'complete' | 'partial';
14
+ reasons: ChangeRiskReason[];
15
+ }
16
+
17
+ type ChangeSurfaceRiskReason = ChangeRiskReason | {
18
+ kind: 'external-consumers';
19
+ detail: string;
20
+ } | {
21
+ kind: 'semantic-consumer-coverage';
22
+ detail: string;
23
+ };
24
+ type ChangeSurfaceConsumerCoverage = 'complete' | 'incomplete' | 'unavailable' | 'incomplete-and-unavailable' | 'disabled';
25
+ interface ChangeSurfaceEntry {
26
+ symbol: string;
27
+ shortName: string;
28
+ startLine: number;
29
+ endLine: number;
30
+ externalConsumers: number | null;
31
+ knownExternalConsumers: number;
32
+ consumerCoverage: ChangeSurfaceConsumerCoverage;
33
+ externalConsumerRiskLevel?: 'low' | 'medium' | 'high';
34
+ riskLevel: 'low' | 'medium' | 'high';
35
+ riskReasons?: ChangeSurfaceRiskReason[];
36
+ }
37
+ interface ChangeSurfaceResult {
38
+ file: string;
39
+ symbols: ChangeSurfaceEntry[];
40
+ totalExternalConsumers: number | null;
41
+ knownTotalExternalConsumers: number;
42
+ fileRisk?: FileChangeRiskMetadata;
43
+ }
44
+ /**
45
+ * Pre-change briefing for a file. For each symbol defined in the file,
46
+ * reports external consumer count and blast-radius risk.
47
+ *
48
+ * Symbol ranges come from getDefinitionsForFile so they are source-corrected
49
+ * and match `scip symbols` output.
50
+ */
51
+ declare function changeSurface(db: ScipDatabase, filePattern: string, opts?: {
52
+ semantic?: boolean;
53
+ }): ChangeSurfaceResult | null;
54
+
55
+ export { type ChangeSurfaceEntry, type ChangeSurfaceResult, type ChangeSurfaceRiskReason, changeSurface };
@@ -0,0 +1,2 @@
1
+ import{a}from"../chunk-ANFVSJWQ.js";import"../chunk-GTXSJDCO.js";import"../chunk-7FND7D7N.js";import"../chunk-BGBBVSH4.js";import"../chunk-JOIRNPPY.js";import"../chunk-6CS3UQTN.js";import"../chunk-P5XHIJHI.js";import"../chunk-J77SU6VA.js";import"../chunk-UCD3H3UZ.js";import"../chunk-CVYSU6BX.js";import"../chunk-ELNRLMC5.js";import"../chunk-UZGZB3VB.js";import"../chunk-ZKX2FRS6.js";import"../chunk-C7QOQX32.js";import"../chunk-TIIC3ZE7.js";import"../chunk-YUKYB54I.js";import"../chunk-OANDYLJQ.js";import"../chunk-NNOKTMZT.js";import"../chunk-SGX43S2L.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as changeSurface};
2
+ //# sourceMappingURL=change-surface.js.map
@@ -0,0 +1,66 @@
1
+ import { S as ScipDatabase } from '../db-D7sauVFH.js';
2
+ import 'better-sqlite3';
3
+ import '../config-types-BNoC96J3.js';
4
+
5
+ interface CleanupPlanEntry {
6
+ symbol: string;
7
+ shortName: string;
8
+ file: string;
9
+ startLine: number;
10
+ endLine: number;
11
+ loc: number;
12
+ /**
13
+ * 'graph-fact': zero references anywhere — deletable today.
14
+ * 'cascade': becomes dead once earlier batches are deleted.
15
+ */
16
+ evidence: 'graph-fact' | 'cascade';
17
+ }
18
+ interface CleanupBatch {
19
+ /** 0 = deletable now; n = deletable after batch n-1 is applied. */
20
+ depth: number;
21
+ entries: CleanupPlanEntry[];
22
+ loc: number;
23
+ /** Files whose every definition is removed once this batch lands. */
24
+ filesEmptied: string[];
25
+ }
26
+ interface CleanupPlanResult {
27
+ batches: CleanupBatch[];
28
+ totalSymbols: number;
29
+ totalLoc: number;
30
+ /** Cascade candidates blocked by references outside the removal set. */
31
+ blocked: Array<{
32
+ shortName: string;
33
+ file: string;
34
+ blockingFiles: string[];
35
+ }>;
36
+ }
37
+ /**
38
+ * Cascade cleanup plan: dead-code analysis is single-pass, but deletion
39
+ * cascades — once batch 0 is gone, symbols referenced only from batch 0
40
+ * become dead too. This runs the fixpoint and emits an ordered plan.
41
+ *
42
+ * Cascade rule (conservative): a symbol joins batch n+1 only when every
43
+ * resolved reference site lies inside an already-removed definition's range.
44
+ * Any reference that can't be placed inside the removal set — including
45
+ * unattributable file-level references — blocks the cascade for that symbol.
46
+ *
47
+ * Apply batch by batch, re-running the project's typecheck between batches.
48
+ */
49
+ declare function cleanupPlan(db: ScipDatabase, opts?: {
50
+ scope?: string;
51
+ minLoc?: number;
52
+ maxDepth?: number;
53
+ scanLimit?: number;
54
+ }): CleanupPlanResult;
55
+ /** Line-range membership for the removal set, per file. */
56
+ declare class RemovedRangeIndex {
57
+ private readonly ranges;
58
+ add(entry: {
59
+ file: string;
60
+ startLine: number;
61
+ endLine: number;
62
+ }): void;
63
+ contains(file: string, line: number): boolean;
64
+ }
65
+
66
+ export { type CleanupBatch, type CleanupPlanEntry, type CleanupPlanResult, RemovedRangeIndex, cleanupPlan };
@@ -0,0 +1,2 @@
1
+ import{a,b}from"../chunk-BVAJLC5A.js";import"../chunk-OZYRSMSH.js";import"../chunk-OVTS4DKB.js";import"../chunk-B75HZHUP.js";import"../chunk-7FND7D7N.js";import"../chunk-BGBBVSH4.js";import"../chunk-JOIRNPPY.js";import"../chunk-6CS3UQTN.js";import"../chunk-P5XHIJHI.js";import"../chunk-J77SU6VA.js";import"../chunk-UCD3H3UZ.js";import"../chunk-CVYSU6BX.js";import"../chunk-ELNRLMC5.js";import"../chunk-UZGZB3VB.js";import"../chunk-ZKX2FRS6.js";import"../chunk-C7QOQX32.js";import"../chunk-TIIC3ZE7.js";import"../chunk-YUKYB54I.js";import"../chunk-OANDYLJQ.js";import"../chunk-NNOKTMZT.js";import"../chunk-SGX43S2L.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{b as RemovedRangeIndex,a as cleanupPlan};
2
+ //# sourceMappingURL=cleanup-plan.js.map