kuzushi 0.17.1 → 0.19.3

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 (944) hide show
  1. package/README.md +126 -15
  2. package/dist/agent-runtime/claude.d.ts +44 -3
  3. package/dist/agent-runtime/claude.js +352 -1
  4. package/dist/agent-runtime/claude.js.map +1 -1
  5. package/dist/agent-runtime/context-compactor.d.ts +70 -0
  6. package/dist/agent-runtime/context-compactor.js +67 -0
  7. package/dist/agent-runtime/context-compactor.js.map +1 -0
  8. package/dist/agent-runtime/execution.d.ts +15 -1
  9. package/dist/agent-runtime/execution.js +3 -0
  10. package/dist/agent-runtime/execution.js.map +1 -1
  11. package/dist/agent-runtime/index.js +11 -6
  12. package/dist/agent-runtime/index.js.map +1 -1
  13. package/dist/agent-runtime/logging-runtime.d.ts +3 -8
  14. package/dist/agent-runtime/logging-runtime.js +34 -26
  15. package/dist/agent-runtime/logging-runtime.js.map +1 -1
  16. package/dist/agent-runtime/pi-ai.d.ts +4 -3
  17. package/dist/agent-runtime/pi-ai.js +718 -338
  18. package/dist/agent-runtime/pi-ai.js.map +1 -1
  19. package/dist/agent-runtime/sdk-hooks.d.ts +15 -0
  20. package/dist/agent-runtime/sdk-hooks.js +54 -0
  21. package/dist/agent-runtime/sdk-hooks.js.map +1 -0
  22. package/dist/agent-runtime/tool-input-normalizer.d.ts +18 -0
  23. package/dist/agent-runtime/tool-input-normalizer.js +85 -0
  24. package/dist/agent-runtime/tool-input-normalizer.js.map +1 -0
  25. package/dist/agent-runtime/tool-summary.d.ts +24 -0
  26. package/dist/agent-runtime/tool-summary.js +280 -0
  27. package/dist/agent-runtime/tool-summary.js.map +1 -0
  28. package/dist/agent-runtime/tools.js +29 -8
  29. package/dist/agent-runtime/tools.js.map +1 -1
  30. package/dist/agent-runtime/types.d.ts +61 -1
  31. package/dist/agents/index.d.ts +18 -2
  32. package/dist/agents/index.js +48 -173
  33. package/dist/agents/index.js.map +1 -1
  34. package/dist/agents/registry.d.ts +9 -8
  35. package/dist/agents/registry.js +15 -22
  36. package/dist/agents/registry.js.map +1 -1
  37. package/dist/agents/tasks/app-model-build.js +4 -0
  38. package/dist/agents/tasks/app-model-build.js.map +1 -1
  39. package/dist/agents/tasks/approval-gate.d.ts +1 -1
  40. package/dist/agents/tasks/call-graph-assist.js.map +1 -1
  41. package/dist/agents/tasks/chain-analysis.js +6 -5
  42. package/dist/agents/tasks/chain-analysis.js.map +1 -1
  43. package/dist/agents/tasks/code-graph/store.js +74 -7
  44. package/dist/agents/tasks/code-graph/store.js.map +1 -1
  45. package/dist/agents/tasks/context-enricher.js +15 -1
  46. package/dist/agents/tasks/context-enricher.js.map +1 -1
  47. package/dist/agents/tasks/context-gatherer.d.ts +52 -1
  48. package/dist/agents/tasks/context-gatherer.js +171 -16
  49. package/dist/agents/tasks/context-gatherer.js.map +1 -1
  50. package/dist/agents/tasks/diff-review.js +1 -9
  51. package/dist/agents/tasks/diff-review.js.map +1 -1
  52. package/dist/agents/tasks/forward-subagent-output.d.ts +35 -0
  53. package/dist/agents/tasks/forward-subagent-output.js +161 -0
  54. package/dist/agents/tasks/forward-subagent-output.js.map +1 -0
  55. package/dist/agents/tasks/plugin-finding-scanner.d.ts +7 -0
  56. package/dist/agents/tasks/plugin-finding-scanner.js +5 -0
  57. package/dist/agents/tasks/plugin-finding-scanner.js.map +1 -1
  58. package/dist/agents/tasks/taint-analysis/cross-service/analyze.js +16 -5
  59. package/dist/agents/tasks/taint-analysis/cross-service/analyze.js.map +1 -1
  60. package/dist/agents/tasks/taint-analysis/cross-service/boundary-agent.js +3 -17
  61. package/dist/agents/tasks/taint-analysis/cross-service/boundary-agent.js.map +1 -1
  62. package/dist/agents/tasks/taint-analysis/cross-service/discover.js +4 -1
  63. package/dist/agents/tasks/taint-analysis/cross-service/discover.js.map +1 -1
  64. package/dist/agents/tasks/taint-analysis/cross-service/stitch.js +2 -12
  65. package/dist/agents/tasks/taint-analysis/cross-service/stitch.js.map +1 -1
  66. package/dist/agents/tasks/taint-analysis/extraction-agent.js +1 -5
  67. package/dist/agents/tasks/taint-analysis/extraction-agent.js.map +1 -1
  68. package/dist/agents/tasks/taint-analysis/label.js +4 -16
  69. package/dist/agents/tasks/taint-analysis/label.js.map +1 -1
  70. package/dist/agents/tasks/threat-modeling/config.d.ts +5 -0
  71. package/dist/agents/tasks/threat-modeling/config.js +71 -0
  72. package/dist/agents/tasks/threat-modeling/config.js.map +1 -0
  73. package/dist/agents/tasks/threat-modeling/randori-runner.d.ts +45 -1
  74. package/dist/agents/tasks/threat-modeling/randori-runner.js +261 -93
  75. package/dist/agents/tasks/threat-modeling/randori-runner.js.map +1 -1
  76. package/dist/agents/tasks/threat-modeling/randori.d.ts +1 -1
  77. package/dist/agents/tasks/threat-modeling/randori.js +15 -1
  78. package/dist/agents/tasks/threat-modeling/randori.js.map +1 -1
  79. package/dist/agents/tasks/threat-modeling/types.d.ts +12 -3
  80. package/dist/agents/tasks/threat-modeling/types.js +2 -52
  81. package/dist/agents/tasks/threat-modeling/types.js.map +1 -1
  82. package/dist/agents/tasks/threat-scenario-build.js +1 -0
  83. package/dist/agents/tasks/threat-scenario-build.js.map +1 -1
  84. package/dist/agents/types.d.ts +17 -4
  85. package/dist/attack-surface-dfd.d.ts +70 -0
  86. package/dist/attack-surface-dfd.js +297 -0
  87. package/dist/attack-surface-dfd.js.map +1 -0
  88. package/dist/bus/activity.d.ts +55 -0
  89. package/dist/bus/activity.js +109 -0
  90. package/dist/bus/activity.js.map +1 -0
  91. package/dist/bus/adapters/in-process.d.ts +2 -2
  92. package/dist/bus/adapters/in-process.js.map +1 -1
  93. package/dist/bus/events.d.ts +109 -38
  94. package/dist/bus/helpers.d.ts +10 -1
  95. package/dist/bus/helpers.js.map +1 -1
  96. package/dist/bus/index.js +5 -1
  97. package/dist/bus/index.js.map +1 -1
  98. package/dist/bus/module-events.d.ts +66 -0
  99. package/dist/bus/module-events.js +106 -0
  100. package/dist/bus/module-events.js.map +1 -0
  101. package/dist/bus/orchestrator/cheap-verify.d.ts +1 -0
  102. package/dist/bus/orchestrator/cheap-verify.js +1 -1
  103. package/dist/bus/orchestrator/cheap-verify.js.map +1 -1
  104. package/dist/bus/orchestrator/patch-dispatcher.js.map +1 -1
  105. package/dist/bus/orchestrator/triage-dispatcher.js +7 -0
  106. package/dist/bus/orchestrator/triage-dispatcher.js.map +1 -1
  107. package/dist/bus/orchestrator/verification-dispatcher.js +5 -0
  108. package/dist/bus/orchestrator/verification-dispatcher.js.map +1 -1
  109. package/dist/bus/orchestrator.d.ts +13 -1
  110. package/dist/bus/orchestrator.js +94 -77
  111. package/dist/bus/orchestrator.js.map +1 -1
  112. package/dist/bus/run-abort.d.ts +8 -0
  113. package/dist/bus/run-abort.js +26 -0
  114. package/dist/bus/run-abort.js.map +1 -0
  115. package/dist/bus/run-context.d.ts +7 -1
  116. package/dist/bus/run-context.js +0 -6
  117. package/dist/bus/run-context.js.map +1 -1
  118. package/dist/bus/run-signals.d.ts +29 -0
  119. package/dist/bus/run-signals.js +39 -0
  120. package/dist/bus/run-signals.js.map +1 -0
  121. package/dist/bus/runtime-forwarding.d.ts +33 -0
  122. package/dist/bus/runtime-forwarding.js +219 -0
  123. package/dist/bus/runtime-forwarding.js.map +1 -0
  124. package/dist/bus/task-findings.d.ts +12 -0
  125. package/dist/bus/{task-execution.js → task-findings.js} +11 -28
  126. package/dist/bus/task-findings.js.map +1 -0
  127. package/dist/bus/types.d.ts +7 -1
  128. package/dist/bus/workers/audit-worker.d.ts +9 -0
  129. package/dist/bus/workers/audit-worker.js +38 -0
  130. package/dist/bus/workers/audit-worker.js.map +1 -1
  131. package/dist/bus/workers/dynamic-analysis-worker.js.map +1 -1
  132. package/dist/bus/workers/patch-verify-worker.js +6 -2
  133. package/dist/bus/workers/patch-verify-worker.js.map +1 -1
  134. package/dist/bus/workers/poc-harness-worker.js.map +1 -1
  135. package/dist/bus/workers/report-worker.js +171 -18
  136. package/dist/bus/workers/report-worker.js.map +1 -1
  137. package/dist/bus/workers/scan-worker.js +34 -5
  138. package/dist/bus/workers/scan-worker.js.map +1 -1
  139. package/dist/bus/workers/store-worker.js +19 -6
  140. package/dist/bus/workers/store-worker.js.map +1 -1
  141. package/dist/bus/workers/taint-analysis-refinement-worker.js +4 -3
  142. package/dist/bus/workers/taint-analysis-refinement-worker.js.map +1 -1
  143. package/dist/cli/commands/monorepo-scan.js +1 -1
  144. package/dist/cli/commands/monorepo-scan.js.map +1 -1
  145. package/dist/cli/commands/scan-pipeline.d.ts +54 -0
  146. package/dist/cli/commands/scan-pipeline.js +457 -0
  147. package/dist/cli/commands/scan-pipeline.js.map +1 -0
  148. package/dist/cli/commands/scan.d.ts +2 -49
  149. package/dist/cli/commands/scan.js +70 -462
  150. package/dist/cli/commands/scan.js.map +1 -1
  151. package/dist/cli/create-module.d.ts +21 -8
  152. package/dist/cli/create-module.js +142 -52
  153. package/dist/cli/create-module.js.map +1 -1
  154. package/dist/cli/preflight.js +45 -10
  155. package/dist/cli/preflight.js.map +1 -1
  156. package/dist/cli/scan-config.d.ts +5 -1
  157. package/dist/cli/scan-config.js +7 -7
  158. package/dist/cli/scan-config.js.map +1 -1
  159. package/dist/cli/shared.d.ts +13 -0
  160. package/dist/cli/shared.js +31 -3
  161. package/dist/cli/shared.js.map +1 -1
  162. package/dist/cli.js +178 -115
  163. package/dist/cli.js.map +1 -1
  164. package/dist/config/defaults.js +1 -3
  165. package/dist/config/defaults.js.map +1 -1
  166. package/dist/config/docs.js +6 -12
  167. package/dist/config/docs.js.map +1 -1
  168. package/dist/config/validation.js +0 -8
  169. package/dist/config/validation.js.map +1 -1
  170. package/dist/config.d.ts +72 -1
  171. package/dist/config.js +394 -442
  172. package/dist/config.js.map +1 -1
  173. package/dist/contracts.d.ts +53 -0
  174. package/dist/contracts.js +78 -0
  175. package/dist/contracts.js.map +1 -0
  176. package/dist/copilot/context-build-runner.d.ts +18 -0
  177. package/dist/copilot/context-build-runner.js +498 -0
  178. package/dist/copilot/context-build-runner.js.map +1 -0
  179. package/dist/copilot/core.d.ts +41 -2
  180. package/dist/copilot/core.js +343 -89
  181. package/dist/copilot/core.js.map +1 -1
  182. package/dist/copilot/diff-scope.d.ts +39 -0
  183. package/dist/copilot/diff-scope.js +65 -0
  184. package/dist/copilot/diff-scope.js.map +1 -0
  185. package/dist/copilot/dispatch/resolve-tool.d.ts +91 -0
  186. package/dist/copilot/dispatch/resolve-tool.js +120 -0
  187. package/dist/copilot/dispatch/resolve-tool.js.map +1 -0
  188. package/dist/copilot/dispatcher/core-dispatcher.d.ts +176 -0
  189. package/dist/copilot/dispatcher/core-dispatcher.js +1210 -0
  190. package/dist/copilot/dispatcher/core-dispatcher.js.map +1 -0
  191. package/dist/copilot/dispatcher/driver.d.ts +107 -0
  192. package/dist/copilot/dispatcher/driver.js +533 -0
  193. package/dist/copilot/dispatcher/driver.js.map +1 -0
  194. package/dist/copilot/dispatcher/index.d.ts +5 -0
  195. package/dist/copilot/dispatcher/index.js +5 -0
  196. package/dist/copilot/dispatcher/index.js.map +1 -0
  197. package/dist/copilot/dispatcher/module-dispatcher.d.ts +65 -0
  198. package/dist/copilot/dispatcher/module-dispatcher.js +392 -0
  199. package/dist/copilot/dispatcher/module-dispatcher.js.map +1 -0
  200. package/dist/copilot/dispatcher/session-repl.d.ts +21 -0
  201. package/dist/copilot/dispatcher/session-repl.js +61 -0
  202. package/dist/copilot/dispatcher/session-repl.js.map +1 -0
  203. package/dist/copilot/dispatcher/types.d.ts +105 -0
  204. package/dist/copilot/dispatcher/types.js +15 -0
  205. package/dist/copilot/dispatcher/types.js.map +1 -0
  206. package/dist/copilot/dispatcher/workspace-dispatcher.d.ts +36 -0
  207. package/dist/copilot/dispatcher/workspace-dispatcher.js +535 -0
  208. package/dist/copilot/dispatcher/workspace-dispatcher.js.map +1 -0
  209. package/dist/copilot/editor.d.ts +22 -0
  210. package/dist/copilot/editor.js +41 -0
  211. package/dist/copilot/editor.js.map +1 -0
  212. package/dist/copilot/finding-alias.d.ts +55 -0
  213. package/dist/copilot/finding-alias.js +157 -0
  214. package/dist/copilot/finding-alias.js.map +1 -0
  215. package/dist/copilot/local-analytics.d.ts +17 -0
  216. package/dist/copilot/local-analytics.js +34 -0
  217. package/dist/copilot/local-analytics.js.map +1 -0
  218. package/dist/copilot/mock-tui/index.d.ts +76 -0
  219. package/dist/copilot/mock-tui/index.js +101 -0
  220. package/dist/copilot/mock-tui/index.js.map +1 -0
  221. package/dist/copilot/mock-tui/scenarios/actor-detail.d.ts +1 -0
  222. package/dist/copilot/mock-tui/scenarios/actor-detail.js +22 -0
  223. package/dist/copilot/mock-tui/scenarios/actor-detail.js.map +1 -0
  224. package/dist/copilot/mock-tui/scenarios/catalog.d.ts +1 -0
  225. package/dist/copilot/mock-tui/scenarios/catalog.js +19 -0
  226. package/dist/copilot/mock-tui/scenarios/catalog.js.map +1 -0
  227. package/dist/copilot/mock-tui/scenarios/finding.d.ts +1 -0
  228. package/dist/copilot/mock-tui/scenarios/finding.js +22 -0
  229. package/dist/copilot/mock-tui/scenarios/finding.js.map +1 -0
  230. package/dist/copilot/mock-tui/scenarios/findings-empty.d.ts +1 -0
  231. package/dist/copilot/mock-tui/scenarios/findings-empty.js +20 -0
  232. package/dist/copilot/mock-tui/scenarios/findings-empty.js.map +1 -0
  233. package/dist/copilot/mock-tui/scenarios/findings-many.d.ts +1 -0
  234. package/dist/copilot/mock-tui/scenarios/findings-many.js +21 -0
  235. package/dist/copilot/mock-tui/scenarios/findings-many.js.map +1 -0
  236. package/dist/copilot/mock-tui/scenarios/index.d.ts +21 -0
  237. package/dist/copilot/mock-tui/scenarios/index.js +22 -0
  238. package/dist/copilot/mock-tui/scenarios/index.js.map +1 -0
  239. package/dist/copilot/mock-tui/scenarios/module-run-active.d.ts +1 -0
  240. package/dist/copilot/mock-tui/scenarios/module-run-active.js +74 -0
  241. package/dist/copilot/mock-tui/scenarios/module-run-active.js.map +1 -0
  242. package/dist/copilot/mock-tui/scenarios/module-run-done.d.ts +1 -0
  243. package/dist/copilot/mock-tui/scenarios/module-run-done.js +28 -0
  244. package/dist/copilot/mock-tui/scenarios/module-run-done.js.map +1 -0
  245. package/dist/copilot/mock-tui/scenarios/module-sast.d.ts +1 -0
  246. package/dist/copilot/mock-tui/scenarios/module-sast.js +19 -0
  247. package/dist/copilot/mock-tui/scenarios/module-sast.js.map +1 -0
  248. package/dist/copilot/mock-tui/scenarios/prompts-editor.d.ts +1 -0
  249. package/dist/copilot/mock-tui/scenarios/prompts-editor.js +20 -0
  250. package/dist/copilot/mock-tui/scenarios/prompts-editor.js.map +1 -0
  251. package/dist/copilot/mock-tui/scenarios/task-story.d.ts +1 -0
  252. package/dist/copilot/mock-tui/scenarios/task-story.js +68 -0
  253. package/dist/copilot/mock-tui/scenarios/task-story.js.map +1 -0
  254. package/dist/copilot/mock-tui/scenarios/threats-dfd.d.ts +1 -0
  255. package/dist/copilot/mock-tui/scenarios/threats-dfd.js +20 -0
  256. package/dist/copilot/mock-tui/scenarios/threats-dfd.js.map +1 -0
  257. package/dist/copilot/mock-tui/scenarios/threats-scope.d.ts +1 -0
  258. package/dist/copilot/mock-tui/scenarios/threats-scope.js +20 -0
  259. package/dist/copilot/mock-tui/scenarios/threats-scope.js.map +1 -0
  260. package/dist/copilot/mock-tui/scenarios/threats-stories.d.ts +1 -0
  261. package/dist/copilot/mock-tui/scenarios/threats-stories.js +20 -0
  262. package/dist/copilot/mock-tui/scenarios/threats-stories.js.map +1 -0
  263. package/dist/copilot/mock-tui/scenarios/threats-stride.d.ts +1 -0
  264. package/dist/copilot/mock-tui/scenarios/threats-stride.js +20 -0
  265. package/dist/copilot/mock-tui/scenarios/threats-stride.js.map +1 -0
  266. package/dist/copilot/mock-tui/scenarios/threats-summary.d.ts +1 -0
  267. package/dist/copilot/mock-tui/scenarios/threats-summary.js +20 -0
  268. package/dist/copilot/mock-tui/scenarios/threats-summary.js.map +1 -0
  269. package/dist/copilot/mock-tui/scenarios/tune.d.ts +1 -0
  270. package/dist/copilot/mock-tui/scenarios/tune.js +20 -0
  271. package/dist/copilot/mock-tui/scenarios/tune.js.map +1 -0
  272. package/dist/copilot/mock-tui/slash-commands.d.ts +34 -0
  273. package/dist/copilot/mock-tui/slash-commands.js +140 -0
  274. package/dist/copilot/mock-tui/slash-commands.js.map +1 -0
  275. package/dist/copilot/nl-planner.d.ts +83 -0
  276. package/dist/copilot/nl-planner.js +213 -0
  277. package/dist/copilot/nl-planner.js.map +1 -0
  278. package/dist/copilot/options.d.ts +117 -0
  279. package/dist/copilot/options.js +333 -0
  280. package/dist/copilot/options.js.map +1 -0
  281. package/dist/copilot/print.d.ts +42 -0
  282. package/dist/copilot/print.js +102 -0
  283. package/dist/copilot/print.js.map +1 -0
  284. package/dist/copilot/prompt-edit.d.ts +104 -0
  285. package/dist/copilot/prompt-edit.js +235 -0
  286. package/dist/copilot/prompt-edit.js.map +1 -0
  287. package/dist/copilot/recipes.d.ts +21 -0
  288. package/dist/copilot/recipes.js +96 -0
  289. package/dist/copilot/recipes.js.map +1 -0
  290. package/dist/copilot/repl.d.ts +26 -0
  291. package/dist/copilot/repl.js +46 -0
  292. package/dist/copilot/repl.js.map +1 -0
  293. package/dist/copilot/replay.d.ts +33 -0
  294. package/dist/copilot/replay.js +280 -0
  295. package/dist/copilot/replay.js.map +1 -0
  296. package/dist/copilot/resource.d.ts +56 -0
  297. package/dist/copilot/resource.js +122 -0
  298. package/dist/copilot/resource.js.map +1 -0
  299. package/dist/copilot/run.d.ts +1 -8
  300. package/dist/copilot/run.js +17 -2
  301. package/dist/copilot/run.js.map +1 -1
  302. package/dist/copilot/search.d.ts +46 -0
  303. package/dist/copilot/search.js +188 -0
  304. package/dist/copilot/search.js.map +1 -0
  305. package/dist/copilot/shell-commands.d.ts +34 -0
  306. package/dist/copilot/shell-commands.js +338 -0
  307. package/dist/copilot/shell-commands.js.map +1 -0
  308. package/dist/copilot/shell.d.ts +313 -18
  309. package/dist/copilot/shell.js +5170 -550
  310. package/dist/copilot/shell.js.map +1 -1
  311. package/dist/copilot/spool.d.ts +35 -0
  312. package/dist/copilot/spool.js +81 -0
  313. package/dist/copilot/spool.js.map +1 -0
  314. package/dist/copilot/threat-model-loader.d.ts +33 -0
  315. package/dist/copilot/threat-model-loader.js +75 -0
  316. package/dist/copilot/threat-model-loader.js.map +1 -0
  317. package/dist/copilot/tips.d.ts +10 -0
  318. package/dist/copilot/tips.js +35 -0
  319. package/dist/copilot/tips.js.map +1 -0
  320. package/dist/crypto-behavioral/types.d.ts +2 -1
  321. package/dist/governance/enforcer.d.ts +14 -2
  322. package/dist/governance/enforcer.js +33 -4
  323. package/dist/governance/enforcer.js.map +1 -1
  324. package/dist/http-error-response.d.ts +33 -0
  325. package/dist/http-error-response.js +137 -0
  326. package/dist/http-error-response.js.map +1 -0
  327. package/dist/jobs/manager.d.ts +82 -0
  328. package/dist/jobs/manager.js +150 -0
  329. package/dist/jobs/manager.js.map +1 -0
  330. package/dist/migrations/101_workspace_entities.d.ts +19 -0
  331. package/dist/migrations/101_workspace_entities.js +205 -0
  332. package/dist/migrations/101_workspace_entities.js.map +1 -0
  333. package/dist/migrations/102_session_aliases.d.ts +17 -0
  334. package/dist/migrations/102_session_aliases.js +26 -0
  335. package/dist/migrations/102_session_aliases.js.map +1 -0
  336. package/dist/migrations/103_schedules.d.ts +13 -0
  337. package/dist/migrations/103_schedules.js +28 -0
  338. package/dist/migrations/103_schedules.js.map +1 -0
  339. package/dist/migrations/104_workspace_integrity_guards.d.ts +9 -0
  340. package/dist/migrations/104_workspace_integrity_guards.js +349 -0
  341. package/dist/migrations/104_workspace_integrity_guards.js.map +1 -0
  342. package/dist/migrations/105_finding_actor_fingerprint.d.ts +15 -0
  343. package/dist/migrations/105_finding_actor_fingerprint.js +42 -0
  344. package/dist/migrations/105_finding_actor_fingerprint.js.map +1 -0
  345. package/dist/migrations/index.js +13 -1
  346. package/dist/migrations/index.js.map +1 -1
  347. package/dist/modules/agentic-sast/agentic-sast.d.ts +27 -0
  348. package/dist/modules/agentic-sast/agentic-sast.js +103 -0
  349. package/dist/modules/agentic-sast/agentic-sast.js.map +1 -0
  350. package/dist/modules/cache.d.ts +94 -0
  351. package/dist/modules/cache.js +143 -0
  352. package/dist/modules/cache.js.map +1 -0
  353. package/dist/modules/codeql/codeql.d.ts +10 -0
  354. package/dist/modules/codeql/codeql.js +39 -0
  355. package/dist/modules/codeql/codeql.js.map +1 -0
  356. package/dist/modules/context/context.d.ts +18 -0
  357. package/dist/modules/context/context.js +263 -0
  358. package/dist/modules/context/context.js.map +1 -0
  359. package/dist/modules/core-sast.d.ts +18 -7
  360. package/dist/modules/core-sast.js +55 -871
  361. package/dist/modules/core-sast.js.map +1 -1
  362. package/dist/modules/dag-bridge.d.ts +93 -0
  363. package/dist/modules/dag-bridge.js +245 -0
  364. package/dist/modules/dag-bridge.js.map +1 -0
  365. package/dist/modules/dag-execute.d.ts +15 -0
  366. package/dist/modules/dag-execute.js +32 -0
  367. package/dist/modules/dag-execute.js.map +1 -0
  368. package/dist/modules/define.d.ts +81 -0
  369. package/dist/modules/define.js +77 -0
  370. package/dist/modules/define.js.map +1 -0
  371. package/dist/modules/docs.d.ts +25 -0
  372. package/dist/modules/docs.js +184 -0
  373. package/dist/modules/docs.js.map +1 -0
  374. package/dist/modules/errors.d.ts +24 -0
  375. package/dist/modules/errors.js +28 -0
  376. package/dist/modules/errors.js.map +1 -0
  377. package/dist/modules/findings/findings.d.ts +9 -0
  378. package/dist/modules/findings/findings.js +142 -0
  379. package/dist/modules/findings/findings.js.map +1 -0
  380. package/dist/modules/host-handles.d.ts +188 -0
  381. package/dist/modules/host-handles.js +16 -0
  382. package/dist/modules/host-handles.js.map +1 -0
  383. package/dist/modules/index.d.ts +14 -1
  384. package/dist/modules/index.js +15 -0
  385. package/dist/modules/index.js.map +1 -1
  386. package/dist/modules/input-validation.d.ts +13 -0
  387. package/dist/modules/input-validation.js +283 -0
  388. package/dist/modules/input-validation.js.map +1 -0
  389. package/dist/modules/loader.d.ts +21 -2
  390. package/dist/modules/loader.js +130 -32
  391. package/dist/modules/loader.js.map +1 -1
  392. package/dist/modules/mcp-bridge.d.ts +119 -5
  393. package/dist/modules/mcp-bridge.js +295 -46
  394. package/dist/modules/mcp-bridge.js.map +1 -1
  395. package/dist/modules/n-day-diff-hunter.d.ts +2 -2
  396. package/dist/modules/n-day-diff-hunter.js +36 -1
  397. package/dist/modules/n-day-diff-hunter.js.map +1 -1
  398. package/dist/modules/patch/patch.d.ts +11 -0
  399. package/dist/modules/patch/patch.js +145 -0
  400. package/dist/modules/patch/patch.js.map +1 -0
  401. package/dist/modules/pipeline/pipeline.d.ts +11 -0
  402. package/dist/modules/pipeline/pipeline.js +44 -0
  403. package/dist/modules/pipeline/pipeline.js.map +1 -0
  404. package/dist/modules/problem-details.d.ts +30 -0
  405. package/dist/modules/problem-details.js +28 -0
  406. package/dist/modules/problem-details.js.map +1 -0
  407. package/dist/modules/{core-prompt-armor.d.ts → prompt-armor/prompt-armor.d.ts} +3 -3
  408. package/dist/modules/{core-prompt-armor.js → prompt-armor/prompt-armor.js} +22 -5
  409. package/dist/modules/prompt-armor/prompt-armor.js.map +1 -0
  410. package/dist/modules/{core-randori.d.ts → randori/randori.d.ts} +3 -3
  411. package/dist/modules/{core-randori.js → randori/randori.js} +37 -9
  412. package/dist/modules/randori/randori.js.map +1 -0
  413. package/dist/modules/recon/core-recon.d.ts +16 -0
  414. package/dist/modules/recon/core-recon.js +271 -0
  415. package/dist/modules/recon/core-recon.js.map +1 -0
  416. package/dist/modules/reference.d.ts +5 -0
  417. package/dist/modules/reference.js +2 -0
  418. package/dist/modules/reference.js.map +1 -0
  419. package/dist/modules/registry.d.ts +38 -10
  420. package/dist/modules/registry.js +137 -31
  421. package/dist/modules/registry.js.map +1 -1
  422. package/dist/modules/sast/context-persist.d.ts +14 -0
  423. package/dist/modules/sast/context-persist.js +76 -0
  424. package/dist/modules/sast/context-persist.js.map +1 -0
  425. package/dist/modules/sast/findings-bridge.d.ts +18 -0
  426. package/dist/modules/sast/findings-bridge.js +45 -0
  427. package/dist/modules/sast/findings-bridge.js.map +1 -0
  428. package/dist/modules/sast/pipeline-runner.d.ts +13 -0
  429. package/dist/modules/sast/pipeline-runner.js +130 -0
  430. package/dist/modules/sast/pipeline-runner.js.map +1 -0
  431. package/dist/modules/sast/pipeline-summary.d.ts +8 -0
  432. package/dist/modules/sast/pipeline-summary.js +58 -0
  433. package/dist/modules/sast/pipeline-summary.js.map +1 -0
  434. package/dist/modules/sast/prompts.d.ts +25 -0
  435. package/dist/modules/sast/prompts.js +45 -0
  436. package/dist/modules/sast/prompts.js.map +1 -0
  437. package/dist/modules/sast/schema-fragments.d.ts +12 -0
  438. package/dist/modules/sast/schema-fragments.js +10 -0
  439. package/dist/modules/sast/schema-fragments.js.map +1 -0
  440. package/dist/modules/sast/shared.d.ts +56 -0
  441. package/dist/modules/sast/shared.js +415 -0
  442. package/dist/modules/sast/shared.js.map +1 -0
  443. package/dist/modules/scanner-adapter.d.ts +34 -0
  444. package/dist/modules/scanner-adapter.js +70 -0
  445. package/dist/modules/scanner-adapter.js.map +1 -0
  446. package/dist/modules/schema.d.ts +59 -0
  447. package/dist/modules/schema.js +72 -0
  448. package/dist/modules/schema.js.map +1 -0
  449. package/dist/modules/semgrep/semgrep.d.ts +17 -0
  450. package/dist/modules/semgrep/semgrep.js +46 -0
  451. package/dist/modules/semgrep/semgrep.js.map +1 -0
  452. package/dist/modules/{core-shinsa.d.ts → shinsa/shinsa.d.ts} +3 -3
  453. package/dist/modules/{core-shinsa.js → shinsa/shinsa.js} +10 -5
  454. package/dist/modules/shinsa/shinsa.js.map +1 -0
  455. package/dist/modules/systems-hunt/systems-hunt.d.ts +19 -0
  456. package/dist/modules/systems-hunt/systems-hunt.js +57 -0
  457. package/dist/modules/systems-hunt/systems-hunt.js.map +1 -0
  458. package/dist/modules/taint-iris/taint-iris.d.ts +20 -0
  459. package/dist/modules/taint-iris/taint-iris.js +83 -0
  460. package/dist/modules/taint-iris/taint-iris.js.map +1 -0
  461. package/dist/modules/threat-hunt/selectors.d.ts +35 -0
  462. package/dist/modules/threat-hunt/selectors.js +61 -0
  463. package/dist/modules/threat-hunt/selectors.js.map +1 -0
  464. package/dist/modules/threat-hunt/threat-hunt.d.ts +57 -0
  465. package/dist/modules/threat-hunt/threat-hunt.js +530 -0
  466. package/dist/modules/threat-hunt/threat-hunt.js.map +1 -0
  467. package/dist/modules/{core-tob.d.ts → tob/tob.d.ts} +4 -4
  468. package/dist/modules/{core-tob.js → tob/tob.js} +27 -7
  469. package/dist/modules/tob/tob.js.map +1 -0
  470. package/dist/modules/triage/triage.d.ts +10 -0
  471. package/dist/modules/triage/triage.js +162 -0
  472. package/dist/modules/triage/triage.js.map +1 -0
  473. package/dist/modules/types.d.ts +419 -8
  474. package/dist/modules/types.js +31 -1
  475. package/dist/modules/types.js.map +1 -1
  476. package/dist/modules/variant-hunter.d.ts +2 -2
  477. package/dist/modules/variant-hunter.js +25 -1
  478. package/dist/modules/variant-hunter.js.map +1 -1
  479. package/dist/modules/verify/verify.d.ts +13 -0
  480. package/dist/modules/verify/verify.js +127 -0
  481. package/dist/modules/verify/verify.js.map +1 -0
  482. package/dist/modules/{core-vuln-scout.d.ts → vuln-scout/vuln-scout.d.ts} +4 -4
  483. package/dist/modules/{core-vuln-scout.js → vuln-scout/vuln-scout.js} +55 -15
  484. package/dist/modules/vuln-scout/vuln-scout.js.map +1 -0
  485. package/dist/multi-agent-triage.js +12 -2
  486. package/dist/multi-agent-triage.js.map +1 -1
  487. package/dist/operator-context.d.ts +1 -0
  488. package/dist/operator-context.js +1 -1
  489. package/dist/operator-context.js.map +1 -1
  490. package/dist/poc-executor/types.d.ts +3 -2
  491. package/dist/poc-executor/types.js +0 -4
  492. package/dist/poc-executor/types.js.map +1 -1
  493. package/dist/poc-harness.js +11 -1
  494. package/dist/poc-harness.js.map +1 -1
  495. package/dist/prompts/context.d.ts +5 -4
  496. package/dist/prompts/context.js.map +1 -1
  497. package/dist/report-pr-comment.d.ts +29 -0
  498. package/dist/report-pr-comment.js +113 -0
  499. package/dist/report-pr-comment.js.map +1 -0
  500. package/dist/scanners/normalize-findings.d.ts +5 -0
  501. package/dist/scanners/normalize-findings.js +5 -15
  502. package/dist/scanners/normalize-findings.js.map +1 -1
  503. package/dist/scanners/run-semgrep.d.ts +3 -1
  504. package/dist/scanners/run-semgrep.js +43 -1
  505. package/dist/scanners/run-semgrep.js.map +1 -1
  506. package/dist/scanners/semgrep.d.ts +3 -2
  507. package/dist/scanners/semgrep.js +4 -2
  508. package/dist/scanners/semgrep.js.map +1 -1
  509. package/dist/scanners/types.d.ts +11 -2
  510. package/dist/scheduler/core.d.ts +73 -0
  511. package/dist/scheduler/core.js +139 -0
  512. package/dist/scheduler/core.js.map +1 -0
  513. package/dist/scheduler/store.d.ts +13 -0
  514. package/dist/scheduler/store.js +39 -0
  515. package/dist/scheduler/store.js.map +1 -0
  516. package/dist/schemas.d.ts +63 -9
  517. package/dist/schemas.js +38 -43
  518. package/dist/schemas.js.map +1 -1
  519. package/dist/security-profiles.d.ts +2 -6
  520. package/dist/security-profiles.js.map +1 -1
  521. package/dist/sessions/manager.d.ts +46 -0
  522. package/dist/sessions/manager.js +63 -0
  523. package/dist/sessions/manager.js.map +1 -0
  524. package/dist/store/dynamic-analysis.js +2 -9
  525. package/dist/store/dynamic-analysis.js.map +1 -1
  526. package/dist/store/patch-results.js +2 -12
  527. package/dist/store/patch-results.js.map +1 -1
  528. package/dist/store.d.ts +29 -2
  529. package/dist/store.js +72 -65
  530. package/dist/store.js.map +1 -1
  531. package/dist/streaming.d.ts +3 -0
  532. package/dist/streaming.js +29 -7
  533. package/dist/streaming.js.map +1 -1
  534. package/dist/testing/assertions.d.ts +36 -0
  535. package/dist/testing/assertions.js +78 -0
  536. package/dist/testing/assertions.js.map +1 -0
  537. package/dist/testing/index.d.ts +72 -15
  538. package/dist/testing/index.js +150 -19
  539. package/dist/testing/index.js.map +1 -1
  540. package/dist/testing/mocks/datastore.d.ts +28 -0
  541. package/dist/testing/mocks/datastore.js +44 -0
  542. package/dist/testing/mocks/datastore.js.map +1 -0
  543. package/dist/testing/mocks/event-scope.d.ts +34 -0
  544. package/dist/testing/mocks/event-scope.js +79 -0
  545. package/dist/testing/mocks/event-scope.js.map +1 -0
  546. package/dist/testing/mocks/logger.d.ts +32 -0
  547. package/dist/testing/mocks/logger.js +45 -0
  548. package/dist/testing/mocks/logger.js.map +1 -0
  549. package/dist/testing/mocks/print-sink.d.ts +31 -0
  550. package/dist/testing/mocks/print-sink.js +55 -0
  551. package/dist/testing/mocks/print-sink.js.map +1 -0
  552. package/dist/testing/mocks/runtime.d.ts +57 -0
  553. package/dist/testing/mocks/runtime.js +77 -0
  554. package/dist/testing/mocks/runtime.js.map +1 -0
  555. package/dist/testing/mocks/ui-store.d.ts +29 -0
  556. package/dist/testing/mocks/ui-store.js +43 -0
  557. package/dist/testing/mocks/ui-store.js.map +1 -0
  558. package/dist/testing/mocks/workspace.d.ts +35 -0
  559. package/dist/testing/mocks/workspace.js +76 -0
  560. package/dist/testing/mocks/workspace.js.map +1 -0
  561. package/dist/testing/module-shape.d.ts +33 -0
  562. package/dist/testing/module-shape.js +72 -0
  563. package/dist/testing/module-shape.js.map +1 -0
  564. package/dist/testing/prompt-regression.d.ts +36 -0
  565. package/dist/testing/prompt-regression.js +47 -0
  566. package/dist/testing/prompt-regression.js.map +1 -0
  567. package/dist/threat-model-patch.d.ts +38 -0
  568. package/dist/threat-model-patch.js +384 -0
  569. package/dist/threat-model-patch.js.map +1 -0
  570. package/dist/threat-model-renderer.d.ts +1 -0
  571. package/dist/threat-model-renderer.js +43 -0
  572. package/dist/threat-model-renderer.js.map +1 -1
  573. package/dist/triage/checkcode.d.ts +51 -0
  574. package/dist/triage/checkcode.js +98 -0
  575. package/dist/triage/checkcode.js.map +1 -0
  576. package/dist/triage.js +23 -3
  577. package/dist/triage.js.map +1 -1
  578. package/dist/types.d.ts +50 -290
  579. package/dist/types.js.map +1 -1
  580. package/dist/ui/App.js +207 -28
  581. package/dist/ui/App.js.map +1 -1
  582. package/dist/ui/ci-stream.d.ts +33 -0
  583. package/dist/ui/ci-stream.js +101 -0
  584. package/dist/ui/ci-stream.js.map +1 -0
  585. package/dist/ui/clock.d.ts +16 -0
  586. package/dist/ui/clock.js +77 -0
  587. package/dist/ui/clock.js.map +1 -0
  588. package/dist/ui/components/ActorTranscriptView.d.ts +42 -0
  589. package/dist/ui/components/ActorTranscriptView.js +94 -0
  590. package/dist/ui/components/ActorTranscriptView.js.map +1 -0
  591. package/dist/ui/components/AgentActivity.d.ts +15 -1
  592. package/dist/ui/components/AgentActivity.js +80 -4
  593. package/dist/ui/components/AgentActivity.js.map +1 -1
  594. package/dist/ui/components/AppLayout.d.ts +10 -0
  595. package/dist/ui/components/AppLayout.js +16 -0
  596. package/dist/ui/components/AppLayout.js.map +1 -0
  597. package/dist/ui/components/AttackChainDiagram.d.ts +2 -1
  598. package/dist/ui/components/AttackChainDiagram.js +5 -4
  599. package/dist/ui/components/AttackChainDiagram.js.map +1 -1
  600. package/dist/ui/components/AttackerStoriesView.d.ts +23 -0
  601. package/dist/ui/components/AttackerStoriesView.js +105 -0
  602. package/dist/ui/components/AttackerStoriesView.js.map +1 -0
  603. package/dist/ui/components/Banner.d.ts +4 -2
  604. package/dist/ui/components/Banner.js +5 -3
  605. package/dist/ui/components/Banner.js.map +1 -1
  606. package/dist/ui/components/BannerSplash.d.ts +29 -0
  607. package/dist/ui/components/BannerSplash.js +64 -0
  608. package/dist/ui/components/BannerSplash.js.map +1 -0
  609. package/dist/ui/components/ChainGroup.d.ts +21 -0
  610. package/dist/ui/components/ChainGroup.js +62 -0
  611. package/dist/ui/components/ChainGroup.js.map +1 -0
  612. package/dist/ui/components/CodePreview.d.ts +3 -2
  613. package/dist/ui/components/CodePreview.js +5 -3
  614. package/dist/ui/components/CodePreview.js.map +1 -1
  615. package/dist/ui/components/CommandInput.js +3 -3
  616. package/dist/ui/components/CommandInput.js.map +1 -1
  617. package/dist/ui/components/CompactHeader.d.ts +3 -2
  618. package/dist/ui/components/CompactHeader.js +5 -3
  619. package/dist/ui/components/CompactHeader.js.map +1 -1
  620. package/dist/ui/components/ConfigBanner.js +5 -3
  621. package/dist/ui/components/ConfigBanner.js.map +1 -1
  622. package/dist/ui/components/ConfigConfirm.d.ts +2 -11
  623. package/dist/ui/components/ConfigConfirm.js +5 -4
  624. package/dist/ui/components/ConfigConfirm.js.map +1 -1
  625. package/dist/ui/components/ConfigEditor.d.ts +11 -0
  626. package/dist/ui/components/ConfigEditor.fields.d.ts +50 -0
  627. package/dist/ui/components/ConfigEditor.fields.js +797 -0
  628. package/dist/ui/components/ConfigEditor.fields.js.map +1 -0
  629. package/dist/ui/components/ConfigEditor.js +445 -0
  630. package/dist/ui/components/ConfigEditor.js.map +1 -0
  631. package/dist/ui/components/ConfigEditor.valueEditors.d.ts +28 -0
  632. package/dist/ui/components/ConfigEditor.valueEditors.js +226 -0
  633. package/dist/ui/components/ConfigEditor.valueEditors.js.map +1 -0
  634. package/dist/ui/components/ContextBuildView.d.ts +39 -0
  635. package/dist/ui/components/ContextBuildView.js +422 -0
  636. package/dist/ui/components/ContextBuildView.js.map +1 -0
  637. package/dist/ui/components/ContextIntake.js +8 -7
  638. package/dist/ui/components/ContextIntake.js.map +1 -1
  639. package/dist/ui/components/ContextStrip.d.ts +15 -0
  640. package/dist/ui/components/ContextStrip.js +22 -0
  641. package/dist/ui/components/ContextStrip.js.map +1 -0
  642. package/dist/ui/components/CopilotShell.d.ts +3 -3
  643. package/dist/ui/components/CopilotShell.js +713 -46
  644. package/dist/ui/components/CopilotShell.js.map +1 -1
  645. package/dist/ui/components/CostCapHalt.d.ts +22 -0
  646. package/dist/ui/components/CostCapHalt.js +35 -0
  647. package/dist/ui/components/CostCapHalt.js.map +1 -0
  648. package/dist/ui/components/CostView.d.ts +24 -0
  649. package/dist/ui/components/CostView.js +49 -0
  650. package/dist/ui/components/CostView.js.map +1 -0
  651. package/dist/ui/components/CredentialPrompt.d.ts +12 -15
  652. package/dist/ui/components/CredentialPrompt.js +241 -49
  653. package/dist/ui/components/CredentialPrompt.js.map +1 -1
  654. package/dist/ui/components/DiffSinceView.d.ts +27 -0
  655. package/dist/ui/components/DiffSinceView.js +115 -0
  656. package/dist/ui/components/DiffSinceView.js.map +1 -0
  657. package/dist/ui/components/DiffView.js +2 -2
  658. package/dist/ui/components/DiffView.js.map +1 -1
  659. package/dist/ui/components/EmptyState.d.ts +30 -0
  660. package/dist/ui/components/EmptyState.js +37 -0
  661. package/dist/ui/components/EmptyState.js.map +1 -0
  662. package/dist/ui/components/ErrorCard.d.ts +32 -3
  663. package/dist/ui/components/ErrorCard.js +19 -6
  664. package/dist/ui/components/ErrorCard.js.map +1 -1
  665. package/dist/ui/components/ErrorMessage.d.ts +27 -0
  666. package/dist/ui/components/ErrorMessage.js +73 -0
  667. package/dist/ui/components/ErrorMessage.js.map +1 -0
  668. package/dist/ui/components/ExportActions.js +5 -4
  669. package/dist/ui/components/ExportActions.js.map +1 -1
  670. package/dist/ui/components/FilterChips.d.ts +21 -0
  671. package/dist/ui/components/FilterChips.js +24 -0
  672. package/dist/ui/components/FilterChips.js.map +1 -0
  673. package/dist/ui/components/FindingCard.d.ts +9 -2
  674. package/dist/ui/components/FindingCard.js +62 -6
  675. package/dist/ui/components/FindingCard.js.map +1 -1
  676. package/dist/ui/components/FindingsView.d.ts +57 -0
  677. package/dist/ui/components/FindingsView.js +198 -0
  678. package/dist/ui/components/FindingsView.js.map +1 -0
  679. package/dist/ui/components/HouseRules.d.ts +16 -0
  680. package/dist/ui/components/HouseRules.js +54 -0
  681. package/dist/ui/components/HouseRules.js.map +1 -0
  682. package/dist/ui/components/InteractiveReview.js +6 -5
  683. package/dist/ui/components/InteractiveReview.js.map +1 -1
  684. package/dist/ui/components/ModuleCatalog.d.ts +19 -0
  685. package/dist/ui/components/ModuleCatalog.js +82 -0
  686. package/dist/ui/components/ModuleCatalog.js.map +1 -0
  687. package/dist/ui/components/ModuleHome.d.ts +16 -0
  688. package/dist/ui/components/ModuleHome.js +80 -0
  689. package/dist/ui/components/ModuleHome.js.map +1 -0
  690. package/dist/ui/components/ModuleRunView.d.ts +48 -0
  691. package/dist/ui/components/ModuleRunView.js +205 -0
  692. package/dist/ui/components/ModuleRunView.js.map +1 -0
  693. package/dist/ui/components/MonorepoProgress.d.ts +3 -2
  694. package/dist/ui/components/MonorepoProgress.js +7 -5
  695. package/dist/ui/components/MonorepoProgress.js.map +1 -1
  696. package/dist/ui/components/NoticeRail.d.ts +20 -2
  697. package/dist/ui/components/NoticeRail.js +58 -3
  698. package/dist/ui/components/NoticeRail.js.map +1 -1
  699. package/dist/ui/components/PipelineIndicator.d.ts +3 -1
  700. package/dist/ui/components/PipelineIndicator.js +96 -32
  701. package/dist/ui/components/PipelineIndicator.js.map +1 -1
  702. package/dist/ui/components/PlanCard.d.ts +21 -0
  703. package/dist/ui/components/PlanCard.js +67 -0
  704. package/dist/ui/components/PlanCard.js.map +1 -0
  705. package/dist/ui/components/ProgressBar.js +25 -3
  706. package/dist/ui/components/ProgressBar.js.map +1 -1
  707. package/dist/ui/components/PromptsEditorView.d.ts +29 -0
  708. package/dist/ui/components/PromptsEditorView.js +77 -0
  709. package/dist/ui/components/PromptsEditorView.js.map +1 -0
  710. package/dist/ui/components/PulseDot.d.ts +18 -0
  711. package/dist/ui/components/PulseDot.js +43 -0
  712. package/dist/ui/components/PulseDot.js.map +1 -0
  713. package/dist/ui/components/QualityGate.js +2 -2
  714. package/dist/ui/components/QualityGate.js.map +1 -1
  715. package/dist/ui/components/RateLimitBanner.d.ts +33 -0
  716. package/dist/ui/components/RateLimitBanner.js +45 -0
  717. package/dist/ui/components/RateLimitBanner.js.map +1 -0
  718. package/dist/ui/components/ResumeDiff.d.ts +2 -15
  719. package/dist/ui/components/ResumeDiff.js +6 -5
  720. package/dist/ui/components/ResumeDiff.js.map +1 -1
  721. package/dist/ui/components/RuleHeader.d.ts +13 -0
  722. package/dist/ui/components/RuleHeader.js +20 -0
  723. package/dist/ui/components/RuleHeader.js.map +1 -0
  724. package/dist/ui/components/RunningView.d.ts +17 -0
  725. package/dist/ui/components/RunningView.js +135 -0
  726. package/dist/ui/components/RunningView.js.map +1 -0
  727. package/dist/ui/components/ScanSummary.d.ts +3 -2
  728. package/dist/ui/components/ScanSummary.js +19 -9
  729. package/dist/ui/components/ScanSummary.js.map +1 -1
  730. package/dist/ui/components/ScopeAndCriticalityView.d.ts +27 -0
  731. package/dist/ui/components/ScopeAndCriticalityView.js +88 -0
  732. package/dist/ui/components/ScopeAndCriticalityView.js.map +1 -0
  733. package/dist/ui/components/ScreenContent.d.ts +18 -0
  734. package/dist/ui/components/ScreenContent.js +21 -0
  735. package/dist/ui/components/ScreenContent.js.map +1 -0
  736. package/dist/ui/components/SectionBox.d.ts +5 -2
  737. package/dist/ui/components/SectionBox.js +4 -4
  738. package/dist/ui/components/SectionBox.js.map +1 -1
  739. package/dist/ui/components/SetupWizard.d.ts +2 -9
  740. package/dist/ui/components/SetupWizard.js +59 -10
  741. package/dist/ui/components/SetupWizard.js.map +1 -1
  742. package/dist/ui/components/Spinner.d.ts +6 -3
  743. package/dist/ui/components/Spinner.js +13 -15
  744. package/dist/ui/components/Spinner.js.map +1 -1
  745. package/dist/ui/components/StageHeader.js +2 -2
  746. package/dist/ui/components/StageHeader.js.map +1 -1
  747. package/dist/ui/components/StatusFooter.d.ts +2 -2
  748. package/dist/ui/components/StatusFooter.js +12 -17
  749. package/dist/ui/components/StatusFooter.js.map +1 -1
  750. package/dist/ui/components/ThreatDfdView.d.ts +15 -0
  751. package/dist/ui/components/ThreatDfdView.js +155 -0
  752. package/dist/ui/components/ThreatDfdView.js.map +1 -0
  753. package/dist/ui/components/ThreatModelEditor.js +8 -7
  754. package/dist/ui/components/ThreatModelEditor.js.map +1 -1
  755. package/dist/ui/components/ThreatStrideMatrix.d.ts +39 -0
  756. package/dist/ui/components/ThreatStrideMatrix.js +166 -0
  757. package/dist/ui/components/ThreatStrideMatrix.js.map +1 -0
  758. package/dist/ui/components/ThreatSummaryExport.d.ts +26 -0
  759. package/dist/ui/components/ThreatSummaryExport.js +154 -0
  760. package/dist/ui/components/ThreatSummaryExport.js.map +1 -0
  761. package/dist/ui/components/ToolRunningStatus.d.ts +24 -0
  762. package/dist/ui/components/ToolRunningStatus.js +86 -0
  763. package/dist/ui/components/ToolRunningStatus.js.map +1 -0
  764. package/dist/ui/components/TrophyScreen.d.ts +3 -2
  765. package/dist/ui/components/TrophyScreen.js +6 -3
  766. package/dist/ui/components/TrophyScreen.js.map +1 -1
  767. package/dist/ui/components/TuneView.d.ts +19 -0
  768. package/dist/ui/components/TuneView.js +47 -0
  769. package/dist/ui/components/TuneView.js.map +1 -0
  770. package/dist/ui/components/module-home/context-home.d.ts +19 -0
  771. package/dist/ui/components/module-home/context-home.js +105 -0
  772. package/dist/ui/components/module-home/context-home.js.map +1 -0
  773. package/dist/ui/components/module-home/registry.d.ts +3 -0
  774. package/dist/ui/components/module-home/registry.js +20 -0
  775. package/dist/ui/components/module-home/registry.js.map +1 -0
  776. package/dist/ui/components/module-home/threat-hunt-home.d.ts +11 -0
  777. package/dist/ui/components/module-home/threat-hunt-home.js +68 -0
  778. package/dist/ui/components/module-home/threat-hunt-home.js.map +1 -0
  779. package/dist/ui/components/module-home/types.d.ts +17 -0
  780. package/dist/ui/components/module-home/types.js +2 -0
  781. package/dist/ui/components/module-home/types.js.map +1 -0
  782. package/dist/ui/demo.js +332 -3
  783. package/dist/ui/demo.js.map +1 -1
  784. package/dist/ui/error-format.d.ts +55 -1
  785. package/dist/ui/error-format.js +189 -5
  786. package/dist/ui/error-format.js.map +1 -1
  787. package/dist/ui/format.d.ts +47 -4
  788. package/dist/ui/format.js +121 -31
  789. package/dist/ui/format.js.map +1 -1
  790. package/dist/ui/glyphs.d.ts +45 -0
  791. package/dist/ui/glyphs.js +58 -0
  792. package/dist/ui/glyphs.js.map +1 -0
  793. package/dist/ui/hooks/text-edit-actions.d.ts +21 -0
  794. package/dist/ui/hooks/text-edit-actions.js +34 -0
  795. package/dist/ui/hooks/text-edit-actions.js.map +1 -0
  796. package/dist/ui/hooks/useRawModeWatchdog.d.ts +28 -0
  797. package/dist/ui/hooks/useRawModeWatchdog.js +53 -0
  798. package/dist/ui/hooks/useRawModeWatchdog.js.map +1 -0
  799. package/dist/ui/hooks/useTerminalSize.js +4 -8
  800. package/dist/ui/hooks/useTerminalSize.js.map +1 -1
  801. package/dist/ui/hooks/useTextEditor.d.ts +26 -0
  802. package/dist/ui/hooks/useTextEditor.js +74 -0
  803. package/dist/ui/hooks/useTextEditor.js.map +1 -0
  804. package/dist/ui/hooks/useVisibleSlice.d.ts +41 -0
  805. package/dist/ui/hooks/useVisibleSlice.js +56 -0
  806. package/dist/ui/hooks/useVisibleSlice.js.map +1 -0
  807. package/dist/ui/hooks.d.ts +61 -0
  808. package/dist/ui/hooks.js +126 -9
  809. package/dist/ui/hooks.js.map +1 -1
  810. package/dist/ui/icons.d.ts +2 -2
  811. package/dist/ui/icons.js +2 -2
  812. package/dist/ui/layout-context.d.ts +61 -0
  813. package/dist/ui/layout-context.js +140 -0
  814. package/dist/ui/layout-context.js.map +1 -0
  815. package/dist/ui/mock-fixtures.d.ts +81 -0
  816. package/dist/ui/mock-fixtures.js +620 -0
  817. package/dist/ui/mock-fixtures.js.map +1 -0
  818. package/dist/ui/perf.d.ts +25 -0
  819. package/dist/ui/perf.js +79 -0
  820. package/dist/ui/perf.js.map +1 -0
  821. package/dist/ui/plain-renderer.d.ts +10 -2
  822. package/dist/ui/plain-renderer.js +731 -52
  823. package/dist/ui/plain-renderer.js.map +1 -1
  824. package/dist/ui/preflight-types.d.ts +36 -0
  825. package/dist/ui/preflight-types.js +2 -0
  826. package/dist/ui/preflight-types.js.map +1 -0
  827. package/dist/ui/primitives/ConfirmDialog.js +3 -3
  828. package/dist/ui/primitives/ConfirmDialog.js.map +1 -1
  829. package/dist/ui/primitives/Divider.js +7 -5
  830. package/dist/ui/primitives/Divider.js.map +1 -1
  831. package/dist/ui/primitives/ExpandableSection.js +2 -2
  832. package/dist/ui/primitives/ExpandableSection.js.map +1 -1
  833. package/dist/ui/primitives/Gutter.d.ts +21 -0
  834. package/dist/ui/primitives/Gutter.js +18 -0
  835. package/dist/ui/primitives/Gutter.js.map +1 -0
  836. package/dist/ui/primitives/KeybindFooter.js +6 -6
  837. package/dist/ui/primitives/KeybindFooter.js.map +1 -1
  838. package/dist/ui/primitives/Markdown.d.ts +24 -0
  839. package/dist/ui/primitives/Markdown.js +134 -0
  840. package/dist/ui/primitives/Markdown.js.map +1 -0
  841. package/dist/ui/primitives/Ratchet.d.ts +29 -0
  842. package/dist/ui/primitives/Ratchet.js +60 -0
  843. package/dist/ui/primitives/Ratchet.js.map +1 -0
  844. package/dist/ui/primitives/SelectList.js +3 -3
  845. package/dist/ui/primitives/SelectList.js.map +1 -1
  846. package/dist/ui/primitives/SpinnerClock.d.ts +25 -0
  847. package/dist/ui/primitives/SpinnerClock.js +67 -0
  848. package/dist/ui/primitives/SpinnerClock.js.map +1 -0
  849. package/dist/ui/primitives/TabBar.d.ts +22 -0
  850. package/dist/ui/primitives/TabBar.js +21 -0
  851. package/dist/ui/primitives/TabBar.js.map +1 -0
  852. package/dist/ui/primitives/Table.d.ts +2 -1
  853. package/dist/ui/primitives/Table.js +10 -54
  854. package/dist/ui/primitives/Table.js.map +1 -1
  855. package/dist/ui/primitives/TextInput.js +17 -27
  856. package/dist/ui/primitives/TextInput.js.map +1 -1
  857. package/dist/ui/render.d.ts +10 -1
  858. package/dist/ui/render.js +22 -2
  859. package/dist/ui/render.js.map +1 -1
  860. package/dist/ui/resume-types.d.ts +14 -0
  861. package/dist/ui/resume-types.js +2 -0
  862. package/dist/ui/resume-types.js.map +1 -0
  863. package/dist/ui/review.js +1 -0
  864. package/dist/ui/review.js.map +1 -1
  865. package/dist/ui/setup.d.ts +33 -2
  866. package/dist/ui/setup.js +198 -0
  867. package/dist/ui/setup.js.map +1 -1
  868. package/dist/ui/severity.d.ts +96 -0
  869. package/dist/ui/severity.js +196 -0
  870. package/dist/ui/severity.js.map +1 -0
  871. package/dist/ui/shell-input-line.d.ts +21 -0
  872. package/dist/ui/shell-input-line.js +54 -0
  873. package/dist/ui/shell-input-line.js.map +1 -0
  874. package/dist/ui/shell-keybinds.d.ts +127 -0
  875. package/dist/ui/shell-keybinds.js +179 -0
  876. package/dist/ui/shell-keybinds.js.map +1 -0
  877. package/dist/ui/shell-log-events.d.ts +23 -0
  878. package/dist/ui/shell-log-events.js +162 -0
  879. package/dist/ui/shell-log-events.js.map +1 -0
  880. package/dist/ui/slack.d.ts +27 -0
  881. package/dist/ui/slack.js +35 -0
  882. package/dist/ui/slack.js.map +1 -0
  883. package/dist/ui/state.d.ts +624 -9
  884. package/dist/ui/state.js +157 -1
  885. package/dist/ui/state.js.map +1 -1
  886. package/dist/ui/summary-data.js +1 -0
  887. package/dist/ui/summary-data.js.map +1 -1
  888. package/dist/ui/sync-output.d.ts +33 -0
  889. package/dist/ui/sync-output.js +80 -0
  890. package/dist/ui/sync-output.js.map +1 -0
  891. package/dist/ui/task-story.d.ts +56 -0
  892. package/dist/ui/task-story.js +154 -0
  893. package/dist/ui/task-story.js.map +1 -0
  894. package/dist/ui/terminal.d.ts +13 -0
  895. package/dist/ui/terminal.js +28 -0
  896. package/dist/ui/terminal.js.map +1 -0
  897. package/dist/ui/tokens.d.ts +36 -2
  898. package/dist/ui/tokens.js +54 -11
  899. package/dist/ui/tokens.js.map +1 -1
  900. package/dist/ui/transcript-format.d.ts +59 -0
  901. package/dist/ui/transcript-format.js +170 -0
  902. package/dist/ui/transcript-format.js.map +1 -0
  903. package/dist/utils/safe-json.js +8 -3
  904. package/dist/utils/safe-json.js.map +1 -1
  905. package/dist/utils.d.ts +5 -0
  906. package/dist/utils.js +15 -0
  907. package/dist/utils.js.map +1 -1
  908. package/dist/verify.js +16 -2
  909. package/dist/verify.js.map +1 -1
  910. package/dist/workspace/creds-export.d.ts +9 -0
  911. package/dist/workspace/creds-export.js +62 -0
  912. package/dist/workspace/creds-export.js.map +1 -0
  913. package/dist/workspace/entities.d.ts +208 -0
  914. package/dist/workspace/entities.js +482 -0
  915. package/dist/workspace/entities.js.map +1 -0
  916. package/dist/workspace/io/export.d.ts +28 -0
  917. package/dist/workspace/io/export.js +304 -0
  918. package/dist/workspace/io/export.js.map +1 -0
  919. package/dist/workspace/io/github.d.ts +48 -0
  920. package/dist/workspace/io/github.js +121 -0
  921. package/dist/workspace/io/github.js.map +1 -0
  922. package/dist/workspace/io/import.d.ts +61 -0
  923. package/dist/workspace/io/import.js +268 -0
  924. package/dist/workspace/io/import.js.map +1 -0
  925. package/dist/workspace/manager.d.ts +24 -0
  926. package/dist/workspace/manager.js +33 -0
  927. package/dist/workspace/manager.js.map +1 -1
  928. package/package.json +54 -38
  929. package/dist/agents/task-loader.d.ts +0 -42
  930. package/dist/agents/task-loader.js +0 -148
  931. package/dist/agents/task-loader.js.map +0 -1
  932. package/dist/agents/task-manifest.d.ts +0 -81
  933. package/dist/agents/task-manifest.js +0 -158
  934. package/dist/agents/task-manifest.js.map +0 -1
  935. package/dist/agents/tasks/threat-hunt.d.ts +0 -38
  936. package/dist/agents/tasks/threat-hunt.js +0 -262
  937. package/dist/agents/tasks/threat-hunt.js.map +0 -1
  938. package/dist/bus/task-execution.d.ts +0 -17
  939. package/dist/bus/task-execution.js.map +0 -1
  940. package/dist/modules/core-prompt-armor.js.map +0 -1
  941. package/dist/modules/core-randori.js.map +0 -1
  942. package/dist/modules/core-shinsa.js.map +0 -1
  943. package/dist/modules/core-tob.js.map +0 -1
  944. package/dist/modules/core-vuln-scout.js.map +0 -1
