@ironbee-ai/cli 0.6.1 → 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 (381) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +167 -39
  3. package/dist/analysis/code-changes.js +3 -3
  4. package/dist/analysis/code-changes.js.map +1 -1
  5. package/dist/analysis/cross-session.js.map +1 -1
  6. package/dist/analysis/fix-effectiveness.js.map +1 -1
  7. package/dist/analysis/time-analysis.js.map +1 -1
  8. package/dist/analysis/verdict-details.js.map +1 -1
  9. package/dist/analysis/verification-quality.js.map +1 -1
  10. package/dist/analytics/classifier.d.ts +99 -0
  11. package/dist/analytics/classifier.d.ts.map +1 -0
  12. package/dist/analytics/classifier.js +380 -0
  13. package/dist/analytics/classifier.js.map +1 -0
  14. package/dist/analytics/emit.d.ts +67 -0
  15. package/dist/analytics/emit.d.ts.map +1 -0
  16. package/dist/analytics/emit.js +901 -0
  17. package/dist/analytics/emit.js.map +1 -0
  18. package/dist/analytics/errors.d.ts +33 -0
  19. package/dist/analytics/errors.d.ts.map +1 -0
  20. package/dist/analytics/errors.js +93 -0
  21. package/dist/analytics/errors.js.map +1 -0
  22. package/dist/analytics/hook-trigger.d.ts +39 -0
  23. package/dist/analytics/hook-trigger.d.ts.map +1 -0
  24. package/dist/analytics/hook-trigger.js +127 -0
  25. package/dist/analytics/hook-trigger.js.map +1 -0
  26. package/dist/analytics/log.d.ts +44 -0
  27. package/dist/analytics/log.d.ts.map +1 -0
  28. package/dist/analytics/log.js +158 -0
  29. package/dist/analytics/log.js.map +1 -0
  30. package/dist/analytics/merge.d.ts +40 -0
  31. package/dist/analytics/merge.d.ts.map +1 -0
  32. package/dist/analytics/merge.js +527 -0
  33. package/dist/analytics/merge.js.map +1 -0
  34. package/dist/analytics/pricing.d.ts +149 -0
  35. package/dist/analytics/pricing.d.ts.map +1 -0
  36. package/dist/analytics/pricing.js +179 -0
  37. package/dist/analytics/pricing.js.map +1 -0
  38. package/dist/analytics/projection.d.ts +356 -0
  39. package/dist/analytics/projection.d.ts.map +1 -0
  40. package/dist/analytics/projection.js +2281 -0
  41. package/dist/analytics/projection.js.map +1 -0
  42. package/dist/analytics/spawn.d.ts +28 -0
  43. package/dist/analytics/spawn.d.ts.map +1 -0
  44. package/dist/analytics/spawn.js +57 -0
  45. package/dist/analytics/spawn.js.map +1 -0
  46. package/dist/analytics/state.d.ts +58 -0
  47. package/dist/analytics/state.d.ts.map +1 -0
  48. package/dist/analytics/state.js +329 -0
  49. package/dist/analytics/state.js.map +1 -0
  50. package/dist/analytics/transcript.d.ts +150 -0
  51. package/dist/analytics/transcript.d.ts.map +1 -0
  52. package/dist/analytics/transcript.js +276 -0
  53. package/dist/analytics/transcript.js.map +1 -0
  54. package/dist/analytics/types.d.ts +875 -0
  55. package/dist/analytics/types.d.ts.map +1 -0
  56. package/dist/analytics/types.js +31 -0
  57. package/dist/analytics/types.js.map +1 -0
  58. package/dist/clients/base.d.ts +21 -2
  59. package/dist/clients/base.d.ts.map +1 -1
  60. package/dist/clients/claude/commands/ironbee-verify.md +15 -7
  61. package/dist/clients/claude/fragments/command-verify.node.md +33 -0
  62. package/dist/clients/claude/fragments/rule.node.md +29 -0
  63. package/dist/clients/claude/fragments/skill.node.md +77 -0
  64. package/dist/clients/claude/hooks/activity-end.d.ts +13 -0
  65. package/dist/clients/claude/hooks/activity-end.d.ts.map +1 -0
  66. package/dist/clients/claude/hooks/activity-end.js +42 -0
  67. package/dist/clients/claude/hooks/activity-end.js.map +1 -0
  68. package/dist/clients/claude/hooks/clear-verdict.d.ts +9 -4
  69. package/dist/clients/claude/hooks/clear-verdict.d.ts.map +1 -1
  70. package/dist/clients/claude/hooks/clear-verdict.js +50 -12
  71. package/dist/clients/claude/hooks/clear-verdict.js.map +1 -1
  72. package/dist/clients/claude/hooks/require-verdict.d.ts +8 -3
  73. package/dist/clients/claude/hooks/require-verdict.d.ts.map +1 -1
  74. package/dist/clients/claude/hooks/require-verdict.js +17 -6
  75. package/dist/clients/claude/hooks/require-verdict.js.map +1 -1
  76. package/dist/clients/claude/hooks/require-verification.d.ts +7 -4
  77. package/dist/clients/claude/hooks/require-verification.d.ts.map +1 -1
  78. package/dist/clients/claude/hooks/require-verification.js +44 -22
  79. package/dist/clients/claude/hooks/require-verification.js.map +1 -1
  80. package/dist/clients/claude/hooks/session-end.d.ts.map +1 -1
  81. package/dist/clients/claude/hooks/session-end.js +17 -2
  82. package/dist/clients/claude/hooks/session-end.js.map +1 -1
  83. package/dist/clients/claude/hooks/session-start.d.ts.map +1 -1
  84. package/dist/clients/claude/hooks/session-start.js +2 -1
  85. package/dist/clients/claude/hooks/session-start.js.map +1 -1
  86. package/dist/clients/claude/hooks/track-action-monitor.d.ts +27 -0
  87. package/dist/clients/claude/hooks/track-action-monitor.d.ts.map +1 -0
  88. package/dist/clients/claude/hooks/track-action-monitor.js +126 -0
  89. package/dist/clients/claude/hooks/track-action-monitor.js.map +1 -0
  90. package/dist/clients/claude/hooks/track-action.d.ts.map +1 -1
  91. package/dist/clients/claude/hooks/track-action.js +29 -20
  92. package/dist/clients/claude/hooks/track-action.js.map +1 -1
  93. package/dist/clients/claude/hooks/verify-gate.d.ts.map +1 -1
  94. package/dist/clients/claude/hooks/verify-gate.js +18 -1
  95. package/dist/clients/claude/hooks/verify-gate.js.map +1 -1
  96. package/dist/clients/claude/index.d.ts +4 -1
  97. package/dist/clients/claude/index.d.ts.map +1 -1
  98. package/dist/clients/claude/index.js +185 -94
  99. package/dist/clients/claude/index.js.map +1 -1
  100. package/dist/clients/claude/rules/ironbee-verification.md +41 -33
  101. package/dist/clients/claude/skills/ironbee-verification.md +93 -76
  102. package/dist/clients/cursor/commands/ironbee-verify/SKILL.md +18 -10
  103. package/dist/clients/cursor/fragments/command-verify.node.md +33 -0
  104. package/dist/clients/cursor/fragments/rule.node.md +29 -0
  105. package/dist/clients/cursor/fragments/skill.node.md +77 -0
  106. package/dist/clients/cursor/hooks/activity-end.d.ts +14 -0
  107. package/dist/clients/cursor/hooks/activity-end.d.ts.map +1 -0
  108. package/dist/clients/cursor/hooks/activity-end.js +45 -0
  109. package/dist/clients/cursor/hooks/activity-end.js.map +1 -0
  110. package/dist/clients/cursor/hooks/clear-verdict.d.ts +13 -4
  111. package/dist/clients/cursor/hooks/clear-verdict.d.ts.map +1 -1
  112. package/dist/clients/cursor/hooks/clear-verdict.js +59 -14
  113. package/dist/clients/cursor/hooks/clear-verdict.js.map +1 -1
  114. package/dist/clients/cursor/hooks/require-verdict.d.ts +8 -3
  115. package/dist/clients/cursor/hooks/require-verdict.d.ts.map +1 -1
  116. package/dist/clients/cursor/hooks/require-verdict.js +17 -6
  117. package/dist/clients/cursor/hooks/require-verdict.js.map +1 -1
  118. package/dist/clients/cursor/hooks/require-verification.d.ts.map +1 -1
  119. package/dist/clients/cursor/hooks/require-verification.js +42 -16
  120. package/dist/clients/cursor/hooks/require-verification.js.map +1 -1
  121. package/dist/clients/cursor/hooks/session-end.d.ts.map +1 -1
  122. package/dist/clients/cursor/hooks/session-end.js +18 -2
  123. package/dist/clients/cursor/hooks/session-end.js.map +1 -1
  124. package/dist/clients/cursor/hooks/session-start.d.ts.map +1 -1
  125. package/dist/clients/cursor/hooks/session-start.js +2 -1
  126. package/dist/clients/cursor/hooks/session-start.js.map +1 -1
  127. package/dist/clients/cursor/hooks/track-action-monitor.d.ts +27 -0
  128. package/dist/clients/cursor/hooks/track-action-monitor.d.ts.map +1 -0
  129. package/dist/clients/cursor/hooks/track-action-monitor.js +133 -0
  130. package/dist/clients/cursor/hooks/track-action-monitor.js.map +1 -0
  131. package/dist/clients/cursor/hooks/track-action.d.ts.map +1 -1
  132. package/dist/clients/cursor/hooks/track-action.js +51 -23
  133. package/dist/clients/cursor/hooks/track-action.js.map +1 -1
  134. package/dist/clients/cursor/hooks/verify-gate.d.ts.map +1 -1
  135. package/dist/clients/cursor/hooks/verify-gate.js +14 -1
  136. package/dist/clients/cursor/hooks/verify-gate.js.map +1 -1
  137. package/dist/clients/cursor/index.d.ts +4 -1
  138. package/dist/clients/cursor/index.d.ts.map +1 -1
  139. package/dist/clients/cursor/index.js +131 -65
  140. package/dist/clients/cursor/index.js.map +1 -1
  141. package/dist/clients/cursor/rules/ironbee-verification.mdc +37 -29
  142. package/dist/clients/cursor/skills/ironbee-verification.md +93 -76
  143. package/dist/clients/registry.d.ts +14 -0
  144. package/dist/clients/registry.d.ts.map +1 -1
  145. package/dist/clients/registry.js +34 -0
  146. package/dist/clients/registry.js.map +1 -1
  147. package/dist/commands/analyze.d.ts.map +1 -1
  148. package/dist/commands/analyze.js +40 -0
  149. package/dist/commands/analyze.js.map +1 -1
  150. package/dist/commands/backend-toggle.d.ts +45 -0
  151. package/dist/commands/backend-toggle.d.ts.map +1 -0
  152. package/dist/commands/backend-toggle.js +192 -0
  153. package/dist/commands/backend-toggle.js.map +1 -0
  154. package/dist/commands/disable-backend.d.ts +14 -0
  155. package/dist/commands/disable-backend.d.ts.map +1 -0
  156. package/dist/commands/disable-backend.js +34 -0
  157. package/dist/commands/disable-backend.js.map +1 -0
  158. package/dist/commands/disable-verification.d.ts +16 -0
  159. package/dist/commands/disable-verification.d.ts.map +1 -0
  160. package/dist/commands/disable-verification.js +36 -0
  161. package/dist/commands/disable-verification.js.map +1 -0
  162. package/dist/commands/enable-backend.d.ts +15 -0
  163. package/dist/commands/enable-backend.d.ts.map +1 -0
  164. package/dist/commands/enable-backend.js +35 -0
  165. package/dist/commands/enable-backend.js.map +1 -0
  166. package/dist/commands/enable-verification.d.ts +14 -0
  167. package/dist/commands/enable-verification.d.ts.map +1 -0
  168. package/dist/commands/enable-verification.js +34 -0
  169. package/dist/commands/enable-verification.js.map +1 -0
  170. package/dist/commands/hook.d.ts.map +1 -1
  171. package/dist/commands/hook.js +60 -0
  172. package/dist/commands/hook.js.map +1 -1
  173. package/dist/commands/import.d.ts +39 -0
  174. package/dist/commands/import.d.ts.map +1 -0
  175. package/dist/commands/import.js +369 -0
  176. package/dist/commands/import.js.map +1 -0
  177. package/dist/commands/install.d.ts.map +1 -1
  178. package/dist/commands/install.js +15 -20
  179. package/dist/commands/install.js.map +1 -1
  180. package/dist/commands/process-analytics.d.ts +18 -0
  181. package/dist/commands/process-analytics.d.ts.map +1 -0
  182. package/dist/commands/process-analytics.js +57 -0
  183. package/dist/commands/process-analytics.js.map +1 -0
  184. package/dist/commands/queue.d.ts +2 -3
  185. package/dist/commands/queue.d.ts.map +1 -1
  186. package/dist/commands/queue.js +2 -3
  187. package/dist/commands/queue.js.map +1 -1
  188. package/dist/commands/status.d.ts.map +1 -1
  189. package/dist/commands/status.js +29 -1
  190. package/dist/commands/status.js.map +1 -1
  191. package/dist/commands/verification-toggle.d.ts +47 -0
  192. package/dist/commands/verification-toggle.d.ts.map +1 -0
  193. package/dist/commands/verification-toggle.js +113 -0
  194. package/dist/commands/verification-toggle.js.map +1 -0
  195. package/dist/commands/verify.d.ts.map +1 -1
  196. package/dist/commands/verify.js +28 -0
  197. package/dist/commands/verify.js.map +1 -1
  198. package/dist/hooks/core/actions.d.ts +77 -70
  199. package/dist/hooks/core/actions.d.ts.map +1 -1
  200. package/dist/hooks/core/actions.js +45 -30
  201. package/dist/hooks/core/actions.js.map +1 -1
  202. package/dist/hooks/core/activity-end.d.ts +20 -0
  203. package/dist/hooks/core/activity-end.d.ts.map +1 -0
  204. package/dist/hooks/core/activity-end.js +23 -0
  205. package/dist/hooks/core/activity-end.js.map +1 -0
  206. package/dist/hooks/core/file-diff.d.ts +19 -0
  207. package/dist/hooks/core/file-diff.d.ts.map +1 -0
  208. package/dist/hooks/core/file-diff.js +39 -0
  209. package/dist/hooks/core/file-diff.js.map +1 -0
  210. package/dist/hooks/core/required-tools.d.ts +30 -0
  211. package/dist/hooks/core/required-tools.d.ts.map +1 -0
  212. package/dist/hooks/core/required-tools.js +70 -0
  213. package/dist/hooks/core/required-tools.js.map +1 -0
  214. package/dist/hooks/core/session-state.d.ts +12 -3
  215. package/dist/hooks/core/session-state.d.ts.map +1 -1
  216. package/dist/hooks/core/session-state.js +59 -0
  217. package/dist/hooks/core/session-state.js.map +1 -1
  218. package/dist/hooks/core/submit-verdict.d.ts.map +1 -1
  219. package/dist/hooks/core/submit-verdict.js +16 -12
  220. package/dist/hooks/core/submit-verdict.js.map +1 -1
  221. package/dist/hooks/core/tool-use-stash.d.ts +41 -0
  222. package/dist/hooks/core/tool-use-stash.d.ts.map +1 -0
  223. package/dist/hooks/core/tool-use-stash.js +82 -0
  224. package/dist/hooks/core/tool-use-stash.js.map +1 -0
  225. package/dist/hooks/core/verify-gate.d.ts +17 -3
  226. package/dist/hooks/core/verify-gate.d.ts.map +1 -1
  227. package/dist/hooks/core/verify-gate.js +315 -119
  228. package/dist/hooks/core/verify-gate.js.map +1 -1
  229. package/dist/import/claude/analytics-runner.d.ts +42 -0
  230. package/dist/import/claude/analytics-runner.d.ts.map +1 -0
  231. package/dist/import/claude/analytics-runner.js +213 -0
  232. package/dist/import/claude/analytics-runner.js.map +1 -0
  233. package/dist/import/claude/discovery.d.ts +22 -0
  234. package/dist/import/claude/discovery.d.ts.map +1 -0
  235. package/dist/import/claude/discovery.js +197 -0
  236. package/dist/import/claude/discovery.js.map +1 -0
  237. package/dist/import/claude/encoding.d.ts +50 -0
  238. package/dist/import/claude/encoding.d.ts.map +1 -0
  239. package/dist/import/claude/encoding.js +110 -0
  240. package/dist/import/claude/encoding.js.map +1 -0
  241. package/dist/import/claude/events/file-change.d.ts +28 -0
  242. package/dist/import/claude/events/file-change.d.ts.map +1 -0
  243. package/dist/import/claude/events/file-change.js +112 -0
  244. package/dist/import/claude/events/file-change.js.map +1 -0
  245. package/dist/import/claude/events/tool-call.d.ts +61 -0
  246. package/dist/import/claude/events/tool-call.d.ts.map +1 -0
  247. package/dist/import/claude/events/tool-call.js +119 -0
  248. package/dist/import/claude/events/tool-call.js.map +1 -0
  249. package/dist/import/claude/runner.d.ts +31 -0
  250. package/dist/import/claude/runner.d.ts.map +1 -0
  251. package/dist/import/claude/runner.js +280 -0
  252. package/dist/import/claude/runner.js.map +1 -0
  253. package/dist/import/claude/summary.d.ts +23 -0
  254. package/dist/import/claude/summary.d.ts.map +1 -0
  255. package/dist/import/claude/summary.js +186 -0
  256. package/dist/import/claude/summary.js.map +1 -0
  257. package/dist/import/claude/transcript-walk.d.ts +52 -0
  258. package/dist/import/claude/transcript-walk.d.ts.map +1 -0
  259. package/dist/import/claude/transcript-walk.js +187 -0
  260. package/dist/import/claude/transcript-walk.js.map +1 -0
  261. package/dist/import/concurrent-pool.d.ts +45 -0
  262. package/dist/import/concurrent-pool.d.ts.map +1 -0
  263. package/dist/import/concurrent-pool.js +95 -0
  264. package/dist/import/concurrent-pool.js.map +1 -0
  265. package/dist/import/emitter.d.ts +29 -0
  266. package/dist/import/emitter.d.ts.map +1 -0
  267. package/dist/import/emitter.js +66 -0
  268. package/dist/import/emitter.js.map +1 -0
  269. package/dist/import/events/activity.d.ts +23 -0
  270. package/dist/import/events/activity.d.ts.map +1 -0
  271. package/dist/import/events/activity.js +45 -0
  272. package/dist/import/events/activity.js.map +1 -0
  273. package/dist/import/events/session.d.ts +24 -0
  274. package/dist/import/events/session.d.ts.map +1 -0
  275. package/dist/import/events/session.js +47 -0
  276. package/dist/import/events/session.js.map +1 -0
  277. package/dist/import/filter.d.ts +47 -0
  278. package/dist/import/filter.d.ts.map +1 -0
  279. package/dist/import/filter.js +90 -0
  280. package/dist/import/filter.js.map +1 -0
  281. package/dist/import/ids.d.ts +56 -0
  282. package/dist/import/ids.d.ts.map +1 -0
  283. package/dist/import/ids.js +87 -0
  284. package/dist/import/ids.js.map +1 -0
  285. package/dist/import/index.d.ts +29 -0
  286. package/dist/import/index.d.ts.map +1 -0
  287. package/dist/import/index.js +52 -0
  288. package/dist/import/index.js.map +1 -0
  289. package/dist/import/marker.d.ts +20 -0
  290. package/dist/import/marker.d.ts.map +1 -0
  291. package/dist/import/marker.js +71 -0
  292. package/dist/import/marker.js.map +1 -0
  293. package/dist/import/pipeline.d.ts +41 -0
  294. package/dist/import/pipeline.d.ts.map +1 -0
  295. package/dist/import/pipeline.js +47 -0
  296. package/dist/import/pipeline.js.map +1 -0
  297. package/dist/import/progress.d.ts +20 -0
  298. package/dist/import/progress.d.ts.map +1 -0
  299. package/dist/import/progress.js +69 -0
  300. package/dist/import/progress.js.map +1 -0
  301. package/dist/import/skip.d.ts +13 -0
  302. package/dist/import/skip.d.ts.map +1 -0
  303. package/dist/import/skip.js +24 -0
  304. package/dist/import/skip.js.map +1 -0
  305. package/dist/import/types.d.ts +125 -0
  306. package/dist/import/types.d.ts.map +1 -0
  307. package/dist/import/types.js +28 -0
  308. package/dist/import/types.js.map +1 -0
  309. package/dist/index.js +21 -2
  310. package/dist/index.js.map +1 -1
  311. package/dist/lib/collector.d.ts +29 -3
  312. package/dist/lib/collector.d.ts.map +1 -1
  313. package/dist/lib/collector.js +118 -8
  314. package/dist/lib/collector.js.map +1 -1
  315. package/dist/lib/config.d.ts +240 -83
  316. package/dist/lib/config.d.ts.map +1 -1
  317. package/dist/lib/config.js +482 -89
  318. package/dist/lib/config.js.map +1 -1
  319. package/dist/lib/event.d.ts +72 -0
  320. package/dist/lib/event.d.ts.map +1 -0
  321. package/dist/lib/event.js +42 -0
  322. package/dist/lib/event.js.map +1 -0
  323. package/dist/lib/gitignore.d.ts +21 -0
  324. package/dist/lib/gitignore.d.ts.map +1 -0
  325. package/dist/lib/gitignore.js +54 -0
  326. package/dist/lib/gitignore.js.map +1 -0
  327. package/dist/lib/runtime-section.d.ts +118 -0
  328. package/dist/lib/runtime-section.d.ts.map +1 -0
  329. package/dist/lib/runtime-section.js +256 -0
  330. package/dist/lib/runtime-section.js.map +1 -0
  331. package/dist/lib/telemetry.d.ts +1 -1
  332. package/dist/lib/telemetry.d.ts.map +1 -1
  333. package/dist/lib/telemetry.js +4 -1
  334. package/dist/lib/telemetry.js.map +1 -1
  335. package/dist/queue/dead-letter.d.ts +5 -1
  336. package/dist/queue/dead-letter.d.ts.map +1 -1
  337. package/dist/queue/dead-letter.js +5 -1
  338. package/dist/queue/dead-letter.js.map +1 -1
  339. package/dist/queue/drain.d.ts +3 -2
  340. package/dist/queue/drain.d.ts.map +1 -1
  341. package/dist/queue/drain.js +3 -2
  342. package/dist/queue/drain.js.map +1 -1
  343. package/dist/queue/flush.d.ts +28 -12
  344. package/dist/queue/flush.d.ts.map +1 -1
  345. package/dist/queue/flush.js +43 -18
  346. package/dist/queue/flush.js.map +1 -1
  347. package/dist/queue/handlers/send-event.d.ts.map +1 -1
  348. package/dist/queue/handlers/send-event.js.map +1 -1
  349. package/dist/queue/index.d.ts +1 -2
  350. package/dist/queue/index.d.ts.map +1 -1
  351. package/dist/queue/index.js +2 -2
  352. package/dist/queue/index.js.map +1 -1
  353. package/dist/queue/paths.d.ts +4 -2
  354. package/dist/queue/paths.d.ts.map +1 -1
  355. package/dist/queue/paths.js +4 -2
  356. package/dist/queue/paths.js.map +1 -1
  357. package/dist/queue/process-file.d.ts +5 -1
  358. package/dist/queue/process-file.d.ts.map +1 -1
  359. package/dist/queue/process-file.js +5 -1
  360. package/dist/queue/process-file.js.map +1 -1
  361. package/dist/queue/snapshot.d.ts +4 -1
  362. package/dist/queue/snapshot.d.ts.map +1 -1
  363. package/dist/queue/snapshot.js +4 -1
  364. package/dist/queue/snapshot.js.map +1 -1
  365. package/dist/queue/spawn.d.ts +1 -3
  366. package/dist/queue/spawn.d.ts.map +1 -1
  367. package/dist/queue/spawn.js +1 -3
  368. package/dist/queue/spawn.js.map +1 -1
  369. package/dist/queue/submit.d.ts +6 -1
  370. package/dist/queue/submit.d.ts.map +1 -1
  371. package/dist/queue/submit.js +6 -1
  372. package/dist/queue/submit.js.map +1 -1
  373. package/dist/queue/types.d.ts +5 -1
  374. package/dist/queue/types.d.ts.map +1 -1
  375. package/dist/queue/types.js +5 -1
  376. package/dist/queue/types.js.map +1 -1
  377. package/dist/queue/worker-log.d.ts +3 -1
  378. package/dist/queue/worker-log.d.ts.map +1 -1
  379. package/dist/queue/worker-log.js +3 -1
  380. package/dist/queue/worker-log.js.map +1 -1
  381. package/package.json +3 -1
