@ironbee-ai/cli 0.6.2 → 0.7.1

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 +12 -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 +122 -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 +72 -70
  188. package/dist/hooks/core/actions.d.ts.map +1 -1
  189. package/dist/hooks/core/actions.js +191 -28
  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
@@ -2,48 +2,30 @@
2
2
  * IronBee — Session Action Logger
3
3
  *
4
4
  * Appends typed events to .ironbee/sessions/{sessionId}/actions.jsonl
5
- * Event types: session_start, tool_call, verification_requested, etc.
6
- */
7
- /**
8
- * Event type catalog mirrors Java `EventType` enum.
9
- * Using a const object + union type gives enum-like ergonomics without
10
- * blocking raw string literal assignments (e.g. in tests).
5
+ * and forwards them to the collector. Event types: session_start,
6
+ * tool_call, verification_requested, session_analytics, etc.
7
+ *
8
+ * Base event shape lives in `src/lib/event.ts`; this module composes
9
+ * the per-event-type payloads + handles persistence.
11
10
  */
12
- export declare const EventType: {
13
- readonly SESSION_START: "session_start";
14
- readonly SESSION_END: "session_end";
15
- readonly ACTIVITY_START: "activity_start";
16
- readonly ACTIVITY_END: "activity_end";
17
- readonly VERIFICATION_START: "verification_start";
18
- readonly VERIFICATION_END: "verification_end";
19
- readonly VERIFICATION_REQUESTED: "verification_requested";
20
- readonly VERDICT_WRITE: "verdict_write";
21
- readonly FIX_START: "fix_start";
22
- readonly FIX_END: "fix_end";
23
- readonly FILE_CHANGE: "file_change";
24
- readonly TOOL_CALL: "tool_call";
25
- };
26
- export type EventTypeValue = typeof EventType[keyof typeof EventType];
27
- export interface ActionEntry {
28
- id: string;
29
- type: EventTypeValue;
30
- timestamp: number;
31
- session_id: string;
32
- project_name: string;
33
- user_email?: string;
34
- [key: string]: unknown;
35
- }
11
+ import { ActivityAwareEvent, Event, EventType, EventTypeValue, FixAwareEvent, VerificationAwareEvent } from "../../lib/event";
12
+ export { Event, EventType, EventTypeValue, ActivityAwareEvent, VerificationAwareEvent, FixAwareEvent };
36
13
  /**
37
14
  * Resolve project name by walking up from the given directory looking for a
38
- * `.git` entry (directory or file — the latter covers worktrees). If a git
39
- * root is found, its basename becomes the project name. Otherwise falls back
40
- * to the basename of the starting directory.
15
+ * `.git` entry (directory or file — the latter covers worktrees / submodules).
16
+ *
17
+ * When a git root is found we prefer the **repo name parsed from the remote
18
+ * URL** (origin → first remote in `.git/config`) so that two clones of the
19
+ * same repo produce the same `project_name` regardless of how the user named
20
+ * the local folder. Fallback chain when the URL can't be derived:
21
+ * 1. basename of the git root (legacy behavior)
22
+ * 2. basename of the starting directory (when no `.git` was found at all)
41
23
  */
42
24
  export declare function resolveProjectName(startDir: string): string;
43
25
  /**
44
26
  * Base fields that every event must carry — derived from the actionsFile path.
45
27
  * Writers spread this into concrete event constructions to satisfy the strict
46
- * `ActionEntry` contract without duplicating derivation logic.
28
+ * `Event` contract without duplicating derivation logic.
47
29
  *
48
30
  * `user_email` is read from the per-session `state.json` (populated once at
49
31
  * session start). If state.json is absent or the field is unset, it is
@@ -56,29 +38,14 @@ export declare function baseFields(actionsFile: string): {
56
38
  user_email?: string;
57
39
  };
58
40
  /**
59
- * Marker interfaces for hierarchical parent IDs.
60
- * Hierarchy: session > activity > verification + fix.
61
- * VerificationAware and FixAware extend ActivityAware — a verification or fix
62
- * cycle is always part of an activity turn.
63
- */
64
- export interface ActivityAwareActionEntry extends ActionEntry {
65
- activity_id: string;
66
- }
67
- export interface VerificationAwareActionEntry extends ActivityAwareActionEntry {
68
- verification_id: string;
69
- }
70
- export interface FixAwareActionEntry extends ActivityAwareActionEntry {
71
- fix_id: string;
72
- }
73
- /**
74
- * A tool_call event. Extends ActivityAwareActionEntry (activity is always
75
- * known when a tool runs) but NOT VerificationAwareActionEntry — tool calls
41
+ * A tool_call event. Extends ActivityAwareEvent (activity is always
42
+ * known when a tool runs) but NOT VerificationAwareEvent — tool calls
76
43
  * happen everywhere in a session, most of them outside verification cycles
77
44
  * (Bash / Edit / Read fire any time the agent wants, whereas verification
78
45
  * cycles are bounded windows explicitly opened by the agent). Downstream
79
46
  * schema must therefore treat `verification_id` and `trace_id` as optional.
80
47
  */