package/README.md CHANGED
@@ -42,10 +42,89 @@ kuzushi> use sast
42
42
  kuzushi/sast> run scan ./repo preset=deep
43
43
  kuzushi/sast> back
44
44
  kuzushi> tools
45
- kuzushi> run sast:verify fingerprint=abc123
45
+ kuzushi> run verify:finding fingerprint=abc123
46
46
  kuzushi> exit
47
47
  ```
48
48
 
49
+ #### Common shell flows
50
+
51
+ ```
52
+ # Catalog / module home / tune
53
+ kuzushi> use sast # focus → module home
54
+ kuzushi/sast> findings # unified list with filter chips + chain boxing
55
+ kuzushi/sast> open F-0001 # linear deep page for a finding
56
+ kuzushi/sast> tune # six plain controls + optional "house rules"
57
+ kuzushi/sast> back # step up one level
58
+
59
+ # Natural-language planner — English → option diff → y/n apply
60
+ kuzushi/sast> /plan run harder, focus on auth, stop wasting money
61
+ kuzushi/sast> y # apply the proposed changes
62
+
63
+ # Prompt editor — per-tool system-prompt override in $EDITOR
64
+ kuzushi/sast> /prompt edit triage # opens .kuzushi/prompts/sast/triage.md
65
+ kuzushi/sast> /prompt show verify # show effective prompt + source
66
+ kuzushi/sast> /show prompts # cross-module audit table
67
+
68
+ # Replay / trace — re-read the outcome of a past run, no re-exec
69
+ kuzushi> /show runs # list recent runs
70
+ kuzushi> /replay 7f3a # re-render a past summary
71
+ kuzushi> /trace 7f3a # stream the per-event JSONL log
72
+
73
+ # Threat-model views — five screens over the randori output
74
+ kuzushi> /threats dfd # ASCII data flow diagram
75
+ kuzushi> /threats stride # element × STRIDE heat matrix
76
+ kuzushi> /threats stories # attacker narrative cards
77
+ kuzushi> /threats scope # criticality + operator edits
78
+ kuzushi> /threats summary # counts, drives, export paths
79
+ # Press 1..5 at any threat view to cycle.
80
+
81
+ # Short-ID aliases — F-0001 / C-01 resolve through a deterministic map
82
+ kuzushi/sast> /show aliases F- # filter by prefix
83
+ kuzushi/sast> open F-0003 # same as typing the fingerprint
84
+
85
+ # Diff-aware — pivot to "what changed since <ref>" without restarting
86
+ kuzushi> /since main # findings + threats scoped to changed files
87
+ kuzushi> /since v1.2.0 # works with any git ref (tags, SHAs, HEAD~5)
88
+ ```
89
+
90
+ #### Keyboard shortcuts
91
+
92
+ | Key | While running | At the idle prompt |
93
+ | -------------- | --------------------------------- | ----------------------------------- |
94
+ | `Ctrl+C` | Abort the running tool / turn | First press arms, second exits (2s) |
95
+ | `Ctrl+D` | Abort (same as `Ctrl+C`) | Exits |
96
+ | `Enter` | — | Send input |
97
+ | `↑` / `↓` | — | Previous / next command |
98
+ | `Esc` | — | Clear input buffer |
99
+ | `1`–`5` | — | Cycle threat-model sub-views |
100
+
101
+ Ctrl+C aborts through four independent paths (Ink `useInput` on raw stdin,
102
+ a byte-level stdin watcher, `SIGINT`, and a dedicated `/dev/tty` reader)
103
+ so long-running LLM tools still cancel cleanly even when a subprocess has
104
+ grabbed the terminal's foreground group. Under abort every Claude Agent
105
+ SDK subprocess (and its descendants) receives `SIGTERM` directly — no
106
+ relying on the SDK's own signal handling.
107
+
108
+ Set `KUZUSHI_ABORT_DEBUG=1` to trace the abort path to stderr when
109
+ diagnosing Ctrl+C issues.
110
+
111
+ #### On-disk artefacts
112
+
113
+ Operators can version-control any of these and have them round-trip with
114
+ the shell — `/prompt edit` and `/tune` write here, and randori / scan runs
115
+ read from here.
116
+
117
+ | Path | Role |
118
+ | ------------------------------------------ | ------------------------------------------ |
119
+ | `~/.kuzushi/config.json` | Global config (`/config`) |
120
+ | `.kuzushi/threat-model.json` | Persistent threat model (editable) |
121
+ | `.kuzushi/house-rules/<moduleId>.md` | Operator nudges per module (`/tune`) |
122
+ | `.kuzushi/prompts/<moduleId>/<verb>.md` | Per-tool system-prompt override |
123
+ | `.kuzushi/runs/<runId>/summary.json` | Run summary (for `/replay`) |
124
+ | `.kuzushi/runs/<runId>/triage.jsonl` | Per-event triage audit log (for `/trace`) |
125
+ | `.kuzushi/runs/<runId>/verify.jsonl` | Per-event verify audit log (for `/trace`) |
126
+ | `.kuzushi/findings.sqlite3` | Findings + pipeline_runs DB |
127
+
49
128
  ### Scan (headless pipeline)
50
129
 
51
130
  The full SAST pipeline — 40+ agent tasks orchestrated as a DAG. Semgrep, CodeQL, 30+ agentic detectors, AI triage, verification, PoC generation, patch synthesis. CI/CD-native with SARIF, quality gates, and exit codes.
@@ -63,9 +142,9 @@ Execute a single module tool without the interactive shell. Scriptable, composab
63
142
 
64
143
  ```sh
