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
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Layer detector for Dart / Flutter projects.
3
+ *
4
+ * Detects: api, service, data, ui, shared layers based on
5
+ * directory names common in Flutter projects under lib/.
6
+ * Files in test/ are skipped (return no match).
7
+ */
8
+ import type { LayerDetector } from '../types';
9
+ export declare const dartLayerDetector: LayerDetector;
10
+ //# sourceMappingURL=dart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dart.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/dart.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,UAAU,CAAC;AA4C9D,eAAO,MAAM,iBAAiB,EAAE,aAgC/B,CAAC"}
@@ -0,0 +1,112 @@
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 dart_exports = {};
30
+ __export(dart_exports, {
31
+ dartLayerDetector: () => dartLayerDetector
32
+ });
33
+ module.exports = __toCommonJS(dart_exports);
34
+ var import_picomatch = __toESM(require("picomatch"));
35
+ const LAYER_PATTERNS = [
36
+ // UI layer
37
+ ["ui", "**/lib/screens/**", 0.9],
38
+ ["ui", "**/lib/pages/**", 0.9],
39
+ ["ui", "**/lib/views/**", 0.85],
40
+ ["ui", "**/lib/widgets/**", 0.9],
41
+ ["ui", "**/lib/components/**", 0.85],
42
+ // Service / Business logic layer
43
+ ["service", "**/lib/services/**", 0.9],
44
+ ["service", "**/lib/providers/**", 0.85],
45
+ ["service", "**/lib/blocs/**", 0.9],
46
+ ["service", "**/lib/cubits/**", 0.9],
47
+ ["service", "**/lib/notifiers/**", 0.85],
48
+ // Data layer
49
+ ["data", "**/lib/repositories/**", 0.9],
50
+ ["data", "**/lib/data/**", 0.85],
51
+ ["data", "**/lib/datasources/**", 0.9],
52
+ ["data", "**/lib/models/**", 0.85],
53
+ ["data", "**/lib/entities/**", 0.85],
54
+ ["data", "**/lib/domain/**", 0.8],
55
+ // Shared / Infrastructure layer
56
+ ["shared", "**/lib/core/**", 0.85],
57
+ ["shared", "**/lib/utils/**", 0.85],
58
+ ["shared", "**/lib/helpers/**", 0.85],
59
+ ["shared", "**/lib/extensions/**", 0.85],
60
+ ["shared", "**/lib/constants/**", 0.8],
61
+ // API / Navigation layer
62
+ ["api", "**/lib/routes/**", 0.9],
63
+ ["api", "**/lib/navigation/**", 0.85],
64
+ ["api", "**/lib/router/**", 0.85],
65
+ ["api", "**/lib/main.dart", 0.8],
66
+ ["api", "**/lib/app.dart", 0.8]
67
+ ];
68
+ const TEST_PATTERN = (0, import_picomatch.default)("**/test/**");
69
+ const dartLayerDetector = {
70
+ language: "dart",
71
+ async detect(files, _projectRoot, configLayers) {
72
+ const results = [];
73
+ const configMatchers = _buildConfigMatchers(configLayers ?? {});
74
+ for (const file of files) {
75
+ if (!file.endsWith(".dart")) continue;
76
+ if (TEST_PATTERN(file)) continue;
77
+ const configMatch = _matchConfig(file, configMatchers);
78
+ if (configMatch) {
79
+ results.push({ ...configMatch, filePath: file });
80
+ continue;
81
+ }
82
+ let best = null;
83
+ for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {
84
+ if ((0, import_picomatch.default)(pattern)(file)) {
85
+ if (!best || confidence > best.confidence) {
86
+ best = { layerName, filePath: file, confidence, matchedPattern: pattern };
87
+ }
88
+ }
89
+ }
90
+ if (best) results.push(best);
91
+ }
92
+ return results;
93
+ }
94
+ };
95
+ function _buildConfigMatchers(configLayers) {
96
+ return Object.entries(configLayers).flatMap(
97
+ ([layerName, patterns]) => patterns.map(
98
+ (pattern) => [layerName, (0, import_picomatch.default)(pattern), pattern]
99
+ )
100
+ );
101
+ }
102
+ function _matchConfig(file, matchers) {
103
+ for (const [layerName, matcher, pattern] of matchers) {
104
+ if (matcher(file)) return { layerName, confidence: 1, matchedPattern: `config:${pattern}` };
105
+ }
106
+ return null;
107
+ }
108
+ // Annotate the CommonJS export names for ESM import in node:
109
+ 0 && (module.exports = {
110
+ dartLayerDetector
111
+ });
112
+ //# sourceMappingURL=dart.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/architecture/layers/dart.ts"],
4
+ "sourcesContent": ["/**\n * Layer detector for Dart / Flutter projects.\n *\n * Detects: api, service, data, ui, shared layers based on\n * directory names common in Flutter projects under lib/.\n * Files in test/ are skipped (return no match).\n */\nimport type { LayerDetector, ArchLayerMatch } from '../types';\nimport picomatch from 'picomatch';\n\n// Pattern definitions: each entry is [layerName, glob, confidence]\nconst LAYER_PATTERNS: Array<[string, string, number]> = [\n // UI layer\n ['ui', '**/lib/screens/**', 0.9],\n ['ui', '**/lib/pages/**', 0.9],\n ['ui', '**/lib/views/**', 0.85],\n ['ui', '**/lib/widgets/**', 0.9],\n ['ui', '**/lib/components/**', 0.85],\n\n // Service / Business logic layer\n ['service', '**/lib/services/**', 0.9],\n ['service', '**/lib/providers/**', 0.85],\n ['service', '**/lib/blocs/**', 0.9],\n ['service', '**/lib/cubits/**', 0.9],\n ['service', '**/lib/notifiers/**', 0.85],\n\n // Data layer\n ['data', '**/lib/repositories/**', 0.9],\n ['data', '**/lib/data/**', 0.85],\n ['data', '**/lib/datasources/**', 0.9],\n ['data', '**/lib/models/**', 0.85],\n ['data', '**/lib/entities/**', 0.85],\n ['data', '**/lib/domain/**', 0.8],\n\n // Shared / Infrastructure layer\n ['shared', '**/lib/core/**', 0.85],\n ['shared', '**/lib/utils/**', 0.85],\n ['shared', '**/lib/helpers/**', 0.85],\n ['shared', '**/lib/extensions/**', 0.85],\n ['shared', '**/lib/constants/**', 0.8],\n\n // API / Navigation layer\n ['api', '**/lib/routes/**', 0.9],\n ['api', '**/lib/navigation/**', 0.85],\n ['api', '**/lib/router/**', 0.85],\n ['api', '**/lib/main.dart', 0.8],\n ['api', '**/lib/app.dart', 0.8],\n];\n\nconst TEST_PATTERN = picomatch('**/test/**');\n\nexport const dartLayerDetector: LayerDetector = {\n language: 'dart',\n\n async detect(files: string[], _projectRoot: string, configLayers?: Record<string, string[]>): Promise<ArchLayerMatch[]> {\n const results: ArchLayerMatch[] = [];\n const configMatchers = _buildConfigMatchers(configLayers ?? {});\n\n for (const file of files) {\n if (!file.endsWith('.dart')) continue;\n\n // Skip test files\n if (TEST_PATTERN(file)) continue;\n\n const configMatch = _matchConfig(file, configMatchers);\n if (configMatch) {\n results.push({ ...configMatch, filePath: file });\n continue;\n }\n\n let best: ArchLayerMatch | null = null;\n for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {\n if (picomatch(pattern)(file)) {\n if (!best || confidence > best.confidence) {\n best = { layerName, filePath: file, confidence, matchedPattern: pattern };\n }\n }\n }\n if (best) results.push(best);\n }\n\n return results;\n },\n};\n\nfunction _buildConfigMatchers(configLayers: Record<string, string[]>): Array<[string, ReturnType<typeof picomatch>, string]> {\n return Object.entries(configLayers).flatMap(([layerName, patterns]) =>\n patterns.map((pattern): [string, ReturnType<typeof picomatch>, string] =>\n [layerName, picomatch(pattern), pattern]\n )\n );\n}\n\nfunction _matchConfig(\n file: string,\n matchers: Array<[string, ReturnType<typeof picomatch>, string]>\n): Omit<ArchLayerMatch, 'filePath'> | null {\n for (const [layerName, matcher, pattern] of matchers) {\n if (matcher(file)) return { layerName, confidence: 1.0, matchedPattern: `config:${pattern}` };\n }\n return null;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,uBAAsB;AAGtB,MAAM,iBAAkD;AAAA;AAAA,EAEtD,CAAC,MAAM,qBAAqB,GAAG;AAAA,EAC/B,CAAC,MAAM,mBAAmB,GAAG;AAAA,EAC7B,CAAC,MAAM,mBAAmB,IAAI;AAAA,EAC9B,CAAC,MAAM,qBAAqB,GAAG;AAAA,EAC/B,CAAC,MAAM,wBAAwB,IAAI;AAAA;AAAA,EAGnC,CAAC,WAAW,sBAAsB,GAAG;AAAA,EACrC,CAAC,WAAW,uBAAuB,IAAI;AAAA,EACvC,CAAC,WAAW,mBAAmB,GAAG;AAAA,EAClC,CAAC,WAAW,oBAAoB,GAAG;AAAA,EACnC,CAAC,WAAW,uBAAuB,IAAI;AAAA;AAAA,EAGvC,CAAC,QAAQ,0BAA0B,GAAG;AAAA,EACtC,CAAC,QAAQ,kBAAkB,IAAI;AAAA,EAC/B,CAAC,QAAQ,yBAAyB,GAAG;AAAA,EACrC,CAAC,QAAQ,oBAAoB,IAAI;AAAA,EACjC,CAAC,QAAQ,sBAAsB,IAAI;AAAA,EACnC,CAAC,QAAQ,oBAAoB,GAAG;AAAA;AAAA,EAGhC,CAAC,UAAU,kBAAkB,IAAI;AAAA,EACjC,CAAC,UAAU,mBAAmB,IAAI;AAAA,EAClC,CAAC,UAAU,qBAAqB,IAAI;AAAA,EACpC,CAAC,UAAU,wBAAwB,IAAI;AAAA,EACvC,CAAC,UAAU,uBAAuB,GAAG;AAAA;AAAA,EAGrC,CAAC,OAAO,oBAAoB,GAAG;AAAA,EAC/B,CAAC,OAAO,wBAAwB,IAAI;AAAA,EACpC,CAAC,OAAO,oBAAoB,IAAI;AAAA,EAChC,CAAC,OAAO,oBAAoB,GAAG;AAAA,EAC/B,CAAC,OAAO,mBAAmB,GAAG;AAChC;AAEA,MAAM,mBAAe,iBAAAA,SAAU,YAAY;AAEpC,MAAM,oBAAmC;AAAA,EAC9C,UAAU;AAAA,EAEV,MAAM,OAAO,OAAiB,cAAsB,cAAoE;AACtH,UAAM,UAA4B,CAAC;AACnC,UAAM,iBAAiB,qBAAqB,gBAAgB,CAAC,CAAC;AAE9D,eAAW,QAAQ,OAAO;AACxB,UAAI,CAAC,KAAK,SAAS,OAAO,EAAG;AAG7B,UAAI,aAAa,IAAI,EAAG;AAExB,YAAM,cAAc,aAAa,MAAM,cAAc;AACrD,UAAI,aAAa;AACf,gBAAQ,KAAK,EAAE,GAAG,aAAa,UAAU,KAAK,CAAC;AAC/C;AAAA,MACF;AAEA,UAAI,OAA8B;AAClC,iBAAW,CAAC,WAAW,SAAS,UAAU,KAAK,gBAAgB;AAC7D,gBAAI,iBAAAA,SAAU,OAAO,EAAE,IAAI,GAAG;AAC5B,cAAI,CAAC,QAAQ,aAAa,KAAK,YAAY;AACzC,mBAAO,EAAE,WAAW,UAAU,MAAM,YAAY,gBAAgB,QAAQ;AAAA,UAC1E;AAAA,QACF;AAAA,MACF;AACA,UAAI,KAAM,SAAQ,KAAK,IAAI;AAAA,IAC7B;AAEA,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qBAAqB,cAA+F;AAC3H,SAAO,OAAO,QAAQ,YAAY,EAAE;AAAA,IAAQ,CAAC,CAAC,WAAW,QAAQ,MAC/D,SAAS;AAAA,MAAI,CAAC,YACZ,CAAC,eAAW,iBAAAA,SAAU,OAAO,GAAG,OAAO;AAAA,IACzC;AAAA,EACF;AACF;AAEA,SAAS,aACP,MACA,UACyC;AACzC,aAAW,CAAC,WAAW,SAAS,OAAO,KAAK,UAAU;AACpD,QAAI,QAAQ,IAAI,EAAG,QAAO,EAAE,WAAW,YAAY,GAAK,gBAAgB,UAAU,OAAO,GAAG;AAAA,EAC9F;AACA,SAAO;AACT;",
6
+ "names": ["picomatch"]
7
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Layer detector for Elixir / Phoenix projects.
3
+ */
4
+ import type { LayerDetector } from '../types';
5
+ export declare const elixirLayerDetector: LayerDetector;
6
+ //# sourceMappingURL=elixir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elixir.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/elixir.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,UAAU,CAAC;AA2C9D,eAAO,MAAM,mBAAmB,EAAE,aAyBjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,SAAS,EAAE,MAAM,UAAU,CAAC;AAmBzE,wBAAgB,oBAAoB,IAAI,aAAa,EAAE,CAEtD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAInE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EAAE,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACtC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAuBhC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,mBAAmB,EAAE,EAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACtC,SAAS,EAAE,CAqBb"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,SAAS,EAAE,MAAM,UAAU,CAAC;AA+BzE,wBAAgB,oBAAoB,IAAI,aAAa,EAAE,CAEtD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAInE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EAAE,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACtC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAuBhC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,mBAAmB,EAAE,EAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACtC,SAAS,EAAE,CAqBb"}
@@ -36,6 +36,7 @@ var import_scala = require("./scala");
36
36
  var import_vue = require("./vue");
37
37
  var import_solidity = require("./solidity");
38
38
  var import_ocaml = require("./ocaml");
39
+ var import_dart = require("./dart");
39
40
  const LAYER_DETECTORS = [
40
41
  import_typescript.typescriptLayerDetector,
41
42
  import_python.pythonLayerDetector,
@@ -48,7 +49,8 @@ const LAYER_DETECTORS = [
48
49
  import_scala.scalaLayerDetector,
49
50
  import_vue.vueLayerDetector,
50
51
  import_solidity.solidityLayerDetector,
51
- import_ocaml.ocamlLayerDetector
52
+ import_ocaml.ocamlLayerDetector,
53
+ import_dart.dartLayerDetector
52
54
  ];
53
55
  function getAllLayerDetectors() {
54
56
  return LAYER_DETECTORS;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/architecture/layers/index.ts"],
4
- "sourcesContent": ["/**\n * Layer Detector Registry\n *\n * Dispatches layer detection to language-specific detectors.\n * Config-defined layers always win over auto-detection.\n */\nimport type { LayerDetector, ArchLayerMatch, ArchLayer } from '../types';\nimport { typescriptLayerDetector } from './typescript';\nimport { pythonLayerDetector } from './python';\nimport { goLayerDetector } from './go';\nimport { javaLayerDetector } from './java';\nimport { rubyLayerDetector } from './ruby';\nimport { rustLayerDetector } from './rust';\nimport { csharpLayerDetector } from './csharp';\nimport { elixirLayerDetector } from './elixir';\nimport { scalaLayerDetector } from './scala';\nimport { vueLayerDetector } from './vue';\nimport { solidityLayerDetector } from './solidity';\nimport { ocamlLayerDetector } from './ocaml';\n\nconst LAYER_DETECTORS: LayerDetector[] = [\n typescriptLayerDetector,\n pythonLayerDetector,\n goLayerDetector,\n javaLayerDetector,\n rubyLayerDetector,\n rustLayerDetector,\n csharpLayerDetector,\n elixirLayerDetector,\n scalaLayerDetector,\n vueLayerDetector,\n solidityLayerDetector,\n ocamlLayerDetector,\n];\n\nexport function getAllLayerDetectors(): LayerDetector[] {\n return LAYER_DETECTORS;\n}\n\nexport function registerLayerDetector(detector: LayerDetector): void {\n const idx = LAYER_DETECTORS.findIndex(d => d.language === detector.language && d.framework === detector.framework);\n if (idx >= 0) LAYER_DETECTORS[idx] = detector;\n else LAYER_DETECTORS.push(detector);\n}\n\nexport interface FileLayerAssignment {\n filePath: string;\n layerName: string;\n confidence: number;\n matchedPattern: string;\n}\n\n/**\n * Run all language-specific layer detectors against the file list.\n * Each file gets at most one layer assignment (highest confidence wins).\n * Config-defined layers (confidence=1.0) always beat auto-detected ones.\n *\n * @param files - relative file paths (from project root)\n * @param projectRoot - absolute project root path\n * @param configLayers - user-defined layer\u2192glob overrides from config\n */\nexport async function detectAllLayers(\n files: string[],\n projectRoot: string,\n configLayers?: Record<string, string[]>\n): Promise<FileLayerAssignment[]> {\n // Collect all matches from all detectors\n const allMatches: ArchLayerMatch[] = [];\n for (const detector of LAYER_DETECTORS) {\n const matches = await detector.detect(files, projectRoot, configLayers);\n allMatches.push(...matches);\n }\n\n // Per file, keep the highest-confidence match\n const best = new Map<string, ArchLayerMatch>();\n for (const match of allMatches) {\n const existing = best.get(match.filePath);\n if (!existing || match.confidence > existing.confidence) {\n best.set(match.filePath, match);\n }\n }\n\n return [...best.values()].map(m => ({\n filePath: m.filePath,\n layerName: m.layerName,\n confidence: m.confidence,\n matchedPattern: m.matchedPattern,\n }));\n}\n\n/**\n * From a list of FileLayerAssignment, derive the unique ArchLayer records.\n */\nexport function buildArchLayers(\n assignments: FileLayerAssignment[],\n configLayers?: Record<string, string[]>\n): ArchLayer[] {\n const layerMap = new Map<string, ArchLayer>();\n\n for (const a of assignments) {\n if (!layerMap.has(a.layerName)) {\n const isConfig = configLayers && a.layerName in configLayers;\n layerMap.set(a.layerName, {\n id: `layer:${a.layerName}`,\n name: a.layerName,\n source: isConfig ? 'config' : 'auto',\n patterns: [],\n updatedAt: Date.now(),\n });\n }\n const layer = layerMap.get(a.layerName)!;\n if (!layer.patterns.includes(a.matchedPattern)) {\n layer.patterns.push(a.matchedPattern);\n }\n }\n\n return [...layerMap.values()];\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,wBAAwC;AACxC,oBAAoC;AACpC,gBAAgC;AAChC,kBAAkC;AAClC,kBAAkC;AAClC,kBAAkC;AAClC,oBAAoC;AACpC,oBAAoC;AACpC,mBAAmC;AACnC,iBAAiC;AACjC,sBAAsC;AACtC,mBAAmC;AAEnC,MAAM,kBAAmC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,uBAAwC;AACtD,SAAO;AACT;AAEO,SAAS,sBAAsB,UAA+B;AACnE,QAAM,MAAM,gBAAgB,UAAU,OAAK,EAAE,aAAa,SAAS,YAAY,EAAE,cAAc,SAAS,SAAS;AACjH,MAAI,OAAO,EAAG,iBAAgB,GAAG,IAAI;AAAA,MAChC,iBAAgB,KAAK,QAAQ;AACpC;AAkBA,eAAsB,gBACpB,OACA,aACA,cACgC;AAEhC,QAAM,aAA+B,CAAC;AACtC,aAAW,YAAY,iBAAiB;AACtC,UAAM,UAAU,MAAM,SAAS,OAAO,OAAO,aAAa,YAAY;AACtE,eAAW,KAAK,GAAG,OAAO;AAAA,EAC5B;AAGA,QAAM,OAAO,oBAAI,IAA4B;AAC7C,aAAW,SAAS,YAAY;AAC9B,UAAM,WAAW,KAAK,IAAI,MAAM,QAAQ;AACxC,QAAI,CAAC,YAAY,MAAM,aAAa,SAAS,YAAY;AACvD,WAAK,IAAI,MAAM,UAAU,KAAK;AAAA,IAChC;AAAA,EACF;AAEA,SAAO,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,IAAI,QAAM;AAAA,IAClC,UAAU,EAAE;AAAA,IACZ,WAAW,EAAE;AAAA,IACb,YAAY,EAAE;AAAA,IACd,gBAAgB,EAAE;AAAA,EACpB,EAAE;AACJ;AAKO,SAAS,gBACd,aACA,cACa;AACb,QAAM,WAAW,oBAAI,IAAuB;AAE5C,aAAW,KAAK,aAAa;AAC3B,QAAI,CAAC,SAAS,IAAI,EAAE,SAAS,GAAG;AAC9B,YAAM,WAAW,gBAAgB,EAAE,aAAa;AAChD,eAAS,IAAI,EAAE,WAAW;AAAA,QACxB,IAAI,SAAS,EAAE,SAAS;AAAA,QACxB,MAAM,EAAE;AAAA,QACR,QAAQ,WAAW,WAAW;AAAA,QAC9B,UAAU,CAAC;AAAA,QACX,WAAW,KAAK,IAAI;AAAA,MACtB,CAAC;AAAA,IACH;AACA,UAAM,QAAQ,SAAS,IAAI,EAAE,SAAS;AACtC,QAAI,CAAC,MAAM,SAAS,SAAS,EAAE,cAAc,GAAG;AAC9C,YAAM,SAAS,KAAK,EAAE,cAAc;AAAA,IACtC;AAAA,EACF;AAEA,SAAO,CAAC,GAAG,SAAS,OAAO,CAAC;AAC9B;",
4
+ "sourcesContent": ["/**\n * Layer Detector Registry\n *\n * Dispatches layer detection to language-specific detectors.\n * Config-defined layers always win over auto-detection.\n */\nimport type { LayerDetector, ArchLayerMatch, ArchLayer } from '../types';\nimport { typescriptLayerDetector } from './typescript';\nimport { pythonLayerDetector } from './python';\nimport { goLayerDetector } from './go';\nimport { javaLayerDetector } from './java';\nimport { rubyLayerDetector } from './ruby';\nimport { rustLayerDetector } from './rust';\nimport { csharpLayerDetector } from './csharp';\nimport { elixirLayerDetector } from './elixir';\nimport { scalaLayerDetector } from './scala';\nimport { vueLayerDetector } from './vue';\nimport { solidityLayerDetector } from './solidity';\nimport { ocamlLayerDetector } from './ocaml';\nimport { dartLayerDetector } from './dart';\n\nconst LAYER_DETECTORS: LayerDetector[] = [\n typescriptLayerDetector,\n pythonLayerDetector,\n goLayerDetector,\n javaLayerDetector,\n rubyLayerDetector,\n rustLayerDetector,\n csharpLayerDetector,\n elixirLayerDetector,\n scalaLayerDetector,\n vueLayerDetector,\n solidityLayerDetector,\n ocamlLayerDetector,\n dartLayerDetector,\n];\n\nexport function getAllLayerDetectors(): LayerDetector[] {\n return LAYER_DETECTORS;\n}\n\nexport function registerLayerDetector(detector: LayerDetector): void {\n const idx = LAYER_DETECTORS.findIndex(d => d.language === detector.language && d.framework === detector.framework);\n if (idx >= 0) LAYER_DETECTORS[idx] = detector;\n else LAYER_DETECTORS.push(detector);\n}\n\nexport interface FileLayerAssignment {\n filePath: string;\n layerName: string;\n confidence: number;\n matchedPattern: string;\n}\n\n/**\n * Run all language-specific layer detectors against the file list.\n * Each file gets at most one layer assignment (highest confidence wins).\n * Config-defined layers (confidence=1.0) always beat auto-detected ones.\n *\n * @param files - relative file paths (from project root)\n * @param projectRoot - absolute project root path\n * @param configLayers - user-defined layer\u2192glob overrides from config\n */\nexport async function detectAllLayers(\n files: string[],\n projectRoot: string,\n configLayers?: Record<string, string[]>\n): Promise<FileLayerAssignment[]> {\n // Collect all matches from all detectors\n const allMatches: ArchLayerMatch[] = [];\n for (const detector of LAYER_DETECTORS) {\n const matches = await detector.detect(files, projectRoot, configLayers);\n allMatches.push(...matches);\n }\n\n // Per file, keep the highest-confidence match\n const best = new Map<string, ArchLayerMatch>();\n for (const match of allMatches) {\n const existing = best.get(match.filePath);\n if (!existing || match.confidence > existing.confidence) {\n best.set(match.filePath, match);\n }\n }\n\n return [...best.values()].map(m => ({\n filePath: m.filePath,\n layerName: m.layerName,\n confidence: m.confidence,\n matchedPattern: m.matchedPattern,\n }));\n}\n\n/**\n * From a list of FileLayerAssignment, derive the unique ArchLayer records.\n */\nexport function buildArchLayers(\n assignments: FileLayerAssignment[],\n configLayers?: Record<string, string[]>\n): ArchLayer[] {\n const layerMap = new Map<string, ArchLayer>();\n\n for (const a of assignments) {\n if (!layerMap.has(a.layerName)) {\n const isConfig = configLayers && a.layerName in configLayers;\n layerMap.set(a.layerName, {\n id: `layer:${a.layerName}`,\n name: a.layerName,\n source: isConfig ? 'config' : 'auto',\n patterns: [],\n updatedAt: Date.now(),\n });\n }\n const layer = layerMap.get(a.layerName)!;\n if (!layer.patterns.includes(a.matchedPattern)) {\n layer.patterns.push(a.matchedPattern);\n }\n }\n\n return [...layerMap.values()];\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,wBAAwC;AACxC,oBAAoC;AACpC,gBAAgC;AAChC,kBAAkC;AAClC,kBAAkC;AAClC,kBAAkC;AAClC,oBAAoC;AACpC,oBAAoC;AACpC,mBAAmC;AACnC,iBAAiC;AACjC,sBAAsC;AACtC,mBAAmC;AACnC,kBAAkC;AAElC,MAAM,kBAAmC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,uBAAwC;AACtD,SAAO;AACT;AAEO,SAAS,sBAAsB,UAA+B;AACnE,QAAM,MAAM,gBAAgB,UAAU,OAAK,EAAE,aAAa,SAAS,YAAY,EAAE,cAAc,SAAS,SAAS;AACjH,MAAI,OAAO,EAAG,iBAAgB,GAAG,IAAI;AAAA,MAChC,iBAAgB,KAAK,QAAQ;AACpC;AAkBA,eAAsB,gBACpB,OACA,aACA,cACgC;AAEhC,QAAM,aAA+B,CAAC;AACtC,aAAW,YAAY,iBAAiB;AACtC,UAAM,UAAU,MAAM,SAAS,OAAO,OAAO,aAAa,YAAY;AACtE,eAAW,KAAK,GAAG,OAAO;AAAA,EAC5B;AAGA,QAAM,OAAO,oBAAI,IAA4B;AAC7C,aAAW,SAAS,YAAY;AAC9B,UAAM,WAAW,KAAK,IAAI,MAAM,QAAQ;AACxC,QAAI,CAAC,YAAY,MAAM,aAAa,SAAS,YAAY;AACvD,WAAK,IAAI,MAAM,UAAU,KAAK;AAAA,IAChC;AAAA,EACF;AAEA,SAAO,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,IAAI,QAAM;AAAA,IAClC,UAAU,EAAE;AAAA,IACZ,WAAW,EAAE;AAAA,IACb,YAAY,EAAE;AAAA,IACd,gBAAgB,EAAE;AAAA,EACpB,EAAE;AACJ;AAKO,SAAS,gBACd,aACA,cACa;AACb,QAAM,WAAW,oBAAI,IAAuB;AAE5C,aAAW,KAAK,aAAa;AAC3B,QAAI,CAAC,SAAS,IAAI,EAAE,SAAS,GAAG;AAC9B,YAAM,WAAW,gBAAgB,EAAE,aAAa;AAChD,eAAS,IAAI,EAAE,WAAW;AAAA,QACxB,IAAI,SAAS,EAAE,SAAS;AAAA,QACxB,MAAM,EAAE;AAAA,QACR,QAAQ,WAAW,WAAW;AAAA,QAC9B,UAAU,CAAC;AAAA,QACX,WAAW,KAAK,IAAI;AAAA,MACtB,CAAC;AAAA,IACH;AACA,UAAM,QAAQ,SAAS,IAAI,EAAE,SAAS;AACtC,QAAI,CAAC,MAAM,SAAS,SAAS,EAAE,cAAc,GAAG;AAC9C,YAAM,SAAS,KAAK,EAAE,cAAc;AAAA,IACtC;AAAA,EACF;AAEA,SAAO,CAAC,GAAG,SAAS,OAAO,CAAC;AAC9B;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Layer detector for OCaml projects (Dune-based).
3
+ */
4
+ import type { LayerDetector } from '../types';
5
+ export declare const ocamlLayerDetector: LayerDetector;
6
+ //# sourceMappingURL=ocaml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ocaml.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/ocaml.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,UAAU,CAAC;AAmC9D,eAAO,MAAM,kBAAkB,EAAE,aAyBhC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Layer detector for Scala projects (Play, Akka, general SBT).
3
+ */
4
+ import type { LayerDetector } from '../types';
5
+ export declare const scalaLayerDetector: LayerDetector;
6
+ //# sourceMappingURL=scala.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scala.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/scala.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,UAAU,CAAC;AAmD9D,eAAO,MAAM,kBAAkB,EAAE,aAyBhC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Layer detector for Solidity projects (Hardhat, Foundry, Truffle).
3
+ */
4
+ import type { LayerDetector } from '../types';
5
+ export declare const solidityLayerDetector: LayerDetector;
6
+ //# sourceMappingURL=solidity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solidity.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/solidity.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,UAAU,CAAC;AAoC9D,eAAO,MAAM,qBAAqB,EAAE,aAyBnC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Layer detector for Vue / Nuxt projects.
3
+ */
4
+ import type { LayerDetector } from '../types';
5
+ export declare const vueLayerDetector: LayerDetector;
6
+ //# sourceMappingURL=vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/vue.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,UAAU,CAAC;AA0C9D,eAAO,MAAM,gBAAgB,EAAE,aAyB9B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ManifestParser } from '../types';
2
+ export declare const elmParser: ManifestParser;
3
+ //# sourceMappingURL=elm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elm.d.ts","sourceRoot":"","sources":["../../../src/architecture/manifest/elm.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,UAAU,CAAC;AAE5D,eAAO,MAAM,SAAS,EAAE,cA6DvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/architecture/manifest/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AA+B5D,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,CAExD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAInE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAsBnF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/architecture/manifest/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAsC5D,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,CAExD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAInE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAsBnF"}
@@ -0,0 +1,3 @@
1
+ import type { ManifestParser } from '../types';
2
+ export declare const ocamlParser: ManifestParser;
3
+ //# sourceMappingURL=ocaml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ocaml.d.ts","sourceRoot":"","sources":["../../../src/architecture/manifest/ocaml.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,UAAU,CAAC;AAE5D,eAAO,MAAM,WAAW,EAAE,cA6BzB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ManifestParser } from '../types';
2
+ export declare const sbtParser: ManifestParser;
3
+ //# sourceMappingURL=scala.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scala.d.ts","sourceRoot":"","sources":["../../../src/architecture/manifest/scala.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,UAAU,CAAC;AAE5D,eAAO,MAAM,SAAS,EAAE,cA2FvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/bin/banner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+CH,wBAAgB,WAAW,IAAI,IAAI,CAsBlC"}
1
+ {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/bin/banner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqFH,wBAAgB,WAAW,IAAI,IAAI,CAsBlC"}
@@ -33,6 +33,7 @@ const c = {
33
33
  white: "\x1B[97m"
34
34
  };
35
35
  const TIPS = [
36
+ // Core graph
36
37
  `Run ${c.cyan}kirograph context "your task"${c.reset} to get relevant code
37
38
  in one shot \u2014 no file scanning needed.`,
38
39
  `Use ${c.cyan}kirograph query <name>${c.reset} instead of grep.
@@ -41,14 +42,81 @@ const TIPS = [
41
42
  that depends on a changed file \u2014 great for CI.`,
42
43
  `${c.cyan}kirograph files --format grouped${c.reset} shows your project
43
44
  structure grouped by language from the index.`,
44
- `${c.cyan}kirograph impact <symbol>${c.reset} shows the blast radius
45
- before you change anything.`,
46
- `Run ${c.cyan}kirograph install${c.reset} once per Kiro workspace to wire up
47
- MCP, auto-sync hooks, and steering automatically.`,
45
+ `${c.cyan}kirograph path LoginController DatabasePool${c.reset}
46
+ finds the shortest connection between any two symbols.`,
47
+ `${c.cyan}kirograph hotspots${c.reset} ranks symbols by edge degree \u2014
48
+ the top results are the riskiest to change.`,
49
+ `${c.cyan}kirograph surprising${c.reset} surfaces hidden cross-module coupling
50
+ you didn't know existed.`,
51
+ `${c.cyan}kirograph dead-code${c.reset} lists unexported symbols with zero
52
+ incoming references \u2014 safe candidates for deletion.`,
53
+ `${c.cyan}kirograph snapshot save pre-refactor${c.reset} then
54
+ ${c.cyan}kirograph snapshot diff pre-refactor${c.reset} after \u2014 structural changelog.`,
55
+ `Pipe git diff into kirograph:
56
+ ${c.cyan}git diff --name-only | kirograph affected --stdin${c.reset}`,
57
+ // Indexing
48
58
  `${c.cyan}kirograph sync${c.reset} is incremental \u2014 it only re-parses
49
59
  files whose content has changed since last index.`,
50
- `Pipe git diff into kirograph:
51
- ${c.cyan}git diff --name-only | kirograph affected --stdin${c.reset}`
60
+ `${c.cyan}kirograph sync-if-dirty${c.reset} is safe to call on every agent stop \u2014
61
+ it's a no-op when nothing changed.`,
62
+ `Run ${c.cyan}kirograph install${c.reset} once per workspace to wire up
63
+ MCP, auto-sync hooks, and steering automatically.`,
64
+ // Architecture
65
+ `${c.cyan}kirograph coupling --sort instability${c.reset} shows which packages
66
+ are most volatile and risky to depend on.`,
67
+ `${c.cyan}kirograph architecture${c.reset} detects packages and layers (api/service/
68
+ data/ui/shared) without any config \u2014 just enable it.`,
69
+ `${c.cyan}kirograph package src/auth${c.reset} shows incoming dependents,
70
+ outgoing deps, and files in one call.`,
71
+ // Security
72
+ `${c.cyan}kirograph security${c.reset} gives an instant vulnerability overview \u2014
73
+ dep count, CVEs, verdict breakdown, stale warnings.`,
74
+ `${c.cyan}kirograph vulns --verdict affected${c.reset} filters to only CVEs
75
+ with a confirmed reachable call path from your entry points.`,
76
+ `${c.cyan}kirograph vulns --epss 0.5${c.reset} shows only vulnerabilities
77
+ with >= 50% exploitation probability \u2014 EPSS beats CVSS for triage.`,
78
+ `${c.cyan}kirograph reachability CVE-2024-1234${c.reset} shows the exact
79
+ call path from your entry points to the vulnerable dependency.`,
80
+ `${c.cyan}kirograph licenses --policy${c.reset} flags dependencies that violate
81
+ your configured SPDX license policy (deny/warn lists).`,
82
+ `${c.cyan}kirograph staleness --threshold 0.7${c.reset} identifies dependencies
83
+ that are significantly behind their latest published version.`,
84
+ `${c.cyan}kirograph sbom --output sbom.json${c.reset} exports a CycloneDX 1.5
85
+ SBOM \u2014 parent directory is created automatically if missing.`,
86
+ `${c.cyan}kirograph vex --output vex.json${c.reset} exports a VEX document
87
+ with reachability-derived analysis states for each CVE.`,
88
+ // Memory
89
+ `${c.cyan}kirograph mem search "auth decision"${c.reset} recalls past observations
90
+ using hybrid FTS + vector search across all sessions.`,
91
+ `${c.cyan}kirograph mem store "..." --kind decision${c.reset} saves an observation
92
+ linked to relevant code symbols automatically.`,
93
+ `${c.cyan}kirograph mem timeline${c.reset} shows recent sessions and what
94
+ the agent observed \u2014 great for onboarding after a break.`,
95
+ // Docs & Data
96
+ `${c.cyan}kirograph docs search "authentication"${c.reset} searches indexed
97
+ documentation sections \u2014 faster than reading full files.`,
98
+ `${c.cyan}kirograph data describe orders${c.reset} gives full schema profile
99
+ without loading a single data row into context.`,
100
+ `${c.cyan}kirograph data aggregate orders --group-by region --metric sum:amount${c.reset}
101
+ runs GROUP BY server-side \u2014 only results enter context.`,
102
+ // Export & token tools
103
+ `${c.cyan}kirograph export start${c.reset} opens an interactive graph dashboard
104
+ in your browser \u2014 search, path-find, cluster, heat map.`,
105
+ `${c.cyan}kirograph exec "npm test"${c.reset} compresses test output by 80-90% \u2014
106
+ you get pass/fail and errors, not thousands of lines of noise.`,
107
+ `${c.cyan}kirograph gain --graph${c.reset} shows your cumulative token savings
108
+ from graph tools and shell compression over time.`,
109
+ // Workflow files
110
+ `Type ${c.cyan}/kirograph-security${c.reset} in Kiro to activate a step-by-step
111
+ security audit workflow with CVE triage and EPSS guidance.`,
112
+ `Type ${c.cyan}/kirograph-review${c.reset} in Kiro for a structured code review:
113
+ blast radius, test coverage, surprising coupling.`,
114
+ `Type ${c.cyan}/kirograph-refactor${c.reset} in Kiro before any major refactor \u2014
115
+ it guides you through blast radius, rename preview, and diff verify.`,
116
+ `Type ${c.cyan}/kirograph-debug${c.reset} in Kiro to trace a bug systematically:
117
+ callers, callees, recent diff, root cause analysis.`,
118
+ `Type ${c.cyan}/kirograph-architecture${c.reset} in Kiro for a full architecture
119
+ exploration: packages, layers, coupling, hidden cycles.`
52
120
  ];
53
121
  function pickTip() {
54
122
  const idx = Math.floor(Date.now() / 864e5) % TIPS.length;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/bin/banner.ts"],
4
- "sourcesContent": ["/**\n * KiroGraph CLI Banner\n * Displays the KIROGRAPH ASCII art header and a rotating \"Did you know?\" tip.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst figlet = require('figlet');\n\n// ANSI color helpers (no external deps)\nconst c = {\n reset: '\\x1b[0m',\n bold: '\\x1b[1m',\n dim: '\\x1b[2m',\n purple: '\\x1b[38;5;135m',\n violet: '\\x1b[38;5;99m',\n cyan: '\\x1b[38;5;117m',\n gray: '\\x1b[90m',\n white: '\\x1b[97m',\n};\n\nconst TIPS = [\n `Run ${c.cyan}kirograph context \"your task\"${c.reset} to get relevant code\\n in one shot \u2014 no file scanning needed.`,\n `Use ${c.cyan}kirograph query <name>${c.reset} instead of grep.\\n It searches the symbol index instantly.`,\n `${c.cyan}kirograph affected src/foo.ts${c.reset} finds every test file\\n that depends on a changed file \u2014 great for CI.`,\n `${c.cyan}kirograph files --format grouped${c.reset} shows your project\\n structure grouped by language from the index.`,\n `${c.cyan}kirograph impact <symbol>${c.reset} shows the blast radius\\n before you change anything.`,\n `Run ${c.cyan}kirograph install${c.reset} once per Kiro workspace to wire up\\n MCP, auto-sync hooks, and steering automatically.`,\n `${c.cyan}kirograph sync${c.reset} is incremental \u2014 it only re-parses\\n files whose content has changed since last index.`,\n `Pipe git diff into kirograph:\\n ${c.cyan}git diff --name-only | kirograph affected --stdin${c.reset}`,\n];\n\nfunction pickTip(): string {\n // Rotate daily so it feels fresh but is deterministic\n const idx = Math.floor(Date.now() / 86_400_000) % TIPS.length;\n return TIPS[idx];\n}\n\nfunction boxed(text: string, width = 70): string {\n const lines = text.split('\\n');\n const top = `${c.gray}\u250C${'\u2500'.repeat(width - 2)}\u2510${c.reset}`;\n const bottom = `${c.gray}\u2514${'\u2500'.repeat(width - 2)}\u2518${c.reset}`;\n const padded = lines.map(l => {\n // Strip ANSI for length calculation\n const plain = l.replace(/\\x1b\\[[0-9;]*m/g, '');\n const pad = Math.max(0, width - 4 - plain.length);\n return `${c.gray}\u2502${c.reset} ${l}${' '.repeat(pad)} ${c.gray}\u2502${c.reset}`;\n });\n return [top, ...padded, bottom].join('\\n');\n}\n\nexport function printBanner(): void {\n // ASCII art title\n const art: string = figlet.textSync('KIROGRAPH', { font: 'ANSI Shadow' });\n\n // Colorize each line of the art in purple/violet gradient\n const artLines = art.split('\\n');\n const colored = artLines.map((line, i) => {\n const color = i < artLines.length / 2 ? c.purple : c.violet;\n return `${color}${line}${c.reset}`;\n }).join('\\n');\n\n console.log('\\n' + colored);\n\n // Subtitle\n console.log(`${c.dim} Semantic code knowledge graph for Kiro \u2014 100% local${c.reset}`);\n console.log(`${c.dim} Inspired by CodeGraph \u2014 original idea by ${c.reset}${c.violet}github.com/colbymchenry${c.reset}\\n`);\n\n // Did you know box\n const label = `${c.gray}\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 ${c.reset}${c.bold}${c.white}Did you know?${c.reset}${c.gray} \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500${c.reset}`;\n console.log(label);\n console.log(boxed(pickTip()));\n console.log();\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,MAAM,SAAS,QAAQ,QAAQ;AAG/B,MAAM,IAAI;AAAA,EACR,OAAQ;AAAA,EACR,MAAQ;AAAA,EACR,KAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,OAAQ;AACV;AAEA,MAAM,OAAO;AAAA,EACX,OAAO,EAAE,IAAI,gCAAgC,EAAE,KAAK;AAAA;AAAA,EACpD,OAAO,EAAE,IAAI,yBAAyB,EAAE,KAAK;AAAA;AAAA,EAC7C,GAAG,EAAE,IAAI,gCAAgC,EAAE,KAAK;AAAA;AAAA,EAChD,GAAG,EAAE,IAAI,mCAAmC,EAAE,KAAK;AAAA;AAAA,EACnD,GAAG,EAAE,IAAI,4BAA4B,EAAE,KAAK;AAAA;AAAA,EAC5C,OAAO,EAAE,IAAI,oBAAoB,EAAE,KAAK;AAAA;AAAA,EACxC,GAAG,EAAE,IAAI,iBAAiB,EAAE,KAAK;AAAA;AAAA,EACjC;AAAA,IAAoC,EAAE,IAAI,oDAAoD,EAAE,KAAK;AACvG;AAEA,SAAS,UAAkB;AAEzB,QAAM,MAAM,KAAK,MAAM,KAAK,IAAI,IAAI,KAAU,IAAI,KAAK;AACvD,SAAO,KAAK,GAAG;AACjB;AAEA,SAAS,MAAM,MAAc,QAAQ,IAAY;AAC/C,QAAM,QAAQ,KAAK,MAAM,IAAI;AAC7B,QAAM,MAAS,GAAG,EAAE,IAAI,SAAI,SAAI,OAAO,QAAQ,CAAC,CAAC,SAAI,EAAE,KAAK;AAC5D,QAAM,SAAS,GAAG,EAAE,IAAI,SAAI,SAAI,OAAO,QAAQ,CAAC,CAAC,SAAI,EAAE,KAAK;AAC5D,QAAM,SAAS,MAAM,IAAI,OAAK;AAE5B,UAAM,QAAQ,EAAE,QAAQ,mBAAmB,EAAE;AAC7C,UAAM,MAAM,KAAK,IAAI,GAAG,QAAQ,IAAI,MAAM,MAAM;AAChD,WAAO,GAAG,EAAE,IAAI,SAAI,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,SAAI,EAAE,KAAK;AAAA,EAC3E,CAAC;AACD,SAAO,CAAC,KAAK,GAAG,QAAQ,MAAM,EAAE,KAAK,IAAI;AAC3C;AAEO,SAAS,cAAoB;AAElC,QAAM,MAAc,OAAO,SAAS,aAAa,EAAE,MAAM,cAAc,CAAC;AAGxE,QAAM,WAAW,IAAI,MAAM,IAAI;AAC/B,QAAM,UAAU,SAAS,IAAI,CAAC,MAAM,MAAM;AACxC,UAAM,QAAQ,IAAI,SAAS,SAAS,IAAI,EAAE,SAAS,EAAE;AACrD,WAAO,GAAG,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK;AAAA,EAClC,CAAC,EAAE,KAAK,IAAI;AAEZ,UAAQ,IAAI,OAAO,OAAO;AAG1B,UAAQ,IAAI,GAAG,EAAE,GAAG,6DAAwD,EAAE,KAAK,EAAE;AACrF,UAAQ,IAAI,GAAG,EAAE,GAAG,mDAA8C,EAAE,KAAK,GAAG,EAAE,MAAM,0BAA0B,EAAE,KAAK;AAAA,CAAI;AAGzH,QAAM,QAAQ,GAAG,EAAE,IAAI,8IAA2B,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,gBAAgB,EAAE,KAAK,GAAG,EAAE,IAAI,8IAA2B,EAAE,KAAK;AAC9I,UAAQ,IAAI,KAAK;AACjB,UAAQ,IAAI,MAAM,QAAQ,CAAC,CAAC;AAC5B,UAAQ,IAAI;AACd;",
4
+ "sourcesContent": ["/**\n * KiroGraph CLI Banner\n * Displays the KIROGRAPH ASCII art header and a rotating \"Did you know?\" tip.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst figlet = require('figlet');\n\n// ANSI color helpers (no external deps)\nconst c = {\n reset: '\\x1b[0m',\n bold: '\\x1b[1m',\n dim: '\\x1b[2m',\n purple: '\\x1b[38;5;135m',\n violet: '\\x1b[38;5;99m',\n cyan: '\\x1b[38;5;117m',\n gray: '\\x1b[90m',\n white: '\\x1b[97m',\n};\n\nconst TIPS = [\n // Core graph\n `Run ${c.cyan}kirograph context \"your task\"${c.reset} to get relevant code\\n in one shot \u2014 no file scanning needed.`,\n `Use ${c.cyan}kirograph query <name>${c.reset} instead of grep.\\n It searches the symbol index instantly.`,\n `${c.cyan}kirograph affected src/foo.ts${c.reset} finds every test file\\n that depends on a changed file \u2014 great for CI.`,\n `${c.cyan}kirograph files --format grouped${c.reset} shows your project\\n structure grouped by language from the index.`,\n `${c.cyan}kirograph path LoginController DatabasePool${c.reset}\\n finds the shortest connection between any two symbols.`,\n `${c.cyan}kirograph hotspots${c.reset} ranks symbols by edge degree \u2014\\n the top results are the riskiest to change.`,\n `${c.cyan}kirograph surprising${c.reset} surfaces hidden cross-module coupling\\n you didn't know existed.`,\n `${c.cyan}kirograph dead-code${c.reset} lists unexported symbols with zero\\n incoming references \u2014 safe candidates for deletion.`,\n `${c.cyan}kirograph snapshot save pre-refactor${c.reset} then\\n ${c.cyan}kirograph snapshot diff pre-refactor${c.reset} after \u2014 structural changelog.`,\n `Pipe git diff into kirograph:\\n ${c.cyan}git diff --name-only | kirograph affected --stdin${c.reset}`,\n // Indexing\n `${c.cyan}kirograph sync${c.reset} is incremental \u2014 it only re-parses\\n files whose content has changed since last index.`,\n `${c.cyan}kirograph sync-if-dirty${c.reset} is safe to call on every agent stop \u2014\\n it's a no-op when nothing changed.`,\n `Run ${c.cyan}kirograph install${c.reset} once per workspace to wire up\\n MCP, auto-sync hooks, and steering automatically.`,\n // Architecture\n `${c.cyan}kirograph coupling --sort instability${c.reset} shows which packages\\n are most volatile and risky to depend on.`,\n `${c.cyan}kirograph architecture${c.reset} detects packages and layers (api/service/\\n data/ui/shared) without any config \u2014 just enable it.`,\n `${c.cyan}kirograph package src/auth${c.reset} shows incoming dependents,\\n outgoing deps, and files in one call.`,\n // Security\n `${c.cyan}kirograph security${c.reset} gives an instant vulnerability overview \u2014\\n dep count, CVEs, verdict breakdown, stale warnings.`,\n `${c.cyan}kirograph vulns --verdict affected${c.reset} filters to only CVEs\\n with a confirmed reachable call path from your entry points.`,\n `${c.cyan}kirograph vulns --epss 0.5${c.reset} shows only vulnerabilities\\n with >= 50% exploitation probability \u2014 EPSS beats CVSS for triage.`,\n `${c.cyan}kirograph reachability CVE-2024-1234${c.reset} shows the exact\\n call path from your entry points to the vulnerable dependency.`,\n `${c.cyan}kirograph licenses --policy${c.reset} flags dependencies that violate\\n your configured SPDX license policy (deny/warn lists).`,\n `${c.cyan}kirograph staleness --threshold 0.7${c.reset} identifies dependencies\\n that are significantly behind their latest published version.`,\n `${c.cyan}kirograph sbom --output sbom.json${c.reset} exports a CycloneDX 1.5\\n SBOM \u2014 parent directory is created automatically if missing.`,\n `${c.cyan}kirograph vex --output vex.json${c.reset} exports a VEX document\\n with reachability-derived analysis states for each CVE.`,\n // Memory\n `${c.cyan}kirograph mem search \"auth decision\"${c.reset} recalls past observations\\n using hybrid FTS + vector search across all sessions.`,\n `${c.cyan}kirograph mem store \"...\" --kind decision${c.reset} saves an observation\\n linked to relevant code symbols automatically.`,\n `${c.cyan}kirograph mem timeline${c.reset} shows recent sessions and what\\n the agent observed \u2014 great for onboarding after a break.`,\n // Docs & Data\n `${c.cyan}kirograph docs search \"authentication\"${c.reset} searches indexed\\n documentation sections \u2014 faster than reading full files.`,\n `${c.cyan}kirograph data describe orders${c.reset} gives full schema profile\\n without loading a single data row into context.`,\n `${c.cyan}kirograph data aggregate orders --group-by region --metric sum:amount${c.reset}\\n runs GROUP BY server-side \u2014 only results enter context.`,\n // Export & token tools\n `${c.cyan}kirograph export start${c.reset} opens an interactive graph dashboard\\n in your browser \u2014 search, path-find, cluster, heat map.`,\n `${c.cyan}kirograph exec \"npm test\"${c.reset} compresses test output by 80-90% \u2014\\n you get pass/fail and errors, not thousands of lines of noise.`,\n `${c.cyan}kirograph gain --graph${c.reset} shows your cumulative token savings\\n from graph tools and shell compression over time.`,\n // Workflow files\n `Type ${c.cyan}/kirograph-security${c.reset} in Kiro to activate a step-by-step\\n security audit workflow with CVE triage and EPSS guidance.`,\n `Type ${c.cyan}/kirograph-review${c.reset} in Kiro for a structured code review:\\n blast radius, test coverage, surprising coupling.`,\n `Type ${c.cyan}/kirograph-refactor${c.reset} in Kiro before any major refactor \u2014\\n it guides you through blast radius, rename preview, and diff verify.`,\n `Type ${c.cyan}/kirograph-debug${c.reset} in Kiro to trace a bug systematically:\\n callers, callees, recent diff, root cause analysis.`,\n `Type ${c.cyan}/kirograph-architecture${c.reset} in Kiro for a full architecture\\n exploration: packages, layers, coupling, hidden cycles.`,\n];\n\nfunction pickTip(): string {\n // Rotate daily so it feels fresh but is deterministic\n const idx = Math.floor(Date.now() / 86_400_000) % TIPS.length;\n return TIPS[idx];\n}\n\nfunction boxed(text: string, width = 70): string {\n const lines = text.split('\\n');\n const top = `${c.gray}\u250C${'\u2500'.repeat(width - 2)}\u2510${c.reset}`;\n const bottom = `${c.gray}\u2514${'\u2500'.repeat(width - 2)}\u2518${c.reset}`;\n const padded = lines.map(l => {\n // Strip ANSI for length calculation\n const plain = l.replace(/\\x1b\\[[0-9;]*m/g, '');\n const pad = Math.max(0, width - 4 - plain.length);\n return `${c.gray}\u2502${c.reset} ${l}${' '.repeat(pad)} ${c.gray}\u2502${c.reset}`;\n });\n return [top, ...padded, bottom].join('\\n');\n}\n\nexport function printBanner(): void {\n // ASCII art title\n const art: string = figlet.textSync('KIROGRAPH', { font: 'ANSI Shadow' });\n\n // Colorize each line of the art in purple/violet gradient\n const artLines = art.split('\\n');\n const colored = artLines.map((line, i) => {\n const color = i < artLines.length / 2 ? c.purple : c.violet;\n return `${color}${line}${c.reset}`;\n }).join('\\n');\n\n console.log('\\n' + colored);\n\n // Subtitle\n console.log(`${c.dim} Semantic code knowledge graph for Kiro \u2014 100% local${c.reset}`);\n console.log(`${c.dim} Inspired by CodeGraph \u2014 original idea by ${c.reset}${c.violet}github.com/colbymchenry${c.reset}\\n`);\n\n // Did you know box\n const label = `${c.gray}\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 ${c.reset}${c.bold}${c.white}Did you know?${c.reset}${c.gray} \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500${c.reset}`;\n console.log(label);\n console.log(boxed(pickTip()));\n console.log();\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,MAAM,SAAS,QAAQ,QAAQ;AAG/B,MAAM,IAAI;AAAA,EACR,OAAQ;AAAA,EACR,MAAQ;AAAA,EACR,KAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,OAAQ;AACV;AAEA,MAAM,OAAO;AAAA;AAAA,EAEX,OAAO,EAAE,IAAI,gCAAgC,EAAE,KAAK;AAAA;AAAA,EACpD,OAAO,EAAE,IAAI,yBAAyB,EAAE,KAAK;AAAA;AAAA,EAC7C,GAAG,EAAE,IAAI,gCAAgC,EAAE,KAAK;AAAA;AAAA,EAChD,GAAG,EAAE,IAAI,mCAAmC,EAAE,KAAK;AAAA;AAAA,EACnD,GAAG,EAAE,IAAI,8CAA8C,EAAE,KAAK;AAAA;AAAA,EAC9D,GAAG,EAAE,IAAI,qBAAqB,EAAE,KAAK;AAAA;AAAA,EACrC,GAAG,EAAE,IAAI,uBAAuB,EAAE,KAAK;AAAA;AAAA,EACvC,GAAG,EAAE,IAAI,sBAAsB,EAAE,KAAK;AAAA;AAAA,EACtC,GAAG,EAAE,IAAI,uCAAuC,EAAE,KAAK;AAAA,IAAY,EAAE,IAAI,uCAAuC,EAAE,KAAK;AAAA,EACvH;AAAA,IAAoC,EAAE,IAAI,oDAAoD,EAAE,KAAK;AAAA;AAAA,EAErG,GAAG,EAAE,IAAI,iBAAiB,EAAE,KAAK;AAAA;AAAA,EACjC,GAAG,EAAE,IAAI,0BAA0B,EAAE,KAAK;AAAA;AAAA,EAC1C,OAAO,EAAE,IAAI,oBAAoB,EAAE,KAAK;AAAA;AAAA;AAAA,EAExC,GAAG,EAAE,IAAI,wCAAwC,EAAE,KAAK;AAAA;AAAA,EACxD,GAAG,EAAE,IAAI,yBAAyB,EAAE,KAAK;AAAA;AAAA,EACzC,GAAG,EAAE,IAAI,6BAA6B,EAAE,KAAK;AAAA;AAAA;AAAA,EAE7C,GAAG,EAAE,IAAI,qBAAqB,EAAE,KAAK;AAAA;AAAA,EACrC,GAAG,EAAE,IAAI,qCAAqC,EAAE,KAAK;AAAA;AAAA,EACrD,GAAG,EAAE,IAAI,6BAA6B,EAAE,KAAK;AAAA;AAAA,EAC7C,GAAG,EAAE,IAAI,uCAAuC,EAAE,KAAK;AAAA;AAAA,EACvD,GAAG,EAAE,IAAI,8BAA8B,EAAE,KAAK;AAAA;AAAA,EAC9C,GAAG,EAAE,IAAI,sCAAsC,EAAE,KAAK;AAAA;AAAA,EACtD,GAAG,EAAE,IAAI,oCAAoC,EAAE,KAAK;AAAA;AAAA,EACpD,GAAG,EAAE,IAAI,kCAAkC,EAAE,KAAK;AAAA;AAAA;AAAA,EAElD,GAAG,EAAE,IAAI,uCAAuC,EAAE,KAAK;AAAA;AAAA,EACvD,GAAG,EAAE,IAAI,4CAA4C,EAAE,KAAK;AAAA;AAAA,EAC5D,GAAG,EAAE,IAAI,yBAAyB,EAAE,KAAK;AAAA;AAAA;AAAA,EAEzC,GAAG,EAAE,IAAI,yCAAyC,EAAE,KAAK;AAAA;AAAA,EACzD,GAAG,EAAE,IAAI,iCAAiC,EAAE,KAAK;AAAA;AAAA,EACjD,GAAG,EAAE,IAAI,wEAAwE,EAAE,KAAK;AAAA;AAAA;AAAA,EAExF,GAAG,EAAE,IAAI,yBAAyB,EAAE,KAAK;AAAA;AAAA,EACzC,GAAG,EAAE,IAAI,4BAA4B,EAAE,KAAK;AAAA;AAAA,EAC5C,GAAG,EAAE,IAAI,yBAAyB,EAAE,KAAK;AAAA;AAAA;AAAA,EAEzC,QAAQ,EAAE,IAAI,sBAAsB,EAAE,KAAK;AAAA;AAAA,EAC3C,QAAQ,EAAE,IAAI,oBAAoB,EAAE,KAAK;AAAA;AAAA,EACzC,QAAQ,EAAE,IAAI,sBAAsB,EAAE,KAAK;AAAA;AAAA,EAC3C,QAAQ,EAAE,IAAI,mBAAmB,EAAE,KAAK;AAAA;AAAA,EACxC,QAAQ,EAAE,IAAI,0BAA0B,EAAE,KAAK;AAAA;AACjD;AAEA,SAAS,UAAkB;AAEzB,QAAM,MAAM,KAAK,MAAM,KAAK,IAAI,IAAI,KAAU,IAAI,KAAK;AACvD,SAAO,KAAK,GAAG;AACjB;AAEA,SAAS,MAAM,MAAc,QAAQ,IAAY;AAC/C,QAAM,QAAQ,KAAK,MAAM,IAAI;AAC7B,QAAM,MAAS,GAAG,EAAE,IAAI,SAAI,SAAI,OAAO,QAAQ,CAAC,CAAC,SAAI,EAAE,KAAK;AAC5D,QAAM,SAAS,GAAG,EAAE,IAAI,SAAI,SAAI,OAAO,QAAQ,CAAC,CAAC,SAAI,EAAE,KAAK;AAC5D,QAAM,SAAS,MAAM,IAAI,OAAK;AAE5B,UAAM,QAAQ,EAAE,QAAQ,mBAAmB,EAAE;AAC7C,UAAM,MAAM,KAAK,IAAI,GAAG,QAAQ,IAAI,MAAM,MAAM;AAChD,WAAO,GAAG,EAAE,IAAI,SAAI,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,SAAI,EAAE,KAAK;AAAA,EAC3E,CAAC;AACD,SAAO,CAAC,KAAK,GAAG,QAAQ,MAAM,EAAE,KAAK,IAAI;AAC3C;AAEO,SAAS,cAAoB;AAElC,QAAM,MAAc,OAAO,SAAS,aAAa,EAAE,MAAM,cAAc,CAAC;AAGxE,QAAM,WAAW,IAAI,MAAM,IAAI;AAC/B,QAAM,UAAU,SAAS,IAAI,CAAC,MAAM,MAAM;AACxC,UAAM,QAAQ,IAAI,SAAS,SAAS,IAAI,EAAE,SAAS,EAAE;AACrD,WAAO,GAAG,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK;AAAA,EAClC,CAAC,EAAE,KAAK,IAAI;AAEZ,UAAQ,IAAI,OAAO,OAAO;AAG1B,UAAQ,IAAI,GAAG,EAAE,GAAG,6DAAwD,EAAE,KAAK,EAAE;AACrF,UAAQ,IAAI,GAAG,EAAE,GAAG,mDAA8C,EAAE,KAAK,GAAG,EAAE,MAAM,0BAA0B,EAAE,KAAK;AAAA,CAAI;AAGzH,QAAM,QAAQ,GAAG,EAAE,IAAI,8IAA2B,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,gBAAgB,EAAE,KAAK,GAAG,EAAE,IAAI,8IAA2B,EAAE,KAAK;AAC9I,UAAQ,IAAI,KAAK;AACjB,UAAQ,IAAI,MAAM,QAAQ,CAAC,CAAC;AAC5B,UAAQ,IAAI;AACd;",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"affected.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/affected.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkD/C"}
1
+ {"version":3,"file":"affected.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/affected.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+F/C"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function register(program: Command): void;
3
+ //# sourceMappingURL=attack-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attack-surface.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/attack-surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuG/C"}