kirograph 0.17.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (815) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +105 -1822
  3. package/dist/architecture/layers/dart.d.ts +10 -0
  4. package/dist/architecture/layers/dart.d.ts.map +1 -0
  5. package/dist/architecture/layers/dart.js +112 -0
  6. package/dist/architecture/layers/dart.js.map +7 -0
  7. package/dist/architecture/layers/elixir.d.ts +6 -0
  8. package/dist/architecture/layers/elixir.d.ts.map +1 -0
  9. package/dist/architecture/layers/index.d.ts.map +1 -1
  10. package/dist/architecture/layers/index.js +3 -1
  11. package/dist/architecture/layers/index.js.map +2 -2
  12. package/dist/architecture/layers/ocaml.d.ts +6 -0
  13. package/dist/architecture/layers/ocaml.d.ts.map +1 -0
  14. package/dist/architecture/layers/scala.d.ts +6 -0
  15. package/dist/architecture/layers/scala.d.ts.map +1 -0
  16. package/dist/architecture/layers/solidity.d.ts +6 -0
  17. package/dist/architecture/layers/solidity.d.ts.map +1 -0
  18. package/dist/architecture/layers/vue.d.ts +6 -0
  19. package/dist/architecture/layers/vue.d.ts.map +1 -0
  20. package/dist/architecture/manifest/elm.d.ts +3 -0
  21. package/dist/architecture/manifest/elm.d.ts.map +1 -0
  22. package/dist/architecture/manifest/index.d.ts.map +1 -1
  23. package/dist/architecture/manifest/ocaml.d.ts +3 -0
  24. package/dist/architecture/manifest/ocaml.d.ts.map +1 -0
  25. package/dist/architecture/manifest/scala.d.ts +3 -0
  26. package/dist/architecture/manifest/scala.d.ts.map +1 -0
  27. package/dist/bin/banner.d.ts.map +1 -1
  28. package/dist/bin/banner.js +74 -6
  29. package/dist/bin/banner.js.map +2 -2
  30. package/dist/bin/commands/affected.d.ts.map +1 -1
  31. package/dist/bin/commands/attack-surface.d.ts +3 -0
  32. package/dist/bin/commands/attack-surface.d.ts.map +1 -0
  33. package/dist/bin/commands/attack-surface.js +164 -0
  34. package/dist/bin/commands/attack-surface.js.map +7 -0
  35. package/dist/bin/commands/benchmark.d.ts +9 -0
  36. package/dist/bin/commands/benchmark.d.ts.map +1 -0
  37. package/dist/bin/commands/benchmark.js +206 -0
  38. package/dist/bin/commands/benchmark.js.map +7 -0
  39. package/dist/bin/commands/budget.d.ts +6 -0
  40. package/dist/bin/commands/budget.d.ts.map +1 -0
  41. package/dist/bin/commands/budget.js +70 -0
  42. package/dist/bin/commands/budget.js.map +7 -0
  43. package/dist/bin/commands/caveman.d.ts +7 -0
  44. package/dist/bin/commands/caveman.d.ts.map +1 -0
  45. package/dist/bin/commands/communities.d.ts +3 -0
  46. package/dist/bin/commands/communities.d.ts.map +1 -0
  47. package/dist/bin/commands/communities.js +77 -0
  48. package/dist/bin/commands/communities.js.map +7 -0
  49. package/dist/bin/commands/compression.d.ts +7 -0
  50. package/dist/bin/commands/compression.d.ts.map +1 -0
  51. package/dist/bin/commands/context.d.ts.map +1 -1
  52. package/dist/bin/commands/data.d.ts +3 -0
  53. package/dist/bin/commands/data.d.ts.map +1 -0
  54. package/dist/bin/commands/dead-code.d.ts +3 -0
  55. package/dist/bin/commands/dead-code.d.ts.map +1 -0
  56. package/dist/bin/commands/dep-confusion.d.ts +3 -0
  57. package/dist/bin/commands/dep-confusion.d.ts.map +1 -0
  58. package/dist/bin/commands/dep-confusion.js +119 -0
  59. package/dist/bin/commands/dep-confusion.js.map +7 -0
  60. package/dist/bin/commands/docs.d.ts +3 -0
  61. package/dist/bin/commands/docs.d.ts.map +1 -0
  62. package/dist/bin/commands/exec.d.ts +11 -0
  63. package/dist/bin/commands/exec.d.ts.map +1 -0
  64. package/dist/bin/commands/export.d.ts +3 -0
  65. package/dist/bin/commands/export.d.ts.map +1 -0
  66. package/dist/bin/commands/export.js +304 -10
  67. package/dist/bin/commands/export.js.map +2 -2
  68. package/dist/bin/commands/flows.d.ts +3 -0
  69. package/dist/bin/commands/flows.d.ts.map +1 -0
  70. package/dist/bin/commands/flows.js +97 -0
  71. package/dist/bin/commands/flows.js.map +7 -0
  72. package/dist/bin/commands/gain.d.ts +6 -0
  73. package/dist/bin/commands/gain.d.ts.map +1 -0
  74. package/dist/bin/commands/help.d.ts +7 -0
  75. package/dist/bin/commands/help.d.ts.map +1 -1
  76. package/dist/bin/commands/help.js +399 -101
  77. package/dist/bin/commands/help.js.map +2 -2
  78. package/dist/bin/commands/hotspots.d.ts +3 -0
  79. package/dist/bin/commands/hotspots.d.ts.map +1 -0
  80. package/dist/bin/commands/hotspots.js +94 -1
  81. package/dist/bin/commands/hotspots.js.map +3 -3
  82. package/dist/bin/commands/install.d.ts.map +1 -1
  83. package/dist/bin/commands/install.js +90 -8
  84. package/dist/bin/commands/install.js.map +2 -2
  85. package/dist/bin/commands/licenses.d.ts +3 -0
  86. package/dist/bin/commands/licenses.d.ts.map +1 -0
  87. package/dist/bin/commands/licenses.js +201 -0
  88. package/dist/bin/commands/licenses.js.map +7 -0
  89. package/dist/bin/commands/memory.d.ts +16 -0
  90. package/dist/bin/commands/memory.d.ts.map +1 -0
  91. package/dist/bin/commands/memory.js +151 -4
  92. package/dist/bin/commands/memory.js.map +2 -2
  93. package/dist/bin/commands/path.d.ts +3 -0
  94. package/dist/bin/commands/path.d.ts.map +1 -0
  95. package/dist/bin/commands/pattern.d.ts +3 -0
  96. package/dist/bin/commands/pattern.d.ts.map +1 -0
  97. package/dist/bin/commands/pattern.js +592 -0
  98. package/dist/bin/commands/pattern.js.map +7 -0
  99. package/dist/bin/commands/query.d.ts.map +1 -1
  100. package/dist/bin/commands/reachability.d.ts +3 -0
  101. package/dist/bin/commands/reachability.d.ts.map +1 -0
  102. package/dist/bin/commands/reachability.js +160 -0
  103. package/dist/bin/commands/reachability.js.map +7 -0
  104. package/dist/bin/commands/read.d.ts +6 -0
  105. package/dist/bin/commands/read.d.ts.map +1 -0
  106. package/dist/bin/commands/read.js +100 -0
  107. package/dist/bin/commands/read.js.map +7 -0
  108. package/dist/bin/commands/refactor.d.ts +3 -0
  109. package/dist/bin/commands/refactor.d.ts.map +1 -0
  110. package/dist/bin/commands/refactor.js +116 -0
  111. package/dist/bin/commands/refactor.js.map +7 -0
  112. package/dist/bin/commands/remediation.d.ts +3 -0
  113. package/dist/bin/commands/remediation.d.ts.map +1 -0
  114. package/dist/bin/commands/remediation.js +133 -0
  115. package/dist/bin/commands/remediation.js.map +7 -0
  116. package/dist/bin/commands/sbom.d.ts +3 -0
  117. package/dist/bin/commands/sbom.d.ts.map +1 -0
  118. package/dist/bin/commands/sbom.js +76 -0
  119. package/dist/bin/commands/sbom.js.map +7 -0
  120. package/dist/bin/commands/security-ci-report.d.ts +9 -0
  121. package/dist/bin/commands/security-ci-report.d.ts.map +1 -0
  122. package/dist/bin/commands/security-ci-report.js +267 -0
  123. package/dist/bin/commands/security-ci-report.js.map +7 -0
  124. package/dist/bin/commands/security-export.d.ts +2 -0
  125. package/dist/bin/commands/security-export.d.ts.map +1 -0
  126. package/dist/bin/commands/security-export.js +1349 -0
  127. package/dist/bin/commands/security-export.js.map +7 -0
  128. package/dist/bin/commands/security-flows.d.ts +3 -0
  129. package/dist/bin/commands/security-flows.d.ts.map +1 -0
  130. package/dist/bin/commands/security-flows.js +126 -0
  131. package/dist/bin/commands/security-flows.js.map +7 -0
  132. package/dist/bin/commands/security-secrets.d.ts +3 -0
  133. package/dist/bin/commands/security-secrets.d.ts.map +1 -0
  134. package/dist/bin/commands/security-secrets.js +170 -0
  135. package/dist/bin/commands/security-secrets.js.map +7 -0
  136. package/dist/bin/commands/security.d.ts +3 -0
  137. package/dist/bin/commands/security.d.ts.map +1 -0
  138. package/dist/bin/commands/security.js +208 -0
  139. package/dist/bin/commands/security.js.map +7 -0
  140. package/dist/bin/commands/snapshot.d.ts +3 -0
  141. package/dist/bin/commands/snapshot.d.ts.map +1 -0
  142. package/dist/bin/commands/staleness.d.ts +3 -0
  143. package/dist/bin/commands/staleness.d.ts.map +1 -0
  144. package/dist/bin/commands/staleness.js +144 -0
  145. package/dist/bin/commands/staleness.js.map +7 -0
  146. package/dist/bin/commands/status.d.ts.map +1 -1
  147. package/dist/bin/commands/status.js +129 -2
  148. package/dist/bin/commands/status.js.map +2 -2
  149. package/dist/bin/commands/supply-chain.d.ts +3 -0
  150. package/dist/bin/commands/supply-chain.d.ts.map +1 -0
  151. package/dist/bin/commands/supply-chain.js +138 -0
  152. package/dist/bin/commands/supply-chain.js.map +7 -0
  153. package/dist/bin/commands/surprising.d.ts +3 -0
  154. package/dist/bin/commands/surprising.d.ts.map +1 -0
  155. package/dist/bin/commands/sync.d.ts.map +1 -1
  156. package/dist/bin/commands/uninit.d.ts.map +1 -1
  157. package/dist/bin/commands/uninit.js +109 -60
  158. package/dist/bin/commands/uninit.js.map +2 -2
  159. package/dist/bin/commands/utils.d.ts +5 -0
  160. package/dist/bin/commands/utils.d.ts.map +1 -1
  161. package/dist/bin/commands/vex.d.ts +3 -0
  162. package/dist/bin/commands/vex.d.ts.map +1 -0
  163. package/dist/bin/commands/vex.js +76 -0
  164. package/dist/bin/commands/vex.js.map +7 -0
  165. package/dist/bin/commands/vuln-suppress.d.ts +3 -0
  166. package/dist/bin/commands/vuln-suppress.d.ts.map +1 -0
  167. package/dist/bin/commands/vuln-suppress.js +95 -0
  168. package/dist/bin/commands/vuln-suppress.js.map +7 -0
  169. package/dist/bin/commands/vulns.d.ts +3 -0
  170. package/dist/bin/commands/vulns.d.ts.map +1 -0
  171. package/dist/bin/commands/vulns.js +382 -0
  172. package/dist/bin/commands/vulns.js.map +7 -0
  173. package/dist/bin/installer/archive.d.ts +47 -0
  174. package/dist/bin/installer/archive.d.ts.map +1 -0
  175. package/dist/bin/installer/auto-detect.d.ts +16 -0
  176. package/dist/bin/installer/auto-detect.d.ts.map +1 -0
  177. package/dist/bin/installer/auto-detect.js +125 -0
  178. package/dist/bin/installer/auto-detect.js.map +7 -0
  179. package/dist/bin/installer/caveman.d.ts +12 -0
  180. package/dist/bin/installer/caveman.d.ts.map +1 -0
  181. package/dist/bin/installer/cli-agent.d.ts +7 -2
  182. package/dist/bin/installer/cli-agent.d.ts.map +1 -1
  183. package/dist/bin/installer/cli-agent.js +32 -5
  184. package/dist/bin/installer/cli-agent.js.map +2 -2
  185. package/dist/bin/installer/common.d.ts +36 -0
  186. package/dist/bin/installer/common.d.ts.map +1 -0
  187. package/dist/bin/installer/common.js +48 -0
  188. package/dist/bin/installer/common.js.map +2 -2
  189. package/dist/bin/installer/config-prompt.d.ts +1 -1
  190. package/dist/bin/installer/config-prompt.d.ts.map +1 -1
  191. package/dist/bin/installer/config-prompt.js +85 -2
  192. package/dist/bin/installer/config-prompt.js.map +2 -2
  193. package/dist/bin/installer/dashboard.d.ts.map +1 -1
  194. package/dist/bin/installer/detect.d.ts +30 -0
  195. package/dist/bin/installer/detect.d.ts.map +1 -0
  196. package/dist/bin/installer/detect.js +309 -0
  197. package/dist/bin/installer/detect.js.map +7 -0
  198. package/dist/bin/installer/hooks.d.ts +4 -1
  199. package/dist/bin/installer/hooks.d.ts.map +1 -1
  200. package/dist/bin/installer/hooks.js +34 -0
  201. package/dist/bin/installer/hooks.js.map +2 -2
  202. package/dist/bin/installer/index.d.ts +5 -4
  203. package/dist/bin/installer/index.d.ts.map +1 -1
  204. package/dist/bin/installer/index.js +46 -8
  205. package/dist/bin/installer/index.js.map +2 -2
  206. package/dist/bin/installer/instructions.d.ts +14 -0
  207. package/dist/bin/installer/instructions.d.ts.map +1 -0
  208. package/dist/bin/installer/instructions.js +209 -3
  209. package/dist/bin/installer/instructions.js.map +2 -2
  210. package/dist/bin/installer/mcp.d.ts.map +1 -1
  211. package/dist/bin/installer/prompts.d.ts +17 -0
  212. package/dist/bin/installer/prompts.d.ts.map +1 -1
  213. package/dist/bin/installer/qdrant-dashboard.d.ts.map +1 -1
  214. package/dist/bin/installer/steering.d.ts +14 -2
  215. package/dist/bin/installer/steering.d.ts.map +1 -1
  216. package/dist/bin/installer/steering.js +488 -0
  217. package/dist/bin/installer/steering.js.map +2 -2
  218. package/dist/bin/installer/targets/aider.d.ts +6 -0
  219. package/dist/bin/installer/targets/aider.d.ts.map +1 -0
  220. package/dist/bin/installer/targets/aider.js +3 -3
  221. package/dist/bin/installer/targets/aider.js.map +2 -2
  222. package/dist/bin/installer/targets/amp.d.ts +6 -0
  223. package/dist/bin/installer/targets/amp.d.ts.map +1 -0
  224. package/dist/bin/installer/targets/amp.js +3 -3
  225. package/dist/bin/installer/targets/amp.js.map +2 -2
  226. package/dist/bin/installer/targets/antigravity.d.ts +13 -0
  227. package/dist/bin/installer/targets/antigravity.d.ts.map +1 -0
  228. package/dist/bin/installer/targets/antigravity.js +35 -6
  229. package/dist/bin/installer/targets/antigravity.js.map +2 -2
  230. package/dist/bin/installer/targets/augment.d.ts +6 -0
  231. package/dist/bin/installer/targets/augment.d.ts.map +1 -0
  232. package/dist/bin/installer/targets/augment.js +3 -3
  233. package/dist/bin/installer/targets/augment.js.map +2 -2
  234. package/dist/bin/installer/targets/claude.d.ts +6 -0
  235. package/dist/bin/installer/targets/claude.d.ts.map +1 -0
  236. package/dist/bin/installer/targets/claude.js +49 -5
  237. package/dist/bin/installer/targets/claude.js.map +2 -2
  238. package/dist/bin/installer/targets/cline.d.ts +13 -0
  239. package/dist/bin/installer/targets/cline.d.ts.map +1 -0
  240. package/dist/bin/installer/targets/cline.js +32 -6
  241. package/dist/bin/installer/targets/cline.js.map +2 -2
  242. package/dist/bin/installer/targets/codex.d.ts +6 -0
  243. package/dist/bin/installer/targets/codex.d.ts.map +1 -0
  244. package/dist/bin/installer/targets/codex.js +64 -12
  245. package/dist/bin/installer/targets/codex.js.map +2 -2
  246. package/dist/bin/installer/targets/continue.d.ts +12 -0
  247. package/dist/bin/installer/targets/continue.d.ts.map +1 -0
  248. package/dist/bin/installer/targets/continue.js +2 -2
  249. package/dist/bin/installer/targets/continue.js.map +2 -2
  250. package/dist/bin/installer/targets/copilot-cli.d.ts +12 -0
  251. package/dist/bin/installer/targets/copilot-cli.d.ts.map +1 -0
  252. package/dist/bin/installer/targets/copilot-cli.js +101 -0
  253. package/dist/bin/installer/targets/copilot-cli.js.map +7 -0
  254. package/dist/bin/installer/targets/copilot.d.ts +6 -0
  255. package/dist/bin/installer/targets/copilot.d.ts.map +1 -0
  256. package/dist/bin/installer/targets/copilot.js +31 -5
  257. package/dist/bin/installer/targets/copilot.js.map +2 -2
  258. package/dist/bin/installer/targets/cursor.d.ts +6 -0
  259. package/dist/bin/installer/targets/cursor.d.ts.map +1 -0
  260. package/dist/bin/installer/targets/cursor.js +4 -4
  261. package/dist/bin/installer/targets/cursor.js.map +2 -2
  262. package/dist/bin/installer/targets/devin.d.ts +13 -0
  263. package/dist/bin/installer/targets/devin.d.ts.map +1 -0
  264. package/dist/bin/installer/targets/devin.js +2 -2
  265. package/dist/bin/installer/targets/devin.js.map +2 -2
  266. package/dist/bin/installer/targets/gemini-cli.d.ts +16 -0
  267. package/dist/bin/installer/targets/gemini-cli.d.ts.map +1 -0
  268. package/dist/bin/installer/targets/gemini-cli.js +2 -2
  269. package/dist/bin/installer/targets/gemini-cli.js.map +2 -2
  270. package/dist/bin/installer/targets/generic.d.ts +59 -0
  271. package/dist/bin/installer/targets/generic.d.ts.map +1 -0
  272. package/dist/bin/installer/targets/generic.js +2 -14
  273. package/dist/bin/installer/targets/generic.js.map +2 -2
  274. package/dist/bin/installer/targets/goose.d.ts +6 -0
  275. package/dist/bin/installer/targets/goose.d.ts.map +1 -0
  276. package/dist/bin/installer/targets/goose.js +3 -3
  277. package/dist/bin/installer/targets/goose.js.map +2 -2
  278. package/dist/bin/installer/targets/index.d.ts +11 -0
  279. package/dist/bin/installer/targets/index.d.ts.map +1 -0
  280. package/dist/bin/installer/targets/index.js +250 -0
  281. package/dist/bin/installer/targets/index.js.map +2 -2
  282. package/dist/bin/installer/targets/junie.d.ts +13 -0
  283. package/dist/bin/installer/targets/junie.d.ts.map +1 -0
  284. package/dist/bin/installer/targets/junie.js +2 -2
  285. package/dist/bin/installer/targets/junie.js.map +2 -2
  286. package/dist/bin/installer/targets/kilo.d.ts +12 -0
  287. package/dist/bin/installer/targets/kilo.d.ts.map +1 -0
  288. package/dist/bin/installer/targets/kilo.js +2 -2
  289. package/dist/bin/installer/targets/kilo.js.map +2 -2
  290. package/dist/bin/installer/targets/kiro.d.ts +5 -0
  291. package/dist/bin/installer/targets/kiro.d.ts.map +1 -0
  292. package/dist/bin/installer/targets/kiro.js +4 -4
  293. package/dist/bin/installer/targets/kiro.js.map +2 -2
  294. package/dist/bin/installer/targets/opencode.d.ts +13 -0
  295. package/dist/bin/installer/targets/opencode.d.ts.map +1 -0
  296. package/dist/bin/installer/targets/opencode.js +2 -2
  297. package/dist/bin/installer/targets/opencode.js.map +2 -2
  298. package/dist/bin/installer/targets/openhands.d.ts +6 -0
  299. package/dist/bin/installer/targets/openhands.d.ts.map +1 -0
  300. package/dist/bin/installer/targets/openhands.js +3 -3
  301. package/dist/bin/installer/targets/openhands.js.map +2 -2
  302. package/dist/bin/installer/targets/qoder.d.ts +12 -0
  303. package/dist/bin/installer/targets/qoder.d.ts.map +1 -0
  304. package/dist/bin/installer/targets/qoder.js +91 -0
  305. package/dist/bin/installer/targets/qoder.js.map +7 -0
  306. package/dist/bin/installer/targets/qwen.d.ts +12 -0
  307. package/dist/bin/installer/targets/qwen.d.ts.map +1 -0
  308. package/dist/bin/installer/targets/qwen.js +96 -0
  309. package/dist/bin/installer/targets/qwen.js.map +7 -0
  310. package/dist/bin/installer/targets/replit.d.ts +6 -0
  311. package/dist/bin/installer/targets/replit.d.ts.map +1 -0
  312. package/dist/bin/installer/targets/replit.js +3 -3
  313. package/dist/bin/installer/targets/replit.js.map +2 -2
  314. package/dist/bin/installer/targets/roo.d.ts +13 -0
  315. package/dist/bin/installer/targets/roo.d.ts.map +1 -0
  316. package/dist/bin/installer/targets/roo.js +2 -2
  317. package/dist/bin/installer/targets/roo.js.map +2 -2
  318. package/dist/bin/installer/targets/tabnine.d.ts +6 -0
  319. package/dist/bin/installer/targets/tabnine.d.ts.map +1 -0
  320. package/dist/bin/installer/targets/tabnine.js +3 -3
  321. package/dist/bin/installer/targets/tabnine.js.map +2 -2
  322. package/dist/bin/installer/targets/trae.d.ts +6 -0
  323. package/dist/bin/installer/targets/trae.d.ts.map +1 -0
  324. package/dist/bin/installer/targets/trae.js +5 -5
  325. package/dist/bin/installer/targets/trae.js.map +2 -2
  326. package/dist/bin/installer/targets/warp.d.ts +12 -0
  327. package/dist/bin/installer/targets/warp.d.ts.map +1 -0
  328. package/dist/bin/installer/targets/warp.js +2 -2
  329. package/dist/bin/installer/targets/warp.js.map +2 -2
  330. package/dist/bin/installer/targets/windsurf.d.ts +13 -0
  331. package/dist/bin/installer/targets/windsurf.d.ts.map +1 -0
  332. package/dist/bin/installer/targets/windsurf.js +35 -6
  333. package/dist/bin/installer/targets/windsurf.js.map +2 -2
  334. package/dist/bin/kirograph.js +74 -6
  335. package/dist/bin/kirograph.js.map +3 -3
  336. package/dist/bin/progress.d.ts +16 -1
  337. package/dist/bin/progress.d.ts.map +1 -1
  338. package/dist/compression/filters/aws.d.ts +9 -0
  339. package/dist/compression/filters/aws.d.ts.map +1 -0
  340. package/dist/compression/filters/docker.d.ts +6 -0
  341. package/dist/compression/filters/docker.d.ts.map +1 -0
  342. package/dist/compression/filters/files.d.ts +6 -0
  343. package/dist/compression/filters/files.d.ts.map +1 -0
  344. package/dist/compression/filters/generic.d.ts +7 -0
  345. package/dist/compression/filters/generic.d.ts.map +1 -0
  346. package/dist/compression/filters/git.d.ts +6 -0
  347. package/dist/compression/filters/git.d.ts.map +1 -0
  348. package/dist/compression/filters/github.d.ts +6 -0
  349. package/dist/compression/filters/github.d.ts.map +1 -0
  350. package/dist/compression/filters/lint.d.ts +6 -0
  351. package/dist/compression/filters/lint.d.ts.map +1 -0
  352. package/dist/compression/filters/misc.d.ts +6 -0
  353. package/dist/compression/filters/misc.d.ts.map +1 -0
  354. package/dist/compression/filters/package.d.ts +6 -0
  355. package/dist/compression/filters/package.d.ts.map +1 -0
  356. package/dist/compression/filters/test.d.ts +6 -0
  357. package/dist/compression/filters/test.d.ts.map +1 -0
  358. package/dist/compression/index.d.ts +29 -0
  359. package/dist/compression/index.d.ts.map +1 -0
  360. package/dist/compression/naive-cost.d.ts +26 -0
  361. package/dist/compression/naive-cost.d.ts.map +1 -0
  362. package/dist/compression/tracker.d.ts +155 -0
  363. package/dist/compression/tracker.d.ts.map +1 -0
  364. package/dist/compression/tracker.js +80 -0
  365. package/dist/compression/tracker.js.map +2 -2
  366. package/dist/compression/types.d.ts +49 -0
  367. package/dist/compression/types.d.ts.map +1 -0
  368. package/dist/config.d.ts +90 -0
  369. package/dist/config.d.ts.map +1 -1
  370. package/dist/config.js +144 -3
  371. package/dist/config.js.map +2 -2
  372. package/dist/core/lock-manager.d.ts +2 -0
  373. package/dist/core/lock-manager.d.ts.map +1 -1
  374. package/dist/core/pipeline.d.ts +4 -1
  375. package/dist/core/pipeline.d.ts.map +1 -1
  376. package/dist/core/pipeline.js +78 -2
  377. package/dist/core/pipeline.js.map +2 -2
  378. package/dist/core/snapshot.d.ts +58 -0
  379. package/dist/core/snapshot.d.ts.map +1 -0
  380. package/dist/data/filters.d.ts +23 -0
  381. package/dist/data/filters.d.ts.map +1 -0
  382. package/dist/data/indexer.d.ts +25 -0
  383. package/dist/data/indexer.d.ts.map +1 -0
  384. package/dist/data/linker.d.ts +37 -0
  385. package/dist/data/linker.d.ts.map +1 -0
  386. package/dist/data/lint.d.ts +27 -0
  387. package/dist/data/lint.d.ts.map +1 -0
  388. package/dist/data/parsers/csv.d.ts +11 -0
  389. package/dist/data/parsers/csv.d.ts.map +1 -0
  390. package/dist/data/parsers/excel.d.ts +10 -0
  391. package/dist/data/parsers/excel.d.ts.map +1 -0
  392. package/dist/data/parsers/index.d.ts +28 -0
  393. package/dist/data/parsers/index.d.ts.map +1 -0
  394. package/dist/data/parsers/json-array.d.ts +9 -0
  395. package/dist/data/parsers/json-array.d.ts.map +1 -0
  396. package/dist/data/parsers/jsonl.d.ts +9 -0
  397. package/dist/data/parsers/jsonl.d.ts.map +1 -0
  398. package/dist/data/parsers/parquet.d.ts +10 -0
  399. package/dist/data/parsers/parquet.d.ts.map +1 -0
  400. package/dist/data/profiler.d.ts +29 -0
  401. package/dist/data/profiler.d.ts.map +1 -0
  402. package/dist/data/queries.d.ts +95 -0
  403. package/dist/data/queries.d.ts.map +1 -0
  404. package/dist/data/types.d.ts +103 -0
  405. package/dist/data/types.d.ts.map +1 -0
  406. package/dist/db/database.d.ts +57 -0
  407. package/dist/db/database.d.ts.map +1 -1
  408. package/dist/db/database.js +75 -5
  409. package/dist/db/database.js.map +2 -2
  410. package/dist/db/memory-schema.sql +5 -1
  411. package/dist/db/patterns-schema.sql +23 -0
  412. package/dist/db/schema.sql +3 -1
  413. package/dist/db/security-schema.sql +72 -0
  414. package/dist/docs/formats/asciidoc.d.ts +9 -0
  415. package/dist/docs/formats/asciidoc.d.ts.map +1 -0
  416. package/dist/docs/formats/html.d.ts +10 -0
  417. package/dist/docs/formats/html.d.ts.map +1 -0
  418. package/dist/docs/formats/index.d.ts +31 -0
  419. package/dist/docs/formats/index.d.ts.map +1 -0
  420. package/dist/docs/formats/markdown.d.ts +11 -0
  421. package/dist/docs/formats/markdown.d.ts.map +1 -0
  422. package/dist/docs/formats/openapi.d.ts +17 -0
  423. package/dist/docs/formats/openapi.d.ts.map +1 -0
  424. package/dist/docs/formats/org.d.ts +9 -0
  425. package/dist/docs/formats/org.d.ts.map +1 -0
  426. package/dist/docs/formats/plaintext.d.ts +11 -0
  427. package/dist/docs/formats/plaintext.d.ts.map +1 -0
  428. package/dist/docs/formats/rdoc.d.ts +10 -0
  429. package/dist/docs/formats/rdoc.d.ts.map +1 -0
  430. package/dist/docs/formats/rst.d.ts +11 -0
  431. package/dist/docs/formats/rst.d.ts.map +1 -0
  432. package/dist/docs/indexer.d.ts +49 -0
  433. package/dist/docs/indexer.d.ts.map +1 -0
  434. package/dist/docs/linker.d.ts +30 -0
  435. package/dist/docs/linker.d.ts.map +1 -0
  436. package/dist/docs/lint.d.ts +27 -0
  437. package/dist/docs/lint.d.ts.map +1 -0
  438. package/dist/docs/queries.d.ts +78 -0
  439. package/dist/docs/queries.d.ts.map +1 -0
  440. package/dist/docs/section-id.d.ts +48 -0
  441. package/dist/docs/section-id.d.ts.map +1 -0
  442. package/dist/docs/summarizer.d.ts +13 -0
  443. package/dist/docs/summarizer.d.ts.map +1 -0
  444. package/dist/docs/types.d.ts +71 -0
  445. package/dist/docs/types.d.ts.map +1 -0
  446. package/dist/docs/vectors.d.ts +54 -0
  447. package/dist/docs/vectors.d.ts.map +1 -0
  448. package/dist/extraction/extractor.d.ts +1 -1
  449. package/dist/extraction/extractor.d.ts.map +1 -1
  450. package/dist/extraction/extractor.js +81 -0
  451. package/dist/extraction/extractor.js.map +2 -2
  452. package/dist/extraction/grammars.d.ts +6 -0
  453. package/dist/extraction/grammars.d.ts.map +1 -1
  454. package/dist/extraction/grammars.js +32 -8
  455. package/dist/extraction/grammars.js.map +2 -2
  456. package/dist/extraction/languages.d.ts.map +1 -1
  457. package/dist/extraction/languages.js +43 -1
  458. package/dist/extraction/languages.js.map +2 -2
  459. package/dist/extraction/notebook.d.ts +14 -0
  460. package/dist/extraction/notebook.d.ts.map +1 -0
  461. package/dist/extraction/notebook.js +300 -0
  462. package/dist/extraction/notebook.js.map +7 -0
  463. package/dist/extraction/wasm/tree-sitter-astro.wasm +0 -0
  464. package/dist/extraction/wasm/tree-sitter-gdscript.wasm +0 -0
  465. package/dist/extraction/wasm/tree-sitter-julia.wasm +0 -0
  466. package/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
  467. package/dist/extraction/wasm/tree-sitter-perl.wasm +0 -0
  468. package/dist/extraction/wasm/tree-sitter-powershell.wasm +0 -0
  469. package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
  470. package/dist/extraction/wasm/tree-sitter-sql.wasm +0 -0
  471. package/dist/extraction/wasm/tree-sitter-verilog.wasm +0 -0
  472. package/dist/frameworks/amplify.d.ts +9 -0
  473. package/dist/frameworks/amplify.d.ts.map +1 -0
  474. package/dist/frameworks/angular.d.ts +9 -0
  475. package/dist/frameworks/angular.d.ts.map +1 -0
  476. package/dist/frameworks/ansible.d.ts +8 -0
  477. package/dist/frameworks/ansible.d.ts.map +1 -0
  478. package/dist/frameworks/cloudformation.d.ts +9 -0
  479. package/dist/frameworks/cloudformation.d.ts.map +1 -0
  480. package/dist/frameworks/docker.d.ts +9 -0
  481. package/dist/frameworks/docker.d.ts.map +1 -0
  482. package/dist/frameworks/elixir.d.ts +6 -0
  483. package/dist/frameworks/elixir.d.ts.map +1 -0
  484. package/dist/frameworks/flutter.d.ts +12 -0
  485. package/dist/frameworks/flutter.d.ts.map +1 -0
  486. package/dist/frameworks/flutter.js +130 -0
  487. package/dist/frameworks/flutter.js.map +7 -0
  488. package/dist/frameworks/iac.d.ts +10 -0
  489. package/dist/frameworks/iac.d.ts.map +1 -0
  490. package/dist/frameworks/index.d.ts +14 -0
  491. package/dist/frameworks/index.d.ts.map +1 -1
  492. package/dist/frameworks/index.js +7 -1
  493. package/dist/frameworks/index.js.map +3 -3
  494. package/dist/frameworks/kubernetes.d.ts +9 -0
  495. package/dist/frameworks/kubernetes.d.ts.map +1 -0
  496. package/dist/frameworks/pulumi.d.ts +9 -0
  497. package/dist/frameworks/pulumi.d.ts.map +1 -0
  498. package/dist/frameworks/scala.d.ts +6 -0
  499. package/dist/frameworks/scala.d.ts.map +1 -0
  500. package/dist/frameworks/solidity.d.ts +6 -0
  501. package/dist/frameworks/solidity.d.ts.map +1 -0
  502. package/dist/frameworks/terraform.d.ts +14 -0
  503. package/dist/frameworks/terraform.d.ts.map +1 -0
  504. package/dist/frameworks/vue.d.ts +7 -0
  505. package/dist/frameworks/vue.d.ts.map +1 -0
  506. package/dist/graph/communities.d.ts +43 -0
  507. package/dist/graph/communities.d.ts.map +1 -0
  508. package/dist/graph/communities.js +317 -0
  509. package/dist/graph/communities.js.map +7 -0
  510. package/dist/graph/flows.d.ts +55 -0
  511. package/dist/graph/flows.d.ts.map +1 -0
  512. package/dist/graph/flows.js +138 -0
  513. package/dist/graph/flows.js.map +7 -0
  514. package/dist/graph/refactor.d.ts +43 -0
  515. package/dist/graph/refactor.d.ts.map +1 -0
  516. package/dist/graph/refactor.js +155 -0
  517. package/dist/graph/refactor.js.map +7 -0
  518. package/dist/index.d.ts +36 -4
  519. package/dist/index.d.ts.map +1 -1
  520. package/dist/index.js +1 -1
  521. package/dist/index.js.map +2 -2
  522. package/dist/mcp/cache.d.ts +69 -0
  523. package/dist/mcp/cache.d.ts.map +1 -0
  524. package/dist/mcp/cache.js +172 -0
  525. package/dist/mcp/cache.js.map +7 -0
  526. package/dist/mcp/read-modes.d.ts +31 -0
  527. package/dist/mcp/read-modes.d.ts.map +1 -0
  528. package/dist/mcp/read-modes.js +295 -0
  529. package/dist/mcp/read-modes.js.map +7 -0
  530. package/dist/mcp/server.d.ts +1 -0
  531. package/dist/mcp/server.d.ts.map +1 -1
  532. package/dist/mcp/server.js +17 -3
  533. package/dist/mcp/server.js.map +2 -2
  534. package/dist/mcp/tool-names.d.ts +2 -0
  535. package/dist/mcp/tool-names.d.ts.map +1 -0
  536. package/dist/mcp/tool-names.js +24 -1
  537. package/dist/mcp/tool-names.js.map +2 -2
  538. package/dist/mcp/tools.d.ts +12 -0
  539. package/dist/mcp/tools.d.ts.map +1 -1
  540. package/dist/mcp/tools.js +1560 -4
  541. package/dist/mcp/tools.js.map +3 -3
  542. package/dist/memory/compress.d.ts +19 -0
  543. package/dist/memory/compress.d.ts.map +1 -0
  544. package/dist/memory/database.d.ts +92 -0
  545. package/dist/memory/database.d.ts.map +1 -0
  546. package/dist/memory/database.js +70 -2
  547. package/dist/memory/database.js.map +2 -2
  548. package/dist/memory/index.d.ts +71 -0
  549. package/dist/memory/index.d.ts.map +1 -0
  550. package/dist/memory/index.js +12 -2
  551. package/dist/memory/index.js.map +2 -2
  552. package/dist/memory/symbols.d.ts +21 -0
  553. package/dist/memory/symbols.d.ts.map +1 -0
  554. package/dist/memory/types.d.ts +78 -0
  555. package/dist/memory/types.d.ts.map +1 -0
  556. package/dist/memory/types.js.map +1 -1
  557. package/dist/memory/vectors.d.ts +43 -0
  558. package/dist/memory/vectors.d.ts.map +1 -0
  559. package/dist/patterns/graph.d.ts +16 -0
  560. package/dist/patterns/graph.d.ts.map +1 -0
  561. package/dist/patterns/graph.js +45 -0
  562. package/dist/patterns/graph.js.map +7 -0
  563. package/dist/patterns/index.d.ts +4 -0
  564. package/dist/patterns/index.d.ts.map +1 -0
  565. package/dist/patterns/index.js +39 -0
  566. package/dist/patterns/index.js.map +7 -0
  567. package/dist/patterns/indexer.d.ts +15 -0
  568. package/dist/patterns/indexer.d.ts.map +1 -0
  569. package/dist/patterns/indexer.js +97 -0
  570. package/dist/patterns/indexer.js.map +7 -0
  571. package/dist/patterns/library/command-injection-go.yaml +11 -0
  572. package/dist/patterns/library/dangerous-eval-js.yaml +14 -0
  573. package/dist/patterns/library/dangerous-exec-py.yaml +13 -0
  574. package/dist/patterns/library/dangerous-reflection-java.yaml +8 -0
  575. package/dist/patterns/library/path-traversal-go.yaml +11 -0
  576. package/dist/patterns/library/path-traversal-py.yaml +12 -0
  577. package/dist/patterns/library/path-traversal-readfile-js.yaml +14 -0
  578. package/dist/patterns/library/prototype-pollution-js.yaml +12 -0
  579. package/dist/patterns/library/sql-injection-concat-js.yaml +12 -0
  580. package/dist/patterns/library/sql-injection-java.yaml +13 -0
  581. package/dist/patterns/library/sql-injection-py.yaml +12 -0
  582. package/dist/patterns/library/sql-injection-template-js.yaml +13 -0
  583. package/dist/patterns/library/weak-crypto-md5-js.yaml +13 -0
  584. package/dist/patterns/library/weak-crypto-py.yaml +13 -0
  585. package/dist/patterns/loader.d.ts +18 -0
  586. package/dist/patterns/loader.d.ts.map +1 -0
  587. package/dist/patterns/loader.js +277 -0
  588. package/dist/patterns/loader.js.map +7 -0
  589. package/dist/patterns/runner.d.ts +42 -0
  590. package/dist/patterns/runner.d.ts.map +1 -0
  591. package/dist/patterns/runner.js +277 -0
  592. package/dist/patterns/runner.js.map +7 -0
  593. package/dist/patterns/types.d.ts +27 -0
  594. package/dist/patterns/types.d.ts.map +1 -0
  595. package/dist/patterns/types.js +34 -0
  596. package/dist/patterns/types.js.map +7 -0
  597. package/dist/resolution/bridges/android-rn.d.ts +13 -0
  598. package/dist/resolution/bridges/android-rn.d.ts.map +1 -0
  599. package/dist/resolution/bridges/android-rn.js +298 -0
  600. package/dist/resolution/bridges/android-rn.js.map +7 -0
  601. package/dist/resolution/bridges/expo-modules.d.ts +10 -0
  602. package/dist/resolution/bridges/expo-modules.d.ts.map +1 -0
  603. package/dist/resolution/bridges/expo-modules.js +155 -0
  604. package/dist/resolution/bridges/expo-modules.js.map +7 -0
  605. package/dist/resolution/bridges/flutter-channel.d.ts +14 -0
  606. package/dist/resolution/bridges/flutter-channel.d.ts.map +1 -0
  607. package/dist/resolution/bridges/flutter-channel.js +385 -0
  608. package/dist/resolution/bridges/flutter-channel.js.map +7 -0
  609. package/dist/resolution/bridges/index.d.ts +40 -0
  610. package/dist/resolution/bridges/index.d.ts.map +1 -0
  611. package/dist/resolution/bridges/index.js +80 -0
  612. package/dist/resolution/bridges/index.js.map +7 -0
  613. package/dist/resolution/bridges/native-events.d.ts +10 -0
  614. package/dist/resolution/bridges/native-events.d.ts.map +1 -0
  615. package/dist/resolution/bridges/native-events.js +188 -0
  616. package/dist/resolution/bridges/native-events.js.map +7 -0
  617. package/dist/resolution/bridges/native-views.d.ts +13 -0
  618. package/dist/resolution/bridges/native-views.d.ts.map +1 -0
  619. package/dist/resolution/bridges/native-views.js +244 -0
  620. package/dist/resolution/bridges/native-views.js.map +7 -0
  621. package/dist/resolution/bridges/react-native.d.ts +9 -0
  622. package/dist/resolution/bridges/react-native.d.ts.map +1 -0
  623. package/dist/resolution/bridges/react-native.js +161 -0
  624. package/dist/resolution/bridges/react-native.js.map +7 -0
  625. package/dist/resolution/bridges/swift-objc.d.ts +14 -0
  626. package/dist/resolution/bridges/swift-objc.d.ts.map +1 -0
  627. package/dist/resolution/bridges/swift-objc.js +227 -0
  628. package/dist/resolution/bridges/swift-objc.js.map +7 -0
  629. package/dist/resolution/bridges/turbomodules.d.ts +10 -0
  630. package/dist/resolution/bridges/turbomodules.d.ts.map +1 -0
  631. package/dist/resolution/bridges/turbomodules.js +216 -0
  632. package/dist/resolution/bridges/turbomodules.js.map +7 -0
  633. package/dist/resolution/index.d.ts +28 -3
  634. package/dist/resolution/index.d.ts.map +1 -1
  635. package/dist/resolution/index.js +61 -2
  636. package/dist/resolution/index.js.map +2 -2
  637. package/dist/security/attack-surface.d.ts +46 -0
  638. package/dist/security/attack-surface.d.ts.map +1 -0
  639. package/dist/security/attack-surface.js +206 -0
  640. package/dist/security/attack-surface.js.map +7 -0
  641. package/dist/security/context-warnings.d.ts +40 -0
  642. package/dist/security/context-warnings.d.ts.map +1 -0
  643. package/dist/security/context-warnings.js +123 -0
  644. package/dist/security/context-warnings.js.map +7 -0
  645. package/dist/security/data-flows.d.ts +33 -0
  646. package/dist/security/data-flows.d.ts.map +1 -0
  647. package/dist/security/data-flows.js +286 -0
  648. package/dist/security/data-flows.js.map +7 -0
  649. package/dist/security/dep-confusion.d.ts +23 -0
  650. package/dist/security/dep-confusion.d.ts.map +1 -0
  651. package/dist/security/dep-confusion.js +255 -0
  652. package/dist/security/dep-confusion.js.map +7 -0
  653. package/dist/security/errors.d.ts +16 -0
  654. package/dist/security/errors.d.ts.map +1 -0
  655. package/dist/security/errors.js +51 -0
  656. package/dist/security/errors.js.map +7 -0
  657. package/dist/security/export/fix-suggestions.d.ts +21 -0
  658. package/dist/security/export/fix-suggestions.d.ts.map +1 -0
  659. package/dist/security/export/fix-suggestions.js +58 -0
  660. package/dist/security/export/fix-suggestions.js.map +7 -0
  661. package/dist/security/export/sbom.d.ts +33 -0
  662. package/dist/security/export/sbom.d.ts.map +1 -0
  663. package/dist/security/export/sbom.js +230 -0
  664. package/dist/security/export/sbom.js.map +7 -0
  665. package/dist/security/export/serialization.d.ts +62 -0
  666. package/dist/security/export/serialization.d.ts.map +1 -0
  667. package/dist/security/export/serialization.js +142 -0
  668. package/dist/security/export/serialization.js.map +7 -0
  669. package/dist/security/export/vex.d.ts +58 -0
  670. package/dist/security/export/vex.d.ts.map +1 -0
  671. package/dist/security/export/vex.js +220 -0
  672. package/dist/security/export/vex.js.map +7 -0
  673. package/dist/security/index.d.ts +21 -0
  674. package/dist/security/index.d.ts.map +1 -0
  675. package/dist/security/index.js +67 -0
  676. package/dist/security/index.js.map +7 -0
  677. package/dist/security/integrator.d.ts +63 -0
  678. package/dist/security/integrator.d.ts.map +1 -0
  679. package/dist/security/integrator.js +491 -0
  680. package/dist/security/integrator.js.map +7 -0
  681. package/dist/security/license.d.ts +33 -0
  682. package/dist/security/license.d.ts.map +1 -0
  683. package/dist/security/license.js +70 -0
  684. package/dist/security/license.js.map +7 -0
  685. package/dist/security/manifest/adapter.d.ts +92 -0
  686. package/dist/security/manifest/adapter.d.ts.map +1 -0
  687. package/dist/security/manifest/adapter.js +243 -0
  688. package/dist/security/manifest/adapter.js.map +7 -0
  689. package/dist/security/manifest/parser.d.ts +73 -0
  690. package/dist/security/manifest/parser.d.ts.map +1 -0
  691. package/dist/security/manifest/parser.js +376 -0
  692. package/dist/security/manifest/parser.js.map +7 -0
  693. package/dist/security/manifest/plugins/cargo.d.ts +11 -0
  694. package/dist/security/manifest/plugins/cargo.d.ts.map +1 -0
  695. package/dist/security/manifest/plugins/cargo.js +233 -0
  696. package/dist/security/manifest/plugins/cargo.js.map +7 -0
  697. package/dist/security/manifest/plugins/composer.d.ts +11 -0
  698. package/dist/security/manifest/plugins/composer.d.ts.map +1 -0
  699. package/dist/security/manifest/plugins/composer.js +152 -0
  700. package/dist/security/manifest/plugins/composer.js.map +7 -0
  701. package/dist/security/manifest/plugins/go.d.ts +12 -0
  702. package/dist/security/manifest/plugins/go.d.ts.map +1 -0
  703. package/dist/security/manifest/plugins/go.js +146 -0
  704. package/dist/security/manifest/plugins/go.js.map +7 -0
  705. package/dist/security/manifest/plugins/gradle.d.ts +12 -0
  706. package/dist/security/manifest/plugins/gradle.d.ts.map +1 -0
  707. package/dist/security/manifest/plugins/gradle.js +159 -0
  708. package/dist/security/manifest/plugins/gradle.js.map +7 -0
  709. package/dist/security/manifest/plugins/hex.d.ts +11 -0
  710. package/dist/security/manifest/plugins/hex.d.ts.map +1 -0
  711. package/dist/security/manifest/plugins/hex.js +159 -0
  712. package/dist/security/manifest/plugins/hex.js.map +7 -0
  713. package/dist/security/manifest/plugins/maven.d.ts +11 -0
  714. package/dist/security/manifest/plugins/maven.d.ts.map +1 -0
  715. package/dist/security/manifest/plugins/maven.js +128 -0
  716. package/dist/security/manifest/plugins/maven.js.map +7 -0
  717. package/dist/security/manifest/plugins/npm.d.ts +11 -0
  718. package/dist/security/manifest/plugins/npm.d.ts.map +1 -0
  719. package/dist/security/manifest/plugins/npm.js +284 -0
  720. package/dist/security/manifest/plugins/npm.js.map +7 -0
  721. package/dist/security/manifest/plugins/nuget.d.ts +12 -0
  722. package/dist/security/manifest/plugins/nuget.d.ts.map +1 -0
  723. package/dist/security/manifest/plugins/nuget.js +186 -0
  724. package/dist/security/manifest/plugins/nuget.js.map +7 -0
  725. package/dist/security/manifest/plugins/pip.d.ts +11 -0
  726. package/dist/security/manifest/plugins/pip.d.ts.map +1 -0
  727. package/dist/security/manifest/plugins/pip.js +123 -0
  728. package/dist/security/manifest/plugins/pip.js.map +7 -0
  729. package/dist/security/manifest/plugins/pubspec.d.ts +11 -0
  730. package/dist/security/manifest/plugins/pubspec.d.ts.map +1 -0
  731. package/dist/security/manifest/plugins/pubspec.js +212 -0
  732. package/dist/security/manifest/plugins/pubspec.js.map +7 -0
  733. package/dist/security/manifest/plugins/pyproject.d.ts +3 -0
  734. package/dist/security/manifest/plugins/pyproject.d.ts.map +1 -0
  735. package/dist/security/manifest/plugins/pyproject.js +261 -0
  736. package/dist/security/manifest/plugins/pyproject.js.map +7 -0
  737. package/dist/security/manifest/plugins/rubygems.d.ts +11 -0
  738. package/dist/security/manifest/plugins/rubygems.d.ts.map +1 -0
  739. package/dist/security/manifest/plugins/rubygems.js +185 -0
  740. package/dist/security/manifest/plugins/rubygems.js.map +7 -0
  741. package/dist/security/manifest/plugins/swift.d.ts +11 -0
  742. package/dist/security/manifest/plugins/swift.d.ts.map +1 -0
  743. package/dist/security/manifest/plugins/swift.js +200 -0
  744. package/dist/security/manifest/plugins/swift.js.map +7 -0
  745. package/dist/security/owasp.d.ts +16 -0
  746. package/dist/security/owasp.d.ts.map +1 -0
  747. package/dist/security/owasp.js +104 -0
  748. package/dist/security/owasp.js.map +7 -0
  749. package/dist/security/pipeline.d.ts +37 -0
  750. package/dist/security/pipeline.d.ts.map +1 -0
  751. package/dist/security/pipeline.js +125 -0
  752. package/dist/security/pipeline.js.map +7 -0
  753. package/dist/security/reachability.d.ts +67 -0
  754. package/dist/security/reachability.d.ts.map +1 -0
  755. package/dist/security/reachability.js +276 -0
  756. package/dist/security/reachability.js.map +7 -0
  757. package/dist/security/remediation.d.ts +51 -0
  758. package/dist/security/remediation.d.ts.map +1 -0
  759. package/dist/security/remediation.js +126 -0
  760. package/dist/security/remediation.js.map +7 -0
  761. package/dist/security/secrets.d.ts +38 -0
  762. package/dist/security/secrets.d.ts.map +1 -0
  763. package/dist/security/secrets.js +176 -0
  764. package/dist/security/secrets.js.map +7 -0
  765. package/dist/security/staleness.d.ts +43 -0
  766. package/dist/security/staleness.d.ts.map +1 -0
  767. package/dist/security/staleness.js +231 -0
  768. package/dist/security/staleness.js.map +7 -0
  769. package/dist/security/supply-chain.d.ts +34 -0
  770. package/dist/security/supply-chain.d.ts.map +1 -0
  771. package/dist/security/supply-chain.js +301 -0
  772. package/dist/security/supply-chain.js.map +7 -0
  773. package/dist/security/suppressions.d.ts +18 -0
  774. package/dist/security/suppressions.d.ts.map +1 -0
  775. package/dist/security/suppressions.js +106 -0
  776. package/dist/security/suppressions.js.map +7 -0
  777. package/dist/security/types.d.ts +144 -0
  778. package/dist/security/types.d.ts.map +1 -0
  779. package/dist/security/types.js +17 -0
  780. package/dist/security/types.js.map +7 -0
  781. package/dist/security/vuln/client.d.ts +90 -0
  782. package/dist/security/vuln/client.d.ts.map +1 -0
  783. package/dist/security/vuln/client.js +355 -0
  784. package/dist/security/vuln/client.js.map +7 -0
  785. package/dist/security/vuln/epss-client.d.ts +26 -0
  786. package/dist/security/vuln/epss-client.d.ts.map +1 -0
  787. package/dist/security/vuln/epss-client.js +95 -0
  788. package/dist/security/vuln/epss-client.js.map +7 -0
  789. package/dist/security/vuln/index.d.ts +6 -0
  790. package/dist/security/vuln/index.d.ts.map +1 -0
  791. package/dist/security/vuln/index.js +29 -0
  792. package/dist/security/vuln/index.js.map +7 -0
  793. package/dist/security/vuln/osv-adapter.d.ts +58 -0
  794. package/dist/security/vuln/osv-adapter.d.ts.map +1 -0
  795. package/dist/security/vuln/osv-adapter.js +321 -0
  796. package/dist/security/vuln/osv-adapter.js.map +7 -0
  797. package/dist/security/vuln/types.d.ts +29 -0
  798. package/dist/security/vuln/types.d.ts.map +1 -0
  799. package/dist/security/vuln/types.js +17 -0
  800. package/dist/security/vuln/types.js.map +7 -0
  801. package/dist/sync/index.d.ts +4 -2
  802. package/dist/sync/index.d.ts.map +1 -1
  803. package/dist/types.d.ts +10 -4
  804. package/dist/types.d.ts.map +1 -1
  805. package/dist/types.js.map +2 -2
  806. package/dist/vectors/index.d.ts +11 -3
  807. package/dist/vectors/index.d.ts.map +1 -1
  808. package/dist/vectors/qdrant-index.d.ts +10 -3
  809. package/dist/vectors/qdrant-index.d.ts.map +1 -1
  810. package/dist/vectors/typesense-index.d.ts.map +1 -1
  811. package/dist/watchmen/index.js +83 -0
  812. package/dist/watchmen/index.js.map +7 -0
  813. package/dist/watchmen/synthesize.js +475 -0
  814. package/dist/watchmen/synthesize.js.map +7 -0
  815. package/package.json +6 -2