65
144
  kuzushi run sast:scan ./repo --json
66
- kuzushi run sast:triage fingerprint=abc123 --json
67
- kuzushi run sast:verify fingerprint=abc123 --quiet
68
- kuzushi run sast:findings severity=critical,high --json
145
+ kuzushi run triage:run fingerprint=abc123 --json
146
+ kuzushi run verify:finding fingerprint=abc123 --quiet
147
+ kuzushi run findings:list severity=critical,high --json
69
148
  ```
70
149
 
71
150
  ## Quick Start
@@ -134,16 +213,18 @@ Kuzushi's capabilities come from `CopilotModule`s that expose tools (for shell a
134
213
 
135
214
  | Module | Category | What It Does | Key Tools |
136
215
  |--------|----------|--------------|-----------|
137
- | **sast** | offense | 40+ task SAST pipeline: Semgrep, CodeQL, agentic detectors, AI triage, verification, PoC, patch | `sast:scan`, `sast:semgrep`, `sast:codeql`, `sast:triage`, `sast:verify`, `sast:patch`, `sast:findings`, `sast:context`, `sast:threat-hunt`, `sast:taint-iris` |
216
+ | **sast** | offense | 40+ task SAST pipeline: Semgrep, CodeQL, agentic detectors, AI triage, verification, PoC, patch | `sast:scan` plus split-module tools `semgrep:scan`, `codeql:scan`, `agentic-sast:scan`, `triage:run`, `verify:finding`, `patch:finding`, `findings:list`, `context:build`, `threat-hunt:run`, `taint-iris:hunt` |
138
217
  | **randori** | intel | PASTA threat modeling via the `@kuzushi/randori-plugin` — S1–S4 stages plus narrative synthesis, returning a `ThreatModelDocument` | `randori:pasta`, `randori:threat-model` |
139
218
  | **vuln-scout** | offense | Whitebox pentest via the `@kuzushi/vuln-scout` plugin — agentic SAST + taint analysis returning normalized Findings | `vuln-scout:audit` |
140
219
  | **tob** | offense | Trail of Bits skills audit via `@kuzushi/tob-skills` — fp-check, sharp-edges, insecure-defaults, static-analysis, variant-analysis, and more | `tob:audit`, `tob:skills` |
141
220
  | **shinsa** | governance | ISO 27001 Annex A + NIST SP 800-53 Rev 5 compliance assessment via `shinsa-plugin` — evidence-backed controls mapped to file:line citations | `shinsa:scan`, `shinsa:quick-check`, `shinsa:nist-scan`, `shinsa:nist-quick-check`, `shinsa:frameworks` |
142
221
  | **prompt-armor** | offense | LLM red teaming via `promptarmor-plugin` — 80+ attack plugins, 25+ mutation strategies, code-aware remediation (network commands require `authorized: true`) | `prompt-armor:scan`, `prompt-armor:analyze`, `prompt-armor:attack`, `prompt-armor:diff`, `prompt-armor:report`, `prompt-armor:config` |
143
- | **variant-hunter** | offense | Lifts confirmed findings into portable signatures and hunts for variants across the repo (including vendored deps) | `variant:lift-pattern`, `variant:hunt` |
144
- | **n-day-diff-hunter** | offense | CVE-diff-based n-day hunting and variant search against a target | `ndiff:fetch-cve`, `ndiff:search-patch-shape`, `ndiff:hunt-variants` |
222
+ | **variant** | offense | Lifts confirmed findings into portable signatures and hunts for variants across the repo (including vendored deps) | `variant:lift-pattern`, `variant:hunt` |
223
+ | **ndiff** | offense | CVE-diff-based n-day hunting and variant search against a target | `ndiff:fetch-cve`, `ndiff:search-patch-shape`, `ndiff:hunt-variants` |
224
+
225
+ Load with the shell or at startup: `kuzushi shell --load randori,vuln-scout,tob,shinsa,prompt-armor,variant,ndiff` (the bare id works — `builtin:` prefix is optional). Legacy ids `variant-hunter` / `n-day-diff-hunter` still resolve for backward compatibility.
145
226
 
146
- Load with the shell or at startup: `kuzushi shell --load randori,vuln-scout,tob,shinsa,prompt-armor,variant-hunter,n-day-diff-hunter` (the bare id works `builtin:` prefix is optional).
227
+ Legacy `sast:<action>` aliases for split-module tools still resolve for backward compatibility, but new scripts and docs should use the canonical tool names shown above.
147
228
 
148
229
  ### External `CopilotModule` packages
149
230
 
@@ -173,14 +254,15 @@ These are dependencies consumed by the built-in wrappers above, not directly loa
173
254
  kuzushi create-module my-module --template offense # scaffolds manifest + starter tool + vitest
174
255
  ```
