@ironbee-ai/cli 0.6.2 → 0.7.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 (362) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +167 -39
  3. package/dist/analysis/code-changes.js.map +1 -1
  4. package/dist/analysis/cross-session.js.map +1 -1
  5. package/dist/analysis/fix-effectiveness.js.map +1 -1
  6. package/dist/analysis/time-analysis.js.map +1 -1
  7. package/dist/analysis/verdict-details.js.map +1 -1
  8. package/dist/analysis/verification-quality.js.map +1 -1
  9. package/dist/analytics/classifier.d.ts +99 -0
  10. package/dist/analytics/classifier.d.ts.map +1 -0
  11. package/dist/analytics/classifier.js +380 -0
  12. package/dist/analytics/classifier.js.map +1 -0
  13. package/dist/analytics/emit.d.ts +67 -0
  14. package/dist/analytics/emit.d.ts.map +1 -0
  15. package/dist/analytics/emit.js +901 -0
  16. package/dist/analytics/emit.js.map +1 -0
  17. package/dist/analytics/errors.d.ts +33 -0
  18. package/dist/analytics/errors.d.ts.map +1 -0
  19. package/dist/analytics/errors.js +93 -0
  20. package/dist/analytics/errors.js.map +1 -0
  21. package/dist/analytics/hook-trigger.d.ts +39 -0
  22. package/dist/analytics/hook-trigger.d.ts.map +1 -0
  23. package/dist/analytics/hook-trigger.js +127 -0
  24. package/dist/analytics/hook-trigger.js.map +1 -0
  25. package/dist/analytics/log.d.ts +44 -0
  26. package/dist/analytics/log.d.ts.map +1 -0
  27. package/dist/analytics/log.js +158 -0
  28. package/dist/analytics/log.js.map +1 -0
  29. package/dist/analytics/merge.d.ts +40 -0
  30. package/dist/analytics/merge.d.ts.map +1 -0
  31. package/dist/analytics/merge.js +527 -0
  32. package/dist/analytics/merge.js.map +1 -0
  33. package/dist/analytics/pricing.d.ts +149 -0
  34. package/dist/analytics/pricing.d.ts.map +1 -0
  35. package/dist/analytics/pricing.js +179 -0
  36. package/dist/analytics/pricing.js.map +1 -0
  37. package/dist/analytics/projection.d.ts +356 -0
  38. package/dist/analytics/projection.d.ts.map +1 -0
  39. package/dist/analytics/projection.js +2281 -0
  40. package/dist/analytics/projection.js.map +1 -0
  41. package/dist/analytics/spawn.d.ts +28 -0
  42. package/dist/analytics/spawn.d.ts.map +1 -0
  43. package/dist/analytics/spawn.js +57 -0
  44. package/dist/analytics/spawn.js.map +1 -0
  45. package/dist/analytics/state.d.ts +58 -0
  46. package/dist/analytics/state.d.ts.map +1 -0
  47. package/dist/analytics/state.js +329 -0
  48. package/dist/analytics/state.js.map +1 -0
  49. package/dist/analytics/transcript.d.ts +150 -0
  50. package/dist/analytics/transcript.d.ts.map +1 -0
  51. package/dist/analytics/transcript.js +276 -0
  52. package/dist/analytics/transcript.js.map +1 -0
  53. package/dist/analytics/types.d.ts +875 -0
  54. package/dist/analytics/types.d.ts.map +1 -0
  55. package/dist/analytics/types.js +31 -0
  56. package/dist/analytics/types.js.map +1 -0
  57. package/dist/clients/base.d.ts +21 -2
  58. package/dist/clients/base.d.ts.map +1 -1
  59. package/dist/clients/claude/commands/ironbee-verify.md +15 -7
  60. package/dist/clients/claude/fragments/command-verify.node.md +33 -0
  61. package/dist/clients/claude/fragments/rule.node.md +29 -0
  62. package/dist/clients/claude/fragments/skill.node.md +77 -0
  63. package/dist/clients/claude/hooks/activity-end.d.ts +13 -0
  64. package/dist/clients/claude/hooks/activity-end.d.ts.map +1 -0
  65. package/dist/clients/claude/hooks/activity-end.js +42 -0
  66. package/dist/clients/claude/hooks/activity-end.js.map +1 -0
  67. package/dist/clients/claude/hooks/require-verdict.d.ts +3 -2
  68. package/dist/clients/claude/hooks/require-verdict.d.ts.map +1 -1
  69. package/dist/clients/claude/hooks/require-verdict.js +6 -5
  70. package/dist/clients/claude/hooks/require-verdict.js.map +1 -1
  71. package/dist/clients/claude/hooks/require-verification.d.ts +7 -4
  72. package/dist/clients/claude/hooks/require-verification.d.ts.map +1 -1
  73. package/dist/clients/claude/hooks/require-verification.js +44 -22
  74. package/dist/clients/claude/hooks/require-verification.js.map +1 -1
  75. package/dist/clients/claude/hooks/session-end.d.ts.map +1 -1
  76. package/dist/clients/claude/hooks/session-end.js +17 -2
  77. package/dist/clients/claude/hooks/session-end.js.map +1 -1
  78. package/dist/clients/claude/hooks/session-start.d.ts.map +1 -1
  79. package/dist/clients/claude/hooks/session-start.js +2 -1
  80. package/dist/clients/claude/hooks/session-start.js.map +1 -1
  81. package/dist/clients/claude/hooks/track-action-monitor.d.ts +27 -0
  82. package/dist/clients/claude/hooks/track-action-monitor.d.ts.map +1 -0
  83. package/dist/clients/claude/hooks/track-action-monitor.js +126 -0
  84. package/dist/clients/claude/hooks/track-action-monitor.js.map +1 -0
  85. package/dist/clients/claude/hooks/track-action.d.ts.map +1 -1
  86. package/dist/clients/claude/hooks/track-action.js +29 -20
  87. package/dist/clients/claude/hooks/track-action.js.map +1 -1
  88. package/dist/clients/claude/hooks/verify-gate.d.ts.map +1 -1
  89. package/dist/clients/claude/hooks/verify-gate.js +18 -1
  90. package/dist/clients/claude/hooks/verify-gate.js.map +1 -1
  91. package/dist/clients/claude/index.d.ts +4 -1
  92. package/dist/clients/claude/index.d.ts.map +1 -1
  93. package/dist/clients/claude/index.js +171 -94
  94. package/dist/clients/claude/index.js.map +1 -1
  95. package/dist/clients/claude/rules/ironbee-verification.md +41 -33
  96. package/dist/clients/claude/skills/ironbee-verification.md +93 -76
  97. package/dist/clients/cursor/commands/ironbee-verify/SKILL.md +18 -10
  98. package/dist/clients/cursor/fragments/command-verify.node.md +33 -0
  99. package/dist/clients/cursor/fragments/rule.node.md +29 -0
  100. package/dist/clients/cursor/fragments/skill.node.md +77 -0
  101. package/dist/clients/cursor/hooks/activity-end.d.ts +14 -0
  102. package/dist/clients/cursor/hooks/activity-end.d.ts.map +1 -0
  103. package/dist/clients/cursor/hooks/activity-end.js +45 -0
  104. package/dist/clients/cursor/hooks/activity-end.js.map +1 -0
  105. package/dist/clients/cursor/hooks/require-verdict.d.ts +1 -1
  106. package/dist/clients/cursor/hooks/require-verdict.js +4 -4
  107. package/dist/clients/cursor/hooks/require-verification.d.ts.map +1 -1
  108. package/dist/clients/cursor/hooks/require-verification.js +42 -16
  109. package/dist/clients/cursor/hooks/require-verification.js.map +1 -1
  110. package/dist/clients/cursor/hooks/session-end.d.ts.map +1 -1
  111. package/dist/clients/cursor/hooks/session-end.js +18 -2
  112. package/dist/clients/cursor/hooks/session-end.js.map +1 -1
  113. package/dist/clients/cursor/hooks/session-start.d.ts.map +1 -1
  114. package/dist/clients/cursor/hooks/session-start.js +2 -1
  115. package/dist/clients/cursor/hooks/session-start.js.map +1 -1
  116. package/dist/clients/cursor/hooks/track-action-monitor.d.ts +27 -0
  117. package/dist/clients/cursor/hooks/track-action-monitor.d.ts.map +1 -0
  118. package/dist/clients/cursor/hooks/track-action-monitor.js +133 -0
  119. package/dist/clients/cursor/hooks/track-action-monitor.js.map +1 -0
  120. package/dist/clients/cursor/hooks/track-action.d.ts.map +1 -1
  121. package/dist/clients/cursor/hooks/track-action.js +51 -23
  122. package/dist/clients/cursor/hooks/track-action.js.map +1 -1
  123. package/dist/clients/cursor/hooks/verify-gate.d.ts.map +1 -1
  124. package/dist/clients/cursor/hooks/verify-gate.js +14 -1
  125. package/dist/clients/cursor/hooks/verify-gate.js.map +1 -1
  126. package/dist/clients/cursor/index.d.ts +4 -1
  127. package/dist/clients/cursor/index.d.ts.map +1 -1
  128. package/dist/clients/cursor/index.js +117 -71
  129. package/dist/clients/cursor/index.js.map +1 -1
  130. package/dist/clients/cursor/rules/ironbee-verification.mdc +37 -29
  131. package/dist/clients/cursor/skills/ironbee-verification.md +93 -76
  132. package/dist/clients/registry.d.ts +14 -0
  133. package/dist/clients/registry.d.ts.map +1 -1
  134. package/dist/clients/registry.js +34 -0
  135. package/dist/clients/registry.js.map +1 -1
  136. package/dist/commands/analyze.d.ts.map +1 -1
  137. package/dist/commands/analyze.js +40 -0
  138. package/dist/commands/analyze.js.map +1 -1
  139. package/dist/commands/backend-toggle.d.ts +45 -0
  140. package/dist/commands/backend-toggle.d.ts.map +1 -0
  141. package/dist/commands/backend-toggle.js +192 -0
  142. package/dist/commands/backend-toggle.js.map +1 -0
  143. package/dist/commands/disable-backend.d.ts +14 -0
  144. package/dist/commands/disable-backend.d.ts.map +1 -0
  145. package/dist/commands/disable-backend.js +34 -0
  146. package/dist/commands/disable-backend.js.map +1 -0
  147. package/dist/commands/disable-verification.d.ts +16 -0
  148. package/dist/commands/disable-verification.d.ts.map +1 -0
  149. package/dist/commands/disable-verification.js +36 -0
  150. package/dist/commands/disable-verification.js.map +1 -0
  151. package/dist/commands/enable-backend.d.ts +15 -0
  152. package/dist/commands/enable-backend.d.ts.map +1 -0
  153. package/dist/commands/enable-backend.js +35 -0
  154. package/dist/commands/enable-backend.js.map +1 -0
  155. package/dist/commands/enable-verification.d.ts +14 -0
  156. package/dist/commands/enable-verification.d.ts.map +1 -0
  157. package/dist/commands/enable-verification.js +34 -0
  158. package/dist/commands/enable-verification.js.map +1 -0
  159. package/dist/commands/hook.d.ts.map +1 -1
  160. package/dist/commands/hook.js +60 -0
  161. package/dist/commands/hook.js.map +1 -1
  162. package/dist/commands/import.d.ts +39 -0
  163. package/dist/commands/import.d.ts.map +1 -0
  164. package/dist/commands/import.js +369 -0
  165. package/dist/commands/import.js.map +1 -0
  166. package/dist/commands/install.d.ts.map +1 -1
  167. package/dist/commands/install.js +15 -20
  168. package/dist/commands/install.js.map +1 -1
  169. package/dist/commands/process-analytics.d.ts +18 -0
  170. package/dist/commands/process-analytics.d.ts.map +1 -0
  171. package/dist/commands/process-analytics.js +57 -0
  172. package/dist/commands/process-analytics.js.map +1 -0
  173. package/dist/commands/queue.d.ts +2 -3
  174. package/dist/commands/queue.d.ts.map +1 -1
  175. package/dist/commands/queue.js +2 -3
  176. package/dist/commands/queue.js.map +1 -1
  177. package/dist/commands/status.d.ts.map +1 -1
  178. package/dist/commands/status.js +29 -1
  179. package/dist/commands/status.js.map +1 -1
  180. package/dist/commands/verification-toggle.d.ts +47 -0
  181. package/dist/commands/verification-toggle.d.ts.map +1 -0
  182. package/dist/commands/verification-toggle.js +113 -0
  183. package/dist/commands/verification-toggle.js.map +1 -0
  184. package/dist/commands/verify.d.ts.map +1 -1
  185. package/dist/commands/verify.js +28 -0
  186. package/dist/commands/verify.js.map +1 -1
  187. package/dist/hooks/core/actions.d.ts +64 -67
  188. package/dist/hooks/core/actions.d.ts.map +1 -1
  189. package/dist/hooks/core/actions.js +39 -24
  190. package/dist/hooks/core/actions.js.map +1 -1
  191. package/dist/hooks/core/activity-end.d.ts +20 -0
  192. package/dist/hooks/core/activity-end.d.ts.map +1 -0
  193. package/dist/hooks/core/activity-end.js +23 -0
  194. package/dist/hooks/core/activity-end.js.map +1 -0
  195. package/dist/hooks/core/required-tools.d.ts +30 -0
  196. package/dist/hooks/core/required-tools.d.ts.map +1 -0
  197. package/dist/hooks/core/required-tools.js +70 -0
  198. package/dist/hooks/core/required-tools.js.map +1 -0
  199. package/dist/hooks/core/session-state.d.ts +12 -3
  200. package/dist/hooks/core/session-state.d.ts.map +1 -1
  201. package/dist/hooks/core/session-state.js +59 -0
  202. package/dist/hooks/core/session-state.js.map +1 -1
  203. package/dist/hooks/core/submit-verdict.d.ts.map +1 -1
  204. package/dist/hooks/core/submit-verdict.js +16 -12
  205. package/dist/hooks/core/submit-verdict.js.map +1 -1
  206. package/dist/hooks/core/verify-gate.d.ts +17 -3
  207. package/dist/hooks/core/verify-gate.d.ts.map +1 -1
  208. package/dist/hooks/core/verify-gate.js +312 -116
  209. package/dist/hooks/core/verify-gate.js.map +1 -1
  210. package/dist/import/claude/analytics-runner.d.ts +42 -0
  211. package/dist/import/claude/analytics-runner.d.ts.map +1 -0
  212. package/dist/import/claude/analytics-runner.js +213 -0
  213. package/dist/import/claude/analytics-runner.js.map +1 -0
  214. package/dist/import/claude/discovery.d.ts +22 -0
  215. package/dist/import/claude/discovery.d.ts.map +1 -0
  216. package/dist/import/claude/discovery.js +197 -0
  217. package/dist/import/claude/discovery.js.map +1 -0
  218. package/dist/import/claude/encoding.d.ts +50 -0
  219. package/dist/import/claude/encoding.d.ts.map +1 -0
  220. package/dist/import/claude/encoding.js +110 -0
  221. package/dist/import/claude/encoding.js.map +1 -0
  222. package/dist/import/claude/events/file-change.d.ts +28 -0
  223. package/dist/import/claude/events/file-change.d.ts.map +1 -0
  224. package/dist/import/claude/events/file-change.js +112 -0
  225. package/dist/import/claude/events/file-change.js.map +1 -0
  226. package/dist/import/claude/events/tool-call.d.ts +61 -0
  227. package/dist/import/claude/events/tool-call.d.ts.map +1 -0
  228. package/dist/import/claude/events/tool-call.js +119 -0
  229. package/dist/import/claude/events/tool-call.js.map +1 -0
  230. package/dist/import/claude/runner.d.ts +31 -0
  231. package/dist/import/claude/runner.d.ts.map +1 -0
  232. package/dist/import/claude/runner.js +280 -0
  233. package/dist/import/claude/runner.js.map +1 -0
  234. package/dist/import/claude/summary.d.ts +23 -0
  235. package/dist/import/claude/summary.d.ts.map +1 -0
  236. package/dist/import/claude/summary.js +186 -0
  237. package/dist/import/claude/summary.js.map +1 -0
  238. package/dist/import/claude/transcript-walk.d.ts +52 -0
  239. package/dist/import/claude/transcript-walk.d.ts.map +1 -0
  240. package/dist/import/claude/transcript-walk.js +187 -0
  241. package/dist/import/claude/transcript-walk.js.map +1 -0
  242. package/dist/import/concurrent-pool.d.ts +45 -0
  243. package/dist/import/concurrent-pool.d.ts.map +1 -0
  244. package/dist/import/concurrent-pool.js +95 -0
  245. package/dist/import/concurrent-pool.js.map +1 -0
  246. package/dist/import/emitter.d.ts +29 -0
  247. package/dist/import/emitter.d.ts.map +1 -0
  248. package/dist/import/emitter.js +66 -0
  249. package/dist/import/emitter.js.map +1 -0
  250. package/dist/import/events/activity.d.ts +23 -0
  251. package/dist/import/events/activity.d.ts.map +1 -0
  252. package/dist/import/events/activity.js +45 -0
  253. package/dist/import/events/activity.js.map +1 -0
  254. package/dist/import/events/session.d.ts +24 -0
  255. package/dist/import/events/session.d.ts.map +1 -0
  256. package/dist/import/events/session.js +47 -0
  257. package/dist/import/events/session.js.map +1 -0
  258. package/dist/import/filter.d.ts +47 -0
  259. package/dist/import/filter.d.ts.map +1 -0
  260. package/dist/import/filter.js +90 -0
  261. package/dist/import/filter.js.map +1 -0
  262. package/dist/import/ids.d.ts +56 -0
  263. package/dist/import/ids.d.ts.map +1 -0
  264. package/dist/import/ids.js +87 -0
  265. package/dist/import/ids.js.map +1 -0
  266. package/dist/import/index.d.ts +29 -0
  267. package/dist/import/index.d.ts.map +1 -0
  268. package/dist/import/index.js +52 -0
  269. package/dist/import/index.js.map +1 -0
  270. package/dist/import/marker.d.ts +20 -0
  271. package/dist/import/marker.d.ts.map +1 -0
  272. package/dist/import/marker.js +71 -0
  273. package/dist/import/marker.js.map +1 -0
  274. package/dist/import/pipeline.d.ts +41 -0
  275. package/dist/import/pipeline.d.ts.map +1 -0
  276. package/dist/import/pipeline.js +47 -0
  277. package/dist/import/pipeline.js.map +1 -0
  278. package/dist/import/progress.d.ts +20 -0
  279. package/dist/import/progress.d.ts.map +1 -0
  280. package/dist/import/progress.js +69 -0
  281. package/dist/import/progress.js.map +1 -0
  282. package/dist/import/skip.d.ts +13 -0
  283. package/dist/import/skip.d.ts.map +1 -0
  284. package/dist/import/skip.js +24 -0
  285. package/dist/import/skip.js.map +1 -0
  286. package/dist/import/types.d.ts +125 -0
  287. package/dist/import/types.d.ts.map +1 -0
  288. package/dist/import/types.js +28 -0
  289. package/dist/import/types.js.map +1 -0
  290. package/dist/index.js +21 -2
  291. package/dist/index.js.map +1 -1
  292. package/dist/lib/collector.d.ts +29 -3
  293. package/dist/lib/collector.d.ts.map +1 -1
  294. package/dist/lib/collector.js +118 -8
  295. package/dist/lib/collector.js.map +1 -1
  296. package/dist/lib/config.d.ts +240 -83
  297. package/dist/lib/config.d.ts.map +1 -1
  298. package/dist/lib/config.js +482 -89
  299. package/dist/lib/config.js.map +1 -1
  300. package/dist/lib/event.d.ts +72 -0
  301. package/dist/lib/event.d.ts.map +1 -0
  302. package/dist/lib/event.js +42 -0
  303. package/dist/lib/event.js.map +1 -0
  304. package/dist/lib/gitignore.d.ts +21 -0
  305. package/dist/lib/gitignore.d.ts.map +1 -0
  306. package/dist/lib/gitignore.js +54 -0
  307. package/dist/lib/gitignore.js.map +1 -0
  308. package/dist/lib/runtime-section.d.ts +118 -0
  309. package/dist/lib/runtime-section.d.ts.map +1 -0
  310. package/dist/lib/runtime-section.js +256 -0
  311. package/dist/lib/runtime-section.js.map +1 -0
  312. package/dist/lib/telemetry.d.ts +1 -1
  313. package/dist/lib/telemetry.d.ts.map +1 -1
  314. package/dist/lib/telemetry.js +4 -1
  315. package/dist/lib/telemetry.js.map +1 -1
  316. package/dist/queue/dead-letter.d.ts +5 -1
  317. package/dist/queue/dead-letter.d.ts.map +1 -1
  318. package/dist/queue/dead-letter.js +5 -1
  319. package/dist/queue/dead-letter.js.map +1 -1
  320. package/dist/queue/drain.d.ts +3 -2
  321. package/dist/queue/drain.d.ts.map +1 -1
  322. package/dist/queue/drain.js +3 -2
  323. package/dist/queue/drain.js.map +1 -1
  324. package/dist/queue/flush.d.ts +28 -12
  325. package/dist/queue/flush.d.ts.map +1 -1
  326. package/dist/queue/flush.js +43 -18
  327. package/dist/queue/flush.js.map +1 -1
  328. package/dist/queue/handlers/send-event.d.ts.map +1 -1
  329. package/dist/queue/handlers/send-event.js.map +1 -1
  330. package/dist/queue/index.d.ts +1 -2
  331. package/dist/queue/index.d.ts.map +1 -1
  332. package/dist/queue/index.js +2 -2
  333. package/dist/queue/index.js.map +1 -1
  334. package/dist/queue/paths.d.ts +4 -2
  335. package/dist/queue/paths.d.ts.map +1 -1
  336. package/dist/queue/paths.js +4 -2
  337. package/dist/queue/paths.js.map +1 -1
  338. package/dist/queue/process-file.d.ts +5 -1
  339. package/dist/queue/process-file.d.ts.map +1 -1
  340. package/dist/queue/process-file.js +5 -1
  341. package/dist/queue/process-file.js.map +1 -1
  342. package/dist/queue/snapshot.d.ts +4 -1
  343. package/dist/queue/snapshot.d.ts.map +1 -1
  344. package/dist/queue/snapshot.js +4 -1
  345. package/dist/queue/snapshot.js.map +1 -1
  346. package/dist/queue/spawn.d.ts +1 -3
  347. package/dist/queue/spawn.d.ts.map +1 -1
  348. package/dist/queue/spawn.js +1 -3
  349. package/dist/queue/spawn.js.map +1 -1
  350. package/dist/queue/submit.d.ts +6 -1
  351. package/dist/queue/submit.d.ts.map +1 -1
  352. package/dist/queue/submit.js +6 -1
  353. package/dist/queue/submit.js.map +1 -1
  354. package/dist/queue/types.d.ts +5 -1
  355. package/dist/queue/types.d.ts.map +1 -1
  356. package/dist/queue/types.js +5 -1
  357. package/dist/queue/types.js.map +1 -1
  358. package/dist/queue/worker-log.d.ts +3 -1
  359. package/dist/queue/worker-log.d.ts.map +1 -1
  360. package/dist/queue/worker-log.js +3 -1
  361. package/dist/queue/worker-log.js.map +1 -1
  362. package/package.json +1 -1
