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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/bin/commands/help.ts"],
4
- "sourcesContent": ["import { Command } from 'commander';\nimport { printBanner } from '../banner';\n\ntype CommandEntry = { name: string; args?: string; desc: string; opts?: string[] };\ntype Group = { icon: string; title: string; commands: CommandEntry[]; examples: [string, string][] };\n\nconst c = {\n reset: '\\x1b[0m',\n bold: '\\x1b[1m',\n dim: '\\x1b[2m',\n violet: '\\x1b[38;5;99m',\n purple: '\\x1b[38;5;135m',\n lavender: '\\x1b[38;5;141m',\n paleLavender: '\\x1b[38;5;183m',\n gray: '\\x1b[90m',\n brown: '\\x1b[38;5;130m',\n green: '\\x1b[32m',\n cyan: '\\x1b[36m',\n underline: '\\x1b[4m',\n};\n\nconst GROUPS: Group[] = [\n {\n icon: '\uD83D\uDD27', title: 'Setup',\n commands: [\n { name: 'install', desc: 'Wire up MCP/instructions for an agent workspace', opts: ['--target <t> kiro | cursor | claude | windsurf | ...', 'Kiro install: prompts to import global hooks'] },\n { name: 'init', args: '[path]', desc: 'Initialize KiroGraph in a project', opts: ['-i, --index Index immediately after init'] },\n { name: 'uninit', args: '[path]', desc: 'Remove KiroGraph from a project', opts: ['--force Skip confirmation', '--target <t> Target to clean up (or \"all\")'] },\n { name: 'hook', desc: 'Manage global Kiro hooks in ~/.kirograph/hooks/', opts: ['save [path] Save workspace hooks to global store', 'import [path] Import global hooks into workspace', 'list List saved global hooks', '--all Save or import all without prompting (save/import)'] },\n ],\n examples: [\n ['kirograph install', 'Wire up Kiro MCP + hooks + steering'],\n ['kirograph install --target cursor', 'Wire up Cursor MCP + rules + hooks'],\n ['kirograph init --index', 'Init and immediately index'],\n ['kirograph hook save', 'Save workspace hooks to your global library'],\n ['kirograph hook import', 'Import global hooks into this project'],\n ],\n },\n {\n icon: '\uD83D\uDCE6', title: 'Indexing',\n commands: [\n { name: 'index', args: '[path]', desc: 'Full re-index of a project', opts: ['--force Force re-index all files'] },\n { name: 'sync', args: '[path]', desc: 'Incremental sync of changed files', opts: ['--files <f> Specific files to sync'] },\n { name: 'sync-if-dirty', args: '[path]', desc: 'Sync only if a dirty marker is present', opts: ['-q, --quiet Suppress output'] },\n { name: 'mark-dirty', args: '[path]', desc: 'Write a dirty marker for deferred sync' },\n { name: 'unlock', args: '[path]', desc: 'Force-release a stale lock file' },\n ],\n examples: [\n ['kirograph sync', 'Incremental sync of changed files'],\n ['kirograph index --force', 'Force full re-index'],\n ],\n },\n {\n icon: '\uD83D\uDD0D', title: 'Search',\n commands: [\n { name: 'status', args: '[path]', desc: 'Show index statistics and health' },\n { name: 'query', args: '<search>', desc: 'Search for symbols by name', opts: ['--kind <k> Filter by kind', '--limit <n> Max results'] },\n { name: 'context', args: '<task>', desc: 'Build relevant code context for a task', opts: ['--max-nodes <n> Max symbols', '--no-code Exclude code', '--format <f> markdown | json'] },\n { name: 'files', args: '[path]', desc: 'Show project file structure', opts: ['--format <f> tree | flat | grouped | compact', '--filter <p> Directory prefix', '--pattern <g> Glob'] },\n { name: 'path', args: '<from> <to>', desc: 'Shortest path between two symbols' },\n { name: 'affected', args: '[files...]', desc: 'Find test files affected by changes', opts: ['--stdin Read from stdin', '-d <n> Depth', '-q Quiet'] },\n ],\n examples: [\n ['kirograph query useState', 'Find symbols named useState'],\n ['kirograph context \"add dark mode\"', 'Get context for a task'],\n ['kirograph path LoginController Pool', 'How are these connected?'],\n ['git diff --name-only | kirograph affected --stdin', 'Affected tests from git diff'],\n ],\n },\n {\n icon: '\uD83D\uDCCA', title: 'Insights',\n commands: [\n { name: 'hotspots', args: '[path]', desc: 'Most-connected symbols by edge degree', opts: ['--limit <n> Max results', '--format <f> table | json'] },\n { name: 'surprising', args: '[path]', desc: 'Non-obvious cross-file connections', opts: ['--limit <n> Max results'] },\n { name: 'dead-code', args: '[path]', desc: 'Unreferenced unexported symbols', opts: ['--limit <n> Max results'] },\n { name: 'snapshot', desc: 'Save/list/diff graph snapshots', opts: ['save [label]', 'list', 'diff [label] --format summary|full|json'] },\n { name: 'export', desc: 'Interactive graph dashboard', opts: ['build [path] Generate HTML', 'start [path] Generate and open'] },\n ],\n examples: [\n ['kirograph hotspots --limit 10', 'Top 10 most-connected symbols'],\n ['kirograph snapshot save pre-refactor', 'Save before a refactor'],\n ['kirograph snapshot diff pre-refactor', 'See what changed'],\n ['kirograph export start', 'Open the graph dashboard'],\n ],\n },\n {\n icon: '\uD83C\uDFDB\uFE0F', title: 'Architecture',\n commands: [\n { name: 'architecture', args: '[path]', desc: 'Package graph and layer map', opts: ['--packages Packages only', '--layers Layers only'] },\n { name: 'coupling', args: '[path]', desc: 'Coupling metrics per package', opts: ['--sort <s> instability | ca | ce | name', '--package <n> Detail view'] },\n { name: 'package', args: '<name>', desc: 'Inspect a package', opts: ['--no-files Omit file list'] },\n ],\n examples: [\n ['kirograph architecture --packages', 'List all detected packages'],\n ['kirograph coupling --sort instability', 'Packages ranked by instability'],\n ['kirograph package src/auth', 'Inspect the auth package'],\n ],\n },\n {\n icon: '\uD83E\uDDE0', title: 'Memory',\n commands: [\n { name: 'mem search', args: '<query>', desc: 'Search past observations', opts: ['--kind <k> Filter by kind', '--limit <n> Max results'] },\n { name: 'mem store', args: '<text>', desc: 'Store an observation', opts: ['--kind <k> decision | error | pattern | architecture | note'] },\n { name: 'mem timeline', desc: 'List recent sessions and observations' },\n { name: 'mem status', desc: 'Memory health dashboard' },\n { name: 'mem prune', desc: 'Remove old observations', opts: ['--older-than <d> Duration (e.g. 90d)'] },\n { name: 'mem export', desc: 'Export observations', opts: ['--format <f> jsonl | md'] },\n { name: 'mem reembed', desc: 'Re-embed after model change' },\n { name: 'mem lint', desc: 'Health check and auto-repair', opts: ['--fix Auto-fix issues'] },\n ],\n examples: [\n ['kirograph mem search \"auth decision\"', 'Search for past decisions'],\n ['kirograph mem store \"use idempotency keys\" --kind decision', 'Store a decision'],\n ['kirograph mem timeline', 'See recent sessions'],\n ],\n },\n {\n icon: '\uD83D\uDD12', title: 'Security',\n commands: [\n { name: 'security', args: '[path]', desc: 'Security overview: vulnerabilities, verdicts, stale-data warnings' },\n { name: 'vulns', args: '[path]', desc: 'List vulnerabilities with reachability verdicts and severity',\n opts: [\n '--severity <level> Filter by severity: critical, high, medium, low',\n '--verdict <verdict> Filter by verdict: affected, not_affected, under_investigation',\n '--refresh Trigger fresh vulnerability enrichment before listing',\n '--add <cveId> Manually register a CVE (requires --package and --version)',\n ],\n },\n { name: 'reachability', args: '<target>', desc: 'Check reachability for a CVE or dependency: verdict, call paths, impact' },\n { name: 'vuln suppress', args: '<cveId>', desc: 'Mark a CVE as suppressed (false positive or accepted risk)',\n opts: [\n '--reason <text> Reason for suppression',\n '--expires <date> Expiry date (e.g. 2026-12-31)',\n ],\n },\n { name: 'vuln unsuppress', args: '<cveId>', desc: 'Remove a suppression' },\n { name: 'vuln suppressions', desc: 'List all active suppressions', opts: ['--format json JSON output'] },\n { name: 'licenses', args: '[path]', desc: 'Show dependency licenses and check against policy (deny/warn lists)',\n opts: [\n '--policy Show only policy violations',\n '--deny <patterns> Override deny list (comma-separated SPDX patterns)',\n '--warn <patterns> Override warn list (comma-separated SPDX patterns)',\n '--format json JSON output',\n ],\n },\n { name: 'vex', args: '[path]', desc: 'Export a VEX document (Vulnerability Exploitability eXchange)', opts: ['--output <file> Write to file instead of stdout'] },\n { name: 'sbom', args: '[path]', desc: 'Export a Software Bill of Materials', opts: ['--output <file> Write to file instead of stdout'] },\n { name: 'staleness', args: '[path]', desc: 'Check dependency freshness \u2014 packages behind their latest version',\n opts: [\n '--threshold <n> Show only packages with staleness_score >= n (default: 0.3)',\n '--refresh Fetch latest version info from registries before listing',\n '--format <fmt> table | json',\n ],\n },\n { name: 'security export', args: '[path]', desc: 'Generate HTML security dashboard', opts: ['--output <file> Output path', '--open Open in browser'] },\n { name: 'security secrets', args: '[path]', desc: 'Scan for hardcoded secrets with call-graph blast radius', opts: ['--include-tests Include test files', '--severity <s> Filter level', '--format json'] },\n { name: 'security flows', args: '[path]', desc: 'SAST-lite: detect dangerous data flows (SQL injection, eval, path traversal, etc.)', opts: ['--type sql|eval|deserialize|path|all', '--format json'] },\n { name: 'security ci-report', args: '[path]', desc: 'Generate CI/CD security report (JSON, SARIF for GitHub, or text)', opts: ['--format json|sarif|text', '--fail-on affected|any|critical', '--output <file>'] },\n { name: 'attack-surface', args: '[path]', desc: 'Map attack surface: routes \u2192 vulnerable deps with hop count and auth status', opts: ['--limit <n>', '--public-only', '--format json'] },\n { name: 'supply-chain', args: '[path]', desc: 'Supply chain health: OpenSSF Scorecard, maintainer count, abandoned packages', opts: ['--threshold critical|high|medium', '--refresh', '--format json'] },\n { name: 'dep-confusion', args: '[path]', desc: 'Detect dependency confusion: internal packages that exist in public registries', opts: ['--format json'] },\n { name: 'remediation', args: '[path]', desc: 'Remediation SLA tracking: days open, fix available since, overdue alerts', opts: ['--overdue-only', '--format json'] },\n { name: 'pattern', args: '[pattern]', desc: 'AST structural search: live pattern search or library rule runner',\n opts: [\n '--list Show all bundled SAST rules',\n '--library <id> Run a specific library rule',\n '--lang <l> Language filter (js, ts, python, go, ...)',\n '--format json JSON output',\n ],\n },\n ],\n examples: [\n ['kirograph security', 'Overview: dep count, vuln count, verdict breakdown'],\n ['kirograph security --refresh-staleness', 'Overview including stale dependency count'],\n ['kirograph vulns', 'List all vulnerabilities with severity and verdict'],\n ['kirograph vulns --stale', 'Show staleness score alongside each CVE'],\n ['kirograph vulns --verdict under_investigation', 'Show only vulnerabilities still being investigated'],\n ['kirograph vulns --severity critical --verdict affected', 'Critical confirmed vulnerabilities'],\n ['kirograph vulns --refresh', 'Re-query OSV before listing'],\n ['kirograph staleness', 'Show packages with staleness_score >= 0.3'],\n ['kirograph staleness --refresh --threshold 0.5', 'Fetch latest versions and show very stale packages'],\n ['kirograph reachability CVE-2023-12345', 'Check reachability for a specific CVE'],\n ['kirograph reachability lodash', 'Check reachability for a dependency by package name'],\n ['kirograph licenses', 'Show all dependency licenses'],\n ['kirograph licenses --policy', 'Show only license policy violations'],\n ['kirograph licenses --deny \"GPL-*,AGPL-*\"', 'Block all GPL/AGPL licenses'],\n ['kirograph vex --output vex.json', 'Export CycloneDX VEX document'],\n ['kirograph sbom --output sbom.json', 'Export SPDX SBOM'],\n ['kirograph security export --open', 'Generate and open HTML security dashboard'],\n ['kirograph security secrets', 'Scan for hardcoded secrets with call-graph blast radius'],\n ['kirograph security flows', 'Detect dangerous data flows (SQL injection, eval, etc.)'],\n ['kirograph security ci-report --format sarif --output results.sarif', 'SARIF report for GitHub Security tab'],\n ['kirograph attack-surface --public-only', 'Show public routes reaching vulnerable deps'],\n ['kirograph supply-chain --threshold high', 'Show high-risk supply chain findings'],\n ['kirograph dep-confusion', 'Detect dependency confusion attack vectors'],\n ['kirograph remediation --overdue-only', 'Show CVEs past their remediation SLA'],\n ['kirograph vuln suppress CVE-2024-1234 --reason \"not in code path\"', 'Suppress a false positive CVE'],\n ['kirograph vuln unsuppress CVE-2024-1234', 'Remove a suppression'],\n ['kirograph vuln suppressions', 'List all active suppressions'],\n ['kirograph pattern \"eval($X)\"', 'Find all eval() calls'],\n ['kirograph pattern --list', 'Show all bundled SAST rules'],\n ['kirograph pattern --library dangerous-eval-js', 'Run the dangerous-eval library rule'],\n ],\n },\n {\n icon: '\u2699\uFE0F', title: 'Agent',\n commands: [\n { name: 'caveman', args: '[mode]', desc: 'Communication style (off | lite | full | ultra)' },\n { name: 'compression', args: '[level]', desc: 'Shell compression level (off | normal | aggressive | ultra)' },\n { name: 'exec', args: '<cmd>', desc: 'Run command with token-optimized output', opts: ['-l <level> Compression level', '-t <sec> Timeout'] },\n { name: 'gain', desc: 'Token savings statistics', opts: ['--graph ASCII chart', '--history Recent commands', '--daily Day breakdown'] },\n { name: 'serve', desc: 'Start the MCP server', opts: ['--mcp Run as stdio MCP', '--path <p> Project path'] },\n ],\n examples: [\n ['kirograph caveman lite', 'Enable lite caveman mode'],\n ['kirograph exec git status', 'Run git status with compression'],\n ['kirograph gain --graph', 'Show token savings graph'],\n ],\n },\n];\n\nfunction renderGroup(group: Group, highlightIdx: number): string[] {\n const lines: string[] = [];\n const nameWidth = Math.max(...group.commands.map(cmd => (cmd.name + (cmd.args ? ' ' + cmd.args : '')).length)) + 2;\n\n lines.push('');\n lines.push(` ${c.bold}${c.paleLavender}COMMANDS${c.reset} ${c.dim}\u2191\u2193 select \u00B7 enter to copy \u00B7 q quit${c.reset}`);\n lines.push('');\n\n for (let i = 0; i < group.commands.length; i++) {\n const cmd = group.commands[i]!;\n const signature = cmd.name + (cmd.args ? ' ' + cmd.args : '');\n const isHighlighted = i === highlightIdx;\n const prefix = isHighlighted ? `${c.green}${c.bold}\u276F${c.reset} ` : ' ';\n const namePart = isHighlighted\n ? `${c.bold}${c.lavender}${cmd.name}${c.reset}${cmd.args ? ' ' + c.bold + cmd.args + c.reset : ''}`\n : `${c.lavender}${cmd.name}${c.reset}${cmd.args ? ' ' + c.dim + cmd.args + c.reset : ''}`;\n const pad = ' '.repeat(Math.max(0, nameWidth - signature.length));\n lines.push(`${prefix}${namePart}${pad}${c.gray}${cmd.desc}${c.reset}`);\n if (cmd.opts) {\n for (const opt of cmd.opts) {\n const [flag, ...rest] = opt.split(/ +/);\n lines.push(` ${c.purple}${flag}${c.reset}${rest.length ? ' ' + c.dim + rest.join(' ') + c.reset : ''}`);\n }\n }\n }\n\n if (group.examples.length > 0) {\n lines.push('');\n lines.push(` ${c.bold}${c.paleLavender}EXAMPLES${c.reset}`);\n lines.push('');\n for (const [ex, desc] of group.examples) {\n lines.push(` ${c.violet}$${c.reset} ${c.lavender}${ex}${c.reset}`);\n lines.push(` ${c.dim}${desc}${c.reset}`);\n }\n }\n\n return lines;\n}\n\nfunction renderTabs(selectedIdx: number): string {\n return GROUPS.map((g, i) => {\n if (i === selectedIdx) {\n return `${c.bold}${c.violet}${c.underline}${g.icon} ${g.title}${c.reset}`;\n }\n return `${c.dim}${g.icon} ${g.title}${c.reset}`;\n }).join(' ');\n}\n\n/**\n * Interactive tabbed help \u2014 left/right for tabs, up/down for commands, enter to copy.\n */\nexport function printInteractiveHelp(): void {\n const CLEAR_LINE = '\\x1b[2K\\x1b[G';\n let selectedTab = 0;\n let selectedCmd = 0;\n let prevLineCount = 0;\n\n function render(first: boolean) {\n if (!first && prevLineCount > 0) {\n process.stdout.write(`\\x1b[${prevLineCount}A`);\n for (let i = 0; i < prevLineCount; i++) {\n process.stdout.write(`${CLEAR_LINE}\\n`);\n }\n process.stdout.write(`\\x1b[${prevLineCount}A`);\n }\n\n const lines: string[] = [];\n lines.push('');\n lines.push(` ${renderTabs(selectedTab)}`);\n lines.push(` ${c.dim}\u2190 \u2192 tabs \u00B7 \u2191 \u2193 commands \u00B7 enter to use \u00B7 q quit${c.reset}`);\n lines.push(...renderGroup(GROUPS[selectedTab]!, selectedCmd));\n lines.push('');\n\n for (const line of lines) {\n process.stdout.write(`${CLEAR_LINE}${line}\\n`);\n }\n prevLineCount = lines.length;\n }\n\n printBanner();\n console.log(`\\n${c.bold}${c.paleLavender}USAGE${c.reset} ${c.lavender}kirograph${c.reset} ${c.gray}<command>${c.reset} ${c.dim}[options]${c.reset}`);\n\n render(true);\n\n // Enter raw mode for interactive navigation\n const stdin = process.stdin;\n if (!stdin.isTTY) {\n // Non-interactive: just print all groups\n for (let i = 1; i < GROUPS.length; i++) {\n const lines = renderGroup(GROUPS[i]!, -1);\n for (const line of lines) console.log(line);\n }\n return;\n }\n\n stdin.setRawMode(true);\n stdin.resume();\n stdin.setEncoding('utf8');\n\n function cleanup() {\n stdin.removeListener('data', onData);\n stdin.setRawMode(false);\n stdin.pause();\n }\n\n function onData(key: string) {\n // Arrow keys and other escape sequences start with \\x1b[\n if (key.startsWith('\\x1b[')) {\n if (key === '\\x1b[C') { // right arrow \u2014 next tab\n selectedTab = (selectedTab + 1) % GROUPS.length;\n selectedCmd = 0;\n render(false);\n } else if (key === '\\x1b[D') { // left arrow \u2014 prev tab\n selectedTab = (selectedTab - 1 + GROUPS.length) % GROUPS.length;\n selectedCmd = 0;\n render(false);\n } else if (key === '\\x1b[B') { // down arrow \u2014 next command\n const maxCmd = GROUPS[selectedTab]!.commands.length - 1;\n selectedCmd = Math.min(selectedCmd + 1, maxCmd);\n render(false);\n } else if (key === '\\x1b[A') { // up arrow \u2014 prev command\n selectedCmd = Math.max(selectedCmd - 1, 0);\n render(false);\n }\n // Ignore other escape sequences\n return;\n }\n\n if (key === '\\r' || key === '\\n') { // enter \u2014 copy command to terminal\n cleanup();\n const cmd = GROUPS[selectedTab]!.commands[selectedCmd]!;\n const fullCmd = `kirograph ${cmd.name}${cmd.args ? ' ' + cmd.args : ''}`;\n // Clear the interactive UI and print the command\n process.stdout.write(`\\x1b[${prevLineCount}A`);\n for (let i = 0; i < prevLineCount; i++) {\n process.stdout.write(`${CLEAR_LINE}\\n`);\n }\n process.stdout.write(`\\x1b[${prevLineCount}A`);\n console.log(`\\n ${c.green}${c.bold}$${c.reset} ${fullCmd}\\n`);\n process.exit(0);\n } else if (key === 'q' || key === '\\x03') { // q, ctrl+c\n cleanup();\n console.log();\n process.exit(0);\n }\n }\n\n stdin.on('data', onData);\n}\n\n/**\n * Non-interactive full help (for piping, --help flag).\n */\nexport function printColoredHelp(): void {\n\n console.log(`\\n${c.bold}${c.paleLavender}USAGE${c.reset}`);\n console.log(` ${c.lavender}kirograph${c.reset} ${c.gray}<command>${c.reset} ${c.dim}[options]${c.reset}\\n`);\n\n for (const group of GROUPS) {\n console.log(`${c.bold}${c.paleLavender}${group.icon} ${group.title.toUpperCase()}${c.reset}\\n`);\n const nameWidth = Math.max(...group.commands.map(cmd => (cmd.name + (cmd.args ? ' ' + cmd.args : '')).length)) + 2;\n for (const cmd of group.commands) {\n const signature = cmd.name + (cmd.args ? ' ' + cmd.args : '');\n const namePart = `${c.lavender}${cmd.name}${c.reset}${cmd.args ? ' ' + c.dim + cmd.args + c.reset : ''}`;\n const pad = ' '.repeat(Math.max(0, nameWidth - signature.length));\n console.log(` ${namePart}${pad}${c.gray}${cmd.desc}${c.reset}`);\n if (cmd.opts) {\n for (const opt of cmd.opts) {\n const [flag, ...rest] = opt.split(/ +/);\n console.log(` ${c.purple}${flag}${c.reset}${rest.length ? ' ' + c.dim + rest.join(' ') + c.reset : ''}`);\n }\n }\n }\n console.log();\n }\n\n console.log(`${c.bold}${c.paleLavender}GLOBAL FLAGS${c.reset}\\n`);\n console.log(` ${c.purple}-h, --help${c.reset} ${c.gray}Show this help${c.reset}`);\n console.log(` ${c.purple}-V, --version${c.reset} ${c.gray}Show version number${c.reset}\\n`);\n\n\n console.log(`${c.bold}${c.paleLavender}EXAMPLES${c.reset}\\n`);\n\n const exampleGroups: Array<{ title: string; examples: [string, string][] }> = [\n {\n title: '\uD83D\uDD27 Setup & indexing',\n examples: [\n ['kirograph install', 'Wire up Kiro MCP + hooks + steering for the current workspace'],\n ['kirograph install --target claude', 'Wire up Claude Code MCP + project memory'],\n ['kirograph install --target codex', 'Install Codex project instructions and print MCP config'],\n ['kirograph init --index', 'Init and immediately index the project'],\n ['kirograph hook save', 'Save workspace hooks to ~/.kirograph/hooks/'],\n ['kirograph hook import', 'Import global hooks into .kiro/hooks/'],\n ['kirograph sync', 'Incremental sync of changed files'],\n ],\n },\n {\n title: '\uD83D\uDD0D Search & exploration',\n examples: [\n ['kirograph query useState', 'Find all symbols named useState'],\n ['kirograph context \"add dark mode\"', 'Get relevant code context for a task'],\n ['kirograph files --format grouped', 'Show files grouped by directory'],\n ['kirograph path LoginController DatabasePool', 'Find how two symbols are connected'],\n ['kirograph affected src/auth.ts', 'Find tests affected by a change'],\n ['git diff --name-only | kirograph affected --stdin', 'Affected tests from a git diff'],\n ['kirograph export start', 'Open the interactive graph dashboard in the browser'],\n ['kirograph export build -o /tmp/graph', 'Export the dashboard to a custom directory'],\n ],\n },\n {\n title: '\uD83D\uDCCA Graph insights',\n examples: [\n ['kirograph hotspots --limit 10', 'Top 10 most-connected symbols'],\n ['kirograph surprising', 'Find unexpected cross-module connections'],\n ['kirograph dead-code', 'Find unreferenced unexported symbols'],\n ['kirograph snapshot save pre-refactor', 'Save a named snapshot before a refactor'],\n ['kirograph snapshot diff pre-refactor', 'Diff current graph vs the named snapshot'],\n ],\n },\n {\n title: '\uD83C\uDFDB\uFE0F Architecture',\n examples: [\n ['kirograph architecture --packages', 'List all detected packages'],\n ['kirograph coupling --sort instability', 'Show packages ranked by instability'],\n ['kirograph package src/auth', 'Inspect the auth package'],\n ],\n },\n {\n title: '\uD83D\uDD12 Security',\n examples: [\n ['kirograph security', 'Overview: dep count, vuln count, verdict breakdown'],\n ['kirograph security --refresh-staleness', 'Overview including stale dependency count'],\n ['kirograph vulns', 'List all vulnerabilities'],\n ['kirograph vulns --stale', 'Show staleness score alongside each CVE'],\n ['kirograph vulns --verdict under_investigation', 'Vulnerabilities still being investigated'],\n ['kirograph vulns --severity critical --verdict affected', 'Critical confirmed vulnerabilities'],\n ['kirograph vulns --refresh', 'Re-query OSV then list'],\n ['kirograph staleness', 'Show packages with staleness_score >= 0.3'],\n ['kirograph staleness --refresh --threshold 0.5', 'Fetch latest versions and show very stale packages'],\n ['kirograph reachability CVE-2023-12345', 'Check reachability for a specific CVE'],\n ['kirograph reachability lodash', 'Check reachability for a dependency by package name'],\n ['kirograph licenses', 'Show all dependency licenses'],\n ['kirograph licenses --policy', 'Show only license policy violations'],\n ['kirograph licenses --deny \"GPL-*,AGPL-*\"', 'Block all GPL/AGPL licenses'],\n ['kirograph vex --output vex.json', 'Export CycloneDX VEX document'],\n ['kirograph sbom --output sbom.json', 'Export SPDX SBOM'],\n ['kirograph vuln suppress CVE-2024-1234 --reason \"not in code path\"', 'Suppress a false positive CVE'],\n ['kirograph vuln suppress CVE-2024-1234 --expires 2026-12-31', 'Suppress with expiry date'],\n ['kirograph vuln unsuppress CVE-2024-1234', 'Remove a suppression'],\n ['kirograph vuln suppressions', 'List all active suppressions'],\n ['kirograph pattern \"eval($X)\"', 'Find all eval() calls (requires enablePatterns: true)'],\n ['kirograph pattern --list', 'Show all bundled SAST pattern rules'],\n ['kirograph pattern --library dangerous-eval-js', 'Run a specific library rule'],\n ],\n },\n {\n title: '\u2699\uFE0F Agent',\n examples: [\n ['kirograph caveman full', 'Enable full caveman mode for the agent'],\n ['kirograph caveman off', 'Disable caveman mode'],\n ['kirograph compression aggressive', 'Set compression to aggressive level'],\n ['kirograph compression off', 'Disable compression hook (tool still available)'],\n ['kirograph exec git status', 'Run git status with compression'],\n ['kirograph exec --level ultra npm test', 'Run tests with ultra compression'],\n ['kirograph exec --raw cargo build', 'Show raw vs compressed comparison'],\n ['kirograph gain --graph', 'Show token savings graph'],\n ['kirograph mem search \"auth decision\"', 'Search memory for past decisions'],\n ['kirograph mem store \"use idempotency keys\" --kind decision', 'Store a decision'],\n ['kirograph data list', 'List all indexed datasets'],\n ['kirograph data describe tests-fixtures-users', 'Show schema and column profiles'],\n ['kirograph data query orders --filter status:eq:shipped --limit 10', 'Query rows with filters'],\n ['kirograph data aggregate orders --group-by region --metric sum:amount', 'Server-side aggregation'],\n ['kirograph serve --mcp', 'Start the MCP server'],\n ],\n },\n ];\n\n for (const eg of exampleGroups) {\n console.log(` ${c.dim}${eg.title}${c.reset}`);\n for (const [ex, desc] of eg.examples) {\n console.log(` ${c.violet}$${c.reset} ${c.lavender}${ex}${c.reset}`);\n console.log(` ${c.dim}${desc}${c.reset}`);\n }\n console.log();\n }\n}\n\nexport function register(program: Command): void {\n program.configureHelp({ formatHelp: () => '' });\n program.addHelpText('afterAll', '');\n // Disable Commander's built-in --help to prevent process.exit\n program.helpOption(false);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Command } from 'commander';\nimport { printBanner } from '../banner';\n\ntype CommandEntry = { name: string; args?: string; desc: string; opts?: string[] };\ntype Group = { icon: string; title: string; commands: CommandEntry[]; examples: [string, string][] };\n\nconst c = {\n reset: '\\x1b[0m',\n bold: '\\x1b[1m',\n dim: '\\x1b[2m',\n violet: '\\x1b[38;5;99m',\n purple: '\\x1b[38;5;135m',\n lavender: '\\x1b[38;5;141m',\n paleLavender: '\\x1b[38;5;183m',\n gray: '\\x1b[90m',\n brown: '\\x1b[38;5;130m',\n green: '\\x1b[32m',\n cyan: '\\x1b[36m',\n underline: '\\x1b[4m',\n};\n\nconst GROUPS: Group[] = [\n {\n icon: '\uD83D\uDD27', title: 'Setup',\n commands: [\n { name: 'install', desc: 'Wire up MCP/instructions for an agent workspace', opts: ['--target <t> kiro | cursor | claude | windsurf | ...', 'Kiro install: prompts to import global hooks'] },\n { name: 'init', args: '[path]', desc: 'Initialize KiroGraph in a project', opts: ['-i, --index Index immediately after init'] },\n { name: 'uninit', args: '[path]', desc: 'Remove KiroGraph from a project', opts: ['--force Skip confirmation', '--target <t> Target to clean up (or \"all\")'] },\n { name: 'hook', desc: 'Manage global Kiro hooks in ~/.kirograph/hooks/', opts: ['save [path] Save workspace hooks to global store', 'import [path] Import global hooks into workspace', 'list List saved global hooks', '--all Save or import all without prompting (save/import)'] },\n { name: 'doctor', args: '[path]', desc: 'Health check: index, config, hooks, and permissions', opts: ['--fix Auto-repair fixable issues'] },\n ],\n examples: [\n ['kirograph install', 'Wire up Kiro MCP + hooks + steering'],\n ['kirograph install --target claude', 'Wire up Claude Code MCP + project memory'],\n ['kirograph init --index', 'Init and immediately index'],\n ['kirograph hook save', 'Save workspace hooks to your global library'],\n ['kirograph hook import', 'Import global hooks into this project'],\n ['kirograph doctor --fix', 'Check and auto-repair installation issues'],\n ],\n },\n {\n icon: '\uD83D\uDCE6', title: 'Indexing',\n commands: [\n { name: 'index', args: '[path]', desc: 'Full re-index of a project', opts: ['--force Force re-index all files'] },\n { name: 'sync', args: '[path]', desc: 'Incremental sync of changed files', opts: ['--files <f> Specific files to sync'] },\n { name: 'sync-if-dirty', args: '[path]', desc: 'Sync only if a dirty marker is present', opts: ['-q, --quiet Suppress output'] },\n { name: 'mark-dirty', args: '[path]', desc: 'Write a dirty marker for deferred sync' },\n { name: 'unlock', args: '[path]', desc: 'Force-release a stale lock file' },\n ],\n examples: [\n ['kirograph sync', 'Incremental sync of changed files'],\n ['kirograph index --force', 'Force full re-index'],\n ],\n },\n {\n icon: '\uD83D\uDD0D', title: 'Search',\n commands: [\n { name: 'status', args: '[path]', desc: 'Show index statistics and health' },\n { name: 'query', args: '<search>', desc: 'Search for symbols by name', opts: ['--kind <k> Filter by kind', '--limit <n> Max results'] },\n { name: 'context', args: '<task>', desc: 'Build relevant code context for a task', opts: ['--max-nodes <n> Max symbols', '--no-code Exclude code', '--format <f> markdown | json'] },\n { name: 'files', args: '[path]', desc: 'Show project file structure', opts: ['--format <f> tree | flat | grouped | compact', '--filter <p> Directory prefix', '--pattern <g> Glob'] },\n { name: 'path', args: '<from> <to>', desc: 'Shortest dependency path between two symbols' },\n { name: 'affected', args: '[files...]', desc: 'Find test files affected by changed source files', opts: ['--stdin Read from stdin', '-d <n> Depth', '-q Quiet'] },\n { name: 'callers', args: '<symbol>', desc: 'List symbols that call a given function or method', opts: ['--limit <n> Max results'] },\n { name: 'callees', args: '<symbol>', desc: 'List symbols called by a given function or method', opts: ['--limit <n> Max results'] },\n { name: 'impact', args: '<symbol>', desc: 'Show symbols affected by changing a given symbol', opts: ['-d, --depth <n> Max traversal depth'] },\n ],\n examples: [\n ['kirograph query useState', 'Find symbols named useState'],\n ['kirograph context \"add dark mode\"', 'Get context for a task'],\n ['kirograph callers parseToken', 'Who calls parseToken?'],\n ['kirograph callees handleRequest', 'What does handleRequest call?'],\n ['kirograph impact UserService', 'What breaks if UserService changes?'],\n ['git diff --name-only | kirograph affected --stdin', 'Affected tests from git diff'],\n ],\n },\n {\n icon: '\uD83D\uDCCA', title: 'Insights',\n commands: [\n { name: 'hotspots', args: '[path]', desc: 'Most-connected symbols by edge degree', opts: ['--limit <n> Max results', '--format <f> table | json'] },\n { name: 'surprising', args: '[path]', desc: 'Non-obvious cross-file connections', opts: ['--limit <n> Max results'] },\n { name: 'dead-code', args: '[path]', desc: 'Unreferenced unexported symbols', opts: ['--limit <n> Max results'] },\n { name: 'circular-deps', args: '[path]', desc: 'Find circular dependency cycles', opts: ['-j, --json JSON output'] },\n { name: 'largest', args: '[path]', desc: 'Symbols ranked by lines of code', opts: ['--limit <n> Max results'] },\n { name: 'rank', args: '[path]', desc: 'Symbols ranked by fan-in or fan-out edge count', opts: ['--by <by> fan-in | fan-out'] },\n { name: 'distribution', args: '[dir]', desc: 'Symbol-kind breakdown per file or directory', opts: ['--limit <n> Max results'] },\n { name: 'god-class', args: '[path]', desc: 'Classes ranked by member count (god-class risk)', opts: ['--limit <n> Max results'] },\n { name: 'gini', args: '[path]', desc: 'Gini inequality coefficient of a metric', opts: ['--metric <m> loc | fan-in | fan-out'] },\n { name: 'snapshot', desc: 'Save/list/diff graph snapshots', opts: ['save [label]', 'list', 'diff [label] --format summary|full|json'] },\n { name: 'export', desc: 'Interactive graph dashboard', opts: ['build [path] Generate HTML', 'start [path] Generate and open'] },\n ],\n examples: [\n ['kirograph hotspots --limit 10', 'Top 10 most-connected symbols'],\n ['kirograph circular-deps', 'Find all circular dependency cycles'],\n ['kirograph largest --limit 20', 'Biggest functions by LOC'],\n ['kirograph god-class', 'Find potential god classes'],\n ['kirograph snapshot save pre-refactor', 'Save before a refactor'],\n ['kirograph export start', 'Open the graph dashboard'],\n ],\n },\n {\n icon: '\uD83C\uDFDB\uFE0F', title: 'Architecture',\n commands: [\n { name: 'architecture', args: '[path]', desc: 'Package graph and layer map', opts: ['--packages Packages only', '--layers Layers only'] },\n { name: 'coupling', args: '[path]', desc: 'Coupling metrics per package', opts: ['--sort <s> instability | ca | ce | name', '--package <n> Detail view'] },\n { name: 'package', args: '<name>', desc: 'Inspect a package', opts: ['--no-files Omit file list'] },\n { name: 'type-hierarchy', args: '<symbol>', desc: 'Traverse base/derived types of a class or interface', opts: ['--direction <dir> up | down | both'] },\n { name: 'communities', args: '[path]', desc: 'Detect code communities (clusters of related symbols)' },\n { name: 'manifest', args: '[path]', desc: 'Workspace manifest: packages, versions, licenses, version drift' },\n ],\n examples: [\n ['kirograph architecture --packages', 'List all detected packages'],\n ['kirograph coupling --sort instability', 'Packages ranked by instability'],\n ['kirograph type-hierarchy UserRepository --direction up', 'What interfaces does this implement?'],\n ['kirograph communities', 'Find tightly coupled clusters'],\n ['kirograph manifest', 'Show all dependency versions and drift'],\n ],\n },\n {\n icon: '\uD83C\uDFE5', title: 'Code Health',\n commands: [\n { name: 'module-api', args: '[path]', desc: 'List all exported symbols in a file or directory', opts: ['--limit <n> Max results'] },\n { name: 'rename-preview', args: '<symbol>', desc: 'Show all reference sites for a symbol before renaming', opts: ['--limit <n> Max results'] },\n { name: 'doc-coverage', args: '[path]', desc: 'Find exported symbols missing docstrings', opts: ['--limit <n> Max results'] },\n { name: 'inheritance-depth', args: '[path]', desc: 'Find deepest inheritance chains', opts: ['--limit <n> Max results'] },\n { name: 'recursion', args: '[path]', desc: 'Find recursive and mutually-recursive functions', opts: ['--limit <n> Max results'] },\n { name: 'annotations', args: '[path]', desc: 'Decorator/attribute histogram across the codebase', opts: ['--decorator <name> Filter by name'] },\n { name: 'unused-imports', args: '[path]', desc: 'Find import nodes with zero resolved downstream edges', opts: ['--limit <n> Max results'] },\n { name: 'dependency-depth', args: '[path]', desc: 'Topological depth of each file in the import graph', opts: ['--limit <n> Max files'] },\n { name: 'session', desc: 'Save or compare session baselines for tracking changes', opts: ['start Start a session baseline', 'end Compare current state to baseline'] },\n { name: 'refactor', desc: 'Refactoring tools: rename preview and community-driven suggestions', opts: ['rename <symbol> Preview rename locations', 'suggest Get refactoring suggestions'] },\n ],\n examples: [\n ['kirograph module-api src/auth', 'List public API of the auth module'],\n ['kirograph rename-preview handleLogin', 'Find all sites before renaming'],\n ['kirograph doc-coverage', 'Find undocumented exports'],\n ['kirograph unused-imports', 'Find dead import statements'],\n ['kirograph session start && <edit> && kirograph session end', 'Diff graph before and after a change'],\n ],\n },\n {\n icon: '\uD83D\uDD2C', title: 'Analysis',\n commands: [\n { name: 'complexity', args: '[path]', desc: 'Rank functions by cyclomatic, cognitive, and maintainability score', opts: ['--limit <n> Max results'] },\n { name: 'simplify-scan', args: '[path]', desc: 'Find candidates for simplification by complexity and dead code', opts: ['--limit <n> Max results'] },\n { name: 'health', args: '[path]', desc: 'Composite codebase health score (0-10000) with grade' },\n { name: 'dsm', args: '[path]', desc: 'Design Structure Matrix \u2014 detect strongly coupled module groups', opts: ['--limit <n> Max groups'] },\n { name: 'test-risk', args: '[path]', desc: 'Rank untested code by risk score (complexity \u00D7 fan-in)', opts: ['--limit <n> Max results'] },\n { name: 'test-coverage', args: '[path]', desc: 'Show test coverage gaps from lcov/Istanbul reports', opts: ['--sort <order> asc (worst first) | desc'] },\n ],\n examples: [\n ['kirograph health', 'Get overall health score and grade'],\n ['kirograph complexity --limit 10', 'Top 10 most complex functions'],\n ['kirograph test-risk', 'Which untested code is highest risk?'],\n ['kirograph test-coverage', 'Show worst-covered files first'],\n ['kirograph dsm', 'Find tightly coupled module groups'],\n ],\n },\n {\n icon: '\uD83C\uDF3F', title: 'Git',\n commands: [\n { name: 'diff-context', args: '[path]', desc: 'Changed symbols, their callers/callees, and affected tests', opts: ['--staged Use staged changes only'] },\n { name: 'commit-context', args: '[path]', desc: 'Structured summary of staged changes for a commit message' },\n { name: 'pr-context', args: '<base> [head]', desc: 'Semantic diff between two git refs for PR descriptions', opts: ['--format <fmt> text | json'] },\n { name: 'changelog', args: '<ref1> <ref2>', desc: 'Human-readable semantic diff between two git refs' },\n { name: 'test-map', args: '[symbol]', desc: 'Map symbols to test files; show uncovered symbols', opts: ['--limit <n> Max results'] },\n ],\n examples: [\n ['kirograph diff-context --staged', 'What does my staged diff actually change?'],\n ['kirograph commit-context', 'Generate a structured commit message draft'],\n ['kirograph pr-context main', 'Semantic PR description vs main'],\n ['kirograph changelog v1.0 v1.1', 'What changed between two tags?'],\n ['kirograph test-map', 'Which symbols have no test coverage?'],\n ],\n },\n {\n icon: '\u270F\uFE0F', title: 'Edit',\n commands: [\n { name: 'str-replace', args: '<file> <old> <new>', desc: 'Replace unique string anchor in a file; fails on 0 or >1 matches' },\n { name: 'multi-replace', args: '<file> <pairs-json>', desc: 'Multiple string replacements as an all-or-nothing transaction' },\n { name: 'insert-at', args: '<file> <anchor> <content>', desc: 'Insert content before or after an anchor or line number', opts: ['--after Insert after anchor', '--line Treat anchor as line number'] },\n { name: 'ast-rewrite', args: '<file> <pattern> <rewrite>', desc: 'Structural rewrite via ast-grep (requires ast-grep on PATH)' },\n ],\n examples: [\n ['kirograph str-replace auth.ts \"return null\" \"return undefined\"', 'Safe replace a unique string'],\n ['kirograph insert-at server.ts \"app.listen\" \"app.use(logger());\" --before', 'Insert before a line'],\n ['kirograph ast-rewrite src/api.ts \"console.log($MSG)\" \"logger.debug($MSG)\"', 'Structural rewrite'],\n ],\n },\n {\n icon: '\uD83C\uDF32', title: 'Branch',\n commands: [\n { name: 'branch list', desc: 'List tracked branches with size and last-sync time' },\n { name: 'branch add', args: '[name]', desc: 'Start tracking a branch (copies current index)' },\n { name: 'branch remove', args: '<name>', desc: 'Stop tracking a branch and delete its DB' },\n { name: 'branch gc', desc: 'Remove DBs for branches that no longer exist in git' },\n { name: 'branch diff', args: '<a> <b>', desc: 'Symbol diff between two tracked branch DBs' },\n { name: 'branch search', args: '<name> <query>', desc: 'Search symbols in a branch DB without switching' },\n ],\n examples: [\n ['kirograph branch list', 'See all tracked branches'],\n ['kirograph branch add feature/auth', 'Track the auth branch'],\n ['kirograph branch diff main feature/auth', 'What symbols changed?'],\n ['kirograph branch search feature/auth \"handleLogin\"', 'Search in branch without switching'],\n ['kirograph branch gc', 'Clean up deleted branches'],\n ],\n },\n {\n icon: '\uD83D\uDCDA', title: 'Docs',\n commands: [\n { name: 'docs toc', args: '[file]', desc: 'Table of contents for a file or the whole project' },\n { name: 'docs search', args: '<query>', desc: 'Full-text search over documentation sections', opts: ['--limit <n> Max results', '--section <id> Restrict to section'] },\n { name: 'docs section', args: '<id>', desc: 'Print the full content of a section by ID' },\n { name: 'docs outline', args: '<file>', desc: 'Print heading hierarchy for a document' },\n { name: 'docs refs', args: '<id>', desc: 'Show code-to-doc and doc-to-code cross-references' },\n { name: 'docs reindex', desc: 'Force re-index all documentation files' },\n { name: 'docs lint', desc: 'Find broken refs, stale sections, FTS desync' },\n ],\n examples: [\n ['kirograph docs toc', 'Table of contents for the project'],\n ['kirograph docs search \"authentication\"', 'Find docs about auth'],\n ['kirograph docs section api.auth.login', 'Read a specific section'],\n ['kirograph docs refs api.auth.login', 'Which code references this doc section?'],\n ],\n },\n {\n icon: '\uD83D\uDDC4\uFE0F', title: 'Data',\n commands: [\n { name: 'data list', desc: 'List all indexed datasets' },\n { name: 'data describe', args: '<dataset>', desc: 'Show schema and column profiles', opts: ['--format <f> table | json'] },\n { name: 'data query', args: '<dataset>', desc: 'Query rows with filters', opts: ['--filter <f> col:op:val', '--limit <n> Max rows', '--format <f> table | json | csv'] },\n { name: 'data aggregate', args: '<dataset>', desc: 'Server-side GROUP BY aggregation', opts: ['--group-by <col>', '--metric <agg:col> sum|avg|count|min|max'] },\n { name: 'data search', args: '<dataset> <q>', desc: 'Search column names and sample values' },\n { name: 'data join', args: '<left> <right>', desc: 'SQL JOIN across two indexed datasets', opts: ['--left-col <c> Join key', '--right-col <c> Join key', '--type inner|left|right'] },\n { name: 'data correlations', args: '<dataset>', desc: 'Pairwise Pearson correlations between numeric columns' },\n { name: 'data quality', args: '<dataset>', desc: 'Data quality triage: rank columns by risk' },\n { name: 'data drift', args: '<dataset>', desc: 'Show schema drift between last two indexes' },\n { name: 'data history', args: '<dataset>', desc: 'Show history of schema changes for a dataset' },\n ],\n examples: [\n ['kirograph data list', 'List all indexed datasets'],\n ['kirograph data describe orders', 'Schema and column profiles for orders'],\n ['kirograph data query orders --filter status:eq:shipped', 'Filter rows'],\n ['kirograph data aggregate orders --group-by region --metric sum:amount', 'Aggregate by region'],\n ['kirograph data join users orders --left-col id --right-col user_id', 'Join datasets'],\n ],\n },\n {\n icon: '\uD83D\uDCD6', title: 'Wiki',\n commands: [\n { name: 'wiki init', desc: 'Initialize wiki: create SCHEMA.md and MANIFEST.md' },\n { name: 'wiki ingest', args: '[source]', desc: 'Print the ingest prompt for the LLM (reads file or stdin)' },\n { name: 'wiki search', args: '<query>', desc: 'Full-text search over wiki pages', opts: ['--limit <n> Max results'] },\n { name: 'wiki page', args: '<slug>', desc: 'Print the full content of a wiki page' },\n { name: 'wiki list', desc: 'List all wiki pages' },\n { name: 'wiki lint', desc: 'Health check the wiki for broken links, orphans, contradictions' },\n { name: 'wiki reindex', desc: 'Rebuild SQLite index from .kirograph/wiki/*.md files' },\n { name: 'wiki status', desc: 'Wiki subsystem stats: page count, source count, oldest/newest page' },\n { name: 'wiki synthesize', desc: 'Run local-model wiki synthesis over the pending source queue' },\n { name: 'wiki apply-diff', args: '[diff]', desc: 'Apply a WIKI_DIFF string to the wiki' },\n ],\n examples: [\n ['kirograph wiki init', 'Initialize the wiki in this project'],\n ['kirograph wiki search \"authentication flow\"', 'Find wiki pages about auth'],\n ['kirograph wiki page arch-overview', 'Read a specific wiki page'],\n ['kirograph wiki lint', 'Check wiki health'],\n ['kirograph wiki status', 'How many pages and sources?'],\n ],\n },\n {\n icon: '\uD83E\uDDE0', title: 'Memory',\n commands: [\n { name: 'mem search', args: '<query>', desc: 'Search past observations', opts: ['--kind <k> Filter by kind', '--limit <n> Max results'] },\n { name: 'mem store', args: '<text>', desc: 'Store an observation', opts: ['--kind <k> decision | error | pattern | architecture | note'] },\n { name: 'mem capture', args: '<text>', desc: 'Passively extract multiple observations from free-form text' },\n { name: 'mem timeline', desc: 'List recent sessions and observations' },\n { name: 'mem status', desc: 'Memory health dashboard' },\n { name: 'mem prune', desc: 'Remove old observations', opts: ['--older-than <d> Duration (e.g. 90d)'] },\n { name: 'mem export', desc: 'Export observations', opts: ['--format <f> jsonl | md'] },\n { name: 'mem lint', desc: 'Health check and auto-repair', opts: ['--fix Auto-fix issues'] },\n { name: 'mem reembed', desc: 'Re-embed all observations after model change' },\n { name: 'mem conflicts list', desc: 'List pending conflict relations' },\n { name: 'mem conflicts ignore', args: '<id>', desc: 'Dismiss a pending conflict relation' },\n { name: 'mem watchmen status', desc: 'Show watchmen observation counter and last synthesis time' },\n { name: 'mem watchmen synthesize', desc: 'Run watchmen synthesis: produce brief and/or skill files' },\n { name: 'mem watchmen reset', desc: 'Reset the watchmen observation counter to zero' },\n ],\n examples: [\n ['kirograph mem search \"auth decision\"', 'Search for past decisions'],\n ['kirograph mem store \"use idempotency keys\" --kind decision', 'Store a decision'],\n ['kirograph mem prune --older-than 90d', 'Remove observations older than 90 days'],\n ['kirograph mem conflicts list', 'See pending conflict relations'],\n ['kirograph mem watchmen status', 'Check watchmen counter and last synthesis'],\n ['kirograph mem watchmen synthesize', 'Trigger watchmen synthesis manually'],\n ],\n },\n {\n icon: '\uD83D\uDD12', title: 'Security',\n commands: [\n { name: 'security', args: '[path]', desc: 'Security overview: vulnerabilities, verdicts, stale-data warnings' },\n { name: 'vulns', args: '[path]', desc: 'List vulnerabilities with reachability verdicts and severity',\n opts: [\n '--severity <level> Filter by severity: critical, high, medium, low',\n '--verdict <verdict> Filter by verdict: affected, not_affected, under_investigation',\n '--refresh Trigger fresh vulnerability enrichment before listing',\n '--add <cveId> Manually register a CVE (requires --package and --version)',\n ],\n },\n { name: 'reachability', args: '<target>', desc: 'Check reachability for a CVE or dependency: verdict, call paths, impact' },\n { name: 'vuln suppress', args: '<cveId>', desc: 'Mark a CVE as suppressed (false positive or accepted risk)',\n opts: [\n '--reason <text> Reason for suppression',\n '--expires <date> Expiry date (e.g. 2026-12-31)',\n ],\n },\n { name: 'vuln unsuppress', args: '<cveId>', desc: 'Remove a suppression' },\n { name: 'vuln suppressions', desc: 'List all active suppressions', opts: ['--format json JSON output'] },\n { name: 'licenses', args: '[path]', desc: 'Show dependency licenses and check against policy (deny/warn lists)',\n opts: [\n '--policy Show only policy violations',\n '--deny <patterns> Override deny list (comma-separated SPDX patterns)',\n '--warn <patterns> Override warn list (comma-separated SPDX patterns)',\n '--format json JSON output',\n ],\n },\n { name: 'vex', args: '[path]', desc: 'Export a VEX document (Vulnerability Exploitability eXchange)', opts: ['--output <file> Write to file instead of stdout'] },\n { name: 'sbom', args: '[path]', desc: 'Export a Software Bill of Materials', opts: ['--output <file> Write to file instead of stdout'] },\n { name: 'staleness', args: '[path]', desc: 'Check dependency freshness \u2014 packages behind their latest version',\n opts: [\n '--threshold <n> Show only packages with staleness_score >= n (default: 0.3)',\n '--refresh Fetch latest version info from registries before listing',\n '--format <fmt> table | json',\n ],\n },\n { name: 'security export', args: '[path]', desc: 'Generate HTML security dashboard', opts: ['--output <file> Output path', '--open Open in browser'] },\n { name: 'security secrets', args: '[path]', desc: 'Scan for hardcoded secrets with call-graph blast radius', opts: ['--include-tests Include test files', '--severity <s> Filter level', '--format json'] },\n { name: 'security flows', args: '[path]', desc: 'SAST-lite: detect dangerous data flows (SQL injection, eval, path traversal, etc.)', opts: ['--type sql|eval|deserialize|path|all', '--format json'] },\n { name: 'security ci-report', args: '[path]', desc: 'Generate CI/CD security report (JSON, SARIF for GitHub, or text)', opts: ['--format json|sarif|text', '--fail-on affected|any|critical', '--output <file>'] },\n { name: 'attack-surface', args: '[path]', desc: 'Map attack surface: routes \u2192 vulnerable deps with hop count and auth status', opts: ['--limit <n>', '--public-only', '--format json'] },\n { name: 'supply-chain', args: '[path]', desc: 'Supply chain health: OpenSSF Scorecard, maintainer count, abandoned packages', opts: ['--threshold critical|high|medium', '--refresh', '--format json'] },\n { name: 'dep-confusion', args: '[path]', desc: 'Detect dependency confusion: internal packages that exist in public registries', opts: ['--format json'] },\n { name: 'remediation', args: '[path]', desc: 'Remediation SLA tracking: days open, fix available since, overdue alerts', opts: ['--overdue-only', '--format json'] },\n { name: 'pattern', args: '[pattern]', desc: 'AST structural search: live pattern search or library rule runner',\n opts: [\n '--list Show all bundled SAST rules',\n '--library <id> Run a specific library rule',\n '--lang <l> Language filter (js, ts, python, go, ...)',\n '--format json JSON output',\n ],\n },\n ],\n examples: [\n ['kirograph security', 'Overview: dep count, vuln count, verdict breakdown'],\n ['kirograph security --refresh-staleness', 'Overview including stale dependency count'],\n ['kirograph vulns', 'List all vulnerabilities with severity and verdict'],\n ['kirograph vulns --stale', 'Show staleness score alongside each CVE'],\n ['kirograph vulns --verdict under_investigation', 'Show only vulnerabilities still being investigated'],\n ['kirograph vulns --severity critical --verdict affected', 'Critical confirmed vulnerabilities'],\n ['kirograph vulns --refresh', 'Re-query OSV before listing'],\n ['kirograph staleness', 'Show packages with staleness_score >= 0.3'],\n ['kirograph staleness --refresh --threshold 0.5', 'Fetch latest versions and show very stale packages'],\n ['kirograph reachability CVE-2023-12345', 'Check reachability for a specific CVE'],\n ['kirograph reachability lodash', 'Check reachability for a dependency by package name'],\n ['kirograph licenses', 'Show all dependency licenses'],\n ['kirograph licenses --policy', 'Show only license policy violations'],\n ['kirograph licenses --deny \"GPL-*,AGPL-*\"', 'Block all GPL/AGPL licenses'],\n ['kirograph vex --output vex.json', 'Export CycloneDX VEX document'],\n ['kirograph sbom --output sbom.json', 'Export SPDX SBOM'],\n ['kirograph security export --open', 'Generate and open HTML security dashboard'],\n ['kirograph security secrets', 'Scan for hardcoded secrets with call-graph blast radius'],\n ['kirograph security flows', 'Detect dangerous data flows (SQL injection, eval, etc.)'],\n ['kirograph security ci-report --format sarif --output results.sarif', 'SARIF report for GitHub Security tab'],\n ['kirograph attack-surface --public-only', 'Show public routes reaching vulnerable deps'],\n ['kirograph supply-chain --threshold high', 'Show high-risk supply chain findings'],\n ['kirograph dep-confusion', 'Detect dependency confusion attack vectors'],\n ['kirograph remediation --overdue-only', 'Show CVEs past their remediation SLA'],\n ['kirograph vuln suppress CVE-2024-1234 --reason \"not in code path\"', 'Suppress a false positive CVE'],\n ['kirograph vuln unsuppress CVE-2024-1234', 'Remove a suppression'],\n ['kirograph vuln suppressions', 'List all active suppressions'],\n ['kirograph pattern \"eval($X)\"', 'Find all eval() calls'],\n ['kirograph pattern --list', 'Show all bundled SAST rules'],\n ['kirograph pattern --library dangerous-eval-js', 'Run the dangerous-eval library rule'],\n ],\n },\n {\n icon: '\u2699\uFE0F', title: 'Agent',\n commands: [\n { name: 'caveman', args: '[mode]', desc: 'Communication style (off | lite | full | ultra)' },\n { name: 'compression', args: '[level]', desc: 'Shell compression level (off | normal | aggressive | ultra)' },\n { name: 'exec', args: '<cmd>', desc: 'Run command with token-optimized output', opts: ['-l <level> Compression level', '-t <sec> Timeout'] },\n { name: 'gain', desc: 'Token savings statistics', opts: ['--graph ASCII chart', '--history Recent commands', '--daily Day breakdown'] },\n { name: 'bench', desc: 'Run local token-efficiency benchmark across KiroGraph tools', opts: ['--quiet Suppress per-tool output'] },\n { name: 'monitor', desc: 'Live tail of mcp-calls.jsonl \u2014 watch MCP tool usage in real time', opts: ['--lines <n> Initial lines to show'] },\n { name: 'upgrade', desc: 'Update KiroGraph to the latest version', opts: ['--dry-run Show what would change without installing'] },\n { name: 'cost', args: '[sessionDir]', desc: 'Analyze MCP tool usage and token cost from Claude session transcripts', opts: ['--last <n> Last N sessions', '--category Group by tool category'] },\n { name: 'serve', desc: 'Start the MCP server', opts: ['--mcp Run as stdio MCP', '--path <p> Project path'] },\n ],\n examples: [\n ['kirograph caveman lite', 'Enable lite caveman mode'],\n ['kirograph exec git status', 'Run git status with compression'],\n ['kirograph gain --graph', 'Show token savings graph'],\n ['kirograph bench', 'Run token-efficiency benchmark'],\n ['kirograph monitor', 'Watch MCP tool calls live'],\n ['kirograph cost --last 5', 'Cost breakdown for the last 5 sessions'],\n ['kirograph upgrade --dry-run', 'Preview available KiroGraph update'],\n ],\n },\n];\n\nfunction renderGroup(group: Group, highlightIdx: number, interactive = false): string[] {\n const lines: string[] = [];\n const nameWidth = Math.max(...group.commands.map(cmd => (cmd.name + (cmd.args ? ' ' + cmd.args : '')).length)) + 2;\n\n lines.push('');\n lines.push(` ${c.bold}${c.paleLavender}COMMANDS${c.reset} ${c.dim}\u2191\u2193 select \u00B7 enter to copy \u00B7 q quit${c.reset}`);\n lines.push('');\n\n for (let i = 0; i < group.commands.length; i++) {\n const cmd = group.commands[i]!;\n const signature = cmd.name + (cmd.args ? ' ' + cmd.args : '');\n const isHighlighted = i === highlightIdx;\n const prefix = isHighlighted ? `${c.green}${c.bold}\u276F${c.reset} ` : ' ';\n const namePart = isHighlighted\n ? `${c.bold}${c.lavender}${cmd.name}${c.reset}${cmd.args ? ' ' + c.bold + cmd.args + c.reset : ''}`\n : `${c.lavender}${cmd.name}${c.reset}${cmd.args ? ' ' + c.dim + cmd.args + c.reset : ''}`;\n const pad = ' '.repeat(Math.max(0, nameWidth - signature.length));\n lines.push(`${prefix}${namePart}${pad}${c.gray}${cmd.desc}${c.reset}`);\n // In interactive mode show only the highlighted command's opts\n if (cmd.opts && (!interactive || isHighlighted)) {\n for (const opt of cmd.opts) {\n const [flag, ...rest] = opt.split(/ +/);\n lines.push(` ${c.purple}${flag}${c.reset}${rest.length ? ' ' + c.dim + rest.join(' ') + c.reset : ''}`);\n }\n }\n }\n\n if (!interactive && group.examples.length > 0) {\n lines.push('');\n lines.push(` ${c.bold}${c.paleLavender}EXAMPLES${c.reset}`);\n lines.push('');\n for (const [ex, desc] of group.examples) {\n lines.push(` ${c.violet}$${c.reset} ${c.lavender}${ex}${c.reset}`);\n lines.push(` ${c.dim}${desc}${c.reset}`);\n }\n }\n\n return lines;\n}\n\n\nfunction renderTabs(selectedIdx: number): string {\n return GROUPS.map((g, i) => {\n if (i === selectedIdx) {\n return `${c.bold}${c.violet}${c.underline}${g.icon} ${g.title}${c.reset}`;\n }\n return `${c.dim}${g.icon} ${g.title}${c.reset}`;\n }).join(' ');\n}\n\n/**\n * Interactive tabbed help \u2014 left/right for tabs, up/down for commands, enter to copy.\n */\nexport function printInteractiveHelp(): void {\n let selectedTab = 0;\n let selectedCmd = 0;\n\n function render() {\n // Move to top-left and clear from cursor to end of screen\n process.stdout.write('\\x1b[H\\x1b[J');\n\n const lines: string[] = [];\n lines.push('');\n lines.push(` ${renderTabs(selectedTab)}`);\n lines.push(` ${c.dim}\u2190 \u2192 tabs \u00B7 \u2191 \u2193 commands \u00B7 enter to use \u00B7 q quit${c.reset}`);\n lines.push(...renderGroup(GROUPS[selectedTab]!, selectedCmd, true));\n\n process.stdout.write(lines.join('\\n') + '\\n');\n }\n\n // Enter alternate screen + hide cursor so rendering never scrolls or flickers\n process.stdout.write('\\x1b[?1049h\\x1b[?25l');\n\n printBanner();\n console.log(`\\n${c.bold}${c.paleLavender}USAGE${c.reset} ${c.lavender}kirograph${c.reset} ${c.gray}<command>${c.reset} ${c.dim}[options]${c.reset}`);\n\n render();\n\n // Enter raw mode for interactive navigation\n const stdin = process.stdin;\n if (!stdin.isTTY) {\n // Non-interactive: leave alternate screen and print all groups normally\n process.stdout.write('\\x1b[?25h\\x1b[?1049l');\n for (let i = 1; i < GROUPS.length; i++) {\n const lines = renderGroup(GROUPS[i]!, -1);\n for (const line of lines) console.log(line);\n }\n return;\n }\n\n stdin.setRawMode(true);\n stdin.resume();\n stdin.setEncoding('utf8');\n\n function cleanup() {\n stdin.removeListener('data', onData);\n stdin.setRawMode(false);\n stdin.pause();\n // Leave alternate screen and restore cursor\n process.stdout.write('\\x1b[?25h\\x1b[?1049l');\n }\n\n function onData(key: string) {\n // Arrow keys and other escape sequences start with \\x1b[\n if (key.startsWith('\\x1b[')) {\n if (key === '\\x1b[C') { // right arrow \u2014 next tab\n selectedTab = (selectedTab + 1) % GROUPS.length;\n selectedCmd = 0;\n render();\n } else if (key === '\\x1b[D') { // left arrow \u2014 prev tab\n selectedTab = (selectedTab - 1 + GROUPS.length) % GROUPS.length;\n selectedCmd = 0;\n render();\n } else if (key === '\\x1b[B') { // down arrow \u2014 next command\n const maxCmd = GROUPS[selectedTab]!.commands.length - 1;\n selectedCmd = Math.min(selectedCmd + 1, maxCmd);\n render();\n } else if (key === '\\x1b[A') { // up arrow \u2014 prev command\n selectedCmd = Math.max(selectedCmd - 1, 0);\n render();\n }\n // Ignore other escape sequences\n return;\n }\n\n if (key === '\\r' || key === '\\n') { // enter \u2014 copy command to terminal\n cleanup();\n const cmd = GROUPS[selectedTab]!.commands[selectedCmd]!;\n const fullCmd = `kirograph ${cmd.name}${cmd.args ? ' ' + cmd.args : ''}`;\n console.log(`\\n ${c.green}${c.bold}$${c.reset} ${fullCmd}\\n`);\n process.exit(0);\n } else if (key === 'q' || key === '\\x03') { // q, ctrl+c\n cleanup();\n console.log();\n process.exit(0);\n }\n }\n\n stdin.on('data', onData);\n}\n\n/**\n * Non-interactive full help (for piping, --help flag).\n */\nexport function printColoredHelp(): void {\n\n console.log(`\\n${c.bold}${c.paleLavender}USAGE${c.reset}`);\n console.log(` ${c.lavender}kirograph${c.reset} ${c.gray}<command>${c.reset} ${c.dim}[options]${c.reset}\\n`);\n\n for (const group of GROUPS) {\n console.log(`${c.bold}${c.paleLavender}${group.icon} ${group.title.toUpperCase()}${c.reset}\\n`);\n const nameWidth = Math.max(...group.commands.map(cmd => (cmd.name + (cmd.args ? ' ' + cmd.args : '')).length)) + 2;\n for (const cmd of group.commands) {\n const signature = cmd.name + (cmd.args ? ' ' + cmd.args : '');\n const namePart = `${c.lavender}${cmd.name}${c.reset}${cmd.args ? ' ' + c.dim + cmd.args + c.reset : ''}`;\n const pad = ' '.repeat(Math.max(0, nameWidth - signature.length));\n console.log(` ${namePart}${pad}${c.gray}${cmd.desc}${c.reset}`);\n if (cmd.opts) {\n for (const opt of cmd.opts) {\n const [flag, ...rest] = opt.split(/ +/);\n console.log(` ${c.purple}${flag}${c.reset}${rest.length ? ' ' + c.dim + rest.join(' ') + c.reset : ''}`);\n }\n }\n }\n console.log();\n }\n\n console.log(`${c.bold}${c.paleLavender}GLOBAL FLAGS${c.reset}\\n`);\n console.log(` ${c.purple}-h, --help${c.reset} ${c.gray}Show this help${c.reset}`);\n console.log(` ${c.purple}-V, --version${c.reset} ${c.gray}Show version number${c.reset}\\n`);\n\n\n console.log(`${c.bold}${c.paleLavender}EXAMPLES${c.reset}\\n`);\n\n const exampleGroups: Array<{ title: string; examples: [string, string][] }> = [\n {\n title: '\uD83D\uDD27 Setup & indexing',\n examples: [\n ['kirograph install', 'Wire up Kiro MCP + hooks + steering for the current workspace'],\n ['kirograph install --target claude', 'Wire up Claude Code MCP + project memory'],\n ['kirograph install --target codex', 'Install Codex project instructions and print MCP config'],\n ['kirograph init --index', 'Init and immediately index the project'],\n ['kirograph hook save', 'Save workspace hooks to ~/.kirograph/hooks/'],\n ['kirograph hook import', 'Import global hooks into .kiro/hooks/'],\n ['kirograph sync', 'Incremental sync of changed files'],\n ],\n },\n {\n title: '\uD83D\uDD0D Search & exploration',\n examples: [\n ['kirograph query useState', 'Find all symbols named useState'],\n ['kirograph context \"add dark mode\"', 'Get relevant code context for a task'],\n ['kirograph files --format grouped', 'Show files grouped by directory'],\n ['kirograph path LoginController DatabasePool', 'Find how two symbols are connected'],\n ['kirograph affected src/auth.ts', 'Find tests affected by a change'],\n ['git diff --name-only | kirograph affected --stdin', 'Affected tests from a git diff'],\n ['kirograph export start', 'Open the interactive graph dashboard in the browser'],\n ['kirograph export build -o /tmp/graph', 'Export the dashboard to a custom directory'],\n ],\n },\n {\n title: '\uD83D\uDCCA Graph insights',\n examples: [\n ['kirograph hotspots --limit 10', 'Top 10 most-connected symbols'],\n ['kirograph surprising', 'Find unexpected cross-module connections'],\n ['kirograph dead-code', 'Find unreferenced unexported symbols'],\n ['kirograph snapshot save pre-refactor', 'Save a named snapshot before a refactor'],\n ['kirograph snapshot diff pre-refactor', 'Diff current graph vs the named snapshot'],\n ],\n },\n {\n title: '\uD83C\uDFDB\uFE0F Architecture',\n examples: [\n ['kirograph architecture --packages', 'List all detected packages'],\n ['kirograph coupling --sort instability', 'Show packages ranked by instability'],\n ['kirograph package src/auth', 'Inspect the auth package'],\n ],\n },\n {\n title: '\uD83D\uDD12 Security',\n examples: [\n ['kirograph security', 'Overview: dep count, vuln count, verdict breakdown'],\n ['kirograph security --refresh-staleness', 'Overview including stale dependency count'],\n ['kirograph vulns', 'List all vulnerabilities'],\n ['kirograph vulns --stale', 'Show staleness score alongside each CVE'],\n ['kirograph vulns --verdict under_investigation', 'Vulnerabilities still being investigated'],\n ['kirograph vulns --severity critical --verdict affected', 'Critical confirmed vulnerabilities'],\n ['kirograph vulns --refresh', 'Re-query OSV then list'],\n ['kirograph staleness', 'Show packages with staleness_score >= 0.3'],\n ['kirograph staleness --refresh --threshold 0.5', 'Fetch latest versions and show very stale packages'],\n ['kirograph reachability CVE-2023-12345', 'Check reachability for a specific CVE'],\n ['kirograph reachability lodash', 'Check reachability for a dependency by package name'],\n ['kirograph licenses', 'Show all dependency licenses'],\n ['kirograph licenses --policy', 'Show only license policy violations'],\n ['kirograph licenses --deny \"GPL-*,AGPL-*\"', 'Block all GPL/AGPL licenses'],\n ['kirograph vex --output vex.json', 'Export CycloneDX VEX document'],\n ['kirograph sbom --output sbom.json', 'Export SPDX SBOM'],\n ['kirograph vuln suppress CVE-2024-1234 --reason \"not in code path\"', 'Suppress a false positive CVE'],\n ['kirograph vuln suppress CVE-2024-1234 --expires 2026-12-31', 'Suppress with expiry date'],\n ['kirograph vuln unsuppress CVE-2024-1234', 'Remove a suppression'],\n ['kirograph vuln suppressions', 'List all active suppressions'],\n ['kirograph pattern \"eval($X)\"', 'Find all eval() calls (requires enablePatterns: true)'],\n ['kirograph pattern --list', 'Show all bundled SAST pattern rules'],\n ['kirograph pattern --library dangerous-eval-js', 'Run a specific library rule'],\n ],\n },\n {\n title: '\u2699\uFE0F Agent',\n examples: [\n ['kirograph caveman full', 'Enable full caveman mode for the agent'],\n ['kirograph caveman off', 'Disable caveman mode'],\n ['kirograph compression aggressive', 'Set compression to aggressive level'],\n ['kirograph compression off', 'Disable compression hook (tool still available)'],\n ['kirograph exec git status', 'Run git status with compression'],\n ['kirograph exec --level ultra npm test', 'Run tests with ultra compression'],\n ['kirograph exec --raw cargo build', 'Show raw vs compressed comparison'],\n ['kirograph gain --graph', 'Show token savings graph'],\n ['kirograph mem search \"auth decision\"', 'Search memory for past decisions'],\n ['kirograph mem store \"use idempotency keys\" --kind decision', 'Store a decision'],\n ['kirograph data list', 'List all indexed datasets'],\n ['kirograph data describe tests-fixtures-users', 'Show schema and column profiles'],\n ['kirograph data query orders --filter status:eq:shipped --limit 10', 'Query rows with filters'],\n ['kirograph data aggregate orders --group-by region --metric sum:amount', 'Server-side aggregation'],\n ['kirograph serve --mcp', 'Start the MCP server'],\n ],\n },\n ];\n\n for (const eg of exampleGroups) {\n console.log(` ${c.dim}${eg.title}${c.reset}`);\n for (const [ex, desc] of eg.examples) {\n console.log(` ${c.violet}$${c.reset} ${c.lavender}${ex}${c.reset}`);\n console.log(` ${c.dim}${desc}${c.reset}`);\n }\n console.log();\n }\n}\n\nexport function register(program: Command): void {\n program.configureHelp({ formatHelp: () => '' });\n program.addHelpText('afterAll', '');\n // Disable Commander's built-in --help to prevent process.exit\n program.helpOption(false);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,56 @@
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 inheritance_depth_exports = {};
30
+ __export(inheritance_depth_exports, {
31
+ register: () => register
32
+ });
33
+ module.exports = __toCommonJS(inheritance_depth_exports);
34
+ var path = __toESM(require("path"));
35
+ async function runTool(target, toolName, args) {
36
+ const KiroGraph = (await Promise.resolve().then(() => require("../../index.js"))).default;
37
+ const { ToolHandler } = await Promise.resolve().then(() => require("../../mcp/handler.js"));
38
+ const cg = await KiroGraph.open(target);
39
+ const handler = new ToolHandler(cg);
40
+ const result = await handler.handle(toolName, { ...args, projectPath: target });
41
+ cg.close();
42
+ const text = result.content.map((c) => c.text).join("");
43
+ console.log(text);
44
+ }
45
+ function register(program) {
46
+ program.command("inheritance-depth [projectPath]").description("Find deepest inheritance chains").option("--limit <n>", "Max results", "20").action(async (projectPath, opts) => {
47
+ const target = path.resolve(projectPath ?? process.cwd());
48
+ const limit = parseInt(opts.limit) || 20;
49
+ await runTool(target, "kirograph_inheritance_depth", { limit });
50
+ });
51
+ }
52
+ // Annotate the CommonJS export names for ESM import in node:
53
+ 0 && (module.exports = {
54
+ register
55
+ });
56
+ //# sourceMappingURL=inheritance-depth.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/bin/commands/inheritance-depth.ts"],
4
+ "sourcesContent": ["import * as path from 'path';\nimport { Command } from 'commander';\nimport { dim, reset, violet, bold } from '../ui';\n\nasync function runTool(target: string, toolName: string, args: Record<string, unknown>): Promise<void> {\n const KiroGraph = (await Promise.resolve().then(() => require('../../index.js'))).default;\n const { ToolHandler } = (await Promise.resolve().then(() => require('../../mcp/handler.js'))) as any;\n const cg = await KiroGraph.open(target);\n const handler = new ToolHandler(cg);\n const result = await handler.handle(toolName, { ...args, projectPath: target });\n cg.close();\n const text: string = result.content.map((c: any) => c.text).join('');\n console.log(text);\n}\n\nexport function register(program: Command): void {\n program\n .command('inheritance-depth [projectPath]')\n .description('Find deepest inheritance chains')\n .option('--limit <n>', 'Max results', '20')\n .action(async (projectPath: string | undefined, opts: { limit: string }) => {\n const target = path.resolve(projectPath ?? process.cwd());\n const limit = parseInt(opts.limit) || 20;\n await runTool(target, 'kirograph_inheritance_depth', { limit });\n });\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAAsB;AAItB,eAAe,QAAQ,QAAgB,UAAkB,MAA8C;AACrG,QAAM,aAAa,MAAM,QAAQ,QAAQ,EAAE,KAAK,MAAM,QAAQ,gBAAgB,CAAC,GAAG;AAClF,QAAM,EAAE,YAAY,IAAK,MAAM,QAAQ,QAAQ,EAAE,KAAK,MAAM,QAAQ,sBAAsB,CAAC;AAC3F,QAAM,KAAK,MAAM,UAAU,KAAK,MAAM;AACtC,QAAM,UAAU,IAAI,YAAY,EAAE;AAClC,QAAM,SAAS,MAAM,QAAQ,OAAO,UAAU,EAAE,GAAG,MAAM,aAAa,OAAO,CAAC;AAC9E,KAAG,MAAM;AACT,QAAM,OAAe,OAAO,QAAQ,IAAI,CAAC,MAAW,EAAE,IAAI,EAAE,KAAK,EAAE;AACnE,UAAQ,IAAI,IAAI;AAClB;AAEO,SAAS,SAAS,SAAwB;AAC/C,UACG,QAAQ,iCAAiC,EACzC,YAAY,iCAAiC,EAC7C,OAAO,eAAe,eAAe,IAAI,EACzC,OAAO,OAAO,aAAiC,SAA4B;AAC1E,UAAM,SAAS,KAAK,QAAQ,eAAe,QAAQ,IAAI,CAAC;AACxD,UAAM,QAAQ,SAAS,KAAK,KAAK,KAAK;AACtC,UAAM,QAAQ,QAAQ,+BAA+B,EAAE,MAAM,CAAC;AAAA,EAChE,CAAC;AACL;",
6
+ "names": []
7
+ }
@@ -0,0 +1,55 @@
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 insert_at_exports = {};
30
+ __export(insert_at_exports, {
31
+ register: () => register
32
+ });
33
+ module.exports = __toCommonJS(insert_at_exports);
34
+ var path = __toESM(require("path"));
35
+ async function runTool(target, toolName, args) {
36
+ const KiroGraph = (await Promise.resolve().then(() => require("../../index.js"))).default;
37
+ const { ToolHandler } = await Promise.resolve().then(() => require("../../mcp/handler.js"));
38
+ const cg = await KiroGraph.open(target);
39
+ const handler = new ToolHandler(cg);
40
+ const result = await handler.handle(toolName, { ...args, projectPath: target });
41
+ cg.close();
42
+ const text = result.content.map((c) => c.text).join("");
43
+ console.log(text);
44
+ }
45
+ function register(program) {
46
+ program.command("insert-at <file> <anchor> <content> [projectPath]").description("Insert content before or after an anchor string or line number in a file").option("--after", "Insert after anchor instead of before").option("--line", "Treat anchor as line number").action(async (file, anchor, content, projectPath, opts) => {
47
+ const target = path.resolve(projectPath ?? process.cwd());
48
+ await runTool(target, "kirograph_insert_at", { file, anchor, content, after: opts.after, line: opts.line });
49
+ });
50
+ }
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ register
54
+ });
55
+ //# sourceMappingURL=insert-at.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/bin/commands/insert-at.ts"],
4
+ "sourcesContent": ["import * as path from 'path';\nimport { Command } from 'commander';\nimport { dim, reset, violet, bold } from '../ui';\n\nasync function runTool(target: string, toolName: string, args: Record<string, unknown>): Promise<void> {\n const KiroGraph = (await Promise.resolve().then(() => require('../../index.js'))).default;\n const { ToolHandler } = (await Promise.resolve().then(() => require('../../mcp/handler.js'))) as any;\n const cg = await KiroGraph.open(target);\n const handler = new ToolHandler(cg);\n const result = await handler.handle(toolName, { ...args, projectPath: target });\n cg.close();\n const text: string = result.content.map((c: any) => c.text).join('');\n console.log(text);\n}\n\nexport function register(program: Command): void {\n program\n .command('insert-at <file> <anchor> <content> [projectPath]')\n .description('Insert content before or after an anchor string or line number in a file')\n .option('--after', 'Insert after anchor instead of before')\n .option('--line', 'Treat anchor as line number')\n .action(async (\n file: string,\n anchor: string,\n content: string,\n projectPath: string | undefined,\n opts: { after?: boolean; line?: boolean },\n ) => {\n const target = path.resolve(projectPath ?? process.cwd());\n await runTool(target, 'kirograph_insert_at', { file, anchor, content, after: opts.after, line: opts.line });\n });\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAAsB;AAItB,eAAe,QAAQ,QAAgB,UAAkB,MAA8C;AACrG,QAAM,aAAa,MAAM,QAAQ,QAAQ,EAAE,KAAK,MAAM,QAAQ,gBAAgB,CAAC,GAAG;AAClF,QAAM,EAAE,YAAY,IAAK,MAAM,QAAQ,QAAQ,EAAE,KAAK,MAAM,QAAQ,sBAAsB,CAAC;AAC3F,QAAM,KAAK,MAAM,UAAU,KAAK,MAAM;AACtC,QAAM,UAAU,IAAI,YAAY,EAAE;AAClC,QAAM,SAAS,MAAM,QAAQ,OAAO,UAAU,EAAE,GAAG,MAAM,aAAa,OAAO,CAAC;AAC9E,KAAG,MAAM;AACT,QAAM,OAAe,OAAO,QAAQ,IAAI,CAAC,MAAW,EAAE,IAAI,EAAE,KAAK,EAAE;AACnE,UAAQ,IAAI,IAAI;AAClB;AAEO,SAAS,SAAS,SAAwB;AAC/C,UACG,QAAQ,mDAAmD,EAC3D,YAAY,0EAA0E,EACtF,OAAO,WAAW,uCAAuC,EACzD,OAAO,UAAU,6BAA6B,EAC9C,OAAO,OACN,MACA,QACA,SACA,aACA,SACG;AACH,UAAM,SAAS,KAAK,QAAQ,eAAe,QAAQ,IAAI,CAAC;AACxD,UAAM,QAAQ,QAAQ,uBAAuB,EAAE,MAAM,QAAQ,SAAS,OAAO,KAAK,OAAO,MAAM,KAAK,KAAK,CAAC;AAAA,EAC5G,CAAC;AACL;",
6
+ "names": []
7
+ }
@@ -0,0 +1,56 @@
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 largest_exports = {};
30
+ __export(largest_exports, {
31
+ register: () => register
32
+ });
33
+ module.exports = __toCommonJS(largest_exports);
34
+ var path = __toESM(require("path"));
35
+ async function runTool(target, toolName, args) {
36
+ const KiroGraph = (await Promise.resolve().then(() => require("../../index.js"))).default;
37
+ const { ToolHandler } = await Promise.resolve().then(() => require("../../mcp/handler.js"));
38
+ const cg = await KiroGraph.open(target);
39
+ const handler = new ToolHandler(cg);
40
+ const result = await handler.handle(toolName, { ...args, projectPath: target });
41
+ cg.close();
42
+ const text = result.content.map((c) => c.text).join("");
43
+ console.log(text);
44
+ }
45
+ function register(program) {
46
+ program.command("largest [projectPath]").description("Symbols ranked by lines of code").option("--limit <n>", "Max results", "20").option("--kind <kind>", "Symbol kind filter (function|class|method|etc.)").action(async (projectPath, opts) => {
47
+ const target = path.resolve(projectPath ?? process.cwd());
48
+ const limit = parseInt(opts.limit) || 20;
49
+ await runTool(target, "kirograph_largest", { limit, kind: opts.kind });
50
+ });
51
+ }
52
+ // Annotate the CommonJS export names for ESM import in node:
53
+ 0 && (module.exports = {
54
+ register
55
+ });
56
+ //# sourceMappingURL=largest.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/bin/commands/largest.ts"],
4
+ "sourcesContent": ["import * as path from 'path';\nimport { Command } from 'commander';\nimport { dim, reset, violet, bold } from '../ui';\n\nasync function runTool(target: string, toolName: string, args: Record<string, unknown>): Promise<void> {\n const KiroGraph = (await Promise.resolve().then(() => require('../../index.js'))).default;\n const { ToolHandler } = (await Promise.resolve().then(() => require('../../mcp/handler.js'))) as any;\n const cg = await KiroGraph.open(target);\n const handler = new ToolHandler(cg);\n const result = await handler.handle(toolName, { ...args, projectPath: target });\n cg.close();\n const text: string = result.content.map((c: any) => c.text).join('');\n console.log(text);\n}\n\nexport function register(program: Command): void {\n program\n .command('largest [projectPath]')\n .description('Symbols ranked by lines of code')\n .option('--limit <n>', 'Max results', '20')\n .option('--kind <kind>', 'Symbol kind filter (function|class|method|etc.)')\n .action(async (projectPath: string | undefined, opts: { limit: string; kind?: string }) => {\n const target = path.resolve(projectPath ?? process.cwd());\n const limit = parseInt(opts.limit) || 20;\n await runTool(target, 'kirograph_largest', { limit, kind: opts.kind });\n });\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAAsB;AAItB,eAAe,QAAQ,QAAgB,UAAkB,MAA8C;AACrG,QAAM,aAAa,MAAM,QAAQ,QAAQ,EAAE,KAAK,MAAM,QAAQ,gBAAgB,CAAC,GAAG;AAClF,QAAM,EAAE,YAAY,IAAK,MAAM,QAAQ,QAAQ,EAAE,KAAK,MAAM,QAAQ,sBAAsB,CAAC;AAC3F,QAAM,KAAK,MAAM,UAAU,KAAK,MAAM;AACtC,QAAM,UAAU,IAAI,YAAY,EAAE;AAClC,QAAM,SAAS,MAAM,QAAQ,OAAO,UAAU,EAAE,GAAG,MAAM,aAAa,OAAO,CAAC;AAC9E,KAAG,MAAM;AACT,QAAM,OAAe,OAAO,QAAQ,IAAI,CAAC,MAAW,EAAE,IAAI,EAAE,KAAK,EAAE;AACnE,UAAQ,IAAI,IAAI;AAClB;AAEO,SAAS,SAAS,SAAwB;AAC/C,UACG,QAAQ,uBAAuB,EAC/B,YAAY,iCAAiC,EAC7C,OAAO,eAAe,eAAe,IAAI,EACzC,OAAO,iBAAiB,iDAAiD,EACzE,OAAO,OAAO,aAAiC,SAA2C;AACzF,UAAM,SAAS,KAAK,QAAQ,eAAe,QAAQ,IAAI,CAAC;AACxD,UAAM,QAAQ,SAAS,KAAK,KAAK,KAAK;AACtC,UAAM,QAAQ,QAAQ,qBAAqB,EAAE,OAAO,MAAM,KAAK,KAAK,CAAC;AAAA,EACvE,CAAC;AACL;",
6
+ "names": []
7
+ }