175
256
 
176
- The scaffolder emits `module.manifest.json`, a TypeScript starter tool, and a vitest skeleton. Import types and test helpers from the SDK subpaths:
257
+ The scaffolder emits `module.manifest.json` (with `kuzushiSdkVersion` and `$schema`), a TypeScript starter using `defineModule`/`defineTool`, and a vitest skeleton using `kuzushi/testing`. Import surface:
177
258
 
178
259
  ```ts
179
- import type { CopilotModule, ModuleTool, ToolResult } from "kuzushi/modules"
180
- import { createMockToolContext, createMockBus, noopRuntime } from "kuzushi/testing"
260
+ import { defineModule, defineTool, ModuleLoadError } from "kuzushi/modules"
261
+ import type { CopilotModule, ToolExecutionContext, ToolResult } from "kuzushi/modules"
262
+ import { createMockToolContext, assertToolResult, expectModuleShape } from "kuzushi/testing"
181
263
  ```
182
264
 
183
- Load a local build with `--load file:///abs/path/to/my-module`, or a published package with `--load package:@scope/name`. MCP servers can be bridged with `--load mcp:<spec>` (stdio or HTTP Streamable). See [CLAUDE.md](CLAUDE.md) for the full module authoring guide.
265
+ Load a local build with `--load file:///abs/path/to/my-module`, a published package with `--load package:@scope/name`, or an MCP server with `--load mcp:<spec>`. The full authoring guide manifest, `ToolExecutionContext` reference, capability probes, load errors, testing, MCP bridging — lives in **[docs/modules.md](docs/modules.md)**.
184
266
 