@@ -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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * `ironbee enable-backend <runtime>`
3
+ *
4
+ * Opt-in activation for backend verification per runtime — writes
5
+ * opinionated default `verifyPatterns` to `backend.<runtime>` in project
6
+ * config and splices the runtime fragment into installed skill/rule/command
7
+ * md files. Refuses if patterns are already populated (the user must
8
+ * `disable-backend` first or clear them manually).
9
+ *
10
+ * Pairs with `disable-backend` (separate file by design — both call shared
11
+ * helpers in `backend-toggle.ts`).
12
+ */
13
+ import { Command } from "commander";
14
+ export declare const enableBackendCommand: Command;
15
+ //# sourceMappingURL=enable-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enable-backend.d.ts","sourceRoot":"","sources":["../../src/commands/enable-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,oBAAoB,EAAE,OAa7B,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * `ironbee enable-backend <runtime>`
4
+ *
5
+ * Opt-in activation for backend verification per runtime — writes
6
+ * opinionated default `verifyPatterns` to `backend.<runtime>` in project
7
+ * config and splices the runtime fragment into installed skill/rule/command
8
+ * md files. Refuses if patterns are already populated (the user must
9
+ * `disable-backend` first or clear them manually).
10
+ *
11
+ * Pairs with `disable-backend` (separate file by design — both call shared
12
+ * helpers in `backend-toggle.ts`).
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.enableBackendCommand = void 0;
16
+ const commander_1 = require("commander");
17
+ const registry_1 = require("../clients/registry");
18
+ const output_1 = require("../lib/output");
19
+ const backend_toggle_1 = require("./backend-toggle");
20
+ exports.enableBackendCommand = new commander_1.Command("enable-backend")
21
+ .description("Enable backend verification for a runtime in the current project (writes default verifyPatterns).")
22
+ .argument("<runtime>", `Runtime to enable. Available: ${(0, backend_toggle_1.knownRuntimes)().join(", ")}.`)
23
+ .option("-p, --project-dir <dir>", "Project directory (default: cwd).")
24
+ .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).`)
25
+ .action((runtime, opts) => {
26
+ try {
27
+ const projectDir = opts.projectDir ?? process.cwd();
28
+ (0, backend_toggle_1.applyEnableBackend)(runtime, projectDir, opts.client);
29
+ }
30
+ catch (e) {
31
+ console.error(`${output_1.pc.red("✗")} ${e instanceof Error ? e.message : e}`);
32
+ process.exit(1);
33
+ }
34
+ });
35
+ //# sourceMappingURL=enable-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enable-backend.js","sourceRoot":"","sources":["../../src/commands/enable-backend.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,yCAAoC;AACpC,kDAAkD;AAClD,0CAAmC;AACnC,qDAAqE;AAExD,QAAA,oBAAoB,GAAY,IAAI,mBAAO,CAAC,gBAAgB,CAAC;KACrE,WAAW,CAAC,mGAAmG,CAAC;KAChH,QAAQ,CAAC,WAAW,EAAE,iCAAiC,IAAA,8BAAa,GAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;KACrF,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,mCAAkB,EAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,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,14 @@
1
+ /**
2
+ * `ironbee enable-verification`
3
+ *
4
+ * Turns verification enforcement back on for the current project. Writes
5
+ * `verification.enable: true` to the project (or `--global`) config and
6
+ * re-renders all client artifacts via the shared `applyVerificationToggle`
7
+ * helper (see `verification-toggle.ts` for the full design).
8
+ *
9
+ * Pairs with `disable-verification` (separate file by design — both call the
10
+ * same helper, only the boolean differs).
11
+ */
12
+ import { Command } from "commander";
13
+ export declare const enableVerificationCommand: Command;
14
+ //# sourceMappingURL=enable-verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enable-verification.d.ts","sourceRoot":"","sources":["../../src/commands/enable-verification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,yBAAyB,EAAE,OAalC,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * `ironbee enable-verification`
4
+ *
5
+ * Turns verification enforcement back on for the current project. Writes
6
+ * `verification.enable: true` to the project (or `--global`) config and
7
+ * re-renders all client artifacts via the shared `applyVerificationToggle`
8
+ * helper (see `verification-toggle.ts` for the full design).
9
+ *
10
+ * Pairs with `disable-verification` (separate file by design — both call the
11
+ * same helper, only the boolean differs).
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.enableVerificationCommand = void 0;
15
+ const commander_1 = require("commander");
16
+ const registry_1 = require("../clients/registry");
17
+ const output_1 = require("../lib/output");
18
+ const verification_toggle_1 = require("./verification-toggle");
19
+ exports.enableVerificationCommand = new commander_1.Command("enable-verification")
20
+ .description("Turn verification enforcement back on for the current project (writes verification.enable: true and re-renders client artifacts).")
21
+ .option("-p, --project-dir <dir>", "Project directory (default: cwd).")
22
+ .option("-g, --global", "Write to the global config (~/.ironbee/config.json) instead of the project.")
23
+ .option("--client <name>", `Only re-render artifacts for this client (${(0, registry_1.clientNames)()}), or "all". Default: detected clients.`)
24
+ .action((opts) => {
25
+ try {
26
+ const projectDir = opts.projectDir ?? process.cwd();
27
+ (0, verification_toggle_1.applyVerificationToggle)(true, projectDir, opts.global ?? false, 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=enable-verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enable-verification.js","sourceRoot":"","sources":["../../src/commands/enable-verification.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,yCAAoC;AACpC,kDAAkD;AAClD,0CAAmC;AACnC,+DAAgE;AAEnD,QAAA,yBAAyB,GAAY,IAAI,mBAAO,CAAC,qBAAqB,CAAC;KAC/E,WAAW,CAAC,mIAAmI,CAAC;KAChJ,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,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjF,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4BpC,eAAO,MAAM,WAAW,EAAE,OACiD,CAAC"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqDpC,eAAO,MAAM,WAAW,EAAE,OACiD,CAAC"}
@@ -9,6 +9,30 @@ const config_1 = require("../lib/config");
9
9
  const logger_1 = require("../lib/logger");
10
10
  const output_1 = require("../lib/output");
11
11
  const stdin_1 = require("../lib/stdin");
12
+ /**
13
+ * Disabled-mode no-op for the agent-Bash-invoked CLI commands
14
+ * (verification-start, verification-end, submit-verdict).
15
+ *
16
+ * These three commands are not hooks — the agent calls them via `Bash(ironbee
17
+ * ...)`. In monitoring-only mode (`verification.enable: false`) the skill /
18
+ * rule that would normally guide the agent into these calls isn't installed,
19
+ * but the agent can still invoke them (muscle memory, manual user prompt,
20
+ * cached context). Without this gate they would mutate `state.json` and write
21
+ * `verdict_write` / `fix_start` / `verification_*` events that nothing in
22
+ * disabled mode consumes — leaving dangling `activeFixId` / `phase: "fixing"`
23
+ * forever (cleared only on the next session-start reconcile, which produces
24
+ * a `reason: "session_reconcile"` close that pollutes analytics).
25
+ *
26
+ * Returns true when verification is disabled — caller should `exit(0)` after
27
+ * a debug log without doing any work.
28
+ */
29
+ function isVerificationDisabled(projectDir, command) {
30
+ if ((0, config_1.getVerificationEnabled)((0, config_1.loadConfig)(projectDir))) {
31
+ return false;
32
+ }
33
+ logger_1.logger.debug(`${command}: verification is disabled — silent no-op`);
34
+ return true;
35
+ }
12
36
  function resolveClient(clientName) {
13
37
  const name = clientName ?? process.env.IRONBEE_CLIENT;
14
38
  if (!name) {
@@ -60,6 +84,30 @@ exports.hookCommand
60
84
  const projectDir = client.resolveProjectDir();
61
85
  await client.runTrackAction(projectDir);
62
86
  });
87
+ exports.hookCommand
88
+ .command("track-action-monitor")
89
+ .description("PostToolUse hook (monitoring-only mode) — submits send_event jobs for non-devtools tools and falls back to starting an activity if needed")
90
+ .option("--client <name>", "client name (overrides IRONBEE_CLIENT env var)")
91
+ .action(async (options) => {
92
+ const client = resolveClient(options.client);
93
+ if (!client) {
94
+ return;
95
+ }
96
+ const projectDir = client.resolveProjectDir();
97
+ await client.runTrackActionMonitor(projectDir);
98
+ });
99
+ exports.hookCommand
100
+ .command("activity-end")
101
+ .description("Stop hook (monitoring-only mode) — closes the active activity and triggers a background queue flush")
102
+ .option("--client <name>", "client name (overrides IRONBEE_CLIENT env var)")
103
+ .action(async (options) => {
104
+ const client = resolveClient(options.client);
105
+ if (!client) {
106
+ return;
107
+ }
108
+ const projectDir = client.resolveProjectDir();
109
+ await client.runActivityEnd(projectDir);
110
+ });
63
111
  exports.hookCommand
64
112
  .command("session-start")
65
113
  .description("SessionStart hook — records session start in actions.jsonl")
@@ -128,6 +176,10 @@ exports.hookCommand
128
176
  ?? process.env.CLAUDE_PROJECT_DIR
129
177
  ?? process.env.CURSOR_PROJECT_DIR
130
178
  ?? process.cwd();
179
+ if (isVerificationDisabled(projectDir, "verification-start")) {
180
+ (0, output_1.writeAndExit)(JSON.stringify({ message: "verification is disabled in this project; ignoring" }) + "\n", 0);
181
+ return;
182
+ }
131
183
  let parsed;
132
184
  try {
133
185
  parsed = JSON.parse((0, stdin_1.readStdin)());
@@ -165,6 +217,10 @@ exports.hookCommand
165
217
  ?? process.env.CLAUDE_PROJECT_DIR
166
218
  ?? process.env.CURSOR_PROJECT_DIR
167
219
  ?? process.cwd();
220
+ if (isVerificationDisabled(projectDir, "verification-end")) {
221
+ (0, output_1.writeAndExit)(JSON.stringify({ message: "verification is disabled in this project; ignoring" }) + "\n", 0);
222
+ return;
223
+ }
168
224
  let parsed;
169
225
  try {
170
226
  parsed = JSON.parse((0, stdin_1.readStdin)());
@@ -203,6 +259,10 @@ exports.hookCommand
203
259
  ?? process.env.CLAUDE_PROJECT_DIR
204
260
  ?? process.env.CURSOR_PROJECT_DIR
205
261
  ?? process.cwd();
262
+ if (isVerificationDisabled(projectDir, "submit-verdict")) {
263
+ (0, output_1.writeAndExit)("verification is disabled in this project; verdict ignored\n", 0);
264
+ return;
265
+ }
206
266
  let verdictJson;
207
267
  try {
208
268
  verdictJson = (0, stdin_1.readStdin)();
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * IronBee CLI — `ironbee import` command
3
+ *
4
+ * Imports historical sessions (Claude Code transcripts in v1) into the
5
+ * IronBee Collector.
6
+ *
7
+ * Flow: argv → scope/time-range resolution → discovery → time-range filter
8
+ * → estimate (dry-run summary) → confirm prompt → per-session import
9
+ * (concurrency-bounded) → final summary.
10
+ */
11
+ import { Command } from "commander";
12
+ import * as readline from "readline";
13
+ import { ImportOptions } from "../import";
14
+ export interface ImportFlags {
15
+ since?: string;
16
+ from?: string;
17
+ to?: string;
18
+ transcript?: string;
19
+ projects?: string;
20
+ allProjects?: boolean;
21
+ dryRun?: boolean;
22
+ yes?: boolean;
23
+ force?: boolean;
24
+ concurrency?: string;
25
+ batchSize?: string;
26
+ }
27
+ export declare const importCommand: Command;
28
+ export declare function parseFlags(flags: ImportFlags): ImportOptions;
29
+ /**
30
+ * Optional dependency injection for testability. Node's `readline`
31
+ * exports are non-configurable, so `jest.spyOn` fails with "Cannot redefine
32
+ * property". Tests pass their own `createInterface` factory; production
33
+ * callers omit it to use the real one.
34
+ */
35
+ export interface PromptDeps {
36
+ createInterface?: typeof readline.createInterface;
37
+ }
38
+ export declare function promptYesNo(question: string, deps?: PromptDeps): Promise<boolean>;
39
+ //# sourceMappingURL=import.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAKrC,OAAO,EAUH,aAAa,EAOhB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,WAAW;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,eAAO,MAAM,aAAa,EAAE,OAgItB,CAAC;AAEP,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa,CA6E5D;AAuGD;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACvB,eAAe,CAAC,EAAE,OAAO,QAAQ,CAAC,eAAe,CAAC;CACrD;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBvF"}