81
- export interface ToolCallAction extends ActivityAwareActionEntry {
48
+ export interface ToolCallAction extends ActivityAwareEvent {
82
49
  type: "tool_call";
83
50
  /**
84
51
  * Canonical tool identity after classification:
@@ -137,32 +104,66 @@ export interface ToolCallAction extends ActivityAwareActionEntry {
137
104
  duration?: number | null;
138
105
  error?: string;
139
106
  }
140
- export interface VerificationRequestedAction extends ActivityAwareActionEntry {
107
+ export interface VerificationRequestedAction extends ActivityAwareEvent {
141
108
  type: "verification_requested";
142
109
  action: "allow" | "block";
143
110
  reason: string;
111
+ /**
112
+ * Active cycles for this gate run — registered cycle names like
113
+ * `"browser"`, `"node"`, plus future runtimes. Open string[] (not literal
114
+ * union) so adding a runtime never changes the wire type.
115
+ * Optional — older entries pre-multi-cycle may not carry it.
116
+ */
117
+ modes?: string[];
118
+ }
119
+ /**
120
+ * Per-probe reference inside `Verdict.backend_node_probes_set`.
121
+ *
122
+ * - `tracepoint` / `logpoint`: `location` is `"<file>:<line>"`.
123
+ * - `exceptionpoint`: `location` is the exception state ("uncaught" or "all").
124
+ * - `triggered`: at least one snapshot collected for this probe during the cycle.
125
+ */
126
+ export interface NodeProbeRef {
127
+ type: "tracepoint" | "logpoint" | "exceptionpoint";
128
+ location: string;
129
+ triggered: boolean;
144
130
  }
145
131
  /**
146
132
  * Verdict payload recorded inside VerdictWriteAction.
147
- * Mirrors the Java `Verdict` domain class: status/pages_tested/checks are
148
- * always present; counts and issue/fix lists are optional.
133
+ *
134
+ * Browser-cycle fields (`pages_tested`, `console_errors`, `network_failures`)
135
+ * are populated when the browser cycle is active. Node-cycle fields
136
+ * (`backend_node_*`) are populated when the node cycle is active. Multi-mode
137
+ * verdicts populate the relevant fields for every active cycle. `checks` and
138
+ * `status` are shared across cycles.
139
+ *
140
+ * `console_errors` / `network_failures` carry counts (numbers) for backwards
141
+ * compatibility with the pre-multi-cycle wire — agents can keep submitting
142
+ * the same shape they do today for browser-only sessions.
149
143
  */
150
144
  export interface Verdict {
145
+ /** "pass" | "fail" | "unknown" — kept as `string` for forward tolerance. */
151
146
  status: string;
152
- pages_tested: string[];
153
147
  checks: string[];
154
- console_errors?: number;
155
- network_failures?: number;
156
148
  issues?: string[];
157
149
  fixes?: string[];
158
- }
159
- export interface VerdictWriteAction extends VerificationAwareActionEntry {
150
+ pages_tested?: string[];
151
+ console_errors?: number;
152
+ network_failures?: number;
153
+ backend_node_processes_connected?: string[];
154
+ backend_node_probes_set?: NodeProbeRef[];
155
+ /** Total snapshots collected across all probes (a single probe can fire many times). */
156
+ backend_node_probe_snapshots_collected?: number;
157
+ /** Error-level log lines from `ndt_debug_get-logs` (agent-filtered). */
158
+ backend_node_log_errors?: string[];
159
+ }
160
+ export interface VerdictWriteAction extends VerificationAwareEvent {
160
161
  type: "verdict_write";
161
162
  trace_id?: string;
162
163
  verdict: Verdict;
163
164
  }
164
165
  export type FileChangeOperation = "create" | "update" | "delete";
165
- export interface FileChangeAction extends FixAwareActionEntry {
166
+ export interface FileChangeAction extends FixAwareEvent {
166
167
  type: "file_change";
167
168
  tool_name: string;
168
169
  file_path: string;
@@ -176,40 +177,40 @@ export interface FileChangeAction extends FixAwareActionEntry {
176
177
  /** Lines removed by this change. `null` when unknown — see `lines_added`. */
177
178
  lines_removed: number | null;
178
179
  }
179
- export interface SessionStartAction extends ActionEntry {
180
+ export interface SessionStartAction extends Event {
180
181
  type: "session_start";
181
182
  source: string;
182
183
  client?: string;
183
184
  }
184
- export interface SessionEndAction extends ActionEntry {
185
+ export interface SessionEndAction extends Event {
185
186
  type: "session_end";
186
187
  duration?: number;
187
188
  reason?: string;
188
189
  }
189
- export interface VerificationStartAction extends VerificationAwareActionEntry {
190
+ export interface VerificationStartAction extends VerificationAwareEvent {
190
191
  type: "verification_start";
191
192
  trace_id: string;
192
193
  }
193
- export interface VerificationEndAction extends VerificationAwareActionEntry {
194
+ export interface VerificationEndAction extends VerificationAwareEvent {
194
195
  type: "verification_end";
195
196
  trace_id: string;
196
197
  duration?: number;
197
198
  status?: string;
198
199
  reason?: string;
199
200
  }
200
- export interface FixStartAction extends FixAwareActionEntry {
201
+ export interface FixStartAction extends FixAwareEvent {
201
202
  type: "fix_start";
202
203
  }
203
- export interface FixEndAction extends FixAwareActionEntry {
204
+ export interface FixEndAction extends FixAwareEvent {
204
205
  type: "fix_end";
205
206
  duration?: number;
206
207
  reason?: string;
207
208
  }
208
- export interface ActivityStartAction extends ActivityAwareActionEntry {
209
+ export interface ActivityStartAction extends ActivityAwareEvent {
209
210
  type: "activity_start";
210
211
  source?: string;
211
212
  }
212
- export interface ActivityEndAction extends ActivityAwareActionEntry {
213
+ export interface ActivityEndAction extends ActivityAwareEvent {
213
214
  type: "activity_end";
214
215
  duration?: number;
215
216
  reason?: string;
@@ -228,9 +229,10 @@ export declare function appendAction(actionsFile: string, entry: AppendActionInp
228
229
  * duration from its timestamp to now.
229
230
  */
230
231
  export declare function findDurationSinceLastAction(actionsFile: string, actionType: string, now: number): number | undefined;
231
- export declare function readActionsSinceLastMarker(actionsFile: string, markerType: string): ActionEntry[];
232
+ export declare function readActionsSinceLastMarker(actionsFile: string, markerType: string): Event[];
232
233
  export declare function getToolCallsSinceLastVerification(actionsFile: string): ToolCallAction[];
233
234
  export declare function getToolCallsSinceLastFileChange(actionsFile: string): ToolCallAction[];
234
235
  export declare function hasToolCallsSinceLastVerdict(actionsFile: string): boolean;
235
236
  export declare function hasFileChangesSinceLastVerification(actionsFile: string): boolean;
237
+ export declare function getFileChangesSinceLastVerification(actionsFile: string): FileChangeAction[];
236
238
  //# sourceMappingURL=actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/actions.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,11 @@
3
3
  * IronBee — Session Action Logger
4
4
  *
5
5
  * Appends typed events to .ironbee/sessions/{sessionId}/actions.jsonl
6
- * Event types: session_start, tool_call, verification_requested, etc.
6
+ * and forwards them to the collector. Event types: session_start,
7
+ * tool_call, verification_requested, session_analytics, etc.
8
+ *
9
+ * Base event shape lives in `src/lib/event.ts`; this module composes
10
+ * the per-event-type payloads + handles persistence.
7
11
  */
8
12
  Object.defineProperty(exports, "__esModule", { value: true });
9
13
  exports.EventType = void 0;
@@ -16,40 +20,34 @@ exports.getToolCallsSinceLastVerification = getToolCallsSinceLastVerification;
16
20
  exports.getToolCallsSinceLastFileChange = getToolCallsSinceLastFileChange;
17
21
  exports.hasToolCallsSinceLastVerdict = hasToolCallsSinceLastVerdict;
18
22
  exports.hasFileChangesSinceLastVerification = hasFileChangesSinceLastVerification;
23
+ exports.getFileChangesSinceLastVerification = getFileChangesSinceLastVerification;
19
24
  const fs_1 = require("fs");
20
25
  const crypto_1 = require("crypto");
21
26
  const path_1 = require("path");
22
27
  const logger_1 = require("../../lib/logger");
23
28
  const collector_1 = require("../../lib/collector");
24
- /**
25
- * Event type catalog mirrors Java `EventType` enum.
26
- * Using a const object + union type gives enum-like ergonomics without
27
- * blocking raw string literal assignments (e.g. in tests).
28
- */
29
- exports.EventType = {
30
- SESSION_START: "session_start",
31
- SESSION_END: "session_end",
32
- ACTIVITY_START: "activity_start",
33
- ACTIVITY_END: "activity_end",
34
- VERIFICATION_START: "verification_start",
35
- VERIFICATION_END: "verification_end",
36
- VERIFICATION_REQUESTED: "verification_requested",
37
- VERDICT_WRITE: "verdict_write",
38
- FIX_START: "fix_start",
39
- FIX_END: "fix_end",
40
- FILE_CHANGE: "file_change",
41
- TOOL_CALL: "tool_call",
42
- };
29
+ const event_1 = require("../../lib/event");
30
+ Object.defineProperty(exports, "EventType", { enumerable: true, get: function () { return event_1.EventType; } });
43
31
  /**
44
32
  * Resolve project name by walking up from the given directory looking for a
45
- * `.git` entry (directory or file — the latter covers worktrees). If a git
46
- * root is found, its basename becomes the project name. Otherwise falls back
47
- * to the basename of the starting directory.
33
+ * `.git` entry (directory or file — the latter covers worktrees / submodules).
34
+ *
35
+ * When a git root is found we prefer the **repo name parsed from the remote
36
+ * URL** (origin → first remote in `.git/config`) so that two clones of the
37
+ * same repo produce the same `project_name` regardless of how the user named
38
+ * the local folder. Fallback chain when the URL can't be derived:
39
+ * 1. basename of the git root (legacy behavior)
40
+ * 2. basename of the starting directory (when no `.git` was found at all)
48
41
  */
49
42
  function resolveProjectName(startDir) {
50
43
  let current = startDir;
51
44
  while (true) {
52
- if ((0, fs_1.existsSync)((0, path_1.join)(current, ".git"))) {
45
+ const gitEntry = (0, path_1.join)(current, ".git");
46
+ if ((0, fs_1.existsSync)(gitEntry)) {
47
+ const fromRemote = repoNameFromGitDir(gitEntry);
48
+ if (fromRemote) {
49
+ return fromRemote;
50
+ }
53
51
  return (0, path_1.basename)(current);
54
52
  }
55
53
  const parent = (0, path_1.dirname)(current);
@@ -60,10 +58,148 @@ function resolveProjectName(startDir) {
60
58
  }
61
59
  return (0, path_1.basename)(startDir);
62
60
  }
61
+ /**
62
+ * Given the path of a `.git` entry (directory in the normal case, file in
63
+ * the worktree / submodule case), read its `config` and return the repo name
64
+ * derived from the first remote URL we find. Prefers `[remote "origin"]`
65
+ * but falls back to any other remote when origin is absent.
66
+ *
67
+ * Returns `undefined` on any failure (no remote, malformed config, I/O
68
+ * error, missing file). Callers fall back to folder basename.
69
+ */
70
+ function repoNameFromGitDir(gitEntry) {
71
+ try {
72
+ const gitDir = resolveGitDir(gitEntry);
73
+ if (!gitDir) {
74
+ return undefined;
75
+ }
76
+ const configPath = (0, path_1.join)(gitDir, "config");
77
+ if (!(0, fs_1.existsSync)(configPath)) {
78
+ return undefined;
79
+ }
80
+ const url = readFirstRemoteUrl((0, fs_1.readFileSync)(configPath, "utf-8"));
81
+ if (!url) {
82
+ return undefined;
83
+ }
84
+ return repoNameFromRemoteUrl(url);
85
+ }
86
+ catch (e) {
87
+ logger_1.logger.debug(`resolveProjectName: failed to read git config at ${gitEntry}: ${e instanceof Error ? e.message : e}`);
88
+ return undefined;
89
+ }
90
+ }
91
+ /**
92
+ * Resolve `.git` (directory or worktree pointer file) to the actual gitdir
93
+ * containing `config`. For a worktree the `.git` file looks like:
94
+ * `gitdir: /abs/path/to/main-repo/.git/worktrees/<name>`
95
+ * That worktree dir has a `config.worktree` for per-worktree overrides but
96
+ * the canonical `[remote …]` section lives in the main repo's `.git/config`,
97
+ * which we reach via the worktree's `commondir` file.
98
+ */
99
+ function resolveGitDir(gitEntry) {
100
+ const st = (0, fs_1.statSync)(gitEntry);
101
+ if (st.isDirectory()) {
102
+ return gitEntry;
103
+ }
104
+ if (!st.isFile()) {
105
+ return undefined;
106
+ }
107
+ const contents = (0, fs_1.readFileSync)(gitEntry, "utf-8").trim();
108
+ const match = contents.match(/^gitdir:\s*(.+)$/m);
109
+ if (!match) {
110
+ return undefined;
111
+ }
112
+ const raw = match[1].trim();
113
+ const pointed = (0, path_1.isAbsolute)(raw) ? raw : (0, path_1.resolve)((0, path_1.dirname)(gitEntry), raw);
114
+ // Worktrees: `commondir` points to the main `.git` dir (where `config` lives).
115
+ const commondirFile = (0, path_1.join)(pointed, "commondir");
116
+ if ((0, fs_1.existsSync)(commondirFile)) {
117
+ const commonRaw = (0, fs_1.readFileSync)(commondirFile, "utf-8").trim();
118
+ return (0, path_1.isAbsolute)(commonRaw) ? commonRaw : (0, path_1.resolve)(pointed, commonRaw);
119
+ }
120
+ return pointed;
121
+ }
122
+ /**
123
+ * Parse a git config file body and return the URL of `[remote "origin"]`
124
+ * if present, otherwise the URL of the first `[remote "*"]` section.
125
+ *
126
+ * Hand-rolled because git config is INI-ish but with quoted subsection
127
+ * names. We don't handle `\n` line continuations or escaped quotes — git
128
+ * itself doesn't write those for remote URLs in practice.
129
+ */
130
+ function readFirstRemoteUrl(config) {
131
+ const lines = config.split(/\r?\n/);
132
+ let currentSection = null;
133
+ let currentSubsection = null;
134
+ let originUrl;
135
+ let firstUrl;
136
+ for (const rawLine of lines) {
137
+ const line = rawLine.trim();
138
+ if (line.length === 0 || line.startsWith("#") || line.startsWith(";")) {
139
+ continue;
140
+ }
141
+ const sectionMatch = line.match(/^\[([^\s\]]+)(?:\s+"([^"]*)")?\]$/);
142
+ if (sectionMatch) {
143
+ currentSection = sectionMatch[1].toLowerCase();
144
+ currentSubsection = sectionMatch[2] ?? null;
145
+ continue;
146
+ }
147
+ if (currentSection !== "remote" || currentSubsection === null) {
148
+ continue;
149
+ }
150
+ const kvMatch = line.match(/^url\s*=\s*(.+?)\s*$/i);
151
+ if (!kvMatch) {
152
+ continue;
153
+ }
154
+ const url = kvMatch[1];
155
+ if (currentSubsection === "origin") {
156
+ originUrl = url;
157
+ }
158
+ if (firstUrl === undefined) {
159
+ firstUrl = url;
160
+ }
161
+ }
162
+ return originUrl ?? firstUrl;
163
+ }
164
+ /**
165
+ * Extract the repo name from a remote URL.
166
+ * `https://github.com/foo/bar.git` → `bar`
167
+ * `git@github.com:foo/bar.git` → `bar`
168
+ * `https://gitlab.com/grp/sub/baz` → `baz`
169
+ * `ssh://git@host/foo/bar/` → `bar`
170
+ *
171
+ * Returns `undefined` if no plausible name can be extracted (empty path,
172
+ * URL ending in just a host).
173
+ */
174
+ function repoNameFromRemoteUrl(url) {
175
+ let cleaned = url.trim();
176
+ if (cleaned.length === 0) {
177
+ return undefined;
178
+ }
179
+ // SCP-style `git@host:path` → normalize to `host/path` so the path-tail
180
+ // logic below works uniformly. We don't actually need the host.
181
+ const scpMatch = cleaned.match(/^[^/@]+@[^/:]+:(.+)$/);
182
+ if (scpMatch) {
183
+ cleaned = scpMatch[1];
184
+ }
185
+ else {
186
+ // Strip scheme (`https://`, `ssh://`, `git://`, `file://`, …) and the
187
+ // host segment that follows it.
188
+ cleaned = cleaned.replace(/^[a-z][a-z0-9+.-]*:\/\/[^/]*\//i, "");
189
+ }
190
+ // Strip query / fragment, trailing slashes.
191
+ cleaned = cleaned.replace(/[?#].*$/, "").replace(/\/+$/, "");
192
+ if (cleaned.length === 0) {
193
+ return undefined;
194
+ }
195
+ const tail = cleaned.split("/").pop() ?? "";
196
+ const stripped = tail.replace(/\.git$/i, "");
197
+ return stripped.length > 0 ? stripped : undefined;
198
+ }
63
199
  /**
64
200
  * Base fields that every event must carry — derived from the actionsFile path.
65
201
  * Writers spread this into concrete event constructions to satisfy the strict
66
- * `ActionEntry` contract without duplicating derivation logic.
202
+ * `Event` contract without duplicating derivation logic.
67
203
  *
68
204
  * `user_email` is read from the per-session `state.json` (populated once at
69
205
  * session start). If state.json is absent or the field is unset, it is
@@ -113,6 +249,7 @@ async function appendAction(actionsFile, entry) {
113
249
  // actionsFile: {projectDir}/.ironbee/sessions/{sessionId}/actions.jsonl
114
250
  const sessionId = (0, path_1.basename)((0, path_1.dirname)(actionsFile));
115
251
  const projectDir = (0, path_1.dirname)((0, path_1.dirname)((0, path_1.dirname)((0, path_1.dirname)(actionsFile))));
252
+ // Safe cast: we just enriched id/session_id/project_name above.
116
253
  await (0, collector_1.sendToCollector)(entry, sessionId, projectDir);
117
254
  }
118
255
  catch (e) {
@@ -149,6 +286,13 @@ function findDurationSinceLastAction(actionsFile, actionType, now) {
149
286
  return undefined;
150
287
  }
151
288
  function readActionsSinceLastMarker(actionsFile, markerType) {
289
+ return readActionsSinceMatch(actionsFile, (e) => e.type === markerType);
290
+ }
291
+ /**
292
+ * Read all actions after the most recent entry matching `predicate`.
293
+ * Returns every entry when no match is found.
294
+ */
295
+ function readActionsSinceMatch(actionsFile, predicate) {
152
296
  if (!(0, fs_1.existsSync)(actionsFile)) {
153
297
  return [];
154
298
  }
@@ -161,7 +305,7 @@ function readActionsSinceLastMarker(actionsFile, markerType) {
161
305
  try {
162
306
  const entry = JSON.parse(lines[i]);
163
307
  entries.push(entry);
164
- if (entry.type === markerType) {
308
+ if (predicate(entry)) {
165
309
  lastMarkerIndex = i;
166
310
  }
167
311
  }
@@ -176,8 +320,23 @@ function readActionsSinceLastMarker(actionsFile, markerType) {
176
320
  return [];
177
321
  }
178
322
  }
323
+ /**
324
+ * Block markers (`action: "block"`) are **transparent** to the verification
325
+ * scope — they don't reset what the gate is asked to verify. Only `allow`
326
+ * markers reset the boundary, since they record that the gate signed off on
327
+ * everything before them.
328
+ *
329
+ * Without this, a "blocked then no further tracked edits" loop would let the
330
+ * agent submit any verdict on the next Stop and skate past with `no_edits`.
331
+ */
332
+ function isAllowVerificationRequested(e) {
333
+ if (e.type !== "verification_requested") {
334
+ return false;
335
+ }
336
+ return e.action === "allow";
337
+ }
179
338
  function getToolCallsSinceLastVerification(actionsFile) {
180
- const entries = readActionsSinceLastMarker(actionsFile, "verification_requested");
339
+ const entries = readActionsSinceMatch(actionsFile, isAllowVerificationRequested);
181
340
  return entries.filter((e) => e.type === "tool_call");
182
341
  }
183
342
  function getToolCallsSinceLastFileChange(actionsFile) {
@@ -189,7 +348,11 @@ function hasToolCallsSinceLastVerdict(actionsFile) {
189
348
  return entries.some((e) => e.type === "tool_call");
190
349
  }
191
350
  function hasFileChangesSinceLastVerification(actionsFile) {
192
- const entries = readActionsSinceLastMarker(actionsFile, "verification_requested");
351
+ const entries = readActionsSinceMatch(actionsFile, isAllowVerificationRequested);
193
352
  return entries.some((e) => e.type === "file_change");
194
353
  }
354
+ function getFileChangesSinceLastVerification(actionsFile) {
355
+ const entries = readActionsSinceMatch(actionsFile, isAllowVerificationRequested);
356
+ return entries.filter((e) => e.type === "file_change");
357
+ }
195
358
  //# sourceMappingURL=actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/hooks/core/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/hooks/core/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * IronBee — activity-end core
3
+ *
4
+ * Stop-hook handler used in monitoring-only mode (verification disabled).
5
+ * Closes the active activity and triggers a background queue flush so the
6
+ * `send_event` jobs accumulated during the turn ship to the collector before
7
+ * the next turn starts.
8
+ *
9
+ * Pairs with `activity-start` (the always-installed UserPromptSubmit handler);
10
+ * the enabled-mode equivalent is `verify-gate`, which does the same activity
11
+ * close + queue flush plus the full multi-cycle verification check.
12
+ */
13
+ export interface ActivityEndInput {
14
+ sessionDir: string;
15
+ actionsFile: string;
16
+ projectDir: string;
17
+ sessionId: string;
18
+ }
19
+ export declare function runActivityEnd(input: ActivityEndInput): Promise<void>;
20
+ //# sourceMappingURL=activity-end.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-end.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/activity-end.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3E"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * IronBee — activity-end core
4
+ *
5
+ * Stop-hook handler used in monitoring-only mode (verification disabled).
6
+ * Closes the active activity and triggers a background queue flush so the
7
+ * `send_event` jobs accumulated during the turn ship to the collector before
8
+ * the next turn starts.
9
+ *
10
+ * Pairs with `activity-start` (the always-installed UserPromptSubmit handler);
11
+ * the enabled-mode equivalent is `verify-gate`, which does the same activity
12
+ * close + queue flush plus the full multi-cycle verification check.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.runActivityEnd = runActivityEnd;
16
+ const activity_1 = require("./activity");
17
+ const queue_1 = require("../../queue");
18
+ async function runActivityEnd(input) {
19
+ const { sessionDir, actionsFile, projectDir, sessionId } = input;
20
+ await (0, activity_1.endActivity)({ sessionDir, actionsFile });
21
+ (0, queue_1.flushInBackground)(projectDir, sessionId);
22
+ }
23
+ //# sourceMappingURL=activity-end.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-end.js","sourceRoot":"","sources":["../../../src/hooks/core/activity-end.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAYH,wCAIC;AAdD,yCAAyC;AACzC,uCAAgD;AASzC,KAAK,UAAU,cAAc,CAAC,KAAuB;IACxD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,IAAA,sBAAW,EAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/C,IAAA,yBAAiB,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC"}