185
267
  ## The SAST Pipeline
186
268
 
@@ -238,12 +320,41 @@ jobs:
238
320
 
239
321
  Exit codes: `0` clean, `1` findings (or task failures), `2` usage/config/auth, `3` unexpected crash. See `.github/workflows/kuzushi-reference.yml` for a reference workflow with SARIF upload, JUnit publish, and PR sticky comment.
240
322
 
323
+ #### `--ci` stream mode
324
+
325
+ `--ci` disables the Ink TUI and attaches a plain-text stream formatter
326
+ that writes one line per meaningful pipeline event. Log-renderer-friendly,
327
+ grep-friendly, and free of ANSI control codes:
328
+
329
+ ```sh
330
+ kuzushi scan ./repo --ci --sarif results.sarif
331
+ ```
332
+
333
+ ```
334
+ [2026-04-20T14:20:01Z] scan: ./repo started
335
+ [2026-04-20T14:20:01Z] phase: (init) → scanning
336
+ [2026-04-20T14:20:12Z] stage: scan → done [8.3s]
337
+ [2026-04-20T14:20:12Z] stage: triage → active (15 findings)
338
+ [2026-04-20T14:20:45Z] finding: abc123def456 tp 92% $0.0041
339
+ [2026-04-20T14:21:20Z] summary: 4 tp · 10 fp · $0.87 · 1m 18s
340
+ ```
341
+
342
+ Honoured from a TTY too — `kuzushi scan … --ci | tee run.log` works.
343
+
344
+ #### PR comments
345
+
346
+ `buildPrComment(summary, { repoName, runUrl })` (in `src/report-pr-comment.ts`)
347
+ renders a GitHub-markdown block suitable for `gh pr comment -F -`. Includes
348
+ verdict counts, exploitable badge, cost + duration, and a top-10 TP table
349
+ with severity emojis.
350
+
241
351
  ### Quality Gates
