kirograph 0.27.2 → 0.28.1

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 (788) hide show
  1. package/README.md +14 -7
  2. package/dist/bin/commands/annotations.js +56 -0
  3. package/dist/bin/commands/annotations.js.map +7 -0
  4. package/dist/bin/commands/ast-rewrite.js +55 -0
  5. package/dist/bin/commands/ast-rewrite.js.map +7 -0
  6. package/dist/bin/commands/bench.js +103 -0
  7. package/dist/bin/commands/bench.js.map +7 -0
  8. package/dist/bin/commands/branch.js +133 -0
  9. package/dist/bin/commands/branch.js.map +7 -0
  10. package/dist/bin/commands/changelog.js +55 -0
  11. package/dist/bin/commands/changelog.js.map +7 -0
  12. package/dist/bin/commands/commit-context.js +55 -0
  13. package/dist/bin/commands/commit-context.js.map +7 -0
  14. package/dist/bin/commands/complexity.js +60 -0
  15. package/dist/bin/commands/complexity.js.map +7 -0
  16. package/dist/bin/commands/cost.js +146 -0
  17. package/dist/bin/commands/cost.js.map +7 -0
  18. package/dist/bin/commands/dependency-depth.js +55 -0
  19. package/dist/bin/commands/dependency-depth.js.map +7 -0
  20. package/dist/bin/commands/diff-context.js +55 -0
  21. package/dist/bin/commands/diff-context.js.map +7 -0
  22. package/dist/bin/commands/distribution.js +56 -0
  23. package/dist/bin/commands/distribution.js.map +7 -0
  24. package/dist/bin/commands/doc-coverage.js +56 -0
  25. package/dist/bin/commands/doc-coverage.js.map +7 -0
  26. package/dist/bin/commands/doctor.js +202 -0
  27. package/dist/bin/commands/doctor.js.map +7 -0
  28. package/dist/bin/commands/dsm.js +56 -0
  29. package/dist/bin/commands/dsm.js.map +7 -0
  30. package/dist/bin/commands/gini.js +55 -0
  31. package/dist/bin/commands/gini.js.map +7 -0
  32. package/dist/bin/commands/god-class.js +56 -0
  33. package/dist/bin/commands/god-class.js.map +7 -0
  34. package/dist/bin/commands/health.js +55 -0
  35. package/dist/bin/commands/health.js.map +7 -0
  36. package/dist/bin/commands/help.js +224 -45
  37. package/dist/bin/commands/help.js.map +2 -2
  38. package/dist/bin/commands/inheritance-depth.js +56 -0
  39. package/dist/bin/commands/inheritance-depth.js.map +7 -0
  40. package/dist/bin/commands/insert-at.js +55 -0
  41. package/dist/bin/commands/insert-at.js.map +7 -0
  42. package/dist/bin/commands/largest.js +56 -0
  43. package/dist/bin/commands/largest.js.map +7 -0
  44. package/dist/bin/commands/manifest.js +158 -0
  45. package/dist/bin/commands/manifest.js.map +7 -0
  46. package/dist/bin/commands/module-api.js +57 -0
  47. package/dist/bin/commands/module-api.js.map +7 -0
  48. package/dist/bin/commands/monitor.js +91 -0
  49. package/dist/bin/commands/monitor.js.map +7 -0
  50. package/dist/bin/commands/multi-replace.js +66 -0
  51. package/dist/bin/commands/multi-replace.js.map +7 -0
  52. package/dist/bin/commands/pr-context.js +55 -0
  53. package/dist/bin/commands/pr-context.js.map +7 -0
  54. package/dist/bin/commands/query.js +19 -1
  55. package/dist/bin/commands/query.js.map +3 -3
  56. package/dist/bin/commands/rank.js +56 -0
  57. package/dist/bin/commands/rank.js.map +7 -0
  58. package/dist/bin/commands/read.js +1 -1
  59. package/dist/bin/commands/read.js.map +2 -2
  60. package/dist/bin/commands/recursion.js +56 -0
  61. package/dist/bin/commands/recursion.js.map +7 -0
  62. package/dist/bin/commands/rename-preview.js +56 -0
  63. package/dist/bin/commands/rename-preview.js.map +7 -0
  64. package/dist/bin/commands/session.js +60 -0
  65. package/dist/bin/commands/session.js.map +7 -0
  66. package/dist/bin/commands/simplify-scan.js +56 -0
  67. package/dist/bin/commands/simplify-scan.js.map +7 -0
  68. package/dist/bin/commands/str-replace.js +55 -0
  69. package/dist/bin/commands/str-replace.js.map +7 -0
  70. package/dist/bin/commands/test-coverage.js +59 -0
  71. package/dist/bin/commands/test-coverage.js.map +7 -0
  72. package/dist/bin/commands/test-map.js +56 -0
  73. package/dist/bin/commands/test-map.js.map +7 -0
  74. package/dist/bin/commands/test-risk.js +59 -0
  75. package/dist/bin/commands/test-risk.js.map +7 -0
  76. package/dist/bin/commands/unused-imports.js +55 -0
  77. package/dist/bin/commands/unused-imports.js.map +7 -0
  78. package/dist/bin/commands/upgrade.js +78 -0
  79. package/dist/bin/commands/upgrade.js.map +7 -0
  80. package/dist/bin/installer/common.js +5 -1
  81. package/dist/bin/installer/common.js.map +2 -2
  82. package/dist/bin/installer/config-prompt.js +239 -93
  83. package/dist/bin/installer/config-prompt.js.map +3 -3
  84. package/dist/bin/installer/index.js +38 -6
  85. package/dist/bin/installer/index.js.map +2 -2
  86. package/dist/bin/installer/instructions.js +7 -11
  87. package/dist/bin/installer/instructions.js.map +2 -2
  88. package/dist/bin/installer/mcp.js.map +2 -2
  89. package/dist/bin/installer/steering.js +531 -100
  90. package/dist/bin/installer/steering.js.map +2 -2
  91. package/dist/bin/installer/targets/kiro.js +7 -3
  92. package/dist/bin/installer/targets/kiro.js.map +2 -2
  93. package/dist/bin/kirograph.js +73 -1
  94. package/dist/bin/kirograph.js.map +3 -3
  95. package/dist/config.js +26 -8
  96. package/dist/config.js.map +2 -2
  97. package/dist/core/branch-manager.js +111 -0
  98. package/dist/core/branch-manager.js.map +7 -0
  99. package/dist/core/pipeline.js +3 -3
  100. package/dist/core/pipeline.js.map +2 -2
  101. package/dist/db/database.js +34 -7
  102. package/dist/db/database.js.map +2 -2
  103. package/dist/db/schema.sql +7 -1
  104. package/dist/extraction/complexity.js +116 -0
  105. package/dist/extraction/complexity.js.map +7 -0
  106. package/dist/extraction/extractor.js +52 -1
  107. package/dist/extraction/extractor.js.map +2 -2
  108. package/dist/graph/git-context.js +229 -0
  109. package/dist/graph/git-context.js.map +7 -0
  110. package/dist/index.js +4 -2
  111. package/dist/index.js.map +2 -2
  112. package/dist/mcp/handler.js +446 -0
  113. package/dist/mcp/handler.js.map +7 -0
  114. package/dist/mcp/handlers/architecture.js +297 -0
  115. package/dist/mcp/handlers/architecture.js.map +7 -0
  116. package/dist/mcp/handlers/branch.js +175 -0
  117. package/dist/mcp/handlers/branch.js.map +7 -0
  118. package/dist/mcp/handlers/code-health.js +563 -0
  119. package/dist/mcp/handlers/code-health.js.map +7 -0
  120. package/dist/mcp/handlers/complexity.js +267 -0
  121. package/dist/mcp/handlers/complexity.js.map +7 -0
  122. package/dist/mcp/handlers/core.js +611 -0
  123. package/dist/mcp/handlers/core.js.map +7 -0
  124. package/dist/mcp/handlers/data.js +337 -0
  125. package/dist/mcp/handlers/data.js.map +7 -0
  126. package/dist/mcp/handlers/docs.js +159 -0
  127. package/dist/mcp/handlers/docs.js.map +7 -0
  128. package/dist/mcp/handlers/edit-primitives.js +200 -0
  129. package/dist/mcp/handlers/edit-primitives.js.map +7 -0
  130. package/dist/mcp/handlers/git-context.js +286 -0
  131. package/dist/mcp/handlers/git-context.js.map +7 -0
  132. package/dist/mcp/handlers/memory.js +363 -0
  133. package/dist/mcp/handlers/memory.js.map +7 -0
  134. package/dist/mcp/handlers/patterns.js +310 -0
  135. package/dist/mcp/handlers/patterns.js.map +7 -0
  136. package/dist/mcp/handlers/security.js +699 -0
  137. package/dist/mcp/handlers/security.js.map +7 -0
  138. package/dist/mcp/handlers/utils.js +97 -0
  139. package/dist/mcp/handlers/utils.js.map +7 -0
  140. package/dist/mcp/handlers/watchmen.js +104 -0
  141. package/dist/mcp/handlers/watchmen.js.map +7 -0
  142. package/dist/mcp/handlers/wiki.js +242 -0
  143. package/dist/mcp/handlers/wiki.js.map +7 -0
  144. package/dist/mcp/server.js +72 -3
  145. package/dist/mcp/server.js.map +2 -2
  146. package/dist/mcp/tool-names.js +94 -7
  147. package/dist/mcp/tool-names.js.map +2 -2
  148. package/dist/mcp/tools.js +445 -3210
  149. package/dist/mcp/tools.js.map +3 -3
  150. package/dist/types.js.map +2 -2
  151. package/package.json +36 -10
  152. package/dist/architecture/index.d.ts +0 -11
  153. package/dist/architecture/index.d.ts.map +0 -1
  154. package/dist/architecture/layers/csharp.d.ts +0 -6
  155. package/dist/architecture/layers/csharp.d.ts.map +0 -1
  156. package/dist/architecture/layers/dart.d.ts +0 -10
  157. package/dist/architecture/layers/dart.d.ts.map +0 -1
  158. package/dist/architecture/layers/elixir.d.ts +0 -6
  159. package/dist/architecture/layers/elixir.d.ts.map +0 -1
  160. package/dist/architecture/layers/go.d.ts +0 -7
  161. package/dist/architecture/layers/go.d.ts.map +0 -1
  162. package/dist/architecture/layers/index.d.ts +0 -30
  163. package/dist/architecture/layers/index.d.ts.map +0 -1
  164. package/dist/architecture/layers/java.d.ts +0 -7
  165. package/dist/architecture/layers/java.d.ts.map +0 -1
  166. package/dist/architecture/layers/ocaml.d.ts +0 -6
  167. package/dist/architecture/layers/ocaml.d.ts.map +0 -1
  168. package/dist/architecture/layers/python.d.ts +0 -7
  169. package/dist/architecture/layers/python.d.ts.map +0 -1
  170. package/dist/architecture/layers/ruby.d.ts +0 -6
  171. package/dist/architecture/layers/ruby.d.ts.map +0 -1
  172. package/dist/architecture/layers/rust.d.ts +0 -6
  173. package/dist/architecture/layers/rust.d.ts.map +0 -1
  174. package/dist/architecture/layers/scala.d.ts +0 -6
  175. package/dist/architecture/layers/scala.d.ts.map +0 -1
  176. package/dist/architecture/layers/solidity.d.ts +0 -6
  177. package/dist/architecture/layers/solidity.d.ts.map +0 -1
  178. package/dist/architecture/layers/types.d.ts +0 -2
  179. package/dist/architecture/layers/types.d.ts.map +0 -1
  180. package/dist/architecture/layers/typescript.d.ts +0 -9
  181. package/dist/architecture/layers/typescript.d.ts.map +0 -1
  182. package/dist/architecture/layers/vue.d.ts +0 -6
  183. package/dist/architecture/layers/vue.d.ts.map +0 -1
  184. package/dist/architecture/manifest/cargo.d.ts +0 -3
  185. package/dist/architecture/manifest/cargo.d.ts.map +0 -1
  186. package/dist/architecture/manifest/csproj.d.ts +0 -3
  187. package/dist/architecture/manifest/csproj.d.ts.map +0 -1
  188. package/dist/architecture/manifest/elm.d.ts +0 -3
  189. package/dist/architecture/manifest/elm.d.ts.map +0 -1
  190. package/dist/architecture/manifest/go.d.ts +0 -3
  191. package/dist/architecture/manifest/go.d.ts.map +0 -1
  192. package/dist/architecture/manifest/gradle.d.ts +0 -3
  193. package/dist/architecture/manifest/gradle.d.ts.map +0 -1
  194. package/dist/architecture/manifest/index.d.ts +0 -12
  195. package/dist/architecture/manifest/index.d.ts.map +0 -1
  196. package/dist/architecture/manifest/maven.d.ts +0 -3
  197. package/dist/architecture/manifest/maven.d.ts.map +0 -1
  198. package/dist/architecture/manifest/npm.d.ts +0 -3
  199. package/dist/architecture/manifest/npm.d.ts.map +0 -1
  200. package/dist/architecture/manifest/ocaml.d.ts +0 -3
  201. package/dist/architecture/manifest/ocaml.d.ts.map +0 -1
  202. package/dist/architecture/manifest/python.d.ts +0 -3
  203. package/dist/architecture/manifest/python.d.ts.map +0 -1
  204. package/dist/architecture/manifest/scala.d.ts +0 -3
  205. package/dist/architecture/manifest/scala.d.ts.map +0 -1
  206. package/dist/architecture/manifest/types.d.ts +0 -2
  207. package/dist/architecture/manifest/types.d.ts.map +0 -1
  208. package/dist/architecture/types.d.ts +0 -91
  209. package/dist/architecture/types.d.ts.map +0 -1
  210. package/dist/banner.d.ts +0 -6
  211. package/dist/banner.d.ts.map +0 -1
  212. package/dist/banner.js +0 -67
  213. package/dist/banner.js.map +0 -1
  214. package/dist/bin/banner.d.ts +0 -6
  215. package/dist/bin/banner.d.ts.map +0 -1
  216. package/dist/bin/commands/affected.d.ts +0 -3
  217. package/dist/bin/commands/affected.d.ts.map +0 -1
  218. package/dist/bin/commands/architecture.d.ts +0 -3
  219. package/dist/bin/commands/architecture.d.ts.map +0 -1
  220. package/dist/bin/commands/attack-surface.d.ts +0 -3
  221. package/dist/bin/commands/attack-surface.d.ts.map +0 -1
  222. package/dist/bin/commands/benchmark.d.ts +0 -9
  223. package/dist/bin/commands/benchmark.d.ts.map +0 -1
  224. package/dist/bin/commands/budget.d.ts +0 -6
  225. package/dist/bin/commands/budget.d.ts.map +0 -1
  226. package/dist/bin/commands/caveman.d.ts +0 -7
  227. package/dist/bin/commands/caveman.d.ts.map +0 -1
  228. package/dist/bin/commands/communities.d.ts +0 -3
  229. package/dist/bin/commands/communities.d.ts.map +0 -1
  230. package/dist/bin/commands/compression.d.ts +0 -7
  231. package/dist/bin/commands/compression.d.ts.map +0 -1
  232. package/dist/bin/commands/configure-mcp.js +0 -104
  233. package/dist/bin/commands/configure-mcp.js.map +0 -7
  234. package/dist/bin/commands/context.d.ts +0 -3
  235. package/dist/bin/commands/context.d.ts.map +0 -1
  236. package/dist/bin/commands/coupling.d.ts +0 -3
  237. package/dist/bin/commands/coupling.d.ts.map +0 -1
  238. package/dist/bin/commands/dashboard.d.ts +0 -3
  239. package/dist/bin/commands/dashboard.d.ts.map +0 -1
  240. package/dist/bin/commands/data.d.ts +0 -3
  241. package/dist/bin/commands/data.d.ts.map +0 -1
  242. package/dist/bin/commands/dead-code.d.ts +0 -3
  243. package/dist/bin/commands/dead-code.d.ts.map +0 -1
  244. package/dist/bin/commands/dep-confusion.d.ts +0 -3
  245. package/dist/bin/commands/dep-confusion.d.ts.map +0 -1
  246. package/dist/bin/commands/docs.d.ts +0 -3
  247. package/dist/bin/commands/docs.d.ts.map +0 -1
  248. package/dist/bin/commands/exec.d.ts +0 -11
  249. package/dist/bin/commands/exec.d.ts.map +0 -1
  250. package/dist/bin/commands/export.d.ts +0 -3
  251. package/dist/bin/commands/export.d.ts.map +0 -1
  252. package/dist/bin/commands/files.d.ts +0 -3
  253. package/dist/bin/commands/files.d.ts.map +0 -1
  254. package/dist/bin/commands/flows.d.ts +0 -3
  255. package/dist/bin/commands/flows.d.ts.map +0 -1
  256. package/dist/bin/commands/gain.d.ts +0 -6
  257. package/dist/bin/commands/gain.d.ts.map +0 -1
  258. package/dist/bin/commands/help.d.ts +0 -11
  259. package/dist/bin/commands/help.d.ts.map +0 -1
  260. package/dist/bin/commands/hotspots.d.ts +0 -3
  261. package/dist/bin/commands/hotspots.d.ts.map +0 -1
  262. package/dist/bin/commands/index.d.ts +0 -3
  263. package/dist/bin/commands/index.d.ts.map +0 -1
  264. package/dist/bin/commands/init.d.ts +0 -3
  265. package/dist/bin/commands/init.d.ts.map +0 -1
  266. package/dist/bin/commands/install.d.ts +0 -3
  267. package/dist/bin/commands/install.d.ts.map +0 -1
  268. package/dist/bin/commands/licenses.d.ts +0 -3
  269. package/dist/bin/commands/licenses.d.ts.map +0 -1
  270. package/dist/bin/commands/mark-dirty.d.ts +0 -3
  271. package/dist/bin/commands/mark-dirty.d.ts.map +0 -1
  272. package/dist/bin/commands/memory.d.ts +0 -16
  273. package/dist/bin/commands/memory.d.ts.map +0 -1
  274. package/dist/bin/commands/package.d.ts +0 -3
  275. package/dist/bin/commands/package.d.ts.map +0 -1
  276. package/dist/bin/commands/path.d.ts +0 -3
  277. package/dist/bin/commands/path.d.ts.map +0 -1
  278. package/dist/bin/commands/pattern.d.ts +0 -3
  279. package/dist/bin/commands/pattern.d.ts.map +0 -1
  280. package/dist/bin/commands/qdrant.d.ts +0 -3
  281. package/dist/bin/commands/qdrant.d.ts.map +0 -1
  282. package/dist/bin/commands/qdrant.js +0 -159
  283. package/dist/bin/commands/qdrant.js.map +0 -1
  284. package/dist/bin/commands/query.d.ts +0 -3
  285. package/dist/bin/commands/query.d.ts.map +0 -1
  286. package/dist/bin/commands/reachability.d.ts +0 -3
  287. package/dist/bin/commands/reachability.d.ts.map +0 -1
  288. package/dist/bin/commands/read.d.ts +0 -6
  289. package/dist/bin/commands/read.d.ts.map +0 -1
  290. package/dist/bin/commands/refactor.d.ts +0 -3
  291. package/dist/bin/commands/refactor.d.ts.map +0 -1
  292. package/dist/bin/commands/remediation.d.ts +0 -3
  293. package/dist/bin/commands/remediation.d.ts.map +0 -1
  294. package/dist/bin/commands/sbom.d.ts +0 -3
  295. package/dist/bin/commands/sbom.d.ts.map +0 -1
  296. package/dist/bin/commands/security-ci-report.d.ts +0 -9
  297. package/dist/bin/commands/security-ci-report.d.ts.map +0 -1
  298. package/dist/bin/commands/security-export.d.ts +0 -2
  299. package/dist/bin/commands/security-export.d.ts.map +0 -1
  300. package/dist/bin/commands/security-flows.d.ts +0 -3
  301. package/dist/bin/commands/security-flows.d.ts.map +0 -1
  302. package/dist/bin/commands/security-secrets.d.ts +0 -3
  303. package/dist/bin/commands/security-secrets.d.ts.map +0 -1
  304. package/dist/bin/commands/security.d.ts +0 -3
  305. package/dist/bin/commands/security.d.ts.map +0 -1
  306. package/dist/bin/commands/serve.d.ts +0 -3
  307. package/dist/bin/commands/serve.d.ts.map +0 -1
  308. package/dist/bin/commands/snapshot.d.ts +0 -3
  309. package/dist/bin/commands/snapshot.d.ts.map +0 -1
  310. package/dist/bin/commands/staleness.d.ts +0 -3
  311. package/dist/bin/commands/staleness.d.ts.map +0 -1
  312. package/dist/bin/commands/status.d.ts +0 -3
  313. package/dist/bin/commands/status.d.ts.map +0 -1
  314. package/dist/bin/commands/stop.d.ts +0 -3
  315. package/dist/bin/commands/stop.d.ts.map +0 -1
  316. package/dist/bin/commands/stop.js +0 -81
  317. package/dist/bin/commands/stop.js.map +0 -1
  318. package/dist/bin/commands/supply-chain.d.ts +0 -3
  319. package/dist/bin/commands/supply-chain.d.ts.map +0 -1
  320. package/dist/bin/commands/surprising.d.ts +0 -3
  321. package/dist/bin/commands/surprising.d.ts.map +0 -1
  322. package/dist/bin/commands/sync-if-dirty.d.ts +0 -3
  323. package/dist/bin/commands/sync-if-dirty.d.ts.map +0 -1
  324. package/dist/bin/commands/sync.d.ts +0 -3
  325. package/dist/bin/commands/sync.d.ts.map +0 -1
  326. package/dist/bin/commands/typesense.d.ts +0 -3
  327. package/dist/bin/commands/typesense.d.ts.map +0 -1
  328. package/dist/bin/commands/typesense.js +0 -126
  329. package/dist/bin/commands/typesense.js.map +0 -1
  330. package/dist/bin/commands/uninit.d.ts +0 -4
  331. package/dist/bin/commands/uninit.d.ts.map +0 -1
  332. package/dist/bin/commands/unlock.d.ts +0 -3
  333. package/dist/bin/commands/unlock.d.ts.map +0 -1
  334. package/dist/bin/commands/utils.d.ts +0 -17
  335. package/dist/bin/commands/utils.d.ts.map +0 -1
  336. package/dist/bin/commands/vex.d.ts +0 -3
  337. package/dist/bin/commands/vex.d.ts.map +0 -1
  338. package/dist/bin/commands/vuln-suppress.d.ts +0 -3
  339. package/dist/bin/commands/vuln-suppress.d.ts.map +0 -1
  340. package/dist/bin/commands/vulns.d.ts +0 -3
  341. package/dist/bin/commands/vulns.d.ts.map +0 -1
  342. package/dist/bin/installer/archive.d.ts +0 -47
  343. package/dist/bin/installer/archive.d.ts.map +0 -1
  344. package/dist/bin/installer/auto-detect.d.ts +0 -16
  345. package/dist/bin/installer/auto-detect.d.ts.map +0 -1
  346. package/dist/bin/installer/caveman.d.ts +0 -12
  347. package/dist/bin/installer/caveman.d.ts.map +0 -1
  348. package/dist/bin/installer/cli-agent.d.ts +0 -20
  349. package/dist/bin/installer/cli-agent.d.ts.map +0 -1
  350. package/dist/bin/installer/common.d.ts +0 -36
  351. package/dist/bin/installer/common.d.ts.map +0 -1
  352. package/dist/bin/installer/config-prompt.d.ts +0 -13
  353. package/dist/bin/installer/config-prompt.d.ts.map +0 -1
  354. package/dist/bin/installer/dashboard.d.ts +0 -3
  355. package/dist/bin/installer/dashboard.d.ts.map +0 -1
  356. package/dist/bin/installer/detect.d.ts +0 -30
  357. package/dist/bin/installer/detect.d.ts.map +0 -1
  358. package/dist/bin/installer/hooks.d.ts +0 -8
  359. package/dist/bin/installer/hooks.d.ts.map +0 -1
  360. package/dist/bin/installer/index.d.ts +0 -12
  361. package/dist/bin/installer/index.d.ts.map +0 -1
  362. package/dist/bin/installer/instructions.d.ts +0 -14
  363. package/dist/bin/installer/instructions.d.ts.map +0 -1
  364. package/dist/bin/installer/mcp.d.ts +0 -5
  365. package/dist/bin/installer/mcp.d.ts.map +0 -1
  366. package/dist/bin/installer/prompts.d.ts +0 -45
  367. package/dist/bin/installer/prompts.d.ts.map +0 -1
  368. package/dist/bin/installer/qdrant-dashboard.d.ts +0 -4
  369. package/dist/bin/installer/qdrant-dashboard.d.ts.map +0 -1
  370. package/dist/bin/installer/steering.d.ts +0 -17
  371. package/dist/bin/installer/steering.d.ts.map +0 -1
  372. package/dist/bin/installer/targets/aider.d.ts +0 -6
  373. package/dist/bin/installer/targets/aider.d.ts.map +0 -1
  374. package/dist/bin/installer/targets/amp.d.ts +0 -6
  375. package/dist/bin/installer/targets/amp.d.ts.map +0 -1
  376. package/dist/bin/installer/targets/antigravity.d.ts +0 -13
  377. package/dist/bin/installer/targets/antigravity.d.ts.map +0 -1
  378. package/dist/bin/installer/targets/augment.d.ts +0 -6
  379. package/dist/bin/installer/targets/augment.d.ts.map +0 -1
  380. package/dist/bin/installer/targets/claude.d.ts +0 -6
  381. package/dist/bin/installer/targets/claude.d.ts.map +0 -1
  382. package/dist/bin/installer/targets/cline.d.ts +0 -13
  383. package/dist/bin/installer/targets/cline.d.ts.map +0 -1
  384. package/dist/bin/installer/targets/codex.d.ts +0 -6
  385. package/dist/bin/installer/targets/codex.d.ts.map +0 -1
  386. package/dist/bin/installer/targets/continue.d.ts +0 -12
  387. package/dist/bin/installer/targets/continue.d.ts.map +0 -1
  388. package/dist/bin/installer/targets/copilot-cli.d.ts +0 -12
  389. package/dist/bin/installer/targets/copilot-cli.d.ts.map +0 -1
  390. package/dist/bin/installer/targets/copilot.d.ts +0 -6
  391. package/dist/bin/installer/targets/copilot.d.ts.map +0 -1
  392. package/dist/bin/installer/targets/cursor.d.ts +0 -6
  393. package/dist/bin/installer/targets/cursor.d.ts.map +0 -1
  394. package/dist/bin/installer/targets/devin.d.ts +0 -13
  395. package/dist/bin/installer/targets/devin.d.ts.map +0 -1
  396. package/dist/bin/installer/targets/gemini-cli.d.ts +0 -16
  397. package/dist/bin/installer/targets/gemini-cli.d.ts.map +0 -1
  398. package/dist/bin/installer/targets/generic.d.ts +0 -59
  399. package/dist/bin/installer/targets/generic.d.ts.map +0 -1
  400. package/dist/bin/installer/targets/goose.d.ts +0 -6
  401. package/dist/bin/installer/targets/goose.d.ts.map +0 -1
  402. package/dist/bin/installer/targets/index.d.ts +0 -11
  403. package/dist/bin/installer/targets/index.d.ts.map +0 -1
  404. package/dist/bin/installer/targets/junie.d.ts +0 -13
  405. package/dist/bin/installer/targets/junie.d.ts.map +0 -1
  406. package/dist/bin/installer/targets/kilo.d.ts +0 -12
  407. package/dist/bin/installer/targets/kilo.d.ts.map +0 -1
  408. package/dist/bin/installer/targets/kiro.d.ts +0 -5
  409. package/dist/bin/installer/targets/kiro.d.ts.map +0 -1
  410. package/dist/bin/installer/targets/opencode.d.ts +0 -13
  411. package/dist/bin/installer/targets/opencode.d.ts.map +0 -1
  412. package/dist/bin/installer/targets/openhands.d.ts +0 -6
  413. package/dist/bin/installer/targets/openhands.d.ts.map +0 -1
  414. package/dist/bin/installer/targets/qoder.d.ts +0 -12
  415. package/dist/bin/installer/targets/qoder.d.ts.map +0 -1
  416. package/dist/bin/installer/targets/qwen.d.ts +0 -12
  417. package/dist/bin/installer/targets/qwen.d.ts.map +0 -1
  418. package/dist/bin/installer/targets/replit.d.ts +0 -6
  419. package/dist/bin/installer/targets/replit.d.ts.map +0 -1
  420. package/dist/bin/installer/targets/roo.d.ts +0 -13
  421. package/dist/bin/installer/targets/roo.d.ts.map +0 -1
  422. package/dist/bin/installer/targets/tabnine.d.ts +0 -6
  423. package/dist/bin/installer/targets/tabnine.d.ts.map +0 -1
  424. package/dist/bin/installer/targets/trae.d.ts +0 -6
  425. package/dist/bin/installer/targets/trae.d.ts.map +0 -1
  426. package/dist/bin/installer/targets/warp.d.ts +0 -12
  427. package/dist/bin/installer/targets/warp.d.ts.map +0 -1
  428. package/dist/bin/installer/targets/windsurf.d.ts +0 -13
  429. package/dist/bin/installer/targets/windsurf.d.ts.map +0 -1
  430. package/dist/bin/kirograph.d.ts +0 -6
  431. package/dist/bin/kirograph.d.ts.map +0 -1
  432. package/dist/bin/progress.d.ts +0 -29
  433. package/dist/bin/progress.d.ts.map +0 -1
  434. package/dist/bin/ui.d.ts +0 -11
  435. package/dist/bin/ui.d.ts.map +0 -1
  436. package/dist/compression/filters/aws.d.ts +0 -9
  437. package/dist/compression/filters/aws.d.ts.map +0 -1
  438. package/dist/compression/filters/docker.d.ts +0 -6
  439. package/dist/compression/filters/docker.d.ts.map +0 -1
  440. package/dist/compression/filters/files.d.ts +0 -6
  441. package/dist/compression/filters/files.d.ts.map +0 -1
  442. package/dist/compression/filters/generic.d.ts +0 -7
  443. package/dist/compression/filters/generic.d.ts.map +0 -1
  444. package/dist/compression/filters/git.d.ts +0 -6
  445. package/dist/compression/filters/git.d.ts.map +0 -1
  446. package/dist/compression/filters/github.d.ts +0 -6
  447. package/dist/compression/filters/github.d.ts.map +0 -1
  448. package/dist/compression/filters/lint.d.ts +0 -6
  449. package/dist/compression/filters/lint.d.ts.map +0 -1
  450. package/dist/compression/filters/misc.d.ts +0 -6
  451. package/dist/compression/filters/misc.d.ts.map +0 -1
  452. package/dist/compression/filters/package.d.ts +0 -6
  453. package/dist/compression/filters/package.d.ts.map +0 -1
  454. package/dist/compression/filters/test.d.ts +0 -6
  455. package/dist/compression/filters/test.d.ts.map +0 -1
  456. package/dist/compression/index.d.ts +0 -29
  457. package/dist/compression/index.d.ts.map +0 -1
  458. package/dist/compression/naive-cost.d.ts +0 -26
  459. package/dist/compression/naive-cost.d.ts.map +0 -1
  460. package/dist/compression/tracker.d.ts +0 -155
  461. package/dist/compression/tracker.d.ts.map +0 -1
  462. package/dist/compression/types.d.ts +0 -49
  463. package/dist/compression/types.d.ts.map +0 -1
  464. package/dist/config.d.ts +0 -138
  465. package/dist/config.d.ts.map +0 -1
  466. package/dist/context/index.d.ts +0 -61
  467. package/dist/context/index.d.ts.map +0 -1
  468. package/dist/core/file-tree.d.ts +0 -15
  469. package/dist/core/file-tree.d.ts.map +0 -1
  470. package/dist/core/lock-manager.d.ts +0 -22
  471. package/dist/core/lock-manager.d.ts.map +0 -1
  472. package/dist/core/pipeline.d.ts +0 -40
  473. package/dist/core/pipeline.d.ts.map +0 -1
  474. package/dist/core/snapshot.d.ts +0 -58
  475. package/dist/core/snapshot.d.ts.map +0 -1
  476. package/dist/data/filters.d.ts +0 -23
  477. package/dist/data/filters.d.ts.map +0 -1
  478. package/dist/data/indexer.d.ts +0 -25
  479. package/dist/data/indexer.d.ts.map +0 -1
  480. package/dist/data/linker.d.ts +0 -37
  481. package/dist/data/linker.d.ts.map +0 -1
  482. package/dist/data/linker.test.js +0 -60
  483. package/dist/data/linker.test.js.map +0 -7
  484. package/dist/data/lint.d.ts +0 -27
  485. package/dist/data/lint.d.ts.map +0 -1
  486. package/dist/data/parsers/__fixtures__/pdf-inspector-stub.js +0 -41
  487. package/dist/data/parsers/__fixtures__/pdf-inspector-stub.js.map +0 -7
  488. package/dist/data/parsers/csv.d.ts +0 -11
  489. package/dist/data/parsers/csv.d.ts.map +0 -1
  490. package/dist/data/parsers/excel.d.ts +0 -10
  491. package/dist/data/parsers/excel.d.ts.map +0 -1
  492. package/dist/data/parsers/index.d.ts +0 -28
  493. package/dist/data/parsers/index.d.ts.map +0 -1
  494. package/dist/data/parsers/json-array.d.ts +0 -9
  495. package/dist/data/parsers/json-array.d.ts.map +0 -1
  496. package/dist/data/parsers/jsonl.d.ts +0 -9
  497. package/dist/data/parsers/jsonl.d.ts.map +0 -1
  498. package/dist/data/parsers/parquet.d.ts +0 -10
  499. package/dist/data/parsers/parquet.d.ts.map +0 -1
  500. package/dist/data/parsers/pdf.test.js +0 -125
  501. package/dist/data/parsers/pdf.test.js.map +0 -7
  502. package/dist/data/profiler.d.ts +0 -29
  503. package/dist/data/profiler.d.ts.map +0 -1
  504. package/dist/data/queries.d.ts +0 -95
  505. package/dist/data/queries.d.ts.map +0 -1
  506. package/dist/data/types.d.ts +0 -103
  507. package/dist/data/types.d.ts.map +0 -1
  508. package/dist/db/database.d.ts +0 -190
  509. package/dist/db/database.d.ts.map +0 -1
  510. package/dist/docs/formats/asciidoc.d.ts +0 -9
  511. package/dist/docs/formats/asciidoc.d.ts.map +0 -1
  512. package/dist/docs/formats/html.d.ts +0 -10
  513. package/dist/docs/formats/html.d.ts.map +0 -1
  514. package/dist/docs/formats/index.d.ts +0 -31
  515. package/dist/docs/formats/index.d.ts.map +0 -1
  516. package/dist/docs/formats/markdown.d.ts +0 -11
  517. package/dist/docs/formats/markdown.d.ts.map +0 -1
  518. package/dist/docs/formats/openapi.d.ts +0 -17
  519. package/dist/docs/formats/openapi.d.ts.map +0 -1
  520. package/dist/docs/formats/org.d.ts +0 -9
  521. package/dist/docs/formats/org.d.ts.map +0 -1
  522. package/dist/docs/formats/plaintext.d.ts +0 -11
  523. package/dist/docs/formats/plaintext.d.ts.map +0 -1
  524. package/dist/docs/formats/rdoc.d.ts +0 -10
  525. package/dist/docs/formats/rdoc.d.ts.map +0 -1
  526. package/dist/docs/formats/rst.d.ts +0 -11
  527. package/dist/docs/formats/rst.d.ts.map +0 -1
  528. package/dist/docs/indexer.d.ts +0 -49
  529. package/dist/docs/indexer.d.ts.map +0 -1
  530. package/dist/docs/linker.d.ts +0 -30
  531. package/dist/docs/linker.d.ts.map +0 -1
  532. package/dist/docs/lint.d.ts +0 -27
  533. package/dist/docs/lint.d.ts.map +0 -1
  534. package/dist/docs/queries.d.ts +0 -78
  535. package/dist/docs/queries.d.ts.map +0 -1
  536. package/dist/docs/section-id.d.ts +0 -48
  537. package/dist/docs/section-id.d.ts.map +0 -1
  538. package/dist/docs/summarizer.d.ts +0 -13
  539. package/dist/docs/summarizer.d.ts.map +0 -1
  540. package/dist/docs/types.d.ts +0 -71
  541. package/dist/docs/types.d.ts.map +0 -1
  542. package/dist/docs/vectors.d.ts +0 -54
  543. package/dist/docs/vectors.d.ts.map +0 -1
  544. package/dist/errors.d.ts +0 -49
  545. package/dist/errors.d.ts.map +0 -1
  546. package/dist/extraction/extractor.d.ts +0 -29
  547. package/dist/extraction/extractor.d.ts.map +0 -1
  548. package/dist/extraction/grammars.d.ts +0 -54
  549. package/dist/extraction/grammars.d.ts.map +0 -1
  550. package/dist/extraction/languages.d.ts +0 -9
  551. package/dist/extraction/languages.d.ts.map +0 -1
  552. package/dist/extraction/notebook.d.ts +0 -14
  553. package/dist/extraction/notebook.d.ts.map +0 -1
  554. package/dist/frameworks/amplify.d.ts +0 -9
  555. package/dist/frameworks/amplify.d.ts.map +0 -1
  556. package/dist/frameworks/angular.d.ts +0 -9
  557. package/dist/frameworks/angular.d.ts.map +0 -1
  558. package/dist/frameworks/ansible.d.ts +0 -8
  559. package/dist/frameworks/ansible.d.ts.map +0 -1
  560. package/dist/frameworks/cloudformation.d.ts +0 -9
  561. package/dist/frameworks/cloudformation.d.ts.map +0 -1
  562. package/dist/frameworks/csharp.d.ts +0 -8
  563. package/dist/frameworks/csharp.d.ts.map +0 -1
  564. package/dist/frameworks/docker.d.ts +0 -9
  565. package/dist/frameworks/docker.d.ts.map +0 -1
  566. package/dist/frameworks/elixir.d.ts +0 -6
  567. package/dist/frameworks/elixir.d.ts.map +0 -1
  568. package/dist/frameworks/express.d.ts +0 -8
  569. package/dist/frameworks/express.d.ts.map +0 -1
  570. package/dist/frameworks/flutter.d.ts +0 -12
  571. package/dist/frameworks/flutter.d.ts.map +0 -1
  572. package/dist/frameworks/go.d.ts +0 -8
  573. package/dist/frameworks/go.d.ts.map +0 -1
  574. package/dist/frameworks/iac.d.ts +0 -10
  575. package/dist/frameworks/iac.d.ts.map +0 -1
  576. package/dist/frameworks/index.d.ts +0 -44
  577. package/dist/frameworks/index.d.ts.map +0 -1
  578. package/dist/frameworks/java.d.ts +0 -8
  579. package/dist/frameworks/java.d.ts.map +0 -1
  580. package/dist/frameworks/kubernetes.d.ts +0 -9
  581. package/dist/frameworks/kubernetes.d.ts.map +0 -1
  582. package/dist/frameworks/laravel.d.ts +0 -9
  583. package/dist/frameworks/laravel.d.ts.map +0 -1
  584. package/dist/frameworks/pulumi.d.ts +0 -9
  585. package/dist/frameworks/pulumi.d.ts.map +0 -1
  586. package/dist/frameworks/python.d.ts +0 -10
  587. package/dist/frameworks/python.d.ts.map +0 -1
  588. package/dist/frameworks/react.d.ts +0 -9
  589. package/dist/frameworks/react.d.ts.map +0 -1
  590. package/dist/frameworks/ruby.d.ts +0 -8
  591. package/dist/frameworks/ruby.d.ts.map +0 -1
  592. package/dist/frameworks/rust.d.ts +0 -8
  593. package/dist/frameworks/rust.d.ts.map +0 -1
  594. package/dist/frameworks/scala.d.ts +0 -6
  595. package/dist/frameworks/scala.d.ts.map +0 -1
  596. package/dist/frameworks/solidity.d.ts +0 -6
  597. package/dist/frameworks/solidity.d.ts.map +0 -1
  598. package/dist/frameworks/svelte.d.ts +0 -8
  599. package/dist/frameworks/svelte.d.ts.map +0 -1
  600. package/dist/frameworks/swift.d.ts +0 -10
  601. package/dist/frameworks/swift.d.ts.map +0 -1
  602. package/dist/frameworks/terraform.d.ts +0 -14
  603. package/dist/frameworks/terraform.d.ts.map +0 -1
  604. package/dist/frameworks/types.d.ts +0 -37
  605. package/dist/frameworks/types.d.ts.map +0 -1
  606. package/dist/frameworks/vue.d.ts +0 -7
  607. package/dist/frameworks/vue.d.ts.map +0 -1
  608. package/dist/graph/communities.d.ts +0 -43
  609. package/dist/graph/communities.d.ts.map +0 -1
  610. package/dist/graph/flows.d.ts +0 -55
  611. package/dist/graph/flows.d.ts.map +0 -1
  612. package/dist/graph/queries.d.ts +0 -53
  613. package/dist/graph/queries.d.ts.map +0 -1
  614. package/dist/graph/refactor.d.ts +0 -43
  615. package/dist/graph/refactor.d.ts.map +0 -1
  616. package/dist/graph/traversal.d.ts +0 -35
  617. package/dist/graph/traversal.d.ts.map +0 -1
  618. package/dist/index.d.ts +0 -134
  619. package/dist/index.d.ts.map +0 -1
  620. package/dist/installer/index.d.ts +0 -10
  621. package/dist/installer/index.d.ts.map +0 -1
  622. package/dist/installer/index.js +0 -526
  623. package/dist/installer/index.js.map +0 -1
  624. package/dist/mcp/cache.d.ts +0 -69
  625. package/dist/mcp/cache.d.ts.map +0 -1
  626. package/dist/mcp/read-modes.d.ts +0 -31
  627. package/dist/mcp/read-modes.d.ts.map +0 -1
  628. package/dist/mcp/server.d.ts +0 -17
  629. package/dist/mcp/server.d.ts.map +0 -1
  630. package/dist/mcp/tool-names.d.ts +0 -2
  631. package/dist/mcp/tool-names.d.ts.map +0 -1
  632. package/dist/mcp/tools.d.ts +0 -49
  633. package/dist/mcp/tools.d.ts.map +0 -1
  634. package/dist/mcp/transport.d.ts +0 -29
  635. package/dist/mcp/transport.d.ts.map +0 -1
  636. package/dist/memory/compress.d.ts +0 -19
  637. package/dist/memory/compress.d.ts.map +0 -1
  638. package/dist/memory/database.d.ts +0 -92
  639. package/dist/memory/database.d.ts.map +0 -1
  640. package/dist/memory/index.d.ts +0 -71
  641. package/dist/memory/index.d.ts.map +0 -1
  642. package/dist/memory/symbols.d.ts +0 -21
  643. package/dist/memory/symbols.d.ts.map +0 -1
  644. package/dist/memory/types.d.ts +0 -78
  645. package/dist/memory/types.d.ts.map +0 -1
  646. package/dist/memory/vectors.d.ts +0 -43
  647. package/dist/memory/vectors.d.ts.map +0 -1
  648. package/dist/patterns/graph.d.ts +0 -16
  649. package/dist/patterns/graph.d.ts.map +0 -1
  650. package/dist/patterns/index.d.ts +0 -4
  651. package/dist/patterns/index.d.ts.map +0 -1
  652. package/dist/patterns/indexer.d.ts +0 -15
  653. package/dist/patterns/indexer.d.ts.map +0 -1
  654. package/dist/patterns/loader.d.ts +0 -18
  655. package/dist/patterns/loader.d.ts.map +0 -1
  656. package/dist/patterns/runner.d.ts +0 -42
  657. package/dist/patterns/runner.d.ts.map +0 -1
  658. package/dist/patterns/types.d.ts +0 -27
  659. package/dist/patterns/types.d.ts.map +0 -1
  660. package/dist/resolution/bridges/android-rn.d.ts +0 -13
  661. package/dist/resolution/bridges/android-rn.d.ts.map +0 -1
  662. package/dist/resolution/bridges/expo-modules.d.ts +0 -10
  663. package/dist/resolution/bridges/expo-modules.d.ts.map +0 -1
  664. package/dist/resolution/bridges/flutter-channel.d.ts +0 -14
  665. package/dist/resolution/bridges/flutter-channel.d.ts.map +0 -1
  666. package/dist/resolution/bridges/index.d.ts +0 -40
  667. package/dist/resolution/bridges/index.d.ts.map +0 -1
  668. package/dist/resolution/bridges/native-events.d.ts +0 -10
  669. package/dist/resolution/bridges/native-events.d.ts.map +0 -1
  670. package/dist/resolution/bridges/native-views.d.ts +0 -13
  671. package/dist/resolution/bridges/native-views.d.ts.map +0 -1
  672. package/dist/resolution/bridges/react-native.d.ts +0 -9
  673. package/dist/resolution/bridges/react-native.d.ts.map +0 -1
  674. package/dist/resolution/bridges/swift-objc.d.ts +0 -14
  675. package/dist/resolution/bridges/swift-objc.d.ts.map +0 -1
  676. package/dist/resolution/bridges/turbomodules.d.ts +0 -10
  677. package/dist/resolution/bridges/turbomodules.d.ts.map +0 -1
  678. package/dist/resolution/index.d.ts +0 -81
  679. package/dist/resolution/index.d.ts.map +0 -1
  680. package/dist/resolution/name-matcher.d.ts +0 -25
  681. package/dist/resolution/name-matcher.d.ts.map +0 -1
  682. package/dist/scripts/postinstall.js +0 -64
  683. package/dist/search/query-utils.d.ts +0 -21
  684. package/dist/search/query-utils.d.ts.map +0 -1
  685. package/dist/search/searcher.d.ts +0 -15
  686. package/dist/search/searcher.d.ts.map +0 -1
  687. package/dist/security/attack-surface.d.ts +0 -46
  688. package/dist/security/attack-surface.d.ts.map +0 -1
  689. package/dist/security/context-warnings.d.ts +0 -40
  690. package/dist/security/context-warnings.d.ts.map +0 -1
  691. package/dist/security/data-flows.d.ts +0 -33
  692. package/dist/security/data-flows.d.ts.map +0 -1
  693. package/dist/security/dep-confusion.d.ts +0 -23
  694. package/dist/security/dep-confusion.d.ts.map +0 -1
  695. package/dist/security/errors.d.ts +0 -16
  696. package/dist/security/errors.d.ts.map +0 -1
  697. package/dist/security/export/fix-suggestions.d.ts +0 -21
  698. package/dist/security/export/fix-suggestions.d.ts.map +0 -1
  699. package/dist/security/export/sbom.d.ts +0 -33
  700. package/dist/security/export/sbom.d.ts.map +0 -1
  701. package/dist/security/export/serialization.d.ts +0 -62
  702. package/dist/security/export/serialization.d.ts.map +0 -1
  703. package/dist/security/export/vex.d.ts +0 -58
  704. package/dist/security/export/vex.d.ts.map +0 -1
  705. package/dist/security/index.d.ts +0 -21
  706. package/dist/security/index.d.ts.map +0 -1
  707. package/dist/security/integrator.d.ts +0 -63
  708. package/dist/security/integrator.d.ts.map +0 -1
  709. package/dist/security/license.d.ts +0 -33
  710. package/dist/security/license.d.ts.map +0 -1
  711. package/dist/security/manifest/adapter.d.ts +0 -92
  712. package/dist/security/manifest/adapter.d.ts.map +0 -1
  713. package/dist/security/manifest/parser.d.ts +0 -73
  714. package/dist/security/manifest/parser.d.ts.map +0 -1
  715. package/dist/security/manifest/plugins/cargo.d.ts +0 -11
  716. package/dist/security/manifest/plugins/cargo.d.ts.map +0 -1
  717. package/dist/security/manifest/plugins/composer.d.ts +0 -11
  718. package/dist/security/manifest/plugins/composer.d.ts.map +0 -1
  719. package/dist/security/manifest/plugins/go.d.ts +0 -12
  720. package/dist/security/manifest/plugins/go.d.ts.map +0 -1
  721. package/dist/security/manifest/plugins/gradle.d.ts +0 -12
  722. package/dist/security/manifest/plugins/gradle.d.ts.map +0 -1
  723. package/dist/security/manifest/plugins/hex.d.ts +0 -11
  724. package/dist/security/manifest/plugins/hex.d.ts.map +0 -1
  725. package/dist/security/manifest/plugins/maven.d.ts +0 -11
  726. package/dist/security/manifest/plugins/maven.d.ts.map +0 -1
  727. package/dist/security/manifest/plugins/npm.d.ts +0 -11
  728. package/dist/security/manifest/plugins/npm.d.ts.map +0 -1
  729. package/dist/security/manifest/plugins/nuget.d.ts +0 -12
  730. package/dist/security/manifest/plugins/nuget.d.ts.map +0 -1
  731. package/dist/security/manifest/plugins/pip.d.ts +0 -11
  732. package/dist/security/manifest/plugins/pip.d.ts.map +0 -1
  733. package/dist/security/manifest/plugins/pubspec.d.ts +0 -11
  734. package/dist/security/manifest/plugins/pubspec.d.ts.map +0 -1
  735. package/dist/security/manifest/plugins/pyproject.d.ts +0 -3
  736. package/dist/security/manifest/plugins/pyproject.d.ts.map +0 -1
  737. package/dist/security/manifest/plugins/rubygems.d.ts +0 -11
  738. package/dist/security/manifest/plugins/rubygems.d.ts.map +0 -1
  739. package/dist/security/manifest/plugins/swift.d.ts +0 -11
  740. package/dist/security/manifest/plugins/swift.d.ts.map +0 -1
  741. package/dist/security/owasp.d.ts +0 -16
  742. package/dist/security/owasp.d.ts.map +0 -1
  743. package/dist/security/pipeline.d.ts +0 -37
  744. package/dist/security/pipeline.d.ts.map +0 -1
  745. package/dist/security/reachability.d.ts +0 -67
  746. package/dist/security/reachability.d.ts.map +0 -1
  747. package/dist/security/remediation.d.ts +0 -51
  748. package/dist/security/remediation.d.ts.map +0 -1
  749. package/dist/security/secrets.d.ts +0 -38
  750. package/dist/security/secrets.d.ts.map +0 -1
  751. package/dist/security/staleness.d.ts +0 -43
  752. package/dist/security/staleness.d.ts.map +0 -1
  753. package/dist/security/supply-chain.d.ts +0 -34
  754. package/dist/security/supply-chain.d.ts.map +0 -1
  755. package/dist/security/suppressions.d.ts +0 -18
  756. package/dist/security/suppressions.d.ts.map +0 -1
  757. package/dist/security/types.d.ts +0 -144
  758. package/dist/security/types.d.ts.map +0 -1
  759. package/dist/security/vuln/client.d.ts +0 -90
  760. package/dist/security/vuln/client.d.ts.map +0 -1
  761. package/dist/security/vuln/epss-client.d.ts +0 -26
  762. package/dist/security/vuln/epss-client.d.ts.map +0 -1
  763. package/dist/security/vuln/index.d.ts +0 -6
  764. package/dist/security/vuln/index.d.ts.map +0 -1
  765. package/dist/security/vuln/osv-adapter.d.ts +0 -58
  766. package/dist/security/vuln/osv-adapter.d.ts.map +0 -1
  767. package/dist/security/vuln/types.d.ts +0 -29
  768. package/dist/security/vuln/types.d.ts.map +0 -1
  769. package/dist/sync/index.d.ts +0 -35
  770. package/dist/sync/index.d.ts.map +0 -1
  771. package/dist/types.d.ts +0 -137
  772. package/dist/types.d.ts.map +0 -1
  773. package/dist/utils.d.ts +0 -52
  774. package/dist/utils.d.ts.map +0 -1
  775. package/dist/vectors/index.d.ts +0 -79
  776. package/dist/vectors/index.d.ts.map +0 -1
  777. package/dist/vectors/lancedb-index.d.ts +0 -50
  778. package/dist/vectors/lancedb-index.d.ts.map +0 -1
  779. package/dist/vectors/orama-index.d.ts +0 -54
  780. package/dist/vectors/orama-index.d.ts.map +0 -1
  781. package/dist/vectors/pglite-index.d.ts +0 -53
  782. package/dist/vectors/pglite-index.d.ts.map +0 -1
  783. package/dist/vectors/qdrant-index.d.ts +0 -77
  784. package/dist/vectors/qdrant-index.d.ts.map +0 -1
  785. package/dist/vectors/typesense-index.d.ts +0 -75
  786. package/dist/vectors/typesense-index.d.ts.map +0 -1
  787. package/dist/vectors/vec-index.d.ts +0 -52
  788. package/dist/vectors/vec-index.d.ts.map +0 -1
