@rudderhq/server 0.7.14 → 0.7.16

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 (280) hide show
  1. package/dist/agent-runtimes/http/execute.test.d.ts +2 -0
  2. package/dist/agent-runtimes/http/execute.test.d.ts.map +1 -0
  3. package/dist/agent-runtimes/http/execute.test.js +43 -0
  4. package/dist/agent-runtimes/http/execute.test.js.map +1 -0
  5. package/dist/agent-runtimes/process/execute.d.ts.map +1 -1
  6. package/dist/agent-runtimes/process/execute.js +20 -3
  7. package/dist/agent-runtimes/process/execute.js.map +1 -1
  8. package/dist/agent-runtimes/process/execute.test.d.ts +2 -0
  9. package/dist/agent-runtimes/process/execute.test.d.ts.map +1 -0
  10. package/dist/agent-runtimes/process/execute.test.js +57 -0
  11. package/dist/agent-runtimes/process/execute.test.js.map +1 -0
  12. package/dist/agent-runtimes/registry.d.ts.map +1 -1
  13. package/dist/agent-runtimes/registry.js +3 -1
  14. package/dist/agent-runtimes/registry.js.map +1 -1
  15. package/dist/bootstrap/create-http-app.d.ts.map +1 -1
  16. package/dist/bootstrap/create-http-app.js +9 -3
  17. package/dist/bootstrap/create-http-app.js.map +1 -1
  18. package/dist/config.js +4 -4
  19. package/dist/config.js.map +1 -1
  20. package/dist/index.js +2 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/middleware/error-handler.d.ts.map +1 -1
  23. package/dist/middleware/error-handler.js +10 -2
  24. package/dist/middleware/error-handler.js.map +1 -1
  25. package/dist/middleware/logger.d.ts +3 -0
  26. package/dist/middleware/logger.d.ts.map +1 -1
  27. package/dist/middleware/logger.js +15 -6
  28. package/dist/middleware/logger.js.map +1 -1
  29. package/dist/middleware/logger.test.js +14 -1
  30. package/dist/middleware/logger.test.js.map +1 -1
  31. package/dist/routes/agents.management-routes.d.ts.map +1 -1
  32. package/dist/routes/agents.management-routes.js +51 -1
  33. package/dist/routes/agents.management-routes.js.map +1 -1
  34. package/dist/routes/chats.annotation-routes.d.ts +6 -1
  35. package/dist/routes/chats.annotation-routes.d.ts.map +1 -1
  36. package/dist/routes/chats.annotation-routes.js +40 -7
  37. package/dist/routes/chats.annotation-routes.js.map +1 -1
  38. package/dist/routes/chats.d.ts.map +1 -1
  39. package/dist/routes/chats.js +44 -3
  40. package/dist/routes/chats.js.map +1 -1
  41. package/dist/routes/chats.stream-routes.d.ts.map +1 -1
  42. package/dist/routes/chats.stream-routes.js +122 -18
  43. package/dist/routes/chats.stream-routes.js.map +1 -1
  44. package/dist/routes/issues.js +1 -1
  45. package/dist/routes/issues.js.map +1 -1
  46. package/dist/routes/issues.mutations.d.ts.map +1 -1
  47. package/dist/routes/issues.mutations.js +99 -1
  48. package/dist/routes/issues.mutations.js.map +1 -1
  49. package/dist/routes/orgs.d.ts.map +1 -1
  50. package/dist/routes/orgs.js +1 -0
  51. package/dist/routes/orgs.js.map +1 -1
  52. package/dist/routes/rudder-plugins.js +2 -2
  53. package/dist/routes/rudder-plugins.js.map +1 -1
  54. package/dist/routes/run-intelligence.d.ts.map +1 -1
  55. package/dist/routes/run-intelligence.js +11 -1
  56. package/dist/routes/run-intelligence.js.map +1 -1
  57. package/dist/services/agent-issue-creation.d.ts +1 -0
  58. package/dist/services/agent-issue-creation.d.ts.map +1 -1
  59. package/dist/services/agent-run-context.d.ts +1 -1
  60. package/dist/services/agent-run-context.d.ts.map +1 -1
  61. package/dist/services/agents.d.ts +35 -0
  62. package/dist/services/agents.d.ts.map +1 -1
  63. package/dist/services/automation-chat-output.d.ts +2 -0
  64. package/dist/services/automation-chat-output.d.ts.map +1 -1
  65. package/dist/services/automations.d.ts.map +1 -1
  66. package/dist/services/automations.js +1 -1
  67. package/dist/services/automations.js.map +1 -1
  68. package/dist/services/chat-agent-runs.d.ts +3 -0
  69. package/dist/services/chat-agent-runs.d.ts.map +1 -1
  70. package/dist/services/chat-annotation-copy-lineage.d.ts +2 -0
  71. package/dist/services/chat-annotation-copy-lineage.d.ts.map +1 -1
  72. package/dist/services/chat-assistant.d.ts.map +1 -1
  73. package/dist/services/chat-assistant.js +38 -18
  74. package/dist/services/chat-assistant.js.map +1 -1
  75. package/dist/services/chat-generation-locks.d.ts +3 -1
  76. package/dist/services/chat-generation-locks.d.ts.map +1 -1
  77. package/dist/services/chat-generation-locks.js +3 -1
  78. package/dist/services/chat-generation-locks.js.map +1 -1
  79. package/dist/services/chat-generation-locks.test.js +8 -0
  80. package/dist/services/chat-generation-locks.test.js.map +1 -1
  81. package/dist/services/chat-generation-protocol.d.ts +2 -0
  82. package/dist/services/chat-generation-protocol.d.ts.map +1 -1
  83. package/dist/services/chat-inline-annotation-validation.d.ts.map +1 -1
  84. package/dist/services/chat-inline-annotation-validation.js +10 -3
  85. package/dist/services/chat-inline-annotation-validation.js.map +1 -1
  86. package/dist/services/chat-inline-annotations.test.js +49 -9
  87. package/dist/services/chat-inline-annotations.test.js.map +1 -1
  88. package/dist/services/chat-message-mutation-fingerprint.d.ts +18 -0
  89. package/dist/services/chat-message-mutation-fingerprint.d.ts.map +1 -0
  90. package/dist/services/chat-message-mutation-fingerprint.js +22 -0
  91. package/dist/services/chat-message-mutation-fingerprint.js.map +1 -0
  92. package/dist/services/chat-queued-message-materialization.d.ts +2 -2
  93. package/dist/services/chat-queued-message-materialization.d.ts.map +1 -1
  94. package/dist/services/chat-queued-message-materialization.js +2 -2
  95. package/dist/services/chat-queued-message-materialization.js.map +1 -1
  96. package/dist/services/chats.annotation-persistence.d.ts +3 -0
  97. package/dist/services/chats.annotation-persistence.d.ts.map +1 -1
  98. package/dist/services/chats.annotation-persistence.js +68 -4
  99. package/dist/services/chats.annotation-persistence.js.map +1 -1
  100. package/dist/services/chats.d.ts +24 -0
  101. package/dist/services/chats.d.ts.map +1 -1
  102. package/dist/services/chats.js +30 -1
  103. package/dist/services/chats.js.map +1 -1
  104. package/dist/services/chats.queued-message-create.d.ts +1 -0
  105. package/dist/services/chats.queued-message-create.d.ts.map +1 -1
  106. package/dist/services/chats.queued-message-create.js +2 -2
  107. package/dist/services/chats.queued-message-create.js.map +1 -1
  108. package/dist/services/chats.types.d.ts +3 -1
  109. package/dist/services/chats.types.d.ts.map +1 -1
  110. package/dist/services/delegation-runs.d.ts +41 -0
  111. package/dist/services/delegation-runs.d.ts.map +1 -0
  112. package/dist/services/delegation-runs.js +229 -0
  113. package/dist/services/delegation-runs.js.map +1 -0
  114. package/dist/services/delegation-runs.test.d.ts +2 -0
  115. package/dist/services/delegation-runs.test.d.ts.map +1 -0
  116. package/dist/services/delegation-runs.test.js +373 -0
  117. package/dist/services/delegation-runs.test.js.map +1 -0
  118. package/dist/services/integrations/feishu/runtime.d.ts.map +1 -1
  119. package/dist/services/integrations/feishu/runtime.js +69 -23
  120. package/dist/services/integrations/feishu/runtime.js.map +1 -1
  121. package/dist/services/issues.d.ts.map +1 -1
  122. package/dist/services/issues.helpers.d.ts +5 -0
  123. package/dist/services/issues.helpers.d.ts.map +1 -1
  124. package/dist/services/issues.helpers.js +11 -0
  125. package/dist/services/issues.helpers.js.map +1 -1
  126. package/dist/services/issues.js +6 -9
  127. package/dist/services/issues.js.map +1 -1
  128. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts +1 -1
  129. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts.map +1 -1
  130. package/dist/services/knowledge-portability/organization-skills.catalog.js +7 -0
  131. package/dist/services/knowledge-portability/organization-skills.catalog.js.map +1 -1
  132. package/dist/services/messenger-run-origin.d.ts +1 -0
  133. package/dist/services/messenger-run-origin.d.ts.map +1 -1
  134. package/dist/services/messenger-run-origin.js +1 -0
  135. package/dist/services/messenger-run-origin.js.map +1 -1
  136. package/dist/services/messenger-saved-views.d.ts.map +1 -1
  137. package/dist/services/messenger-saved-views.js +29 -5
  138. package/dist/services/messenger-saved-views.js.map +1 -1
  139. package/dist/services/messenger.d.ts.map +1 -1
  140. package/dist/services/messenger.js +1 -0
  141. package/dist/services/messenger.js.map +1 -1
  142. package/dist/services/organization-workspace-browser.d.ts.map +1 -1
  143. package/dist/services/organization-workspace-browser.js +7 -1
  144. package/dist/services/organization-workspace-browser.js.map +1 -1
  145. package/dist/services/rudder-plugin-catalog.d.ts.map +1 -1
  146. package/dist/services/rudder-plugin-catalog.js +49 -35
  147. package/dist/services/rudder-plugin-catalog.js.map +1 -1
  148. package/dist/services/rudder-plugin-catalog.test.js +169 -1
  149. package/dist/services/rudder-plugin-catalog.test.js.map +1 -1
  150. package/dist/services/rudder-plugins.d.ts +2 -0
  151. package/dist/services/rudder-plugins.d.ts.map +1 -1
  152. package/dist/services/rudder-plugins.js +16 -11
  153. package/dist/services/rudder-plugins.js.map +1 -1
  154. package/dist/services/rudder-plugins.test.js +17 -1
  155. package/dist/services/rudder-plugins.test.js.map +1 -1
  156. package/dist/services/run-intelligence.d.ts.map +1 -1
  157. package/dist/services/run-intelligence.js +15 -1
  158. package/dist/services/run-intelligence.js.map +1 -1
  159. package/dist/services/runtime-kernel/assignment-run-guardrail.d.ts +12 -95
  160. package/dist/services/runtime-kernel/assignment-run-guardrail.d.ts.map +1 -1
  161. package/dist/services/runtime-kernel/assignment-run-guardrail.js +104 -350
  162. package/dist/services/runtime-kernel/assignment-run-guardrail.js.map +1 -1
  163. package/dist/services/runtime-kernel/assignment-run-guardrail.test.js +109 -143
  164. package/dist/services/runtime-kernel/assignment-run-guardrail.test.js.map +1 -1
  165. package/dist/services/runtime-kernel/heartbeat.core.d.ts +23 -2
  166. package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
  167. package/dist/services/runtime-kernel/heartbeat.core.js +1 -0
  168. package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
  169. package/dist/services/runtime-kernel/heartbeat.d.ts +10 -0
  170. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  171. package/dist/services/runtime-kernel/heartbeat.execute.d.ts.map +1 -1
  172. package/dist/services/runtime-kernel/heartbeat.execute.js +103 -141
  173. package/dist/services/runtime-kernel/heartbeat.execute.js.map +1 -1
  174. package/dist/services/runtime-kernel/heartbeat.js +43 -7
  175. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  176. package/dist/services/runtime-kernel/heartbeat.misc.js +1 -1
  177. package/dist/services/runtime-kernel/heartbeat.misc.js.map +1 -1
  178. package/dist/services/runtime-kernel/heartbeat.recovery.d.ts +7 -0
  179. package/dist/services/runtime-kernel/heartbeat.recovery.d.ts.map +1 -1
  180. package/dist/services/runtime-kernel/heartbeat.recovery.js +101 -5
  181. package/dist/services/runtime-kernel/heartbeat.recovery.js.map +1 -1
  182. package/dist/services/runtime-kernel/heartbeat.release.d.ts.map +1 -1
  183. package/dist/services/runtime-kernel/heartbeat.release.js +1 -0
  184. package/dist/services/runtime-kernel/heartbeat.release.js.map +1 -1
  185. package/dist/services/runtime-kernel/heartbeat.sessions.d.ts.map +1 -1
  186. package/dist/services/runtime-kernel/heartbeat.sessions.js +2 -0
  187. package/dist/services/runtime-kernel/heartbeat.sessions.js.map +1 -1
  188. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts +10 -1
  189. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts.map +1 -1
  190. package/dist/services/runtime-kernel/heartbeat.terminal.js.map +1 -1
  191. package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts.map +1 -1
  192. package/dist/services/runtime-kernel/heartbeat.wakeup.js +14 -1
  193. package/dist/services/runtime-kernel/heartbeat.wakeup.js.map +1 -1
  194. package/package.json +14 -14
  195. package/resources/bundled-skills/rudder-docs/references/cli-reference.md +4 -0
  196. package/skills/rudder-docs/references/cli-reference.md +4 -0
  197. package/ui-dist/assets/{LibraryLiveSurface-Dl_mRBqL.js → LibraryLiveSurface-DnY0wZep.js} +1 -1
  198. package/ui-dist/assets/{abnfDiagram-VRR7QNED-4MIrDcN0.js → abnfDiagram-VRR7QNED-CT-9m1Vc.js} +1 -1
  199. package/ui-dist/assets/{addon-fit-DaLbwAfQ.js → addon-fit-C6aMSfRz.js} +1 -1
  200. package/ui-dist/assets/{arc-DrbWjUWY.js → arc-1nExaM-y.js} +1 -1
  201. package/ui-dist/assets/{architectureDiagram-ZJ3FMSHR-Bt-JYYfG.js → architectureDiagram-ZJ3FMSHR-bILoPPs5.js} +1 -1
  202. package/ui-dist/assets/{blockDiagram-677ZJIJ3-OXUbGv47.js → blockDiagram-677ZJIJ3--zRFciqi.js} +1 -1
  203. package/ui-dist/assets/{c4Diagram-LMCZKHZV-C_EcNhSw.js → c4Diagram-LMCZKHZV-CrtaX6A_.js} +1 -1
  204. package/ui-dist/assets/channel-C3jj6nd_.js +1 -0
  205. package/ui-dist/assets/{chunk-2Q5K7J3B-DY-Rya7u.js → chunk-2Q5K7J3B-DoBb7ZYS.js} +1 -1
  206. package/ui-dist/assets/{chunk-32BRIVSS-CTrRcC7g.js → chunk-32BRIVSS-DilGswdp.js} +1 -1
  207. package/ui-dist/assets/{chunk-5VM5RSS4-CFfB2lwI.js → chunk-5VM5RSS4-D8q00d1k.js} +1 -1
  208. package/ui-dist/assets/{chunk-EX3LRPZG-C0nNM3QW.js → chunk-EX3LRPZG-Bl1KSAwQ.js} +1 -1
  209. package/ui-dist/assets/{chunk-JWPE2WC7-Bzqz4lCp.js → chunk-JWPE2WC7-DtdgLB7Y.js} +1 -1
  210. package/ui-dist/assets/{chunk-MOJQB5TN-B7JFd8bM.js → chunk-MOJQB5TN-UaG7L1QI.js} +1 -1
  211. package/ui-dist/assets/{chunk-RYQCIY6F-a5E8W5cO.js → chunk-RYQCIY6F-mkz9qbQF.js} +1 -1
  212. package/ui-dist/assets/{chunk-V7JOEXUC-lhKPx7D_.js → chunk-V7JOEXUC-FGET6Myl.js} +1 -1
  213. package/ui-dist/assets/{chunk-VR4S4FIN-bZBK3VoP.js → chunk-VR4S4FIN-BgfUmupS.js} +1 -1
  214. package/ui-dist/assets/{chunk-XXDRQBXY-Di3ho8vJ.js → chunk-XXDRQBXY-B6I-gBFN.js} +1 -1
  215. package/ui-dist/assets/classDiagram-OUVF2IWQ-CNsW5NoJ.js +1 -0
  216. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-CNsW5NoJ.js +1 -0
  217. package/ui-dist/assets/{cose-bilkent-JH36ORCC-CGSlPnRr.js → cose-bilkent-JH36ORCC-DVGWBjbO.js} +1 -1
  218. package/ui-dist/assets/{cynefin-VYW2F7L2-BfELv7kL.js → cynefin-VYW2F7L2-CWjLXAiA.js} +1 -1
  219. package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-iMVux7wr.js → cynefinDiagram-TSTJHNR4-DWY5Jowv.js} +1 -1
  220. package/ui-dist/assets/{dagre-VKFMJZFB-imUTNZ-g.js → dagre-VKFMJZFB-Bp0SVTqP.js} +1 -1
  221. package/ui-dist/assets/{diagram-FQU43EPY-i0bYfkK2.js → diagram-FQU43EPY-EhsLuQCs.js} +1 -1
  222. package/ui-dist/assets/{diagram-G47NLZAW-CN7P8lGu.js → diagram-G47NLZAW-C_ifHw4Q.js} +1 -1
  223. package/ui-dist/assets/{diagram-NH7WQ7WH-BJ4dmUnA.js → diagram-NH7WQ7WH-BCitqFNA.js} +1 -1
  224. package/ui-dist/assets/{diagram-OA4YK3LP-DDWgQGqt.js → diagram-OA4YK3LP-BRjomHnO.js} +1 -1
  225. package/ui-dist/assets/{diagram-WEI45ONY-3At0yiVq.js → diagram-WEI45ONY-Cr_E92JE.js} +1 -1
  226. package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-Dk6Q1_n0.js → ebnfDiagram-CCIWWBDH-0WJQMwqt.js} +1 -1
  227. package/ui-dist/assets/{erDiagram-Q63AITRT-DIQXCD2C.js → erDiagram-Q63AITRT-B0EBivSu.js} +1 -1
  228. package/ui-dist/assets/{flowDiagram-23GEKE2U-D19_Ed2R.js → flowDiagram-23GEKE2U-BwdRtCsd.js} +1 -1
  229. package/ui-dist/assets/{ganttDiagram-NO4QXBWP-JdDX_faf.js → ganttDiagram-NO4QXBWP-KxlqXAqZ.js} +1 -1
  230. package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-D1H6mGeL.js → gitGraphDiagram-IHSO6WYX-DeTCa-SS.js} +1 -1
  231. package/ui-dist/assets/{graph-BG22o1KD.js → graph-rdRwl3us.js} +1 -1
  232. package/ui-dist/assets/{index-CVu9lnBy.js → index-7Mb8iY3g.js} +1 -1
  233. package/ui-dist/assets/{index-uHZfZjdL.js → index-B2jHUYti.js} +1 -1
  234. package/ui-dist/assets/{index-CqaANx_i.js → index-Bi7KPtJ3.js} +1 -1
  235. package/ui-dist/assets/{index-CwdDPdqf.js → index-BzLCEJCf.js} +1 -1
  236. package/ui-dist/assets/{index-D3lUbbsS.js → index-C2DKaTLo.js} +1 -1
  237. package/ui-dist/assets/{index-BRGW3KLv.js → index-CY1CWc3h.js} +1 -1
  238. package/ui-dist/assets/index-CYaeM_68.css +32 -0
  239. package/ui-dist/assets/{index-inavbYTa.js → index-CbEMZXO1.js} +1 -1
  240. package/ui-dist/assets/{index-BDNVVxYy.js → index-CcLF8pix.js} +1 -1
  241. package/ui-dist/assets/{index-KZiKwV4T.js → index-CtFA44ZZ.js} +1 -1
  242. package/ui-dist/assets/{index-C0wGrz8h.js → index-CuP2P51w.js} +1 -1
  243. package/ui-dist/assets/{index-DDIA_6o8.js → index-D3RtGD1i.js} +1 -1
  244. package/ui-dist/assets/{index-BxHKdZbS.js → index-D5pdKmHf.js} +1 -1
  245. package/ui-dist/assets/{index-DXA-HNO5.js → index-DBPJ49Cn.js} +1 -1
  246. package/ui-dist/assets/{index-MrGb7TRh.js → index-NxbW73mN.js} +1 -1
  247. package/ui-dist/assets/{index-DL6O5Ix-.js → index-s8ZAOPE2.js} +589 -579
  248. package/ui-dist/assets/{infoDiagram-FWYZ7A6U-CVUn5UCu.js → infoDiagram-FWYZ7A6U-Cun6yrS9.js} +1 -1
  249. package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-5BbuWr6T.js → ishikawaDiagram-FXEZZL3T-SHuCvm_3.js} +1 -1
  250. package/ui-dist/assets/{journeyDiagram-5HDEW3XC-DoCwetKy.js → journeyDiagram-5HDEW3XC-B2oa-ovF.js} +1 -1
  251. package/ui-dist/assets/{kanban-definition-HUTT4EX6-BNDYA9Vo.js → kanban-definition-HUTT4EX6-DtG3RFW0.js} +1 -1
  252. package/ui-dist/assets/{layout-DUhTcIiA.js → layout-DmSY_WKW.js} +1 -1
  253. package/ui-dist/assets/{linear-CCEHbSzg.js → linear-BiklTv-9.js} +1 -1
  254. package/ui-dist/assets/{map-C8V41jZb.js → map-B3RAMPoy.js} +1 -1
  255. package/ui-dist/assets/{mermaid.core-UAa_NJSl.js → mermaid.core-CQj0CvWy.js} +4 -4
  256. package/ui-dist/assets/{mindmap-definition-LN4V7U3C-C_ygOwPG.js → mindmap-definition-LN4V7U3C-BQrncLdk.js} +1 -1
  257. package/ui-dist/assets/{pegDiagram-2B236MQR-Dz0Nw1iK.js → pegDiagram-2B236MQR-BmkmBhyS.js} +1 -1
  258. package/ui-dist/assets/{pieDiagram-ENE6RG2P-DSn9W4hM.js → pieDiagram-ENE6RG2P-B0dWJser.js} +1 -1
  259. package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-D6cn2p2u.js → quadrantDiagram-ABIIQ3AL-RS2o06NX.js} +1 -1
  260. package/ui-dist/assets/{railroadDiagram-RFXS5EU6-DkQOZUbI.js → railroadDiagram-RFXS5EU6-B4dlWUnB.js} +1 -1
  261. package/ui-dist/assets/{requirementDiagram-TGXJPOKE-CVxaeOzG.js → requirementDiagram-TGXJPOKE-7M1vICZA.js} +1 -1
  262. package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-DsCkJ9Sr.js → sankeyDiagram-HTMAVEWB-LUpZrugG.js} +1 -1
  263. package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-DSVgeeYC.js → sequenceDiagram-DBY2YBRQ-DB4ecUEg.js} +1 -1
  264. package/ui-dist/assets/{sizeCapture-X5ZJPWSS-jYNNSFFN.js → sizeCapture-X5ZJPWSS-CgLQGkEa.js} +1 -1
  265. package/ui-dist/assets/{stateDiagram-2N3HPSRC-HMmvTfZO.js → stateDiagram-2N3HPSRC-BxLcsZg0.js} +1 -1
  266. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-DAlIlXqa.js +1 -0
  267. package/ui-dist/assets/{swimlanes-5IMT3BWC-B7lpTS-P.js → swimlanes-5IMT3BWC-CFoyzQNM.js} +2 -2
  268. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-DXfnihCA.js +8 -0
  269. package/ui-dist/assets/{timeline-definition-FHXFAJF6-CfjkTbE1.js → timeline-definition-FHXFAJF6-C1vajCzY.js} +1 -1
  270. package/ui-dist/assets/{vennDiagram-L72KCM5P-gK5ZOhfi.js → vennDiagram-L72KCM5P-C42rETOq.js} +1 -1
  271. package/ui-dist/assets/{wardleyDiagram-EHGQE667-ClAgPp4O.js → wardleyDiagram-EHGQE667-BgzD6-QL.js} +1 -1
  272. package/ui-dist/assets/{xterm-CI3dnrG9.js → xterm-BeBaISmm.js} +1 -1
  273. package/ui-dist/assets/{xychartDiagram-FW5EYKEG-CMu8n5xR.js → xychartDiagram-FW5EYKEG-BdoJT_55.js} +1 -1
  274. package/ui-dist/index.html +2 -2
  275. package/ui-dist/assets/channel-DL45J6-6.js +0 -1
  276. package/ui-dist/assets/classDiagram-OUVF2IWQ-DuHN7Tz9.js +0 -1
  277. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-DuHN7Tz9.js +0 -1
  278. package/ui-dist/assets/index-rHP5bnon.css +0 -32
  279. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-Ij5NPf9Z.js +0 -1
  280. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-VbzuYi16.js +0 -8