242
352
 
243
353
  ```sh
244
354
  kuzushi scan <repo> --quality-gate # fail CI on threshold violations
245
355
  kuzushi scan <repo> --fail-on-tp # fail if any high/critical TP is found
246
356
  kuzushi scan <repo> --sarif results.sarif # export SARIF for GitHub Code Scanning
357
+ kuzushi scan <repo> --ci # plain-text stream mode (no Ink)
247
358
  ```
248
359
 
249
360
  ## Scan Presets
@@ -355,9 +466,9 @@ kuzushi runs show <runId> --json # JSON output for tooling
355
466
 
356
467
  ```
357
468
  kuzushi run sast:scan ./repo --json
358
- kuzushi run sast:triage fingerprint=abc123 --json
359
- kuzushi run sast:verify fingerprint=abc123 --quiet
360
- kuzushi run sast:findings severity=critical,high --json
469
+ kuzushi run triage:run fingerprint=abc123 --json
470
+ kuzushi run verify:finding fingerprint=abc123 --quiet
471
+ kuzushi run findings:list severity=critical,high --json
361
472
  ```
362
473
 
363
474
  ### Patch
@@ -1,20 +1,60 @@
1
1
  import type { MessageBus } from "../bus/types.js";
2
- import type { AgentRuntimeConfig } from "../types.js";
2
+ import type { AgentRuntimeCredentials } from "../types.js";
3
3
  import type { AgentQueryExecutionResult } from "./execution.js";