@@ -0,0 +1,310 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var patterns_exports = {};
30
+ __export(patterns_exports, {
31
+ handlePatterns: () => handlePatterns
32
+ });
33
+ module.exports = __toCommonJS(patterns_exports);
34
+ var import_fs = __toESM(require("fs"));
35
+ var import_path = __toESM(require("path"));
36
+ var import_utils = require("./utils");
37
+ async function handlePatterns(toolName, args, cg) {
38
+ switch (toolName) {
39
+ case "kirograph_live_search": {
40
+ const { loadConfig } = await Promise.resolve().then(() => require("../../config.js"));
41
+ const projectRoot = cg.getProjectRoot();
42
+ const config = await loadConfig(projectRoot);
43
+ if (!config.enablePatterns) {
44
+ return "kirograph_live_search requires enablePatterns: true in .kirograph/config.json";
45
+ }
46
+ const { PatternRunner } = await Promise.resolve().then(() => require("../../patterns/runner.js"));
47
+ const runner = new PatternRunner();
48
+ if (!runner.isAvailable()) {
49
+ return "kirograph_live_search requires @ast-grep/napi. Run: npm install @ast-grep/napi";
50
+ }
51
+ const pattern = args.pattern;
52
+ const language = args.language;
53
+ const rawLimit = typeof args.limit === "number" ? args.limit : 20;
54
+ const limit = Math.max(1, Math.min(100, Math.round(rawLimit)));
55
+ const db = cg.getDatabase();
56
+ const rawDb = db.getRawDb();
57
+ const files = rawDb.all(
58
+ "SELECT path FROM files WHERE language = ? LIMIT 5000",
59
+ [language]
60
+ );
61
+ const results = [];
62
+ let truncated = false;
63
+ for (const file of files) {
64
+ if (results.length >= limit) {
65
+ truncated = true;
66
+ break;
67
+ }
68
+ let content;
69
+ try {
70
+ const fullPath = import_path.default.isAbsolute(file.path) ? file.path : import_path.default.join(projectRoot, file.path);
71
+ content = import_fs.default.readFileSync(fullPath, "utf8");
72
+ } catch {
73
+ continue;
74
+ }
75
+ const matches = await runner.runInline(pattern, language, content);
76
+ for (const m of matches) {
77
+ if (results.length >= limit) {
78
+ truncated = true;
79
+ break;
80
+ }
81
+ results.push({ filePath: file.path, line: m.line, matchText: m.matchText });
82
+ }
83
+ }
84
+ if (results.length === 0) {
85
+ return `0 matches for '${pattern}' in ${language} files`;
86
+ }
87
+ const lines = [
88
+ `${results.length} match${results.length !== 1 ? "es" : ""} for '${pattern}' in ${language} files`,
89
+ ""
90
+ ];
91
+ for (const r of results) {
92
+ lines.push(` ${r.filePath}:${r.line}`);
93
+ lines.push(` ${r.matchText}`);
94
+ lines.push("");
95
+ }
96
+ if (truncated) {
97
+ lines.push(`[truncated \u2014 showing first ${limit} results; refine your pattern or use --lang to narrow scope]`);
98
+ }
99
+ return (0, import_utils.truncate)(lines.join("\n"));
100
+ }
101
+ case "kirograph_pattern_coverage": {
102
+ const { loadConfig } = await Promise.resolve().then(() => require("../../config.js"));
103
+ const projectRoot = cg.getProjectRoot();
104
+ const config = await loadConfig(projectRoot);
105
+ if (!config.enablePatterns) {
106
+ return "Pattern analysis is not enabled. Set enablePatterns: true in .kirograph/config.json and run kirograph index.";
107
+ }
108
+ const { PatternLibraryLoader } = await Promise.resolve().then(() => require("../../patterns/loader.js"));
109
+ const loader = new PatternLibraryLoader();
110
+ const builtinPath = import_path.default.join(__dirname, "../../patterns/library");
111
+ const customPath = config.patternLibraryPath;
112
+ let rules = [];
113
+ try {
114
+ rules = loader.load(builtinPath, customPath);
115
+ } catch {
116
+ }
117
+ const rulesByCategory = /* @__PURE__ */ new Map();
118
+ for (const rule of rules) {
119
+ const prefix = rule.owaspCategory.match(/^(A\d{2})/)?.[1] ?? rule.owaspCategory;
120
+ if (!rulesByCategory.has(prefix)) rulesByCategory.set(prefix, []);
121
+ rulesByCategory.get(prefix).push(rule);
122
+ }
123
+ const db = cg.getDatabase();
124
+ db.applyPatternsSchema();
125
+ const rawDb = db.getRawDb();
126
+ const matchCountsByCategory = /* @__PURE__ */ new Map();
127
+ try {
128
+ const tableExists = rawDb.get("SELECT name FROM sqlite_master WHERE type='table' AND name='pattern_matches'");
129
+ if (tableExists) {
130
+ const rows = rawDb.all(
131
+ "SELECT owasp_category, COUNT(*) as cnt FROM pattern_matches GROUP BY owasp_category"
132
+ );
133
+ for (const row of rows) {
134
+ const prefix = row.owasp_category.match(/^(A\d{2})/)?.[1] ?? row.owasp_category;
135
+ matchCountsByCategory.set(prefix, (matchCountsByCategory.get(prefix) ?? 0) + row.cnt);
136
+ }
137
+ }
138
+ } catch {
139
+ }
140
+ const owaspTop10 = [
141
+ "A01",
142
+ "A02",
143
+ "A03",
144
+ "A04",
145
+ "A05",
146
+ "A06",
147
+ "A07",
148
+ "A08",
149
+ "A09",
150
+ "A10"
151
+ ];
152
+ const owaspNames = {
153
+ A01: "Broken Access Control",
154
+ A02: "Cryptographic Failures",
155
+ A03: "Injection",
156
+ A04: "Insecure Design",
157
+ A05: "Security Misconfiguration",
158
+ A06: "Vulnerable and Outdated Components",
159
+ A07: "Identification and Authentication Failures",
160
+ A08: "Software and Data Integrity Failures",
161
+ A09: "Security Logging and Monitoring Failures",
162
+ A10: "Server-Side Request Forgery"
163
+ };
164
+ const covered = [];
165
+ const uncovered = [];
166
+ const lines = [
167
+ "# OWASP Top 10 Pattern Coverage",
168
+ "",
169
+ `Total rules loaded: ${rules.length}`,
170
+ "",
171
+ "Category | Rules | Matches",
172
+ "-------- | ----- | -------"
173
+ ];
174
+ for (const cat of owaspTop10) {
175
+ const catRules = rulesByCategory.get(cat) ?? [];
176
+ const matchCount = matchCountsByCategory.get(cat) ?? 0;
177
+ const label = `${cat}: ${owaspNames[cat] ?? cat}`;
178
+ if (catRules.length > 0) {
179
+ covered.push(label);
180
+ lines.push(`${label} | ${catRules.length} | ${matchCount}`);
181
+ } else {
182
+ uncovered.push(label);
183
+ }
184
+ }
185
+ for (const [cat, catRules] of rulesByCategory.entries()) {
186
+ if (!owaspTop10.includes(cat)) {
187
+ const matchCount = matchCountsByCategory.get(cat) ?? 0;
188
+ lines.push(`${cat} | ${catRules.length} | ${matchCount}`);
189
+ }
190
+ }
191
+ if (uncovered.length > 0) {
192
+ lines.push("", `Uncovered categories (${uncovered.length}):`, ...uncovered.map((c) => ` - ${c}`));
193
+ }
194
+ lines.push("", `Coverage: ${covered.length} / ${owaspTop10.length} OWASP Top 10 categories`);
195
+ return lines.join("\n");
196
+ }
197
+ case "kirograph_pattern_save_baseline": {
198
+ const { loadConfig } = await Promise.resolve().then(() => require("../../config.js"));
199
+ const projectRoot = cg.getProjectRoot();
200
+ const config = await loadConfig(projectRoot);
201
+ if (!config.enablePatterns) {
202
+ return "Pattern analysis is not enabled. Set enablePatterns: true in .kirograph/config.json and run kirograph index.";
203
+ }
204
+ const label = args.label ?? "default";
205
+ const db = cg.getDatabase();
206
+ db.applyPatternsSchema();
207
+ const rawDb = db.getRawDb();
208
+ const tableExists = rawDb.get("SELECT name FROM sqlite_master WHERE type='table' AND name='pattern_matches'");
209
+ if (!tableExists) {
210
+ return "No pattern_matches table found. Run kirograph index first to populate pattern data.";
211
+ }
212
+ const rows = rawDb.all(
213
+ "SELECT pattern_id, COUNT(*) as cnt FROM pattern_matches GROUP BY pattern_id"
214
+ );
215
+ const baseline = {};
216
+ for (const row of rows) {
217
+ baseline[row.pattern_id] = row.cnt;
218
+ }
219
+ const kirographDir = import_path.default.join(projectRoot, ".kirograph");
220
+ if (!import_fs.default.existsSync(kirographDir)) import_fs.default.mkdirSync(kirographDir, { recursive: true });
221
+ const baselinePath = import_path.default.join(kirographDir, `pattern-baseline-${label}.json`);
222
+ import_fs.default.writeFileSync(baselinePath, JSON.stringify({ label, savedAt: Date.now(), counts: baseline }, null, 2));
223
+ const totalMatches = Object.values(baseline).reduce((s, c) => s + c, 0);
224
+ return `Baseline "${label}" saved: ${Object.keys(baseline).length} patterns, ${totalMatches} total matches \u2192 ${baselinePath}`;
225
+ }
226
+ case "kirograph_pattern_diff": {
227
+ const { loadConfig } = await Promise.resolve().then(() => require("../../config.js"));
228
+ const projectRoot = cg.getProjectRoot();
229
+ const config = await loadConfig(projectRoot);
230
+ if (!config.enablePatterns) {
231
+ return "Pattern analysis is not enabled. Set enablePatterns: true in .kirograph/config.json and run kirograph index.";
232
+ }
233
+ const label = args.label ?? "default";
234
+ const baselinePath = import_path.default.join(projectRoot, ".kirograph", `pattern-baseline-${label}.json`);
235
+ if (!import_fs.default.existsSync(baselinePath)) {
236
+ return `Baseline "${label}" not found. Run kirograph_pattern_save_baseline first.`;
237
+ }
238
+ let baseline;
239
+ try {
240
+ baseline = JSON.parse(import_fs.default.readFileSync(baselinePath, "utf8"));
241
+ } catch {
242
+ return `Failed to read baseline file: ${baselinePath}`;
243
+ }
244
+ const db = cg.getDatabase();
245
+ db.applyPatternsSchema();
246
+ const rawDb = db.getRawDb();
247
+ const tableExists = rawDb.get("SELECT name FROM sqlite_master WHERE type='table' AND name='pattern_matches'");
248
+ const currentCounts = {};
249
+ if (tableExists) {
250
+ const rows = rawDb.all(
251
+ "SELECT pattern_id, COUNT(*) as cnt FROM pattern_matches GROUP BY pattern_id"
252
+ );
253
+ for (const row of rows) {
254
+ currentCounts[row.pattern_id] = row.cnt;
255
+ }
256
+ }
257
+ const allPatternIds = /* @__PURE__ */ new Set([...Object.keys(baseline.counts), ...Object.keys(currentCounts)]);
258
+ const newFindings = [];
259
+ const resolvedFindings = [];
260
+ const unchanged = [];
261
+ const changed = [];
262
+ for (const id of allPatternIds) {
263
+ const before = baseline.counts[id] ?? 0;
264
+ const after = currentCounts[id] ?? 0;
265
+ if (before === 0 && after > 0) {
266
+ newFindings.push({ id, count: after });
267
+ } else if (before > 0 && after === 0) {
268
+ resolvedFindings.push({ id, count: before });
269
+ } else if (before === after) {
270
+ unchanged.push({ id, count: after });
271
+ } else {
272
+ changed.push({ id, before, after, delta: after - before });
273
+ }
274
+ }
275
+ const savedDate = new Date(baseline.savedAt).toISOString().slice(0, 16).replace("T", " ");
276
+ const lines = [
277
+ `# Pattern Diff: "${label}" (saved ${savedDate}) \u2192 current`,
278
+ "",
279
+ `NEW: ${newFindings.length} RESOLVED: ${resolvedFindings.length} CHANGED: ${changed.length} UNCHANGED: ${unchanged.length}`
280
+ ];
281
+ if (newFindings.length > 0) {
282
+ lines.push("", "## New Findings (not in baseline)");
283
+ for (const f of newFindings.sort((a, b) => b.count - a.count)) {
284
+ lines.push(` + ${f.id}: ${f.count} matches`);
285
+ }
286
+ }
287
+ if (resolvedFindings.length > 0) {
288
+ lines.push("", "## Resolved (in baseline, not in current)");
289
+ for (const f of resolvedFindings.sort((a, b) => b.count - a.count)) {
290
+ lines.push(` - ${f.id}: was ${f.count} matches`);
291
+ }
292
+ }
293
+ if (changed.length > 0) {
294
+ lines.push("", "## Changed");
295
+ for (const f of changed.sort((a, b) => Math.abs(b.delta) - Math.abs(a.delta))) {
296
+ const sign = f.delta > 0 ? "+" : "";
297
+ lines.push(` ~ ${f.id}: ${f.before} \u2192 ${f.after} (${sign}${f.delta})`);
298
+ }
299
+ }
300
+ return lines.join("\n");
301
+ }
302
+ default:
303
+ return `Unknown tool: ${toolName}`;
304
+ }
305
+ }
306
+ // Annotate the CommonJS export names for ESM import in node:
307
+ 0 && (module.exports = {
308
+ handlePatterns
309
+ });
310
+ //# sourceMappingURL=patterns.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/mcp/handlers/patterns.ts"],
4
+ "sourcesContent": ["import fs from 'fs';\nimport path from 'path';\nimport KiroGraph from '../../index';\nimport { truncate } from './utils';\n\nexport async function handlePatterns(toolName: string, args: Record<string, unknown>, cg: KiroGraph): Promise<string> {\n switch (toolName) {\n case 'kirograph_live_search': {\n const { loadConfig } = await Promise.resolve().then(() => require('../../config.js'));\n const projectRoot = cg.getProjectRoot();\n const config = await loadConfig(projectRoot);\n\n if (!config.enablePatterns) {\n return 'kirograph_live_search requires enablePatterns: true in .kirograph/config.json';\n }\n\n const { PatternRunner } = await Promise.resolve().then(() => require('../../patterns/runner.js'));\n const runner = new PatternRunner();\n\n if (!runner.isAvailable()) {\n return 'kirograph_live_search requires @ast-grep/napi. Run: npm install @ast-grep/napi';\n }\n\n const pattern = args.pattern as string;\n const language = args.language as string;\n const rawLimit = typeof args.limit === 'number' ? args.limit : 20;\n const limit = Math.max(1, Math.min(100, Math.round(rawLimit)));\n\n const db = cg.getDatabase();\n const rawDb = db.getRawDb();\n\n const files: Array<{ path: string }> = rawDb.all(\n 'SELECT path FROM files WHERE language = ? LIMIT 5000',\n [language],\n );\n\n const results: Array<{ filePath: string; line: number; matchText: string }> = [];\n let truncated = false;\n\n for (const file of files) {\n if (results.length >= limit) { truncated = true; break; }\n\n let content: string;\n try {\n const fullPath = path.isAbsolute(file.path) ? file.path : path.join(projectRoot, file.path);\n content = fs.readFileSync(fullPath, 'utf8');\n } catch {\n continue;\n }\n\n const matches = await runner.runInline(pattern, language, content);\n for (const m of matches) {\n if (results.length >= limit) { truncated = true; break; }\n results.push({ filePath: file.path, line: m.line, matchText: m.matchText });\n }\n }\n\n if (results.length === 0) {\n return `0 matches for '${pattern}' in ${language} files`;\n }\n\n const lines: string[] = [\n `${results.length} match${results.length !== 1 ? 'es' : ''} for '${pattern}' in ${language} files`,\n '',\n ];\n\n for (const r of results) {\n lines.push(` ${r.filePath}:${r.line}`);\n lines.push(` ${r.matchText}`);\n lines.push('');\n }\n\n if (truncated) {\n lines.push(`[truncated \u2014 showing first ${limit} results; refine your pattern or use --lang to narrow scope]`);\n }\n\n return truncate(lines.join('\\n'));\n }\n\n case 'kirograph_pattern_coverage': {\n const { loadConfig } = await Promise.resolve().then(() => require('../../config.js'));\n const projectRoot = cg.getProjectRoot();\n const config = await loadConfig(projectRoot);\n if (!(config as any).enablePatterns) {\n return 'Pattern analysis is not enabled. Set enablePatterns: true in .kirograph/config.json and run kirograph index.';\n }\n\n // Load all pattern rules to enumerate coverage\n const { PatternLibraryLoader } = await Promise.resolve().then(() => require('../../patterns/loader.js'));\n const loader = new PatternLibraryLoader();\n const builtinPath = path.join(__dirname, '../../patterns/library');\n const customPath = (config as any).patternLibraryPath as string | undefined;\n let rules: import('../../patterns/types').PatternRule[] = [];\n try {\n rules = loader.load(builtinPath, customPath);\n } catch { /* no rules \u2014 continue */ }\n\n // Group rules by owaspCategory prefix (A01\u2013A10)\n const rulesByCategory = new Map<string, import('../../patterns/types').PatternRule[]>();\n for (const rule of rules) {\n const prefix = rule.owaspCategory.match(/^(A\\d{2})/)?.[1] ?? rule.owaspCategory;\n if (!rulesByCategory.has(prefix)) rulesByCategory.set(prefix, []);\n rulesByCategory.get(prefix)!.push(rule);\n }\n\n // Query match counts from DB if table exists\n const db = cg.getDatabase();\n db.applyPatternsSchema();\n const rawDb = db.getRawDb();\n const matchCountsByCategory = new Map<string, number>();\n try {\n const tableExists = rawDb.get(\"SELECT name FROM sqlite_master WHERE type='table' AND name='pattern_matches'\");\n if (tableExists) {\n const rows: Array<{ owasp_category: string; cnt: number }> = rawDb.all(\n 'SELECT owasp_category, COUNT(*) as cnt FROM pattern_matches GROUP BY owasp_category'\n );\n for (const row of rows) {\n const prefix = row.owasp_category.match(/^(A\\d{2})/)?.[1] ?? row.owasp_category;\n matchCountsByCategory.set(prefix, (matchCountsByCategory.get(prefix) ?? 0) + row.cnt);\n }\n }\n } catch { /* non-critical */ }\n\n // All OWASP Top 10 categories\n const owaspTop10 = [\n 'A01', 'A02', 'A03', 'A04', 'A05',\n 'A06', 'A07', 'A08', 'A09', 'A10',\n ];\n const owaspNames: Record<string, string> = {\n A01: 'Broken Access Control',\n A02: 'Cryptographic Failures',\n A03: 'Injection',\n A04: 'Insecure Design',\n A05: 'Security Misconfiguration',\n A06: 'Vulnerable and Outdated Components',\n A07: 'Identification and Authentication Failures',\n A08: 'Software and Data Integrity Failures',\n A09: 'Security Logging and Monitoring Failures',\n A10: 'Server-Side Request Forgery',\n };\n\n const covered: string[] = [];\n const uncovered: string[] = [];\n\n const lines: string[] = [\n '# OWASP Top 10 Pattern Coverage',\n '',\n `Total rules loaded: ${rules.length}`,\n '',\n 'Category | Rules | Matches',\n '-------- | ----- | -------',\n ];\n\n for (const cat of owaspTop10) {\n const catRules = rulesByCategory.get(cat) ?? [];\n const matchCount = matchCountsByCategory.get(cat) ?? 0;\n const label = `${cat}: ${owaspNames[cat] ?? cat}`;\n if (catRules.length > 0) {\n covered.push(label);\n lines.push(`${label} | ${catRules.length} | ${matchCount}`);\n } else {\n uncovered.push(label);\n }\n }\n\n // Extra categories not in top 10\n for (const [cat, catRules] of rulesByCategory.entries()) {\n if (!owaspTop10.includes(cat)) {\n const matchCount = matchCountsByCategory.get(cat) ?? 0;\n lines.push(`${cat} | ${catRules.length} | ${matchCount}`);\n }\n }\n\n if (uncovered.length > 0) {\n lines.push('', `Uncovered categories (${uncovered.length}):`, ...uncovered.map(c => ` - ${c}`));\n }\n\n lines.push('', `Coverage: ${covered.length} / ${owaspTop10.length} OWASP Top 10 categories`);\n\n return lines.join('\\n');\n }\n\n case 'kirograph_pattern_save_baseline': {\n const { loadConfig } = await Promise.resolve().then(() => require('../../config.js'));\n const projectRoot = cg.getProjectRoot();\n const config = await loadConfig(projectRoot);\n if (!(config as any).enablePatterns) {\n return 'Pattern analysis is not enabled. Set enablePatterns: true in .kirograph/config.json and run kirograph index.';\n }\n\n const label = (args.label as string) ?? 'default';\n\n const db = cg.getDatabase();\n db.applyPatternsSchema();\n const rawDb = db.getRawDb();\n\n const tableExists = rawDb.get(\"SELECT name FROM sqlite_master WHERE type='table' AND name='pattern_matches'\");\n if (!tableExists) {\n return 'No pattern_matches table found. Run kirograph index first to populate pattern data.';\n }\n\n const rows: Array<{ pattern_id: string; cnt: number }> = rawDb.all(\n 'SELECT pattern_id, COUNT(*) as cnt FROM pattern_matches GROUP BY pattern_id'\n );\n\n const baseline: Record<string, number> = {};\n for (const row of rows) {\n baseline[row.pattern_id] = row.cnt;\n }\n\n const kirographDir = path.join(projectRoot, '.kirograph');\n if (!fs.existsSync(kirographDir)) fs.mkdirSync(kirographDir, { recursive: true });\n\n const baselinePath = path.join(kirographDir, `pattern-baseline-${label}.json`);\n fs.writeFileSync(baselinePath, JSON.stringify({ label, savedAt: Date.now(), counts: baseline }, null, 2));\n\n const totalMatches = Object.values(baseline).reduce((s, c) => s + c, 0);\n return `Baseline \"${label}\" saved: ${Object.keys(baseline).length} patterns, ${totalMatches} total matches \u2192 ${baselinePath}`;\n }\n\n case 'kirograph_pattern_diff': {\n const { loadConfig } = await Promise.resolve().then(() => require('../../config.js'));\n const projectRoot = cg.getProjectRoot();\n const config = await loadConfig(projectRoot);\n if (!(config as any).enablePatterns) {\n return 'Pattern analysis is not enabled. Set enablePatterns: true in .kirograph/config.json and run kirograph index.';\n }\n\n const label = (args.label as string) ?? 'default';\n const baselinePath = path.join(projectRoot, '.kirograph', `pattern-baseline-${label}.json`);\n\n if (!fs.existsSync(baselinePath)) {\n return `Baseline \"${label}\" not found. Run kirograph_pattern_save_baseline first.`;\n }\n\n let baseline: { label: string; savedAt: number; counts: Record<string, number> };\n try {\n baseline = JSON.parse(fs.readFileSync(baselinePath, 'utf8'));\n } catch {\n return `Failed to read baseline file: ${baselinePath}`;\n }\n\n const db = cg.getDatabase();\n db.applyPatternsSchema();\n const rawDb = db.getRawDb();\n\n const tableExists = rawDb.get(\"SELECT name FROM sqlite_master WHERE type='table' AND name='pattern_matches'\");\n const currentCounts: Record<string, number> = {};\n if (tableExists) {\n const rows: Array<{ pattern_id: string; cnt: number }> = rawDb.all(\n 'SELECT pattern_id, COUNT(*) as cnt FROM pattern_matches GROUP BY pattern_id'\n );\n for (const row of rows) {\n currentCounts[row.pattern_id] = row.cnt;\n }\n }\n\n const allPatternIds = new Set([...Object.keys(baseline.counts), ...Object.keys(currentCounts)]);\n\n const newFindings: Array<{ id: string; count: number }> = [];\n const resolvedFindings: Array<{ id: string; count: number }> = [];\n const unchanged: Array<{ id: string; count: number }> = [];\n const changed: Array<{ id: string; before: number; after: number; delta: number }> = [];\n\n for (const id of allPatternIds) {\n const before = baseline.counts[id] ?? 0;\n const after = currentCounts[id] ?? 0;\n if (before === 0 && after > 0) {\n newFindings.push({ id, count: after });\n } else if (before > 0 && after === 0) {\n resolvedFindings.push({ id, count: before });\n } else if (before === after) {\n unchanged.push({ id, count: after });\n } else {\n changed.push({ id, before, after, delta: after - before });\n }\n }\n\n const savedDate = new Date(baseline.savedAt).toISOString().slice(0, 16).replace('T', ' ');\n const lines: string[] = [\n `# Pattern Diff: \"${label}\" (saved ${savedDate}) \u2192 current`,\n '',\n `NEW: ${newFindings.length} RESOLVED: ${resolvedFindings.length} CHANGED: ${changed.length} UNCHANGED: ${unchanged.length}`,\n ];\n\n if (newFindings.length > 0) {\n lines.push('', '## New Findings (not in baseline)');\n for (const f of newFindings.sort((a, b) => b.count - a.count)) {\n lines.push(` + ${f.id}: ${f.count} matches`);\n }\n }\n\n if (resolvedFindings.length > 0) {\n lines.push('', '## Resolved (in baseline, not in current)');\n for (const f of resolvedFindings.sort((a, b) => b.count - a.count)) {\n lines.push(` - ${f.id}: was ${f.count} matches`);\n }\n }\n\n if (changed.length > 0) {\n lines.push('', '## Changed');\n for (const f of changed.sort((a, b) => Math.abs(b.delta) - Math.abs(a.delta))) {\n const sign = f.delta > 0 ? '+' : '';\n lines.push(` ~ ${f.id}: ${f.before} \u2192 ${f.after} (${sign}${f.delta})`);\n }\n }\n\n return lines.join('\\n');\n }\n\n default:\n return `Unknown tool: ${toolName}`;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["path", "fs"]
7
+ }