@@ -7,6 +7,7 @@ import type { WakeupOptions } from "./heartbeat.core.js";
7
7
  export declare function heartbeatService(db: Db, testHooks?: {
8
8
  afterIssuePromotionCommitted?: (outcome: unknown) => Promise<void> | void;
9
9
  beforeRunClaim?: (run: typeof heartbeatRuns.$inferSelect) => Promise<void> | void;
10
+ beforeAssignmentRecoveryEnqueue?: (run: typeof heartbeatRuns.$inferSelect) => Promise<void> | void;
10
11
  /** Server-owned runners (currently Chat) may reattach a claimed wait run. */
11
12
  onNetworkWaitingRun?: (run: typeof heartbeatRuns.$inferSelect & {
12
13
  networkRecoveryExhausted?: boolean;
@@ -56,6 +57,7 @@ export declare function heartbeatService(db: Db, testHooks?: {
56
57
  finishedAt: Date | null;
57
58
  error: string | null;
58
59
  wakeupRequestId: string | null;
60
+ sourceRunId: string | null;
59
61
  exitCode: number | null;
60
62
  signal: string | null;
61
63
  usageJson: Record<string, unknown> | null;
@@ -657,6 +659,7 @@ export declare function heartbeatService(db: Db, testHooks?: {
657
659
  finishedAt: Date | null;
658
660
  error: string | null;
659
661
  wakeupRequestId: string | null;
662
+ sourceRunId: string | null;
660
663
  exitCode: number | null;
661
664
  signal: string | null;
662
665
  usageJson: Record<string, unknown> | null;
@@ -721,6 +724,11 @@ export declare function heartbeatService(db: Db, testHooks?: {
721
724
  timedOut: number;
722
725
  runIds: string[];
723
726
  }>;
727
+ warnInactiveRuns: (opts?: {
728
+ minInactivityMs?: number;
729
+ now?: Date;
730
+ recoveryCutoff?: Date;
731
+ }) => Promise<any>;
724
732
  reapTimedOutRuns: (opts?: {
725
733
  maxRuntimeMs?: number;
726
734
  now?: Date;
@@ -743,6 +751,7 @@ export declare function heartbeatService(db: Db, testHooks?: {
743
751
  startedAt: Date | null;
744
752
  updatedAt: Date;
745
753
  wakeupRequestId: string | null;
754
+ sourceRunId: string | null;
746
755
  goalId: string | null;
747
756
  contextSnapshot: Record<string, unknown> | null;
748
757
  orgId: string;
@@ -825,6 +834,7 @@ export declare function heartbeatService(db: Db, testHooks?: {
825
834
  finishedAt: Date | null;
826
835
  error: string | null;
827
836
  wakeupRequestId: string | null;
837
+ sourceRunId: string | null;
828
838
  exitCode: number | null;
829
839
  signal: string | null;
830
840
  usageJson: Record<string, unknown> | null;
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../../src/services/runtime-kernel/heartbeat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../../src/services/runtime-kernel/heartbeat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.execute.d.ts","sourceRoot":"","sources":["../../../src/services/runtime-kernel/heartbeat.execute.ts"],"names":[],"mappings":"AA6EA,OAAO,EAAE,0CAA0C,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAsCnH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,GAAG;wBA2CxB,MAAM,SAAS;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE;EAypDhF"}
1
+ {"version":3,"file":"heartbeat.execute.d.ts","sourceRoot":"","sources":["../../../src/services/runtime-kernel/heartbeat.execute.ts"],"names":[],"mappings":"AA0EA,OAAO,EAAE,0CAA0C,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAsCnH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,GAAG;wBA2CxB,MAAM,SAAS;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE;EAynDhF"}
@@ -21,9 +21,8 @@ import { buildExecutionWorkspaceAdapterConfig, issueExecutionWorkspaceModeForPer
21
21
  import { summarizeHeartbeatRunResultJson } from "../heartbeat-run-summary.js";
22
22
  import { publishLiveEvent } from "../live-events.js";
23
23
  import { isManagedWorkspaceConfigurationError, isWorkspacePermissionPreflightError, preflightManagedAgentWorkspace, } from "../managed-workspace-preflight.js";
24
- import { listProjectResourceAttachments } from "../resource-catalog.js";
25
24
  import { buildWorkspaceReadyComment, cleanupExecutionWorkspaceArtifacts, ensureRuntimeServicesForRun, persistAdapterManagedRuntimeServices, realizeExecutionWorkspace, releaseRuntimeServicesForRun } from "../workspace-runtime.js";
26
- import { AssignmentDependencyPreflightError, createAssignmentRunFailureBudget, inspectAssignmentRunWorkspace, repairAssignmentRunWorkspace, resolveProjectWorkingSetCwd, } from "./assignment-run-guardrail.js";
25
+ import { ASSIGNMENT_RUN_RECOVERY_BACKOFF_MS, createAssignmentRunFailureBudget, formatAssignmentRunGuardrailError, } from "./assignment-run-guardrail.js";
27
26
  import { beginHeartbeatRunAttempt, finishHeartbeatRunAttempt, markHeartbeatRunAttemptWaiting, } from "./heartbeat-attempt-ledger.js";
28
27
  import { executeAdapterWithModelFallbacks } from "./model-fallback.js";
29
28
  export { prioritizeProjectWorkspaceCandidatesForRun } from "../agent-run-context.js";
@@ -60,7 +59,7 @@ function resolveRuntimeSceneForRun(run) {
60
59
  });
61
60
  }
62
61
  export function createHeartbeatExecuteHandlers(context) {
63
- const { db, approvalsSvc, instanceSettings, getCurrentUserRedactionOptions, runLogStore, runContextSvc, issuesSvc, executionWorkspacesSvc, workspaceOperationsSvc, activeRunExecutions, runAbortControllers, budgetHooks, budgets, getAgent, getRun, getRuntimeState, getTaskSession, getLatestRunForSession, getOldestRunForSession, resolveNormalizedUsageForSession, evaluateSessionCompaction, resolveSessionBeforeForWakeup, resolveExplicitResumeSessionOverride, upsertTaskSession, clearTaskSessions, ensureRuntimeState, setRunStatus, transitionRunToTerminal, reconcileRunEvidence, reconcileTerminalEffectsIntent, setWakeupStatus, updateWakeupRequestRecord, insertWakeupRequestRecord, appendRunEvent, persistRunProcessMetadata, clearDetachedRunWarning, acknowledgeRunProcessExit, abortRunExecution, renewRunExecutionLease, enqueueRecoveryRun, enqueueProcessLossRetry, parseHeartbeatPolicy, markAgentHeartbeatChecked, evaluateTimerPreflight, runHasIssueClosureComment, runHasIssueReviewDecision, issueHasDeferredWake, passiveFollowupAlreadyRecorded, reviewerCloseoutAlreadyRecorded, issueHasRecordedBlockedReviewerDecision, evaluatePassiveIssueClosureForLockedIssue, countRunningRunsForAgent, claimQueuedRun, finalizeAgentStatus, completeTerminalControlEffects, reapOrphanedRuns, resumeQueuedRuns, updateRuntimeState, startNextQueuedRunForAgent, releaseIssueExecutionAndPromote, enqueueWakeup, resumeDeferredWakeupsForAgent, listProjectScopedRunIds, listProjectScopedWakeupIds, cancelPendingWakeupsForBudgetScope, cancelRunInternal, cancelActiveForAgentInternal, cancelBudgetScopeWork, retryRunInternal, buildSkillAnalytics } = context;
62
+ const { db, approvalsSvc, instanceSettings, getCurrentUserRedactionOptions, runLogStore, runContextSvc, issuesSvc, executionWorkspacesSvc, workspaceOperationsSvc, activeRunExecutions, runAbortControllers, budgetHooks, budgets, getAgent, getRun, getRuntimeState, getTaskSession, getLatestRunForSession, getOldestRunForSession, resolveNormalizedUsageForSession, evaluateSessionCompaction, resolveSessionBeforeForWakeup, resolveExplicitResumeSessionOverride, upsertTaskSession, clearTaskSessions, ensureRuntimeState, setRunStatus, transitionRunToTerminal, reconcileRunEvidence, reconcileTerminalEffectsIntent, setWakeupStatus, updateWakeupRequestRecord, insertWakeupRequestRecord, appendRunEvent, persistRunProcessMetadata, clearDetachedRunWarning, acknowledgeRunProcessExit, abortRunExecution, renewRunExecutionLease, enqueueRecoveryRun, enqueueProcessLossRetry, parseHeartbeatPolicy, markAgentHeartbeatChecked, evaluateTimerPreflight, runHasIssueClosureComment, runHasIssueReviewDecision, issueHasDeferredWake, passiveFollowupAlreadyRecorded, reviewerCloseoutAlreadyRecorded, issueHasRecordedBlockedReviewerDecision, evaluatePassiveIssueClosureForLockedIssue, countRunningRunsForAgent, claimQueuedRun, finalizeAgentStatus, completeTerminalControlEffects, reapOrphanedRuns, resumeQueuedRuns, updateRuntimeState, startNextQueuedRunForAgent, releaseIssueExecutionAndPromote, enqueueWakeup, resumeDeferredWakeupsForAgent, listProjectScopedRunIds, listProjectScopedWakeupIds, cancelPendingWakeupsForBudgetScope, cancelRunInternal, cancelActiveForAgentInternal, cancelBudgetScopeWork, retryRunInternal, buildSkillAnalytics, beforeAssignmentRecoveryEnqueue } = context;
64
63
  async function persistRunningExecutionContext(runId, desiredContext, patch = {}) {
65
64
  return db.transaction(async (tx) => {
66
65
  await tx.execute(sql `select id from heartbeat_runs where id = ${runId} for update`);
@@ -148,6 +147,7 @@ export function createHeartbeatExecuteHandlers(context) {
148
147
  logger.warn({ err: error, runId: runId, attemptIndex: ref.attemptIndex }, "failed to persist heartbeat attempt terminal state");
149
148
  }
150
149
  };
150
+ let assignmentContinuationAttempt = Math.max(0, Math.floor(Number(parseObject(run.contextSnapshot).assignmentGuardrailContinuationAttempt) || 0));
151
151
  try {
152
152
  if (run.status === "queued") {
153
153
  const claimed = await claimQueuedRun(run);
@@ -203,6 +203,8 @@ export function createHeartbeatExecuteHandlers(context) {
203
203
  let finalRunOutput = null;
204
204
  let ownsTerminalState = false;
205
205
  let shouldCompleteTerminalEffects = false;
206
+ let assignmentRecoveryEligible = false;
207
+ let assignmentRecoveryRequestedAt = null;
206
208
  let activeAttemptSpec = null;
207
209
  const finalizeExecutionTranscript = () => {
208
210
  stdoutTranscriptBuffer = appendTranscriptEntriesFromChunk({
@@ -224,9 +226,10 @@ export function createHeartbeatExecuteHandlers(context) {
224
226
  await ensureRuntimeState(agent);
225
227
  const context = parseObject(run.contextSnapshot);
226
228
  delete context.rudderGitIdentity;
227
- const assignmentContinuationAttempt = Math.max(0, Math.floor(Number(context.assignmentGuardrailContinuationAttempt) || 0));
229
+ assignmentContinuationAttempt = Math.max(0, Math.floor(Number(context.assignmentGuardrailContinuationAttempt) || 0));
228
230
  const assignmentGuardrailEnabled = run.invocationSource === "assignment"
229
231
  || context.wakeSource === "assignment"
232
+ || run.invocationSource === "automation"
230
233
  || assignmentContinuationAttempt > 0;
231
234
  const assignmentFailureBudget = assignmentGuardrailEnabled ? createAssignmentRunFailureBudget() : null;
232
235
  let assignmentGuardrailCheckpoint = null;
@@ -315,6 +318,7 @@ export function createHeartbeatExecuteHandlers(context) {
315
318
  sessionDisplayId: run.sessionReuseScope === "none" ? null : frozenSessionDisplayId,
316
319
  };
317
320
  const previousSessionParams = sessionSelection.sessionParams;
321
+ const runtimeScene = resolveRuntimeSceneForRun(run);
318
322
  const config = await runContextSvc.materializeManagedInstructionsForRun({
319
323
  ...agent,
320
324
  agentRuntimeConfig: parseObject(agent.agentRuntimeConfig),
@@ -324,27 +328,7 @@ export function createHeartbeatExecuteHandlers(context) {
324
328
  issueSettings: issueExecutionWorkspaceSettings,
325
329
  legacyUseProjectWorkspace: runtimeOverrides?.useProjectWorkspace ?? null,
326
330
  });
327
- let resolvedWorkspace = await runContextSvc.resolveWorkspaceForRun(agent, context, previousSessionParams, { useProjectWorkspace: executionWorkspaceMode !== "agent_default" });
328
- let configuredProjectWorkingSetCwd = null;
329
- if (assignmentGuardrailEnabled && executionProjectId) {
330
- const projectResources = await listProjectResourceAttachments(db, agent.orgId, executionProjectId);
331
- const projectWorkingSetCwd = resolveProjectWorkingSetCwd(projectResources);
332
- configuredProjectWorkingSetCwd = projectWorkingSetCwd;
333
- if (projectWorkingSetCwd) {
334
- const workingSetAvailable = await inspectAssignmentRunWorkspace({
335
- actualCwd: projectWorkingSetCwd,
336
- projectWorkingSetCwd,
337
- }).then((result) => result.cwdPresent);
338
- if (workingSetAvailable) {
339
- resolvedWorkspace = {
340
- ...resolvedWorkspace,
341
- cwd: projectWorkingSetCwd,
342
- source: "project_primary",
343
- projectId: executionProjectId,
344
- };
345
- }
346
- }
347
- }
331
+ const resolvedWorkspace = await runContextSvc.resolveWorkspaceForRun(agent, context, previousSessionParams, { useProjectWorkspace: executionWorkspaceMode !== "agent_default" });
348
332
  const workspaceManagedConfig = buildExecutionWorkspaceAdapterConfig({
349
333
  agentConfig: config,
350
334
  projectPolicy: projectExecutionWorkspacePolicy,
@@ -356,7 +340,7 @@ export function createHeartbeatExecuteHandlers(context) {
356
340
  ? { ...workspaceManagedConfig, ...runtimeOverrides.agentRuntimeConfig }
357
341
  : workspaceManagedConfig;
358
342
  const { resolvedConfig, runtimeConfig, runtimeSkillEntries, secretKeys } = await runContextSvc.prepareRuntimeConfig({
359
- scene: "heartbeat",
343
+ scene: runtimeScene,
360
344
  agent,
361
345
  baseConfig: mergedConfig,
362
346
  });
@@ -551,7 +535,6 @@ export function createHeartbeatExecuteHandlers(context) {
551
535
  ]
552
536
  : []),
553
537
  ];
554
- const runtimeScene = resolveRuntimeSceneForRun(run);
555
538
  const runtimeSceneContext = await runContextSvc.buildSceneContext({
556
539
  scene: runtimeScene,
557
540
  agent,
@@ -692,88 +675,6 @@ export function createHeartbeatExecuteHandlers(context) {
692
675
  level: "info",
693
676
  message: "run started",
694
677
  });
695
- if (assignmentGuardrailEnabled) {
696
- const initialWorkspacePreflight = await inspectAssignmentRunWorkspace({
697
- actualCwd: executionWorkspace.cwd,
698
- projectWorkingSetCwd: configuredProjectWorkingSetCwd ?? resolvedWorkspace.cwd,
699
- });
700
- const dependencyRepair = initialWorkspacePreflight.ready
701
- ? null
702
- : await repairAssignmentRunWorkspace({ preflight: initialWorkspacePreflight });
703
- const workspacePreflight = dependencyRepair?.final ?? initialWorkspacePreflight;
704
- if (dependencyRepair && !dependencyRepair.succeeded) {
705
- await appendRunEvent(currentRun, {
706
- eventType: "runtime.assignment_dependency_repair",
707
- stream: "system",
708
- level: "warn",
709
- message: dependencyRepair.skippedReason
710
- ? `assignment dependency repair skipped: ${dependencyRepair.skippedReason}`
711
- : "assignment dependency repair did not make the workspace ready",
712
- payload: {
713
- command: dependencyRepair.command,
714
- attempted: dependencyRepair.attempted,
715
- coalesced: dependencyRepair.coalesced,
716
- rechecked: dependencyRepair.rechecked,
717
- succeeded: dependencyRepair.succeeded,
718
- output: dependencyRepair.output,
719
- skippedReason: dependencyRepair.skippedReason,
720
- workspaceFingerprint: dependencyRepair.workspaceFingerprint,
721
- readinessFingerprint: dependencyRepair.readinessFingerprint,
722
- initialReady: dependencyRepair.initial.ready,
723
- finalReady: dependencyRepair.final.ready,
724
- },
725
- });
726
- }
727
- else if (dependencyRepair?.attempted) {
728
- await appendRunEvent(currentRun, {
729
- eventType: "runtime.assignment_dependency_repair",
730
- stream: "system",
731
- level: "info",
732
- message: "assignment dependency repair completed",
733
- payload: {
734
- command: dependencyRepair.command,
735
- attempted: dependencyRepair.attempted,
736
- coalesced: dependencyRepair.coalesced,
737
- rechecked: dependencyRepair.rechecked,
738
- succeeded: dependencyRepair.succeeded,
739
- output: dependencyRepair.output,
740
- skippedReason: dependencyRepair.skippedReason,
741
- workspaceFingerprint: dependencyRepair.workspaceFingerprint,
742
- readinessFingerprint: dependencyRepair.readinessFingerprint,
743
- initialReady: dependencyRepair.initial.ready,
744
- finalReady: dependencyRepair.final.ready,
745
- },
746
- });
747
- }
748
- await appendRunEvent(currentRun, {
749
- eventType: "runtime.assignment_preflight",
750
- stream: "system",
751
- level: workspacePreflight.ready ? "info" : "error",
752
- message: workspacePreflight.ready
753
- ? dependencyRepair?.attempted
754
- ? "assignment run workspace preflight passed after dependency repair"
755
- : "assignment run workspace preflight passed"
756
- : "assignment run workspace preflight failed",
757
- payload: {
758
- ...workspacePreflight,
759
- initialReady: dependencyRepair?.initial.ready ?? workspacePreflight.ready,
760
- dependencyRepair: dependencyRepair
761
- ? {
762
- command: dependencyRepair.command,
763
- attempted: dependencyRepair.attempted,
764
- coalesced: dependencyRepair.coalesced,
765
- rechecked: dependencyRepair.rechecked,
766
- succeeded: dependencyRepair.succeeded,
767
- output: dependencyRepair.output,
768
- skippedReason: dependencyRepair.skippedReason,
769
- }
770
- : null,
771
- },
772
- });
773
- if (!workspacePreflight.ready) {
774
- throw new AssignmentDependencyPreflightError(workspacePreflight, dependencyRepair);
775
- }
776
- }
777
678
  handle = await runLogStore.begin({
778
679
  orgId: run.orgId,
779
680
  agentId: run.agentId,
@@ -845,7 +746,8 @@ export function createHeartbeatExecuteHandlers(context) {
845
746
  .slice(0, 2_000)
846
747
  ?? "No reliable completed-work summary was emitted before the guardrail stopped this run.";
847
748
  assignmentGuardrailCheckpoint = { ...checkpoint, completedWorkSummary };
848
- const continuationRequired = assignmentContinuationAttempt < 1;
749
+ const continuationRequired = assignmentContinuationAttempt < 1
750
+ && assignmentGuardrailCheckpoint.automaticContinuationAllowed;
849
751
  await appendRunEvent(currentRun, {
850
752
  eventType: "runtime.assignment_guardrail",
851
753
  stream: "system",
@@ -1034,7 +936,9 @@ export function createHeartbeatExecuteHandlers(context) {
1034
936
  },
1035
937
  });
1036
938
  if (assignmentGuardrailCheckpoint) {
1037
- adapterResult.errorMessage = "Assignment run stopped after reaching its tool failure budget";
939
+ assignmentRecoveryEligible = assignmentContinuationAttempt < 1
940
+ && assignmentGuardrailCheckpoint.automaticContinuationAllowed;
941
+ adapterResult.errorMessage = formatAssignmentRunGuardrailError(assignmentGuardrailCheckpoint, assignmentRecoveryEligible);
1038
942
  adapterResult.errorCode = "assignment_run_failure_budget";
1039
943
  adapterResult.exitCode = adapterResult.exitCode ?? 1;
1040
944
  adapterResult.resultJson = {
@@ -1318,12 +1222,13 @@ export function createHeartbeatExecuteHandlers(context) {
1318
1222
  logSha256: logSummary?.sha256,
1319
1223
  logCompressed: logSummary?.compressed ?? false,
1320
1224
  };
1225
+ const automationTerminalEffect = {
1226
+ output: transcriptFallbackResult?.output ?? terminalEvidence.error,
1227
+ transcript: executionTranscript,
1228
+ };
1321
1229
  const terminalEffectsIntent = {
1322
1230
  version: 1,
1323
- automation: {
1324
- output: transcriptFallbackResult?.output ?? terminalEvidence.error,
1325
- transcript: executionTranscript,
1326
- },
1231
+ automation: automationTerminalEffect,
1327
1232
  runtime: {
1328
1233
  adapterResult: adapterResult,
1329
1234
  legacySessionId: nextSessionState.legacySessionId,
@@ -1437,7 +1342,8 @@ export function createHeartbeatExecuteHandlers(context) {
1437
1342
  shouldCompleteTerminalEffects = true;
1438
1343
  }
1439
1344
  if (ownsTerminalState && assignmentGuardrailCheckpoint) {
1440
- const continuationRequired = assignmentContinuationAttempt < 1;
1345
+ const continuationRequired = assignmentContinuationAttempt < 1
1346
+ && assignmentGuardrailCheckpoint.automaticContinuationAllowed;
1441
1347
  await appendRunEvent(finalizedRun, {
1442
1348
  eventType: "runtime.assignment_checkpoint",
1443
1349
  stream: "system",
@@ -1449,32 +1355,83 @@ export function createHeartbeatExecuteHandlers(context) {
1449
1355
  nextRecoveryCommand: assignmentGuardrailCheckpoint.nextRecoveryCommand,
1450
1356
  continuationRequired,
1451
1357
  failureCount: assignmentGuardrailCheckpoint.failureCount,
1358
+ unresolvedFailureCount: assignmentGuardrailCheckpoint.unresolvedFailureCount,
1359
+ failureClass: assignmentGuardrailCheckpoint.failureClass,
1360
+ continuationBlockReason: assignmentGuardrailCheckpoint.continuationBlockReason,
1452
1361
  fingerprint: assignmentGuardrailCheckpoint.fingerprint,
1453
1362
  },
1454
1363
  });
1455
1364
  if (continuationRequired) {
1456
- await enqueueRecoveryRun(finalizedRun, agent, {
1457
- recoveryTrigger: "automatic",
1458
- source: "automation",
1459
- triggerDetail: "system",
1460
- wakeReason: "assignment_failure_budget_continuation",
1461
- requestedByActorType: "system",
1462
- requestedByActorId: null,
1463
- contextPatch: {
1464
- assignmentGuardrailContinuationAttempt: assignmentContinuationAttempt + 1,
1465
- assignmentGuardrailCheckpoint,
1466
- },
1467
- startImmediately: false,
1468
- now: new Date(),
1469
- });
1365
+ const recoveryRequestedAt = new Date(Date.now() + ASSIGNMENT_RUN_RECOVERY_BACKOFF_MS);
1366
+ let recoveryRun = null;
1367
+ try {
1368
+ await beforeAssignmentRecoveryEnqueue?.(finalizedRun);
1369
+ recoveryRun = await enqueueRecoveryRun(finalizedRun, agent, {
1370
+ recoveryTrigger: "automatic",
1371
+ source: "automation",
1372
+ triggerDetail: "system",
1373
+ wakeReason: "assignment_failure_budget_continuation",
1374
+ requestedByActorType: "system",
1375
+ requestedByActorId: null,
1376
+ contextPatch: {
1377
+ assignmentGuardrailContinuationAttempt: assignmentContinuationAttempt + 1,
1378
+ assignmentGuardrailCheckpoint,
1379
+ assignmentGuardrailRecovery: {
1380
+ attempt: assignmentContinuationAttempt + 1,
1381
+ maxAttempts: 1,
1382
+ backoffMs: ASSIGNMENT_RUN_RECOVERY_BACKOFF_MS,
1383
+ requestedAt: recoveryRequestedAt.toISOString(),
1384
+ },
1385
+ },
1386
+ startImmediately: false,
1387
+ notBefore: recoveryRequestedAt,
1388
+ suppressSourceAutomationOutput: true,
1389
+ now: new Date(),
1390
+ });
1391
+ }
1392
+ catch (recoveryError) {
1393
+ const recoveryErrorMessage = recoveryError instanceof Error
1394
+ ? recoveryError.message
1395
+ : "Unknown recovery enqueue failure";
1396
+ await appendRunEvent(finalizedRun, {
1397
+ eventType: "runtime.assignment_recovery_request_failed",
1398
+ stream: "system",
1399
+ level: "error",
1400
+ message: "bounded assignment recovery request failed",
1401
+ payload: {
1402
+ attempt: assignmentContinuationAttempt + 1,
1403
+ maxAttempts: 1,
1404
+ failureClass: assignmentGuardrailCheckpoint.failureClass,
1405
+ error: recoveryErrorMessage,
1406
+ },
1407
+ });
1408
+ logger.error({ err: recoveryError, runId: finalizedRun.id }, "failed to enqueue bounded assignment recovery");
1409
+ }
1410
+ if (recoveryRun) {
1411
+ assignmentRecoveryRequestedAt = recoveryRequestedAt;
1412
+ await appendRunEvent(finalizedRun, {
1413
+ eventType: "runtime.assignment_recovery_requested",
1414
+ stream: "system",
1415
+ level: "warn",
1416
+ message: "bounded assignment recovery requested",
1417
+ payload: {
1418
+ recoveryRunId: recoveryRun.id,
1419
+ attempt: assignmentContinuationAttempt + 1,
1420
+ maxAttempts: 1,
1421
+ backoffMs: ASSIGNMENT_RUN_RECOVERY_BACKOFF_MS,
1422
+ requestedAt: recoveryRequestedAt.toISOString(),
1423
+ failureClass: assignmentGuardrailCheckpoint.failureClass,
1424
+ },
1425
+ }).catch((eventError) => {
1426
+ logger.error({ err: eventError, runId: finalizedRun.id }, "failed to record bounded assignment recovery request");
1427
+ });
1428
+ }
1470
1429
  }
1471
1430
  }
1472
1431
  }
1473
1432
  }
1474
1433
  catch (err) {
1475
- const isAssignmentDependencyPreflightFailure = err instanceof AssignmentDependencyPreflightError;
1476
- const isWorkspacePreflightFailure = isAssignmentDependencyPreflightFailure ||
1477
- isWorkspacePermissionPreflightError(err) ||
1434
+ const isWorkspacePreflightFailure = isWorkspacePermissionPreflightError(err) ||
1478
1435
  isManagedWorkspaceConfigurationError(err);
1479
1436
  const message = redactCurrentUserText(err instanceof Error ? err.message : "Unknown adapter failure", await getCurrentUserRedactionOptions());
1480
1437
  transcriptFallbackResult = {
@@ -1593,11 +1550,9 @@ export function createHeartbeatExecuteHandlers(context) {
1593
1550
  if (ownsTerminalState) {
1594
1551
  await appendForbiddenMarkerEvent(failedRun, buildForbiddenMarkerScan(null));
1595
1552
  await appendRunEvent(failedRun, {
1596
- eventType: isAssignmentDependencyPreflightFailure
1597
- ? "runtime.assignment_preflight_failed"
1598
- : isWorkspacePreflightFailure
1599
- ? "runtime.workspace_preflight_failed"
1600
- : "error",
1553
+ eventType: isWorkspacePreflightFailure
1554
+ ? "runtime.workspace_preflight_failed"
1555
+ : "error",
1601
1556
  stream: "system",
1602
1557
  level: "error",
1603
1558
  message,
@@ -1605,9 +1560,7 @@ export function createHeartbeatExecuteHandlers(context) {
1605
1560
  ? {
1606
1561
  payload: {
1607
1562
  errorCode: err.errorCode,
1608
- ...(isAssignmentDependencyPreflightFailure
1609
- ? err.failure
1610
- : { failure: err.failure }),
1563
+ failure: err.failure,
1611
1564
  },
1612
1565
  }
1613
1566
  : {}),
@@ -1633,6 +1586,15 @@ export function createHeartbeatExecuteHandlers(context) {
1633
1586
  : undefined);
1634
1587
  }
1635
1588
  }
1589
+ if (assignmentRecoveryRequestedAt) {
1590
+ const delayMs = Math.max(0, assignmentRecoveryRequestedAt.getTime() - Date.now());
1591
+ const recoveryTimer = setTimeout(() => {
1592
+ void startNextQueuedRunForAgent(agent.id).catch((error) => {
1593
+ logger.error({ err: error, runId }, "failed to start bounded assignment recovery");
1594
+ });
1595
+ }, delayMs);
1596
+ recoveryTimer.unref?.();
1597
+ }
1636
1598
  }
1637
1599
  }
1638
1600
  catch (outerErr) {