@@ -19,121 +19,394 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var help_exports = {};
20
20
  __export(help_exports, {
21
21
  printColoredHelp: () => printColoredHelp,
22
+ printInteractiveHelp: () => printInteractiveHelp,
22
23
  register: () => register
23
24
  });
24
25
  module.exports = __toCommonJS(help_exports);
25
26
  var import_banner = require("../banner");
26
- function printColoredHelp() {
27
- const c = {
28
- reset: "\x1B[0m",
29
- bold: "\x1B[1m",
30
- dim: "\x1B[2m",
31
- violet: "\x1B[38;5;99m",
32
- purple: "\x1B[38;5;135m",
33
- lavender: "\x1B[38;5;141m",
34
- paleLavender: "\x1B[38;5;183m",
35
- gray: "\x1B[90m",
36
- brown: "\x1B[38;5;130m"
37
- };
38
- const groups = [
39
- {
40
- title: "\u{1F527} Workspace Setup",
41
- commands: [
42
- { name: "install", desc: "Wire up MCP/instructions for an agent workspace", opts: ["--target <t> kiro | claude | codex"] },
43
- { name: "init", args: "[path]", desc: "Initialize KiroGraph in a project", opts: ["-i, --index Index immediately after init"] },
44
- { name: "uninit", args: "[path]", desc: "Remove KiroGraph from a project", opts: ["--force Skip confirmation", "--target <t> kiro | claude | codex | all"] },
45
- { name: "uninstall", args: "[path]", desc: "Alias for uninit", opts: ["--force Skip confirmation", "--target <t> kiro | claude | codex | all"] }
46
- ]
47
- },
48
- {
49
- title: "\u{1F4E6} Indexing",
50
- commands: [
51
- { name: "index", args: "[path]", desc: "Full re-index of a project", opts: ["--force Force re-index all files"] },
52
- { name: "sync", args: "[path]", desc: "Incremental sync of changed files", opts: ["--files <f> Specific files to sync"] },
53
- { name: "sync-if-dirty", args: "[path]", desc: "Sync only if a dirty marker is present", opts: ["-q, --quiet Suppress output"] },
54
- { name: "mark-dirty", args: "[path]", desc: "Write a dirty marker for deferred sync" },
55
- { name: "unlock", args: "[path]", desc: "Force-release a stale lock file" }
56
- ]
57
- },
58
- {
59
- title: "\u{1F50D} Search & Exploration",
60
- commands: [
61
- { name: "status", args: "[path]", desc: "Show index statistics and health" },
62
- { name: "query", args: "<search>", desc: "Search for symbols by name", opts: ["--kind <k> Filter by kind", "--limit <n> Max results (default 10)"] },
63
- { name: "context", args: "<task>", desc: "Build relevant code context for a task", opts: ["--max-nodes <n> Max symbols (default 20)", "--no-code Exclude code snippets", "--format <fmt> markdown | json"] },
64
- { name: "files", args: "[path]", desc: "Show project file structure from the index", opts: ["--format <fmt> tree | flat | grouped", "--filter <path> Filter by directory prefix", "--pattern <glob> Filter by glob", "--max-depth <n> Limit tree depth", "--json Output as JSON"] },
65
- { name: "path", args: "<from> <to>", desc: "Find the shortest path between two symbols", opts: ["--format <fmt> table | json"] },
66
- { name: "export build", args: "[path]", desc: "Generate the interactive graph dashboard (.kirograph/export/)", opts: ["-o, --output <dir> Custom output directory", "--include-contains Include structural contains edges"] },
67
- { name: "export start", args: "[path]", desc: "Generate and open the dashboard in the browser", opts: ["-o, --output <dir> Custom output directory", "--include-contains Include structural contains edges"] },
68
- { name: "affected", args: "[files...]", desc: "Find test files affected by changed source files", opts: ["--stdin Read file list from stdin", "-d, --depth <n> Max traversal depth (default 5)", "-f, --filter <g> Custom test file glob", "-j, --json Output as JSON", "-q, --quiet File paths only"] }
69
- ]
70
- },
71
- {
72
- title: "\u{1F4CA} Graph Insights",
73
- commands: [
74
- { name: "hotspots", args: "[path]", desc: "Find most-connected symbols by edge degree", opts: ["--limit <n> Max results (default 20)", "--format <f> table | json"] },
75
- { name: "surprising", args: "[path]", desc: "Find non-obvious cross-file connections", opts: ["--limit <n> Max results (default 20)", "--format <f> table | json"] },
76
- { name: "dead-code", args: "[path]", desc: "Find unexported symbols with no incoming references", opts: ["--limit <n> Max results (default 50)", "--format <f> table | json"] },
77
- { name: "snapshot", desc: "Save or list graph snapshots for structural diffing", opts: ["save [label] Save current graph state", "list List saved snapshots", "diff [label] Diff current graph vs a snapshot --format summary|full|json"] }
78
- ]
79
- },
80
- {
81
- title: "\u{1F3DB}\uFE0F Architecture Analysis",
82
- commands: [
83
- { name: "architecture", args: "[path]", desc: "Show package graph and layer map", opts: ["--packages Show packages only", "--layers Show layers only", "--format <f> json"] },
84
- { name: "coupling", args: "[path]", desc: "Show coupling metrics per package", opts: ["--sort <s> instability | ca | ce | name", "--package <n> Detail view for one package", "--format <f> json"] },
85
- { name: "package", args: "<name>", desc: "Inspect a package: deps, files, metrics", opts: ["--no-files Omit file list", "--format <f> json"] }
86
- ]
87
- },
88
- {
89
- title: "\u2699\uFE0F Agent & Configuration",
90
- commands: [
91
- { name: "caveman", args: "[mode]", desc: "Set agent communication style (off | lite | full | ultra)" },
92
- { name: "compression", args: "[level]", desc: "Set shell compression level (off | normal | aggressive | ultra)" },
93
- { name: "exec", args: "<command...>", desc: "Run a shell command with token-optimized output", opts: ["-l, --level <l> normal | aggressive | ultra", "-t, --timeout <s> Timeout in seconds (default 60)", "--raw Show raw + compressed for comparison", "--json Output as JSON"] },
94
- { name: "gain", desc: "Show token savings from compressed command outputs", opts: ["--graph ASCII graph (last 30 days)", "--history Recent command history", "--daily Day-by-day breakdown", "--period <p> session | today | week | all"] },
95
- { name: "mem", args: "<command>", desc: "Persistent memory (search, store, timeline, status, prune, lint, reembed)" },
96
- { name: "data", args: "<command>", desc: "Tabular data navigation (list, describe, query, aggregate, search, index, reindex)" },
97
- { name: "serve", desc: "Start the MCP server", opts: ["--mcp Run as MCP stdio server", "--path <p> Project path"] },
98
- { name: "dashboard", desc: "Manage the Qdrant or Typesense dashboard server", opts: ["start [path] Start server and open dashboard", "stop [path] Stop the running server"] }
99
- ]
27
+ const c = {
28
+ reset: "\x1B[0m",
29
+ bold: "\x1B[1m",
30
+ dim: "\x1B[2m",
31
+ violet: "\x1B[38;5;99m",
32
+ purple: "\x1B[38;5;135m",
33
+ lavender: "\x1B[38;5;141m",
34
+ paleLavender: "\x1B[38;5;183m",
35
+ gray: "\x1B[90m",
36
+ brown: "\x1B[38;5;130m",
37
+ green: "\x1B[32m",
38
+ cyan: "\x1B[36m",
39
+ underline: "\x1B[4m"
40
+ };
41
+ const GROUPS = [
42
+ {
43
+ icon: "\u{1F527}",
44
+ title: "Setup",
45
+ commands: [
46
+ { name: "install", desc: "Wire up MCP/instructions for an agent workspace", opts: ["--target <t> kiro | cursor | claude | windsurf | ..."] },
47
+ { name: "init", args: "[path]", desc: "Initialize KiroGraph in a project", opts: ["-i, --index Index immediately after init"] },
48
+ { name: "uninit", args: "[path]", desc: "Remove KiroGraph from a project", opts: ["--force Skip confirmation", '--target <t> Target to clean up (or "all")'] }
49
+ ],
50
+ examples: [
51
+ ["kirograph install", "Wire up Kiro MCP + hooks + steering"],
52
+ ["kirograph install --target cursor", "Wire up Cursor MCP + rules + hooks"],
53
+ ["kirograph init --index", "Init and immediately index"]
54
+ ]
55
+ },
56
+ {
57
+ icon: "\u{1F4E6}",
58
+ title: "Indexing",
59
+ commands: [
60
+ { name: "index", args: "[path]", desc: "Full re-index of a project", opts: ["--force Force re-index all files"] },
61
+ { name: "sync", args: "[path]", desc: "Incremental sync of changed files", opts: ["--files <f> Specific files to sync"] },
62
+ { name: "sync-if-dirty", args: "[path]", desc: "Sync only if a dirty marker is present", opts: ["-q, --quiet Suppress output"] },
63
+ { name: "mark-dirty", args: "[path]", desc: "Write a dirty marker for deferred sync" },
64
+ { name: "unlock", args: "[path]", desc: "Force-release a stale lock file" }
65
+ ],
66
+ examples: [
67
+ ["kirograph sync", "Incremental sync of changed files"],
68
+ ["kirograph index --force", "Force full re-index"]
69
+ ]
70
+ },
71
+ {
72
+ icon: "\u{1F50D}",
73
+ title: "Search",
74
+ commands: [
75
+ { name: "status", args: "[path]", desc: "Show index statistics and health" },
76
+ { name: "query", args: "<search>", desc: "Search for symbols by name", opts: ["--kind <k> Filter by kind", "--limit <n> Max results"] },
77
+ { 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"] },
78
+ { name: "files", args: "[path]", desc: "Show project file structure", opts: ["--format <f> tree | flat | grouped | compact", "--filter <p> Directory prefix", "--pattern <g> Glob"] },
79
+ { name: "path", args: "<from> <to>", desc: "Shortest path between two symbols" },
80
+ { name: "affected", args: "[files...]", desc: "Find test files affected by changes", opts: ["--stdin Read from stdin", "-d <n> Depth", "-q Quiet"] }
81
+ ],
82
+ examples: [
83
+ ["kirograph query useState", "Find symbols named useState"],
84
+ ['kirograph context "add dark mode"', "Get context for a task"],
85
+ ["kirograph path LoginController Pool", "How are these connected?"],
86
+ ["git diff --name-only | kirograph affected --stdin", "Affected tests from git diff"]
87
+ ]
88
+ },
89
+ {
90
+ icon: "\u{1F4CA}",
91
+ title: "Insights",
92
+ commands: [
93
+ { name: "hotspots", args: "[path]", desc: "Most-connected symbols by edge degree", opts: ["--limit <n> Max results", "--format <f> table | json"] },
94
+ { name: "surprising", args: "[path]", desc: "Non-obvious cross-file connections", opts: ["--limit <n> Max results"] },
95
+ { name: "dead-code", args: "[path]", desc: "Unreferenced unexported symbols", opts: ["--limit <n> Max results"] },
96
+ { name: "snapshot", desc: "Save/list/diff graph snapshots", opts: ["save [label]", "list", "diff [label] --format summary|full|json"] },
97
+ { name: "export", desc: "Interactive graph dashboard", opts: ["build [path] Generate HTML", "start [path] Generate and open"] }
98
+ ],
99
+ examples: [
100
+ ["kirograph hotspots --limit 10", "Top 10 most-connected symbols"],
101
+ ["kirograph snapshot save pre-refactor", "Save before a refactor"],
102
+ ["kirograph snapshot diff pre-refactor", "See what changed"],
103
+ ["kirograph export start", "Open the graph dashboard"]
104
+ ]
105
+ },
106
+ {
107
+ icon: "\u{1F3DB}\uFE0F",
108
+ title: "Architecture",
109
+ commands: [
110
+ { name: "architecture", args: "[path]", desc: "Package graph and layer map", opts: ["--packages Packages only", "--layers Layers only"] },
111
+ { name: "coupling", args: "[path]", desc: "Coupling metrics per package", opts: ["--sort <s> instability | ca | ce | name", "--package <n> Detail view"] },
112
+ { name: "package", args: "<name>", desc: "Inspect a package", opts: ["--no-files Omit file list"] }
113
+ ],
114
+ examples: [
115
+ ["kirograph architecture --packages", "List all detected packages"],
116
+ ["kirograph coupling --sort instability", "Packages ranked by instability"],
117
+ ["kirograph package src/auth", "Inspect the auth package"]
118
+ ]
119
+ },
120
+ {
121
+ icon: "\u{1F9E0}",
122
+ title: "Memory",
123
+ commands: [
124
+ { name: "mem search", args: "<query>", desc: "Search past observations", opts: ["--kind <k> Filter by kind", "--limit <n> Max results"] },
125
+ { name: "mem store", args: "<text>", desc: "Store an observation", opts: ["--kind <k> decision | error | pattern | architecture | note"] },
126
+ { name: "mem timeline", desc: "List recent sessions and observations" },
127
+ { name: "mem status", desc: "Memory health dashboard" },
128
+ { name: "mem prune", desc: "Remove old observations", opts: ["--older-than <d> Duration (e.g. 90d)"] },
129
+ { name: "mem export", desc: "Export observations", opts: ["--format <f> jsonl | md"] },
130
+ { name: "mem reembed", desc: "Re-embed after model change" },
131
+ { name: "mem lint", desc: "Health check and auto-repair", opts: ["--fix Auto-fix issues"] }
132
+ ],
133
+ examples: [
134
+ ['kirograph mem search "auth decision"', "Search for past decisions"],
135
+ ['kirograph mem store "use idempotency keys" --kind decision', "Store a decision"],
136
+ ["kirograph mem timeline", "See recent sessions"]
137
+ ]
138
+ },
139
+ {
140
+ icon: "\u{1F512}",
141
+ title: "Security",
142
+ commands: [
143
+ { name: "security", args: "[path]", desc: "Security overview: vulnerabilities, verdicts, stale-data warnings" },
144
+ {
145
+ name: "vulns",
146
+ args: "[path]",
147
+ desc: "List vulnerabilities with reachability verdicts and severity",
148
+ opts: [
149
+ "--severity <level> Filter by severity: critical, high, medium, low",
150
+ "--verdict <verdict> Filter by verdict: affected, not_affected, under_investigation",
151
+ "--refresh Trigger fresh vulnerability enrichment before listing",
152
+ "--add <cveId> Manually register a CVE (requires --package and --version)"
153
+ ]
154
+ },
155
+ { name: "reachability", args: "<target>", desc: "Check reachability for a CVE or dependency: verdict, call paths, impact" },
156
+ {
157
+ name: "vuln suppress",
158
+ args: "<cveId>",
159
+ desc: "Mark a CVE as suppressed (false positive or accepted risk)",
160
+ opts: [
161
+ "--reason <text> Reason for suppression",
162
+ "--expires <date> Expiry date (e.g. 2026-12-31)"
163
+ ]
164
+ },
165
+ { name: "vuln unsuppress", args: "<cveId>", desc: "Remove a suppression" },
166
+ { name: "vuln suppressions", desc: "List all active suppressions", opts: ["--format json JSON output"] },
167
+ {
168
+ name: "licenses",
169
+ args: "[path]",
170
+ desc: "Show dependency licenses and check against policy (deny/warn lists)",
171
+ opts: [
172
+ "--policy Show only policy violations",
173
+ "--deny <patterns> Override deny list (comma-separated SPDX patterns)",
174
+ "--warn <patterns> Override warn list (comma-separated SPDX patterns)",
175
+ "--format json JSON output"
176
+ ]
177
+ },
178
+ { name: "vex", args: "[path]", desc: "Export a VEX document (Vulnerability Exploitability eXchange)", opts: ["--output <file> Write to file instead of stdout"] },
179
+ { name: "sbom", args: "[path]", desc: "Export a Software Bill of Materials", opts: ["--output <file> Write to file instead of stdout"] },
180
+ {
181
+ name: "staleness",
182
+ args: "[path]",
183
+ desc: "Check dependency freshness \u2014 packages behind their latest version",
184
+ opts: [
185
+ "--threshold <n> Show only packages with staleness_score >= n (default: 0.3)",
186
+ "--refresh Fetch latest version info from registries before listing",
187
+ "--format <fmt> table | json"
188
+ ]
189
+ },
190
+ { name: "security export", args: "[path]", desc: "Generate HTML security dashboard", opts: ["--output <file> Output path", "--open Open in browser"] },
191
+ { 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"] },
192
+ { 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"] },
193
+ { 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>"] },
194
+ { 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"] },
195
+ { name: "supply-chain", args: "[path]", desc: "Supply chain health: OpenSSF Scorecard, maintainer count, abandoned packages", opts: ["--threshold critical|high|medium", "--refresh", "--format json"] },
196
+ { name: "dep-confusion", args: "[path]", desc: "Detect dependency confusion: internal packages that exist in public registries", opts: ["--format json"] },
197
+ { name: "remediation", args: "[path]", desc: "Remediation SLA tracking: days open, fix available since, overdue alerts", opts: ["--overdue-only", "--format json"] },
198
+ {
199
+ name: "pattern",
200
+ args: "[pattern]",
201
+ desc: "AST structural search: live pattern search or library rule runner",
202
+ opts: [
203
+ "--list Show all bundled SAST rules",
204
+ "--library <id> Run a specific library rule",
205
+ "--lang <l> Language filter (js, ts, python, go, ...)",
206
+ "--format json JSON output"
207
+ ]
208
+ }
209
+ ],
210
+ examples: [
211
+ ["kirograph security", "Overview: dep count, vuln count, verdict breakdown"],
212
+ ["kirograph security --refresh-staleness", "Overview including stale dependency count"],
213
+ ["kirograph vulns", "List all vulnerabilities with severity and verdict"],
214
+ ["kirograph vulns --stale", "Show staleness score alongside each CVE"],
215
+ ["kirograph vulns --verdict under_investigation", "Show only vulnerabilities still being investigated"],
216
+ ["kirograph vulns --severity critical --verdict affected", "Critical confirmed vulnerabilities"],
217
+ ["kirograph vulns --refresh", "Re-query OSV before listing"],
218
+ ["kirograph staleness", "Show packages with staleness_score >= 0.3"],
219
+ ["kirograph staleness --refresh --threshold 0.5", "Fetch latest versions and show very stale packages"],
220
+ ["kirograph reachability CVE-2023-12345", "Check reachability for a specific CVE"],
221
+ ["kirograph reachability lodash", "Check reachability for a dependency by package name"],
222
+ ["kirograph licenses", "Show all dependency licenses"],
223
+ ["kirograph licenses --policy", "Show only license policy violations"],
224
+ ['kirograph licenses --deny "GPL-*,AGPL-*"', "Block all GPL/AGPL licenses"],
225
+ ["kirograph vex --output vex.json", "Export CycloneDX VEX document"],
226
+ ["kirograph sbom --output sbom.json", "Export SPDX SBOM"],
227
+ ["kirograph security export --open", "Generate and open HTML security dashboard"],
228
+ ["kirograph security secrets", "Scan for hardcoded secrets with call-graph blast radius"],
229
+ ["kirograph security flows", "Detect dangerous data flows (SQL injection, eval, etc.)"],
230
+ ["kirograph security ci-report --format sarif --output results.sarif", "SARIF report for GitHub Security tab"],
231
+ ["kirograph attack-surface --public-only", "Show public routes reaching vulnerable deps"],
232
+ ["kirograph supply-chain --threshold high", "Show high-risk supply chain findings"],
233
+ ["kirograph dep-confusion", "Detect dependency confusion attack vectors"],
234
+ ["kirograph remediation --overdue-only", "Show CVEs past their remediation SLA"],
235
+ ['kirograph vuln suppress CVE-2024-1234 --reason "not in code path"', "Suppress a false positive CVE"],
236
+ ["kirograph vuln unsuppress CVE-2024-1234", "Remove a suppression"],
237
+ ["kirograph vuln suppressions", "List all active suppressions"],
238
+ ['kirograph pattern "eval($X)"', "Find all eval() calls"],
239
+ ["kirograph pattern --list", "Show all bundled SAST rules"],
240
+ ["kirograph pattern --library dangerous-eval-js", "Run the dangerous-eval library rule"]
241
+ ]
242
+ },
243
+ {
244
+ icon: "\u2699\uFE0F",
245
+ title: "Agent",
246
+ commands: [
247
+ { name: "caveman", args: "[mode]", desc: "Communication style (off | lite | full | ultra)" },
248
+ { name: "compression", args: "[level]", desc: "Shell compression level (off | normal | aggressive | ultra)" },
249
+ { name: "exec", args: "<cmd>", desc: "Run command with token-optimized output", opts: ["-l <level> Compression level", "-t <sec> Timeout"] },
250
+ { name: "gain", desc: "Token savings statistics", opts: ["--graph ASCII chart", "--history Recent commands", "--daily Day breakdown"] },
251
+ { name: "serve", desc: "Start the MCP server", opts: ["--mcp Run as stdio MCP", "--path <p> Project path"] }
252
+ ],
253
+ examples: [
254
+ ["kirograph caveman lite", "Enable lite caveman mode"],
255
+ ["kirograph exec git status", "Run git status with compression"],
256
+ ["kirograph gain --graph", "Show token savings graph"]
257
+ ]
258
+ }
259
+ ];
260
+ function renderGroup(group, highlightIdx) {
261
+ const lines = [];
262
+ const nameWidth = Math.max(...group.commands.map((cmd) => (cmd.name + (cmd.args ? " " + cmd.args : "")).length)) + 2;
263
+ lines.push("");
264
+ lines.push(` ${c.bold}${c.paleLavender}COMMANDS${c.reset} ${c.dim}\u2191\u2193 select \xB7 enter to copy \xB7 q quit${c.reset}`);
265
+ lines.push("");
266
+ for (let i = 0; i < group.commands.length; i++) {
267
+ const cmd = group.commands[i];
268
+ const signature = cmd.name + (cmd.args ? " " + cmd.args : "");
269
+ const isHighlighted = i === highlightIdx;
270
+ const prefix = isHighlighted ? `${c.green}${c.bold}\u276F${c.reset} ` : " ";
271
+ const namePart = isHighlighted ? `${c.bold}${c.lavender}${cmd.name}${c.reset}${cmd.args ? " " + c.bold + cmd.args + c.reset : ""}` : `${c.lavender}${cmd.name}${c.reset}${cmd.args ? " " + c.dim + cmd.args + c.reset : ""}`;
272
+ const pad = " ".repeat(Math.max(0, nameWidth - signature.length));
273
+ lines.push(`${prefix}${namePart}${pad}${c.gray}${cmd.desc}${c.reset}`);
274
+ if (cmd.opts) {
275
+ for (const opt of cmd.opts) {
276
+ const [flag, ...rest] = opt.split(/ +/);
277
+ lines.push(` ${c.purple}${flag}${c.reset}${rest.length ? " " + c.dim + rest.join(" ") + c.reset : ""}`);
278
+ }
100
279
  }
101
- ];
280
+ }
281
+ if (group.examples.length > 0) {
282
+ lines.push("");
283
+ lines.push(` ${c.bold}${c.paleLavender}EXAMPLES${c.reset}`);
284
+ lines.push("");
285
+ for (const [ex, desc] of group.examples) {
286
+ lines.push(` ${c.violet}$${c.reset} ${c.lavender}${ex}${c.reset}`);
287
+ lines.push(` ${c.dim}${desc}${c.reset}`);
288
+ }
289
+ }
290
+ return lines;
291
+ }
292
+ function renderTabs(selectedIdx) {
293
+ return GROUPS.map((g, i) => {
294
+ if (i === selectedIdx) {
295
+ return `${c.bold}${c.violet}${c.underline}${g.icon} ${g.title}${c.reset}`;
296
+ }
297
+ return `${c.dim}${g.icon} ${g.title}${c.reset}`;
298
+ }).join(" ");
299
+ }
300
+ function printInteractiveHelp() {
301
+ const CLEAR_LINE = "\x1B[2K\x1B[G";
302
+ let selectedTab = 0;
303
+ let selectedCmd = 0;
304
+ let prevLineCount = 0;
305
+ function render(first) {
306
+ if (!first && prevLineCount > 0) {
307
+ process.stdout.write(`\x1B[${prevLineCount}A`);
308
+ for (let i = 0; i < prevLineCount; i++) {
309
+ process.stdout.write(`${CLEAR_LINE}
310
+ `);
311
+ }
312
+ process.stdout.write(`\x1B[${prevLineCount}A`);
313
+ }
314
+ const lines = [];
315
+ lines.push("");
316
+ lines.push(` ${renderTabs(selectedTab)}`);
317
+ lines.push(` ${c.dim}\u2190 \u2192 tabs \xB7 \u2191 \u2193 commands \xB7 enter to use \xB7 q quit${c.reset}`);
318
+ lines.push(...renderGroup(GROUPS[selectedTab], selectedCmd));
319
+ lines.push("");
320
+ for (const line of lines) {
321
+ process.stdout.write(`${CLEAR_LINE}${line}
322
+ `);
323
+ }
324
+ prevLineCount = lines.length;
325
+ }
326
+ (0, import_banner.printBanner)();
327
+ console.log(`
328
+ ${c.bold}${c.paleLavender}USAGE${c.reset} ${c.lavender}kirograph${c.reset} ${c.gray}<command>${c.reset} ${c.dim}[options]${c.reset}`);
329
+ render(true);
330
+ const stdin = process.stdin;
331
+ if (!stdin.isTTY) {
332
+ for (let i = 1; i < GROUPS.length; i++) {
333
+ const lines = renderGroup(GROUPS[i], -1);
334
+ for (const line of lines) console.log(line);
335
+ }
336
+ return;
337
+ }
338
+ stdin.setRawMode(true);
339
+ stdin.resume();
340
+ stdin.setEncoding("utf8");
341
+ function cleanup() {
342
+ stdin.removeListener("data", onData);
343
+ stdin.setRawMode(false);
344
+ stdin.pause();
345
+ }
346
+ function onData(key) {
347
+ if (key.startsWith("\x1B[")) {
348
+ if (key === "\x1B[C") {
349
+ selectedTab = (selectedTab + 1) % GROUPS.length;
350
+ selectedCmd = 0;
351
+ render(false);
352
+ } else if (key === "\x1B[D") {
353
+ selectedTab = (selectedTab - 1 + GROUPS.length) % GROUPS.length;
354
+ selectedCmd = 0;
355
+ render(false);
356
+ } else if (key === "\x1B[B") {
357
+ const maxCmd = GROUPS[selectedTab].commands.length - 1;
358
+ selectedCmd = Math.min(selectedCmd + 1, maxCmd);
359
+ render(false);
360
+ } else if (key === "\x1B[A") {
361
+ selectedCmd = Math.max(selectedCmd - 1, 0);
362
+ render(false);
363
+ }
364
+ return;
365
+ }
366
+ if (key === "\r" || key === "\n") {
367
+ cleanup();
368
+ const cmd = GROUPS[selectedTab].commands[selectedCmd];
369
+ const fullCmd = `kirograph ${cmd.name}${cmd.args ? " " + cmd.args : ""}`;
370
+ process.stdout.write(`\x1B[${prevLineCount}A`);
371
+ for (let i = 0; i < prevLineCount; i++) {
372
+ process.stdout.write(`${CLEAR_LINE}
373
+ `);
374
+ }
375
+ process.stdout.write(`\x1B[${prevLineCount}A`);
376
+ console.log(`
377
+ ${c.green}${c.bold}$${c.reset} ${fullCmd}
378
+ `);
379
+ process.exit(0);
380
+ } else if (key === "q" || key === "") {
381
+ cleanup();
382
+ console.log();
383
+ process.exit(0);
384
+ }
385
+ }
386
+ stdin.on("data", onData);
387
+ }
388
+ function printColoredHelp() {
102
389
  console.log(`
103
390
  ${c.bold}${c.paleLavender}USAGE${c.reset}`);
104
391
  console.log(` ${c.lavender}kirograph${c.reset} ${c.gray}<command>${c.reset} ${c.dim}[options]${c.reset}
105
392
  `);
106
- const allCmds = groups.flatMap((g) => g.commands);
107
- const nameWidth = Math.max(...allCmds.map((cmd) => (cmd.name + (cmd.args ? " " + cmd.args : "")).length)) + 2;
108
- for (const group of groups) {
109
- console.log(`${c.bold}${c.paleLavender}${group.title.toUpperCase()}${c.reset}
393
+ for (const group of GROUPS) {
394
+ console.log(`${c.bold}${c.paleLavender}${group.icon} ${group.title.toUpperCase()}${c.reset}
110
395
  `);
396
+ const nameWidth = Math.max(...group.commands.map((cmd) => (cmd.name + (cmd.args ? " " + cmd.args : "")).length)) + 2;
111
397
  for (const cmd of group.commands) {
112
398
  const signature = cmd.name + (cmd.args ? " " + cmd.args : "");
113
- const isCaveman = cmd.name === "caveman";
114
- const nameColor = isCaveman ? c.brown : c.lavender;
115
- const prefix = isCaveman ? "\u{1FAA8} " : " ";
116
- const namePart = `${nameColor}${cmd.name}${c.reset}${cmd.args ? " " + c.dim + cmd.args + c.reset : ""}`;
399
+ const namePart = `${c.lavender}${cmd.name}${c.reset}${cmd.args ? " " + c.dim + cmd.args + c.reset : ""}`;
117
400
  const pad = " ".repeat(Math.max(0, nameWidth - signature.length));
118
- console.log(`${prefix}${namePart}${pad}${c.gray}${cmd.desc}${c.reset}`);
119
- if (isCaveman) {
120
- const inspiredPad = " ".repeat(3 + nameWidth);
121
- console.log(`${inspiredPad}${c.dim}Inspired by Caveman , original idea by github.com/JuliusBrussee/caveman${c.reset}`);
122
- console.log();
123
- }
401
+ console.log(` ${namePart}${pad}${c.gray}${cmd.desc}${c.reset}`);
124
402
  if (cmd.opts) {
125
403
  for (const opt of cmd.opts) {
126
404
  const [flag, ...rest] = opt.split(/ +/);
127
- const optPad = " ".repeat(nameWidth + 2);
128
- console.log(` ${optPad}${c.purple}${flag}${c.reset}${rest.length ? " " + c.dim + rest.join(" ") + c.reset : ""}`);
405
+ console.log(` ${c.purple}${flag}${c.reset}${rest.length ? " " + c.dim + rest.join(" ") + c.reset : ""}`);
129
406
  }
130
- console.log();
131
407
  }
132
408
  }
133
- if (!groups[groups.length - 1].commands.includes(group.commands[group.commands.length - 1])) {
134
- const lastHasOpts = group.commands[group.commands.length - 1].opts;
135
- if (!lastHasOpts) console.log();
136
- }
409
+ console.log();
137
410
  }
138
411
  console.log(`${c.bold}${c.paleLavender}GLOBAL FLAGS${c.reset}
139
412
  `);
@@ -184,6 +457,34 @@ ${c.bold}${c.paleLavender}USAGE${c.reset}`);
184
457
  ["kirograph package src/auth", "Inspect the auth package"]
185
458
  ]
186
459
  },
460
+ {
461
+ title: "\u{1F512} Security",
462
+ examples: [
463
+ ["kirograph security", "Overview: dep count, vuln count, verdict breakdown"],
464
+ ["kirograph security --refresh-staleness", "Overview including stale dependency count"],
465
+ ["kirograph vulns", "List all vulnerabilities"],
466
+ ["kirograph vulns --stale", "Show staleness score alongside each CVE"],
467
+ ["kirograph vulns --verdict under_investigation", "Vulnerabilities still being investigated"],
468
+ ["kirograph vulns --severity critical --verdict affected", "Critical confirmed vulnerabilities"],
469
+ ["kirograph vulns --refresh", "Re-query OSV then list"],
470
+ ["kirograph staleness", "Show packages with staleness_score >= 0.3"],
471
+ ["kirograph staleness --refresh --threshold 0.5", "Fetch latest versions and show very stale packages"],
472
+ ["kirograph reachability CVE-2023-12345", "Check reachability for a specific CVE"],
473
+ ["kirograph reachability lodash", "Check reachability for a dependency by package name"],
474
+ ["kirograph licenses", "Show all dependency licenses"],
475
+ ["kirograph licenses --policy", "Show only license policy violations"],
476
+ ['kirograph licenses --deny "GPL-*,AGPL-*"', "Block all GPL/AGPL licenses"],
477
+ ["kirograph vex --output vex.json", "Export CycloneDX VEX document"],
478
+ ["kirograph sbom --output sbom.json", "Export SPDX SBOM"],
479
+ ['kirograph vuln suppress CVE-2024-1234 --reason "not in code path"', "Suppress a false positive CVE"],
480
+ ["kirograph vuln suppress CVE-2024-1234 --expires 2026-12-31", "Suppress with expiry date"],
481
+ ["kirograph vuln unsuppress CVE-2024-1234", "Remove a suppression"],
482
+ ["kirograph vuln suppressions", "List all active suppressions"],
483
+ ['kirograph pattern "eval($X)"', "Find all eval() calls (requires enablePatterns: true)"],
484
+ ["kirograph pattern --list", "Show all bundled SAST pattern rules"],
485
+ ["kirograph pattern --library dangerous-eval-js", "Run a specific library rule"]
486
+ ]
487
+ },
187
488
  {
188
489
  title: "\u2699\uFE0F Agent",
189
490
  examples: [
@@ -217,15 +518,12 @@ ${c.bold}${c.paleLavender}USAGE${c.reset}`);
217
518
  function register(program) {
218
519
  program.configureHelp({ formatHelp: () => "" });
219
520
  program.addHelpText("afterAll", "");
220
- program.helpInformation = () => {
221
- (0, import_banner.printBanner)();
222
- printColoredHelp();
223
- return "";
224
- };
521
+ program.helpOption(false);
225
522
  }
226
523
  // Annotate the CommonJS export names for ESM import in node:
227
524
  0 && (module.exports = {
228
525
  printColoredHelp,
526
+ printInteractiveHelp,
229
527
  register
230
528
  });
231
529
  //# sourceMappingURL=help.js.map