@@ -3,4 +3,18 @@ import { IClient } from "./base";
3
3
  export declare const REGISTERED_CLIENTS: IClient[];
4
4
  export declare function findClient(name: string): IClient | undefined;
5
5
  export declare function detectClients(projectDir: string): IClient[];
6
+ export declare function clientNames(): string;
7
+ /**
8
+ * Pick which clients a toggle command (enable/disable verification or backend)
9
+ * should write to.
10
+ *
11
+ * - `clientOpt === "all"` → every registered client.
12
+ * - `clientOpt === <name>` → just that one (throws if unknown).
13
+ * - `clientOpt === undefined` → detected clients; falls back to the first
14
+ * registered client when nothing is detected (matches `install.ts`).
15
+ *
16
+ * Same shape as `install.ts`'s client-selection block, lifted here so toggle
17
+ * commands stay in sync.
18
+ */
19
+ export declare function resolveTargetClients(projectDir: string, clientOpt?: string): IClient[];
6
20
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/clients/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIjC,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,EAAE,OAAO,EAKvC,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAE5D;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,EAAE,CAE3D"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/clients/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIjC,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,EAAE,OAAO,EAKvC,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAE5D;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,EAAE,CAE3D;AAED,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAgBtF"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.REGISTERED_CLIENTS = void 0;
4
4
  exports.findClient = findClient;