4
- import type { AgentBatchRequest, AgentMessage, AgentQueryOptions, AgentQueryRequest, AgentRuntime, AgentSession } from "./types.js";
4
+ import type { AgentActivityPhase, AgentBatchRequest, AgentMessage, AgentQueryOptions, AgentQueryRequest, AgentRuntime, AgentSession } from "./types.js";
5
+ /**
6
+ * Nuclear option for Ctrl+C — SIGTERM every tracked Claude subprocess
7
+ * regardless of which session/query spawned it, then escalate survivors
8
+ * to SIGKILL after the normal grace window. Called from the shell's
9
+ * SIGINT handler BEFORE the abort-controller chain runs, so the
10
+ * subprocess is guaranteed to stop even if an abort listener was never
11
+ * installed, raced with the spawn, or was blocked by a stuck await.
12
+ *
13
+ * Returns the number of processes that received SIGTERM, so callers
14
+ * can log / diagnose.
15
+ */
16
+ export declare function killAllClaudeSubprocesses(): number;
17
+ /**
18
+ * Emit `task:activity` (always — drives the spinner subtitle) and
19
+ * `${phase}:agent-activity` (only when both `phase` and `fingerprint` are
20
+ * set — drives the "N agents active" counter) for any tool-use blocks
21
+ * inside an SDK assistant message.
22
+ *
23
+ * Best-effort: every publish is wrapped in the helpers' own try/catch so a
24
+ * broken subscriber never takes down the SDK loop.
25
+ */
26
+ declare function emitActivityForAssistant(bus: MessageBus | null, contentBlocks: unknown, ctx: {
27
+ runId?: string | null;
28
+ taskId?: string;
29
+ fingerprint?: string;
30
+ phase?: AgentActivityPhase;
31
+ }): void;
32
+ /**
33
+ * Emit a terminal `${phase}:agent-activity` envelope so the report-worker
34
+ * clears the fingerprint from the agents-active map (`done: true`).
35
+ */
36
+ declare function emitActivityDone(bus: MessageBus | null, ctx: {
37
+ fingerprint?: string;
38
+ phase?: AgentActivityPhase;
39
+ }): void;
5
40
  /** Exported for tests only — observes internal semaphore state. */
6
41
  export declare function __getSemaphoreState(): {
7
42
  active: number;
8
43
  leaked: number;
9
44
  waiting: number;
10
45
  };
46
+ /** Exported for tests only — direct access to the SDK-message activity helpers. */
47
+ export declare const __activityInternals: {
48
+ emitActivityForAssistant: typeof emitActivityForAssistant;
49
+ emitActivityDone: typeof emitActivityDone;
50
+ };
11
51
  export declare class ClaudeAgentRuntime implements AgentRuntime {
12
52
  readonly id = "claude";
13
53
  private readonly config;
14
54
  private readonly client;
15
55
  bus: MessageBus | null;
16
56
  runId: string | null;
17
- constructor(config?: AgentRuntimeConfig);
57
+ constructor(config?: AgentRuntimeCredentials);
18
58
  createSession(baseOptions: AgentQueryOptions): AgentSession;
19
59
  /**
20
60
  * Submit multiple tool-less prompts as a single Anthropic Batch API call.
@@ -35,3 +75,4 @@ export declare class ClaudeAgentRuntime implements AgentRuntime {
35
75
  private queryDirect;
36
76
  query(request: AgentQueryRequest): AsyncIterable<AgentMessage>;
37
77
  }
78
+ export {};