5
5
  exports.detectClients = detectClients;
6
+ exports.clientNames = clientNames;
7
+ exports.resolveTargetClients = resolveTargetClients;
6
8
  const claude_1 = require("./claude");
7
9
  const cursor_1 = require("./cursor");
8
10
  /** All registered clients. Add new clients here as they are implemented. */
@@ -18,4 +20,36 @@ function findClient(name) {
18
20
  function detectClients(projectDir) {
19
21
  return exports.REGISTERED_CLIENTS.filter((c) => c.detect(projectDir));
20
22
  }
23
+ function clientNames() {
24
+ return exports.REGISTERED_CLIENTS.map((c) => c.name).join(", ");
25
+ }
26
+ /**
27
+ * Pick which clients a toggle command (enable/disable verification or backend)
28
+ * should write to.
29
+ *
30
+ * - `clientOpt === "all"` → every registered client.
31
+ * - `clientOpt === <name>` → just that one (throws if unknown).
32
+ * - `clientOpt === undefined` → detected clients; falls back to the first
33
+ * registered client when nothing is detected (matches `install.ts`).
34
+ *
35
+ * Same shape as `install.ts`'s client-selection block, lifted here so toggle
36
+ * commands stay in sync.
37
+ */
38
+ function resolveTargetClients(projectDir, clientOpt) {
39
+ if (clientOpt === "all") {
40
+ return exports.REGISTERED_CLIENTS;
41
+ }
42
+ if (clientOpt !== undefined) {
43
+ const found = findClient(clientOpt);
44
+ if (!found) {
45
+ throw new Error(`Unknown client: '${clientOpt}'. Available: ${clientNames()}.`);
46
+ }
47
+ return [found];
48
+ }
49
+ const detected = detectClients(projectDir);
50
+ if (detected.length > 0) {
51
+ return detected;
52
+ }
53
+ return [exports.REGISTERED_CLIENTS[0]];
54
+ }
21
55
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/clients/registry.ts"],"names":[],"mappings":";;;AAYA,gCAEC;AAED,sCAEC;AAjBD,qCAAwC;AACxC,qCAAwC;AAExC,4EAA4E;AAC/D,QAAA,kBAAkB,GAAc;IACzC,IAAI,qBAAY,EAAE;IAClB,IAAI,qBAAY,EAAE;IAClB,wEAAwE;IACxE,qEAAqE;CACxE,CAAC;AAEF,SAAgB,UAAU,CAAC,IAAY;IACnC,OAAO,0BAAkB,CAAC,IAAI,CAAC,CAAC,CAAU,EAAW,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,SAAgB,aAAa,CAAC,UAAkB;IAC5C,OAAO,0BAAkB,CAAC,MAAM,CAAC,CAAC,CAAU,EAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/clients/registry.ts"],"names":[],"mappings":";;;AAYA,gCAEC;AAED,sCAEC;AAED,kCAEC;AAcD,oDAgBC;AAnDD,qCAAwC;AACxC,qCAAwC;AAExC,4EAA4E;AAC/D,QAAA,kBAAkB,GAAc;IACzC,IAAI,qBAAY,EAAE;IAClB,IAAI,qBAAY,EAAE;IAClB,wEAAwE;IACxE,qEAAqE;CACxE,CAAC;AAEF,SAAgB,UAAU,CAAC,IAAY;IACnC,OAAO,0BAAkB,CAAC,IAAI,CAAC,CAAC,CAAU,EAAW,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,SAAgB,aAAa,CAAC,UAAkB;IAC5C,OAAO,0BAAkB,CAAC,MAAM,CAAC,CAAC,CAAU,EAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAgB,WAAW;IACvB,OAAO,0BAAkB,CAAC,GAAG,CAAC,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,oBAAoB,CAAC,UAAkB,EAAE,SAAkB;IACvE,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO,0BAAkB,CAAC;IAC9B,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAwB,UAAU,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,iBAAiB,WAAW,EAAE,GAAG,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAc,aAAa,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,0BAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwSpC,eAAO,MAAM,cAAc,EAAE,OA2CvB,CAAC"}
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiVpC,eAAO,MAAM,cAAc,EAAE,OA2CvB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.analyzeCommand = void 0;
4
4
  const commander_1 = require("commander");
5
+ const fs_1 = require("fs");
5
6
  const path_1 = require("path");
6
7
  const output_1 = require("../lib/output");
7
8
  const time_analysis_1 = require("../analysis/time-analysis");
@@ -11,6 +12,38 @@ const fix_effectiveness_1 = require("../analysis/fix-effectiveness");
11
12
  const scoring_1 = require("../analysis/scoring");
12
13
  const cross_session_1 = require("../analysis/cross-session");
13
14
  const verdict_details_1 = require("../analysis/verdict-details");
15
+ /**
16
+ * Detect a monitoring-only-mode session (verification disabled when it ran).
17
+ * The reliable signal is zero `verification_requested` events: enabled mode
18
+ * emits one per Stop hook fire (allow or block path), while monitoring mode
19
+ * runs `activity-end` instead, which never writes that event.
20
+ *
21
+ * We deliberately do NOT use zero `verification_start` — an enabled-mode
22
+ * session where the agent never edited code also has zero of those, but
23
+ * still gets `verification_requested` from the Stop hook.
24
+ */
25
+ function isMonitoringOnlySession(actionsFile) {
26
+ if (!(0, fs_1.existsSync)(actionsFile)) {
27
+ return false;
28
+ }
29
+ let content;
30
+ try {
31
+ content = (0, fs_1.readFileSync)(actionsFile, "utf-8");
32
+ }
33
+ catch {
34
+ return false;
35
+ }
36
+ const lines = content.split("\n");
37
+ for (const line of lines) {
38
+ if (line.includes("\"type\":\"verification_requested\"") || line.includes("\"type\": \"verification_requested\"")) {
39
+ return false;
40
+ }
41
+ }
42
+ // No verification_requested at all: monitoring-only OR a session that
43
+ // never reached Stop. Distinguish by requiring at least one session_start
44
+ // — without that we have no useful context anyway.
45
+ return content.includes("\"type\":\"session_start\"") || content.includes("\"type\": \"session_start\"");
46
+ }
14
47
  function formatDuration(ms) {
15
48
  if (ms < 1000) {
16
49
  return "0s";
@@ -143,8 +176,12 @@ function runSingleSessionAnalysis(sessionId, projectDir, opts) {
143
176
  output_1.log.warn("No analyzable session data found.");
144
177
  return;
145
178
  }
179
+ const monitoringOnly = isMonitoringOnlySession(actionsFile);
146
180
  if (opts.json) {
147
181
  const output = { ...result, ...qualityResult, ...codeChanges, ...fixEffectiveness, ...scoring };
182
+ if (monitoringOnly) {
183
+ output.mode = "monitoring-only";
184
+ }
148
185
  if (opts.detailed) {
149
186
  const details = (0, verdict_details_1.extractVerdictDetails)(actionsFile);
150
187
  if (details) {
@@ -158,6 +195,9 @@ function runSingleSessionAnalysis(sessionId, projectDir, opts) {
158
195
  console.log();
159
196
  console.log(` 📊 ${output_1.pc.bold("Session:")} ${output_1.pc.cyan(sessionId)}`);
160
197
  console.log(` ${output_1.pc.bold("Duration:")} ${output_1.pc.cyan(formatDuration(result.sessionDuration))}`);
198
+ if (monitoringOnly) {
199
+ console.log(` ${output_1.pc.yellow("⚠")} ${output_1.pc.yellow("Monitoring-only mode")} ${output_1.pc.dim("— verification metrics unavailable for this session")}`);
200
+ }
161
201
  section("Phase Distribution", "⏱️");
162
202
  const codingBar = bar(result.codingPercent);
163
203
  const verifyBar = bar(result.verificationPercent);
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Shared helpers for `enable-backend <runtime>` / `disable-backend <runtime>`.
3
+ *
4
+ * Per design §10 — opt-in activation for backend verification per runtime.
5
+ *
6
+ * - `applyEnableBackend(runtime, projectDir)` writes opinionated default
7
+ * `verifyPatterns` to the project config under `backend.<runtime>`.
8
+ * Refuses if patterns are already populated. Other fields
9
+ * (`alwaysRequired`, `evidencePaths`, `additionalVerifyPatterns`) are
10
+ * not written — they merge in from defaults at config-load time.
11
+ *
12
+ * - `applyDisableBackend(runtime, projectDir)` resets `verifyPatterns`
13
+ * to `[]` for the runtime, leaving customizations of other fields
14
+ * intact so a later re-enable restores them. Idempotent.
15
+ *
16
+ * Both throw when `<runtime>` isn't in the registered runtime set
17
+ * (today: just `node`); callers handle the error and exit.
18
+ */
19
+ export declare function knownRuntimes(): string[];
20
+ export declare function assertKnownRuntime(runtime: string): void;
21
+ /**
22
+ * Enable a backend runtime: write default `verifyPatterns` + splice the
23
+ * runtime fragment into installed skill/rule/command md files.
24
+ *
25
+ * No-op + warning when patterns are already populated (the user must
26
+ * `disable-backend` first to reset, since we don't want to clobber their
27
+ * custom additions).
28
+ *
29
+ * `clientName`: optional filter for which clients' md files to update.
30
+ * Same semantics as `applyVerificationToggle` — `"all"` / `<name>` /
31
+ * undefined (default: every registered client; per-file existsSync gate
32
+ * skips ones without installed artifacts).
33
+ */
34
+ export declare function applyEnableBackend(runtime: string, projectDir: string, clientName?: string): void;
35
+ /**
36
+ * Disable a backend runtime: reset `verifyPatterns` to `[]` and reset the
37
+ * runtime fragment in installed skill/rule/command md files.
38
+ *
39
+ * Customizations of `alwaysRequired`, `evidencePaths`, and
40
+ * `additionalVerifyPatterns` are preserved. Idempotent.
41
+ *
42
+ * `clientName`: same semantics as `applyEnableBackend`.
43
+ */
44
+ export declare function applyDisableBackend(runtime: string, projectDir: string, clientName?: string): void;
45
+ //# sourceMappingURL=backend-toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-toggle.d.ts","sourceRoot":"","sources":["../../src/commands/backend-toggle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAiDH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAWxC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKxD;AAyCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAgDjG;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAwBlG"}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ /**
3
+ * Shared helpers for `enable-backend <runtime>` / `disable-backend <runtime>`.
4
+ *
5
+ * Per design §10 — opt-in activation for backend verification per runtime.
6
+ *
7
+ * - `applyEnableBackend(runtime, projectDir)` writes opinionated default
8
+ * `verifyPatterns` to the project config under `backend.<runtime>`.
9
+ * Refuses if patterns are already populated. Other fields
10
+ * (`alwaysRequired`, `evidencePaths`, `additionalVerifyPatterns`) are
11
+ * not written — they merge in from defaults at config-load time.
12
+ *
13
+ * - `applyDisableBackend(runtime, projectDir)` resets `verifyPatterns`
14
+ * to `[]` for the runtime, leaving customizations of other fields
15
+ * intact so a later re-enable restores them. Idempotent.
16
+ *
17
+ * Both throw when `<runtime>` isn't in the registered runtime set
18
+ * (today: just `node`); callers handle the error and exit.
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.knownRuntimes = knownRuntimes;
22
+ exports.assertKnownRuntime = assertKnownRuntime;
23
+ exports.applyEnableBackend = applyEnableBackend;
24
+ exports.applyDisableBackend = applyDisableBackend;
25
+ const fs_1 = require("fs");
26
+ const path_1 = require("path");
27
+ const registry_1 = require("../clients/registry");
28
+ const logger_1 = require("../lib/logger");
29
+ const output_1 = require("../lib/output");
30
+ const config_1 = require("../lib/config");
31
+ const runtime_section_1 = require("../lib/runtime-section");
32
+ /**
33
+ * Locates the per-client fragments directory at runtime. Fragments live next
34
+ * to the compiled client code (`dist/clients/<client>/fragments/`), so we
35
+ * resolve relative to this file's location — same trick the install code
36
+ * uses to find skill/rule templates.
37
+ */
38
+ function fragmentsDirFor(client) {
39
+ return (0, path_1.join)(__dirname, "..", "clients", client, "fragments");
40
+ }
41
+ /** Opinionated verifyPatterns written by `enable-backend <runtime>`. */
42
+ const RUNTIME_DEFAULT_VERIFY_PATTERNS = {
43
+ node: [
44
+ "server/**/*.{ts,js,mjs,cjs}",
45
+ "src/server/**/*.{ts,js,mjs,cjs}",
46
+ "backend/**/*.{ts,js,mjs,cjs}",
47
+ "api/**/*.{ts,js,mjs,cjs}",
48
+ "src/api/**/*.{ts,js,mjs,cjs}",
49
+ "pages/api/**/*.{ts,js,mjs,cjs}",
50
+ "app/api/**/*.{ts,js,mjs,cjs}",
51
+ "routes/**/*.{ts,js,mjs,cjs}",
52
+ "**/server.{ts,js,mjs,cjs}",
53
+ ],
54
+ };
55
+ function knownRuntimes() {
56
+ const runtimes = [];
57
+ for (const server of config_1.BACKEND_SERVERS) {
58
+ const runtime = Object.keys(config_1.RUNTIME_TO_SERVER).find((k) => config_1.RUNTIME_TO_SERVER[k] === server);
59
+ if (runtime !== undefined) {
60
+ runtimes.push(runtime);
61
+ }
62
+ }
63
+ return runtimes;
64
+ }
65
+ function assertKnownRuntime(runtime) {
66
+ const known = knownRuntimes();
67
+ if (!known.includes(runtime)) {
68
+ throw new Error(`Unknown runtime '${runtime}'. Available: ${known.join(", ")}.`);
69
+ }
70
+ }
71
+ function projectConfigPath(projectDir) {
72
+ return (0, path_1.join)((0, path_1.resolve)(projectDir), ".ironbee", "config.json");
73
+ }
74
+ function readProjectConfig(configPath) {
75
+ if (!(0, fs_1.existsSync)(configPath)) {
76
+ return {};
77
+ }
78
+ try {
79
+ return JSON.parse((0, fs_1.readFileSync)(configPath, "utf-8"));
80
+ }
81
+ catch (e) {
82
+ logger_1.logger.debug(`failed to read ${configPath}: ${e}`);
83
+ throw new Error(`Project config at ${configPath} is not valid JSON: ${e instanceof Error ? e.message : e}`);
84
+ }
85
+ }
86
+ function writeProjectConfig(configPath, config) {
87
+ (0, fs_1.mkdirSync)((0, path_1.join)(configPath, ".."), { recursive: true });
88
+ (0, fs_1.writeFileSync)(configPath, JSON.stringify(config, null, 2) + "\n");
89
+ }
90
+ /**
91
+ * Resolve the client filter list passed to `applyRuntimeToProjectFiles`. We
92
+ * pass `undefined` for "all" so the helper iterates every registered client
93
+ * (its existsSync gate already skips clients without installed md files);
94
+ * for a specific name we pass `[name]`.
95
+ *
96
+ * Throws on unknown name. `clientName === "all" || undefined` returns
97
+ * undefined (== all clients).
98
+ */
99
+ function clientFilterForRuntime(projectDir, clientName) {
100
+ if (clientName === undefined || clientName === "all") {
101
+ return undefined;
102
+ }
103
+ // resolveTargetClients validates the name and throws when unknown.
104
+ const clients = (0, registry_1.resolveTargetClients)(projectDir, clientName);
105
+ return clients.map((c) => c.name);
106
+ }
107
+ /**
108
+ * Enable a backend runtime: write default `verifyPatterns` + splice the
109
+ * runtime fragment into installed skill/rule/command md files.
110
+ *
111
+ * No-op + warning when patterns are already populated (the user must
112
+ * `disable-backend` first to reset, since we don't want to clobber their
113
+ * custom additions).
114
+ *
115
+ * `clientName`: optional filter for which clients' md files to update.
116
+ * Same semantics as `applyVerificationToggle` — `"all"` / `<name>` /
117
+ * undefined (default: every registered client; per-file existsSync gate
118
+ * skips ones without installed artifacts).
119
+ */
120
+ function applyEnableBackend(runtime, projectDir, clientName) {
121
+ assertKnownRuntime(runtime);
122
+ const configPath = projectConfigPath(projectDir);
123
+ const config = readProjectConfig(configPath);
124
+ if (!config.backend) {
125
+ config.backend = {};
126
+ }
127
+ const block = config.backend[runtime] ?? {};
128
+ const existing = Array.isArray(block.verifyPatterns) ? block.verifyPatterns : [];
129
+ if (existing.length > 0) {
130
+ console.log(`${output_1.pc.yellow("⚠")} ${runtime} backend is already enabled in ${output_1.pc.dim(configPath)}.\n` +
131
+ ` Run ${output_1.pc.cyan(`ironbee disable-backend ${runtime}`)} first, or empty the verifyPatterns array manually,\n` +
132
+ ` then re-run enable-backend to re-apply defaults.`);
133
+ return;
134
+ }
135
+ const defaults = RUNTIME_DEFAULT_VERIFY_PATTERNS[runtime];
136
+ if (defaults === undefined) {
137
+ throw new Error(`No opinionated default patterns registered for runtime '${runtime}'.`);
138
+ }
139
+ block.verifyPatterns = [...defaults];
140
+ config.backend[runtime] = block;
141
+ writeProjectConfig(configPath, config);
142
+ // Splice the runtime fragment into installed md files (skill/rule/command).
143
+ // `clientName` narrows the iteration; without it we sweep every registered
144
+ // client and rely on existsSync to skip ones without installed artifacts.
145
+ const clientFilter = clientFilterForRuntime(projectDir, clientName);
146
+ const updatedFiles = (0, runtime_section_1.applyRuntimeToProjectFiles)(projectDir, runtime, true, fragmentsDirFor, clientFilter);
147
+ console.log(`${output_1.pc.green("✓")} Enabled ${output_1.pc.bold(runtime)} backend verification in ${output_1.pc.dim(configPath)}.`);
148
+ console.log(` ${output_1.pc.dim("Patterns applied to backend." + runtime + ".verifyPatterns:")}`);
149
+ for (const p of defaults) {
150
+ console.log(` ${output_1.pc.dim("- " + p)}`);
151
+ }
152
+ if (updatedFiles.length > 0) {
153
+ console.log(`\n ${output_1.pc.dim("Updated agent guidance files:")}`);
154
+ for (const f of updatedFiles) {
155
+ console.log(` ${output_1.pc.dim("- " + f)}`);
156
+ }
157
+ }
158
+ console.log(`\n ${output_1.pc.dim("Edit the patterns to match your project, or add overrides via")} ${output_1.pc.cyan(`backend.${runtime}.additionalVerifyPatterns`)}${output_1.pc.dim(".")}`);
159
+ }
160
+ /**
161
+ * Disable a backend runtime: reset `verifyPatterns` to `[]` and reset the
162
+ * runtime fragment in installed skill/rule/command md files.
163
+ *
164
+ * Customizations of `alwaysRequired`, `evidencePaths`, and
165
+ * `additionalVerifyPatterns` are preserved. Idempotent.
166
+ *
167
+ * `clientName`: same semantics as `applyEnableBackend`.
168
+ */
169
+ function applyDisableBackend(runtime, projectDir, clientName) {
170
+ assertKnownRuntime(runtime);
171
+ const configPath = projectConfigPath(projectDir);
172
+ const config = readProjectConfig(configPath);
173
+ const block = config.backend?.[runtime];
174
+ const currentPatterns = Array.isArray(block?.verifyPatterns) ? block.verifyPatterns : [];
175
+ if (block === undefined || currentPatterns.length === 0) {
176
+ console.log(`${output_1.pc.dim("·")} ${runtime} backend already disabled (no-op).`);
177
+ return;
178
+ }
179
+ block.verifyPatterns = [];
180
+ writeProjectConfig(configPath, config);
181
+ const clientFilter = clientFilterForRuntime(projectDir, clientName);
182
+ const updatedFiles = (0, runtime_section_1.applyRuntimeToProjectFiles)(projectDir, runtime, false, fragmentsDirFor, clientFilter);
183
+ console.log(`${output_1.pc.green("✓")} Disabled ${output_1.pc.bold(runtime)} backend verification in ${output_1.pc.dim(configPath)}.`);
184
+ console.log(` ${output_1.pc.dim("Customizations of alwaysRequired, evidencePaths, additionalVerifyPatterns are preserved.")}`);
185
+ if (updatedFiles.length > 0) {
186
+ console.log(` ${output_1.pc.dim("Reset agent guidance for the runtime block in:")}`);
187
+ for (const f of updatedFiles) {
188
+ console.log(` ${output_1.pc.dim("- " + f)}`);
189
+ }
190
+ }
191
+ }
192
+ //# sourceMappingURL=backend-toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-toggle.js","sourceRoot":"","sources":["../../src/commands/backend-toggle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * `ironbee disable-backend <runtime>`
3
+ *
4
+ * Disable backend verification for a runtime — resets `verifyPatterns` to
5
+ * `[]` for the runtime, leaving customizations of `alwaysRequired`,
6
+ * `evidencePaths`, and `additionalVerifyPatterns` intact so a later
7
+ * re-enable restores them. Idempotent.
8
+ *
9
+ * Pairs with `enable-backend` (separate file by design — both call shared
10
+ * helpers in `backend-toggle.ts`).
11
+ */
12
+ import { Command } from "commander";
13
+ export declare const disableBackendCommand: Command;
14
+ //# sourceMappingURL=disable-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disable-backend.d.ts","sourceRoot":"","sources":["../../src/commands/disable-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,qBAAqB,EAAE,OAa9B,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * `ironbee disable-backend <runtime>`
4
+ *
5
+ * Disable backend verification for a runtime — resets `verifyPatterns` to
6
+ * `[]` for the runtime, leaving customizations of `alwaysRequired`,
7
+ * `evidencePaths`, and `additionalVerifyPatterns` intact so a later
8
+ * re-enable restores them. Idempotent.
9
+ *
10
+ * Pairs with `enable-backend` (separate file by design — both call shared
11
+ * helpers in `backend-toggle.ts`).
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.disableBackendCommand = void 0;
15
+ const commander_1 = require("commander");
16
+ const registry_1 = require("../clients/registry");
17
+ const output_1 = require("../lib/output");
18
+ const backend_toggle_1 = require("./backend-toggle");
19
+ exports.disableBackendCommand = new commander_1.Command("disable-backend")
20
+ .description("Disable backend verification for a runtime in the current project (resets verifyPatterns to []; preserves other customizations).")
21
+ .argument("<runtime>", `Runtime to disable. Available: ${(0, backend_toggle_1.knownRuntimes)().join(", ")}.`)
22
+ .option("-p, --project-dir <dir>", "Project directory (default: cwd).")
23
+ .option("--client <name>", `Only update guidance md files for this client (${(0, registry_1.clientNames)()}), or "all". Default: every registered client (per-file existsSync gate skips uninstalled ones).`)
24
+ .action((runtime, opts) => {
25
+ try {
26
+ const projectDir = opts.projectDir ?? process.cwd();
27
+ (0, backend_toggle_1.applyDisableBackend)(runtime, projectDir, opts.client);
28
+ }
29
+ catch (e) {
30
+ console.error(`${output_1.pc.red("✗")} ${e instanceof Error ? e.message : e}`);
31
+ process.exit(1);
32
+ }
33
+ });
34
+ //# sourceMappingURL=disable-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disable-backend.js","sourceRoot":"","sources":["../../src/commands/disable-backend.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,yCAAoC;AACpC,kDAAkD;AAClD,0CAAmC;AACnC,qDAAsE;AAEzD,QAAA,qBAAqB,GAAY,IAAI,mBAAO,CAAC,iBAAiB,CAAC;KACvE,WAAW,CAAC,kIAAkI,CAAC;KAC/I,QAAQ,CAAC,WAAW,EAAE,kCAAkC,IAAA,8BAAa,GAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;KACtF,MAAM,CAAC,yBAAyB,EAAE,mCAAmC,CAAC;KACtE,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,IAAA,sBAAW,GAAE,kGAAkG,CAAC;KAC5L,MAAM,CAAC,CAAC,OAAe,EAAE,IAA8C,EAAQ,EAAE;IAC9E,IAAI,CAAC;QACD,MAAM,UAAU,GAAW,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5D,IAAA,oCAAmB,EAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,GAAG,WAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * `ironbee disable-verification`
3
+ *
4
+ * Turns verification enforcement off for the current project; ironbee runs
5
+ * in monitoring-only mode (session/activity/tool_call telemetry still flows
6
+ * to the collector; no skill/rule/MCP/enforcement hooks). Writes
7
+ * `verification.enable: false` to the project (or `--global`) config and
8
+ * re-renders all client artifacts via the shared `applyVerificationToggle`
9
+ * helper (see `verification-toggle.ts` for the full design).
10
+ *
11
+ * Pairs with `enable-verification` (separate file by design — both call the
12
+ * same helper, only the boolean differs).
13
+ */
14
+ import { Command } from "commander";
15
+ export declare const disableVerificationCommand: Command;
16
+ //# sourceMappingURL=disable-verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disable-verification.d.ts","sourceRoot":"","sources":["../../src/commands/disable-verification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,0BAA0B,EAAE,OAanC,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ /**
3
+ * `ironbee disable-verification`
4
+ *
5
+ * Turns verification enforcement off for the current project; ironbee runs
6
+ * in monitoring-only mode (session/activity/tool_call telemetry still flows
7
+ * to the collector; no skill/rule/MCP/enforcement hooks). Writes
8
+ * `verification.enable: false` to the project (or `--global`) config and
9
+ * re-renders all client artifacts via the shared `applyVerificationToggle`
10
+ * helper (see `verification-toggle.ts` for the full design).
11
+ *
12
+ * Pairs with `enable-verification` (separate file by design — both call the
13
+ * same helper, only the boolean differs).
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.disableVerificationCommand = void 0;
17
+ const commander_1 = require("commander");
18
+ const registry_1 = require("../clients/registry");
19
+ const output_1 = require("../lib/output");
20
+ const verification_toggle_1 = require("./verification-toggle");
21
+ exports.disableVerificationCommand = new commander_1.Command("disable-verification")
22
+ .description("Turn off verification enforcement for the current project; ironbee runs in monitoring-only mode (session/activity/tool_call telemetry still flows to the collector).")
23
+ .option("-p, --project-dir <dir>", "Project directory (default: cwd).")
24
+ .option("-g, --global", "Write to the global config (~/.ironbee/config.json) instead of the project.")
25
+ .option("--client <name>", `Only re-render artifacts for this client (${(0, registry_1.clientNames)()}), or "all". Default: detected clients.`)
26
+ .action((opts) => {
27
+ try {
28
+ const projectDir = opts.projectDir ?? process.cwd();
29
+ (0, verification_toggle_1.applyVerificationToggle)(false, projectDir, opts.global ?? false, opts.client);
30
+ }
31
+ catch (e) {
32
+ console.error(`${output_1.pc.red("✗")} ${e instanceof Error ? e.message : e}`);
33
+ process.exit(1);
34
+ }
35
+ });
36
+ //# sourceMappingURL=disable-verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disable-verification.js","sourceRoot":"","sources":["../../src/commands/disable-verification.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAEH,yCAAoC;AACpC,kDAAkD;AAClD,0CAAmC;AACnC,+DAAgE;AAEnD,QAAA,0BAA0B,GAAY,IAAI,mBAAO,CAAC,sBAAsB,CAAC;KACjF,WAAW,CAAC,sKAAsK,CAAC;KACnL,MAAM,CAAC,yBAAyB,EAAE,mCAAmC,CAAC;KACtE,MAAM,CAAC,cAAc,EAAE,6EAA6E,CAAC;KACrG,MAAM,CAAC,iBAAiB,EAAE,6CAA6C,IAAA,sBAAW,GAAE,yCAAyC,CAAC;KAC9H,MAAM,CAAC,CAAC,IAAgE,EAAQ,EAAE;IAC/E,IAAI,CAAC;QACD,MAAM,UAAU,GAAW,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5D,IAAA,6CAAuB,EAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,GAAG,WAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC,CAAC,CAAC"}