@rudderhq/server 0.4.6-canary.9 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/dist/agent-runtimes/http/execute.d.ts.map +1 -1
  2. package/dist/agent-runtimes/http/execute.js +8 -2
  3. package/dist/agent-runtimes/http/execute.js.map +1 -1
  4. package/dist/agent-runtimes/process/execute.d.ts.map +1 -1
  5. package/dist/agent-runtimes/process/execute.js +3 -1
  6. package/dist/agent-runtimes/process/execute.js.map +1 -1
  7. package/dist/agent-runtimes/utils.d.ts +6 -1
  8. package/dist/agent-runtimes/utils.d.ts.map +1 -1
  9. package/dist/agent-runtimes/utils.js +1 -1
  10. package/dist/agent-runtimes/utils.js.map +1 -1
  11. package/dist/app.d.ts +3 -3
  12. package/dist/app.d.ts.map +1 -1
  13. package/dist/app.js +17 -8
  14. package/dist/app.js.map +1 -1
  15. package/dist/bootstrap/create-http-app.d.ts +6 -1
  16. package/dist/bootstrap/create-http-app.d.ts.map +1 -1
  17. package/dist/bootstrap/create-http-app.js +122 -46
  18. package/dist/bootstrap/create-http-app.js.map +1 -1
  19. package/dist/bootstrap/plugin-host-runtime.d.ts.map +1 -1
  20. package/dist/bootstrap/plugin-host-runtime.js +89 -31
  21. package/dist/bootstrap/plugin-host-runtime.js.map +1 -1
  22. package/dist/bootstrap/register-api-routes.d.ts +3 -1
  23. package/dist/bootstrap/register-api-routes.d.ts.map +1 -1
  24. package/dist/bootstrap/register-api-routes.js +3 -3
  25. package/dist/bootstrap/register-api-routes.js.map +1 -1
  26. package/dist/bootstrap/types.d.ts +1 -0
  27. package/dist/bootstrap/types.d.ts.map +1 -1
  28. package/dist/bundled-plugins/plugin-linear/dist/worker.js +348 -172
  29. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +3 -3
  30. package/dist/config.d.ts +2 -0
  31. package/dist/config.d.ts.map +1 -1
  32. package/dist/config.js +23 -0
  33. package/dist/config.js.map +1 -1
  34. package/dist/home-paths.d.ts.map +1 -1
  35. package/dist/home-paths.js +79 -7
  36. package/dist/home-paths.js.map +1 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +31 -54
  39. package/dist/index.js.map +1 -1
  40. package/dist/routes/access-onboarding.helpers.js +3 -3
  41. package/dist/routes/access-onboarding.helpers.js.map +1 -1
  42. package/dist/routes/access.helpers.d.ts.map +1 -1
  43. package/dist/routes/access.helpers.js +3 -2
  44. package/dist/routes/access.helpers.js.map +1 -1
  45. package/dist/routes/access.js +1 -1
  46. package/dist/routes/access.js.map +1 -1
  47. package/dist/routes/activity.d.ts.map +1 -1
  48. package/dist/routes/activity.js +5 -1
  49. package/dist/routes/activity.js.map +1 -1
  50. package/dist/routes/agents.management-routes.d.ts.map +1 -1
  51. package/dist/routes/agents.management-routes.js +13 -13
  52. package/dist/routes/agents.management-routes.js.map +1 -1
  53. package/dist/routes/assets.d.ts.map +1 -1
  54. package/dist/routes/assets.js +9 -2
  55. package/dist/routes/assets.js.map +1 -1
  56. package/dist/routes/chat-background-runtime.d.ts +19 -0
  57. package/dist/routes/chat-background-runtime.d.ts.map +1 -0
  58. package/dist/routes/chat-background-runtime.js +129 -0
  59. package/dist/routes/chat-background-runtime.js.map +1 -0
  60. package/dist/routes/chats.d.ts +2 -1
  61. package/dist/routes/chats.d.ts.map +1 -1
  62. package/dist/routes/chats.js +944 -24
  63. package/dist/routes/chats.js.map +1 -1
  64. package/dist/routes/chats.stream-routes.d.ts.map +1 -1
  65. package/dist/routes/chats.stream-routes.js +552 -76
  66. package/dist/routes/chats.stream-routes.js.map +1 -1
  67. package/dist/routes/issues.comments-attachments.d.ts.map +1 -1
  68. package/dist/routes/issues.comments-attachments.js +14 -31
  69. package/dist/routes/issues.comments-attachments.js.map +1 -1
  70. package/dist/routes/onboarding.js +1 -1
  71. package/dist/routes/onboarding.js.map +1 -1
  72. package/dist/routes/orgs.d.ts +2 -1
  73. package/dist/routes/orgs.d.ts.map +1 -1
  74. package/dist/routes/orgs.js +31 -2
  75. package/dist/routes/orgs.js.map +1 -1
  76. package/dist/routes/run-intelligence.d.ts.map +1 -1
  77. package/dist/routes/run-intelligence.js +76 -16
  78. package/dist/routes/run-intelligence.js.map +1 -1
  79. package/dist/services/activity-log.d.ts +4 -1
  80. package/dist/services/activity-log.d.ts.map +1 -1
  81. package/dist/services/activity-log.js +12 -4
  82. package/dist/services/activity-log.js.map +1 -1
  83. package/dist/services/activity.d.ts +11 -394
  84. package/dist/services/activity.d.ts.map +1 -1
  85. package/dist/services/activity.js +24 -18
  86. package/dist/services/activity.js.map +1 -1
  87. package/dist/services/agents.d.ts +741 -118
  88. package/dist/services/agents.d.ts.map +1 -1
  89. package/dist/services/approvals.d.ts +3 -3
  90. package/dist/services/automation-chat-output.d.ts.map +1 -1
  91. package/dist/services/automation-chat-output.js +115 -94
  92. package/dist/services/automation-chat-output.js.map +1 -1
  93. package/dist/services/budgets.d.ts.map +1 -1
  94. package/dist/services/budgets.js +38 -36
  95. package/dist/services/budgets.js.map +1 -1
  96. package/dist/services/chat-agent-runs.d.ts +3 -1
  97. package/dist/services/chat-agent-runs.d.ts.map +1 -1
  98. package/dist/services/chat-agent-runs.js +95 -34
  99. package/dist/services/chat-agent-runs.js.map +1 -1
  100. package/dist/services/chat-assistant.d.ts.map +1 -1
  101. package/dist/services/chat-assistant.helpers.d.ts +27 -4
  102. package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
  103. package/dist/services/chat-assistant.helpers.js +66 -2
  104. package/dist/services/chat-assistant.helpers.js.map +1 -1
  105. package/dist/services/chat-assistant.inline-visuals.test.d.ts +2 -0
  106. package/dist/services/chat-assistant.inline-visuals.test.d.ts.map +1 -0
  107. package/dist/services/chat-assistant.inline-visuals.test.js +86 -0
  108. package/dist/services/chat-assistant.inline-visuals.test.js.map +1 -0
  109. package/dist/services/chat-assistant.js +115 -22
  110. package/dist/services/chat-assistant.js.map +1 -1
  111. package/dist/services/chat-generation-locks.d.ts +85 -0
  112. package/dist/services/chat-generation-locks.d.ts.map +1 -1
  113. package/dist/services/chat-generation-locks.js +371 -9
  114. package/dist/services/chat-generation-locks.js.map +1 -1
  115. package/dist/services/chat-generation-locks.test.d.ts +2 -0
  116. package/dist/services/chat-generation-locks.test.d.ts.map +1 -0
  117. package/dist/services/chat-generation-locks.test.js +324 -0
  118. package/dist/services/chat-generation-locks.test.js.map +1 -0
  119. package/dist/services/chat-generation-protocol.d.ts +674 -0
  120. package/dist/services/chat-generation-protocol.d.ts.map +1 -0
  121. package/dist/services/chat-generation-protocol.js +1571 -0
  122. package/dist/services/chat-generation-protocol.js.map +1 -0
  123. package/dist/services/chat-generation-protocol.test.d.ts +2 -0
  124. package/dist/services/chat-generation-protocol.test.d.ts.map +1 -0
  125. package/dist/services/chat-generation-protocol.test.js +1156 -0
  126. package/dist/services/chat-generation-protocol.test.js.map +1 -0
  127. package/dist/services/chat-title-generation.d.ts +0 -3
  128. package/dist/services/chat-title-generation.d.ts.map +1 -1
  129. package/dist/services/chat-title-generation.js +2 -32
  130. package/dist/services/chat-title-generation.js.map +1 -1
  131. package/dist/services/chat-work-manifest.d.ts.map +1 -1
  132. package/dist/services/chat-work-manifest.js +5 -1
  133. package/dist/services/chat-work-manifest.js.map +1 -1
  134. package/dist/services/chats.d.ts +1451 -272
  135. package/dist/services/chats.d.ts.map +1 -1
  136. package/dist/services/chats.js +1372 -35
  137. package/dist/services/chats.js.map +1 -1
  138. package/dist/services/costs.d.ts +34 -7
  139. package/dist/services/costs.d.ts.map +1 -1
  140. package/dist/services/costs.js +129 -61
  141. package/dist/services/costs.js.map +1 -1
  142. package/dist/services/finance.d.ts +3 -3
  143. package/dist/services/goals.d.ts +2 -2
  144. package/dist/services/heartbeat.d.ts +1 -1
  145. package/dist/services/heartbeat.d.ts.map +1 -1
  146. package/dist/services/heartbeat.js +1 -1
  147. package/dist/services/heartbeat.js.map +1 -1
  148. package/dist/services/index.d.ts +1 -0
  149. package/dist/services/index.d.ts.map +1 -1
  150. package/dist/services/index.js +1 -0
  151. package/dist/services/index.js.map +1 -1
  152. package/dist/services/integrations/agent-integrations.d.ts +1 -1
  153. package/dist/services/integrations/custom-integrations.d.ts +1 -1
  154. package/dist/services/integrations/feishu/runtime.d.ts.map +1 -1
  155. package/dist/services/integrations/feishu/runtime.js +16 -0
  156. package/dist/services/integrations/feishu/runtime.js.map +1 -1
  157. package/dist/services/issues.comments-attachments.d.ts +111 -0
  158. package/dist/services/issues.comments-attachments.d.ts.map +1 -1
  159. package/dist/services/issues.comments-attachments.js +138 -66
  160. package/dist/services/issues.comments-attachments.js.map +1 -1
  161. package/dist/services/issues.d.ts +56 -0
  162. package/dist/services/issues.d.ts.map +1 -1
  163. package/dist/services/issues.helpers.d.ts.map +1 -1
  164. package/dist/services/issues.helpers.js +2 -2
  165. package/dist/services/issues.helpers.js.map +1 -1
  166. package/dist/services/issues.js +5 -2
  167. package/dist/services/issues.js.map +1 -1
  168. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts.map +1 -1
  169. package/dist/services/knowledge-portability/organization-skills.catalog.js +7 -1
  170. package/dist/services/knowledge-portability/organization-skills.catalog.js.map +1 -1
  171. package/dist/services/messenger.d.ts.map +1 -1
  172. package/dist/services/messenger.js +11 -9
  173. package/dist/services/messenger.js.map +1 -1
  174. package/dist/services/organization-workspace-browser.d.ts.map +1 -1
  175. package/dist/services/organization-workspace-browser.js +19 -3
  176. package/dist/services/organization-workspace-browser.js.map +1 -1
  177. package/dist/services/orgs.d.ts.map +1 -1
  178. package/dist/services/orgs.js +36 -12
  179. package/dist/services/orgs.js.map +1 -1
  180. package/dist/services/plugin-dev-watcher.d.ts +19 -2
  181. package/dist/services/plugin-dev-watcher.d.ts.map +1 -1
  182. package/dist/services/plugin-dev-watcher.js +45 -11
  183. package/dist/services/plugin-dev-watcher.js.map +1 -1
  184. package/dist/services/plugin-registry.d.ts +28 -28
  185. package/dist/services/projects.d.ts +1 -1
  186. package/dist/services/run-events.d.ts +20 -0
  187. package/dist/services/run-events.d.ts.map +1 -0
  188. package/dist/services/run-events.js +34 -0
  189. package/dist/services/run-events.js.map +1 -0
  190. package/dist/services/run-intelligence.d.ts +16 -4
  191. package/dist/services/run-intelligence.d.ts.map +1 -1
  192. package/dist/services/run-intelligence.js +90 -15
  193. package/dist/services/run-intelligence.js.map +1 -1
  194. package/dist/services/runtime-kernel/heartbeat.core.d.ts +23 -0
  195. package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
  196. package/dist/services/runtime-kernel/heartbeat.core.js +1 -0
  197. package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
  198. package/dist/services/runtime-kernel/heartbeat.d.ts +95 -37
  199. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  200. package/dist/services/runtime-kernel/heartbeat.execute.d.ts +3 -1
  201. package/dist/services/runtime-kernel/heartbeat.execute.d.ts.map +1 -1
  202. package/dist/services/runtime-kernel/heartbeat.execute.js +389 -219
  203. package/dist/services/runtime-kernel/heartbeat.execute.js.map +1 -1
  204. package/dist/services/runtime-kernel/heartbeat.js +594 -204
  205. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  206. package/dist/services/runtime-kernel/heartbeat.misc.d.ts.map +1 -1
  207. package/dist/services/runtime-kernel/heartbeat.misc.js +34 -24
  208. package/dist/services/runtime-kernel/heartbeat.misc.js.map +1 -1
  209. package/dist/services/runtime-kernel/heartbeat.recovery.d.ts.map +1 -1
  210. package/dist/services/runtime-kernel/heartbeat.recovery.js +56 -6
  211. package/dist/services/runtime-kernel/heartbeat.recovery.js.map +1 -1
  212. package/dist/services/runtime-kernel/heartbeat.release.d.ts +3 -1
  213. package/dist/services/runtime-kernel/heartbeat.release.d.ts.map +1 -1
  214. package/dist/services/runtime-kernel/heartbeat.release.js +276 -44
  215. package/dist/services/runtime-kernel/heartbeat.release.js.map +1 -1
  216. package/dist/services/runtime-kernel/heartbeat.sessions.d.ts +42 -1
  217. package/dist/services/runtime-kernel/heartbeat.sessions.d.ts.map +1 -1
  218. package/dist/services/runtime-kernel/heartbeat.sessions.js +110 -8
  219. package/dist/services/runtime-kernel/heartbeat.sessions.js.map +1 -1
  220. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts +575 -0
  221. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts.map +1 -0
  222. package/dist/services/runtime-kernel/heartbeat.terminal.js +589 -0
  223. package/dist/services/runtime-kernel/heartbeat.terminal.js.map +1 -0
  224. package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts.map +1 -1
  225. package/dist/services/runtime-kernel/heartbeat.wakeup.js +238 -92
  226. package/dist/services/runtime-kernel/heartbeat.wakeup.js.map +1 -1
  227. package/dist/services/runtime-kernel/model-fallback.d.ts.map +1 -1
  228. package/dist/services/runtime-kernel/model-fallback.js +11 -0
  229. package/dist/services/runtime-kernel/model-fallback.js.map +1 -1
  230. package/dist/services/side-chats.d.ts +212 -0
  231. package/dist/services/side-chats.d.ts.map +1 -0
  232. package/dist/services/side-chats.js +379 -0
  233. package/dist/services/side-chats.js.map +1 -0
  234. package/dist/services/workspace-runtime.services.d.ts +1 -1
  235. package/dist/services/workspace-web-preview.d.ts +36 -0
  236. package/dist/services/workspace-web-preview.d.ts.map +1 -0
  237. package/dist/services/workspace-web-preview.js +566 -0
  238. package/dist/services/workspace-web-preview.js.map +1 -0
  239. package/package.json +13 -13
  240. package/resources/bundled-skills/rudder-docs/SKILL.md +161 -0
  241. package/resources/bundled-skills/rudder-docs/evals/trigger-evals.json +82 -0
  242. package/{skills/rudder → resources/bundled-skills/rudder-docs}/references/api-reference.md +17 -1
  243. package/{skills/rudder → resources/bundled-skills/rudder-docs}/references/cli-reference.md +49 -94
  244. package/resources/bundled-skills/rudder-docs/references/control-plane-practices.md +231 -0
  245. package/{skills/rudder → resources/bundled-skills/rudder-docs}/references/organization-skills.md +15 -1
  246. package/resources/bundled-skills/rudder-docs/references/source-map.md +138 -0
  247. package/resources/bundled-skills/visualize/SKILL.md +132 -0
  248. package/resources/bundled-skills/visualize/agents/openai.yaml +7 -0
  249. package/resources/bundled-skills/visualize/assets/example-chart.html +89 -0
  250. package/resources/bundled-skills/visualize/references/runtime-contract.md +114 -0
  251. package/skills/rudder-docs/SKILL.md +161 -0
  252. package/skills/rudder-docs/evals/trigger-evals.json +82 -0
  253. package/{resources/bundled-skills/rudder → skills/rudder-docs}/references/api-reference.md +17 -1
  254. package/{resources/bundled-skills/rudder → skills/rudder-docs}/references/cli-reference.md +49 -94
  255. package/skills/rudder-docs/references/control-plane-practices.md +231 -0
  256. package/{resources/bundled-skills/rudder → skills/rudder-docs}/references/organization-skills.md +15 -1
  257. package/skills/rudder-docs/references/source-map.md +138 -0
  258. package/skills/visualize/SKILL.md +132 -0
  259. package/skills/visualize/agents/openai.yaml +7 -0
  260. package/skills/visualize/assets/example-chart.html +89 -0
  261. package/skills/visualize/references/runtime-contract.md +114 -0
  262. package/ui-dist/assets/{abnfDiagram-VRR7QNED-CKLAbEpH.js → abnfDiagram-VRR7QNED-Dpnx79fp.js} +1 -1
  263. package/ui-dist/assets/{arc-CS20WjB1.js → arc-Cpvh_rCf.js} +1 -1
  264. package/ui-dist/assets/{architectureDiagram-ZJ3FMSHR-BY4lounK.js → architectureDiagram-ZJ3FMSHR-sDD_mBAI.js} +1 -1
  265. package/ui-dist/assets/{blockDiagram-677ZJIJ3-BHtHl-hm.js → blockDiagram-677ZJIJ3-4O4wWti1.js} +1 -1
  266. package/ui-dist/assets/{c4Diagram-LMCZKHZV-DgOJp7yn.js → c4Diagram-LMCZKHZV-BkGODE4P.js} +1 -1
  267. package/ui-dist/assets/channel-CM4Myg_6.js +1 -0
  268. package/ui-dist/assets/{chunk-2Q5K7J3B-Uin6HTPH.js → chunk-2Q5K7J3B-DsDQQpID.js} +1 -1
  269. package/ui-dist/assets/{chunk-32BRIVSS-BxAI7yMx.js → chunk-32BRIVSS-Bzx_VnIw.js} +1 -1
  270. package/ui-dist/assets/{chunk-5VM5RSS4-Ce6AR6Sg.js → chunk-5VM5RSS4-D4LoPCni.js} +1 -1
  271. package/ui-dist/assets/{chunk-EX3LRPZG-DgxPO59e.js → chunk-EX3LRPZG-BO0R-mS4.js} +3 -3
  272. package/ui-dist/assets/{chunk-JWPE2WC7-Bn3BYmxA.js → chunk-JWPE2WC7-B4Nr8KRL.js} +1 -1
  273. package/ui-dist/assets/{chunk-MOJQB5TN-BlTdGU58.js → chunk-MOJQB5TN--uaDDrYM.js} +1 -1
  274. package/ui-dist/assets/{chunk-RYQCIY6F-C0V6evNH.js → chunk-RYQCIY6F-CyBY2w_j.js} +1 -1
  275. package/ui-dist/assets/{chunk-V7JOEXUC-DjvZ40fp.js → chunk-V7JOEXUC-BMid_x8S.js} +3 -3
  276. package/ui-dist/assets/{chunk-VR4S4FIN-CejmQVxi.js → chunk-VR4S4FIN-DVqdPKuG.js} +1 -1
  277. package/ui-dist/assets/{chunk-XXDRQBXY-tj-vHLHN.js → chunk-XXDRQBXY-vy03lLSS.js} +1 -1
  278. package/ui-dist/assets/classDiagram-OUVF2IWQ-CtlIEzTt.js +1 -0
  279. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-CtlIEzTt.js +1 -0
  280. package/ui-dist/assets/{cose-bilkent-JH36ORCC-Ci7DAkTj.js → cose-bilkent-JH36ORCC-jQDZmrG3.js} +1 -1
  281. package/ui-dist/assets/{cynefin-VYW2F7L2-CHU2plsQ.js → cynefin-VYW2F7L2-BxBj6aea.js} +1 -1
  282. package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-pqqNoczb.js → cynefinDiagram-TSTJHNR4-BuUubF5I.js} +1 -1
  283. package/ui-dist/assets/{dagre-VKFMJZFB-Bk8Y_kGf.js → dagre-VKFMJZFB-B8HipJ3a.js} +1 -1
  284. package/ui-dist/assets/{diagram-FQU43EPY-CiSxIS2M.js → diagram-FQU43EPY-r7gkbKSt.js} +2 -2
  285. package/ui-dist/assets/{diagram-G47NLZAW-qpVsOLnz.js → diagram-G47NLZAW-CxClRsxD.js} +1 -1
  286. package/ui-dist/assets/{diagram-NH7WQ7WH-Cda5JA3K.js → diagram-NH7WQ7WH-C8HYTLlq.js} +1 -1
  287. package/ui-dist/assets/{diagram-OA4YK3LP-Dh_DdE2d.js → diagram-OA4YK3LP-CjwqqLKz.js} +1 -1
  288. package/ui-dist/assets/{diagram-WEI45ONY-r5ouUhNZ.js → diagram-WEI45ONY-2IWfCqZb.js} +1 -1
  289. package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-C6lDAmmi.js → ebnfDiagram-CCIWWBDH-DVGZkgjy.js} +1 -1
  290. package/ui-dist/assets/{erDiagram-Q63AITRT-BznPfnRu.js → erDiagram-Q63AITRT-C_-u3Gmw.js} +1 -1
  291. package/ui-dist/assets/{flowDiagram-23GEKE2U-bCaogpDj.js → flowDiagram-23GEKE2U-BvGg0NCq.js} +4 -4
  292. package/ui-dist/assets/{ganttDiagram-NO4QXBWP-Bn-e5kP6.js → ganttDiagram-NO4QXBWP-U3CZUUUR.js} +1 -1
  293. package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-D7E-RLhl.js → gitGraphDiagram-IHSO6WYX-CIWuEBIo.js} +1 -1
  294. package/ui-dist/assets/{graph-3haZvvEy.js → graph-D3P5q-7m.js} +1 -1
  295. package/ui-dist/assets/index-B1rLBtZ1.js +1875 -0
  296. package/ui-dist/assets/{index-BUneV0z1.js → index-BAMXpiI5.js} +1 -1
  297. package/ui-dist/assets/{index-CheuLaX8.js → index-BAgtKYR1.js} +1 -1
  298. package/ui-dist/assets/{index-BDji4WI2.js → index-CBOr9F6w.js} +1 -1
  299. package/ui-dist/assets/{index-DlcNrNku.js → index-CbHqnWUe.js} +1 -1
  300. package/ui-dist/assets/{index-C1NcizE3.js → index-CjztBLJi.js} +1 -1
  301. package/ui-dist/assets/{index-JqztCnnf.js → index-Cu1iMhjl.js} +1 -1
  302. package/ui-dist/assets/{index-BFnwTV9t.js → index-D7ycf1qU.js} +1 -1
  303. package/ui-dist/assets/{index-JLGi6sfB.js → index-DAYlwxsg.js} +1 -1
  304. package/ui-dist/assets/{index-Bje1DqHh.js → index-DCFf9dps.js} +4 -4
  305. package/ui-dist/assets/{index-zyCQr__a.js → index-DOPIV8vd.js} +1 -1
  306. package/ui-dist/assets/{index-JEy5ZJbE.js → index-DRxLJD40.js} +1 -1
  307. package/ui-dist/assets/{index-Doc88zxN.js → index-DYMtCDKT.js} +1 -1
  308. package/ui-dist/assets/index-DekHKOsL.css +1 -0
  309. package/ui-dist/assets/{index-BN3GMGqN.js → index-DidCCw78.js} +1 -1
  310. package/ui-dist/assets/{index-DKRH0hjR.js → index-Ds_qma4-.js} +1 -1
  311. package/ui-dist/assets/{index-B2bHoMTu.js → index-HkQRx1D6.js} +1 -1
  312. package/ui-dist/assets/{index-DLxzQvPB.js → index-ikpL--zj.js} +1 -1
  313. package/ui-dist/assets/{index-mE0kmjy0.js → index-mnl55Stn.js} +1 -1
  314. package/ui-dist/assets/{infoDiagram-FWYZ7A6U-NSQ6saR1.js → infoDiagram-FWYZ7A6U-Cx8Fa-I4.js} +1 -1
  315. package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-XhGk3DMM.js → ishikawaDiagram-FXEZZL3T-Cmuz1QUN.js} +1 -1
  316. package/ui-dist/assets/{journeyDiagram-5HDEW3XC-CUyh1IKu.js → journeyDiagram-5HDEW3XC-CJgkiVXG.js} +1 -1
  317. package/ui-dist/assets/{kanban-definition-HUTT4EX6-P_0zllUc.js → kanban-definition-HUTT4EX6-RAWpefOB.js} +1 -1
  318. package/ui-dist/assets/layout-DyWQv0Rr.js +1 -0
  319. package/ui-dist/assets/{linear-DWu-hp7y.js → linear-D5pdgIf9.js} +1 -1
  320. package/ui-dist/assets/{map-B2IiHu-a.js → map-bVSzNLl2.js} +1 -1
  321. package/ui-dist/assets/mermaid.core-CeaXGD6B.js +312 -0
  322. package/ui-dist/assets/{mindmap-definition-LN4V7U3C-DpKo7DKc.js → mindmap-definition-LN4V7U3C-B8B8AX5C.js} +1 -1
  323. package/ui-dist/assets/{pegDiagram-2B236MQR-DzDDMRRX.js → pegDiagram-2B236MQR-C4Sv-ua6.js} +1 -1
  324. package/ui-dist/assets/{pieDiagram-ENE6RG2P-Dr7ZCi_a.js → pieDiagram-ENE6RG2P-CLARlOHx.js} +1 -1
  325. package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-BB_gv9s9.js → quadrantDiagram-ABIIQ3AL-DPCXQmeT.js} +1 -1
  326. package/ui-dist/assets/{railroadDiagram-RFXS5EU6-C2ji_jMN.js → railroadDiagram-RFXS5EU6-BpqRuKUQ.js} +1 -1
  327. package/ui-dist/assets/{requirementDiagram-TGXJPOKE-BJg8vYwc.js → requirementDiagram-TGXJPOKE-Dd-h62HZ.js} +1 -1
  328. package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-msvrlvO_.js → sankeyDiagram-HTMAVEWB-DylT_pqq.js} +1 -1
  329. package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-B_B68qK5.js → sequenceDiagram-DBY2YBRQ-RiCF1REj.js} +1 -1
  330. package/ui-dist/assets/{sizeCapture-X5ZJPWSS-D0VdKiQi.js → sizeCapture-X5ZJPWSS-DXW4JQz2.js} +1 -1
  331. package/ui-dist/assets/{stateDiagram-2N3HPSRC-B4V-owEQ.js → stateDiagram-2N3HPSRC-6U3ESIGT.js} +1 -1
  332. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-KQTrcZvp.js +1 -0
  333. package/ui-dist/assets/{swimlanes-5IMT3BWC-B1JTwGb7.js → swimlanes-5IMT3BWC-CeNHVNCi.js} +2 -2
  334. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-CcxS1c6r.js +8 -0
  335. package/ui-dist/assets/{timeline-definition-FHXFAJF6-C-8YlQA9.js → timeline-definition-FHXFAJF6-Vlwoe_1b.js} +1 -1
  336. package/ui-dist/assets/{vennDiagram-L72KCM5P-DP13xuPX.js → vennDiagram-L72KCM5P-DBP7D3HE.js} +6 -6
  337. package/ui-dist/assets/{wardleyDiagram-EHGQE667-D6BNPJwb.js → wardleyDiagram-EHGQE667-DG-wzqpy.js} +1 -1
  338. package/ui-dist/assets/{xychartDiagram-FW5EYKEG-my7CwP2H.js → xychartDiagram-FW5EYKEG-BAq3mbha.js} +1 -1
  339. package/ui-dist/index.html +2 -2
  340. package/resources/bundled-skills/rudder/SKILL.md +0 -314
  341. package/skills/rudder/SKILL.md +0 -314
  342. package/ui-dist/assets/channel-D-nDuwao.js +0 -1
  343. package/ui-dist/assets/classDiagram-OUVF2IWQ-Ds2nJ2Kt.js +0 -1
  344. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-Ds2nJ2Kt.js +0 -1
  345. package/ui-dist/assets/index-BA7XbHmf.css +0 -1
  346. package/ui-dist/assets/index-hE0ZX3Ud.js +0 -1820
  347. package/ui-dist/assets/layout-C-tMX-j8.js +0 -1
  348. package/ui-dist/assets/mermaid.core-WA5rvr0F.js +0 -314
  349. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-DAB9Vdyb.js +0 -1
  350. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-DRt36f68.js +0 -8
@@ -1,15 +1,16 @@
1
1
  // @ts-nocheck
2
2
  import { agents, agentWakeupRequests, heartbeatRuns, issues } from "@rudderhq/db";
3
- import { and, asc, desc, eq, inArray, lte, sql } from "drizzle-orm";
3
+ import { and, asc, desc, eq, inArray, lte, or, sql } from "drizzle-orm";
4
4
  import { conflict, notFound } from "../../errors.js";
5
5
  import { publishLiveEvent } from "../live-events.js";
6
6
  export { prioritizeProjectWorkspaceCandidatesForRun } from "../agent-run-context.js";
7
7
  import * as heartbeatCore from "./heartbeat.core.js";
8
8
  import * as heartbeatSessions from "./heartbeat.sessions.js";
9
+ import { writeTerminalIssueSemanticAudit } from "./heartbeat.terminal.js";
9
10
  const { MAX_LIVE_LOG_CHUNK_BYTES, HEARTBEAT_MAX_CONCURRENT_RUNS_DEFAULT, HEARTBEAT_MAX_CONCURRENT_RUNS_MIN, HEARTBEAT_MAX_CONCURRENT_RUNS_MAX, DEFERRED_WAKE_CONTEXT_KEY, DETACHED_PROCESS_ERROR_CODE, ORPHANED_PROCESS_TERMINATION_GRACE_MS, ORPHANED_PROCESS_KILL_WAIT_MS, ORPHANED_PROCESS_POLL_INTERVAL_MS, startLocksByAgent, MAX_RECOVERY_CHAIN_DEPTH, ISSUE_PASSIVE_FOLLOWUP_REASON, ISSUE_PASSIVE_FOLLOWUP_WAKE_SOURCE, ISSUE_PASSIVE_FOLLOWUP_FAILURE_REASON, ISSUE_PASSIVE_FOLLOWUP_MAX_ATTEMPTS, ISSUE_REVIEW_CLOSEOUT_REASON, ISSUE_REVIEW_CLOSEOUT_FAILURE_REASON, ISSUE_REVIEW_CLOSEOUT_MAX_ATTEMPTS, ISSUE_PASSIVE_FOLLOWUP_COOLDOWN_MS_BY_ATTEMPT, ISSUE_PASSIVE_FOLLOWUP_TIMER_CONTINUITY_MAX_WINDOW_MS, SESSIONED_LOCAL_ADAPTERS, heartbeatRunListColumns, appendExcerpt, appendTranscriptEntriesFromChunk, normalizeMaxConcurrentRuns, withAgentStartLock, readNonEmptyString, isIssueCommentMentionWake, resolveHeartbeatObservabilitySurface, buildHeartbeatObservationName, compactTraceText, buildIssueRunTraceName, buildHeartbeatRuntimeTraceMetadata, buildHeartbeatAdapterInvokePayload, buildRecentDateKeys, buildDateKeysBetween, fallbackSkillLabel, normalizeLoadedSkill, normalizeLoadedSkillForPayload, emptySkillEvidenceCounts, incrementSkillEvidenceCount, strongestSkillEvidence, resolveSkillEvidence, readSkillEvidenceFromPayload, extractSkillSlugFromPath, collectSkillPathsFromText, collectStringValues, normalizeSkillUseFromPath, dedupeSkillUses, collectSkillUsesFromText, readToolCommandInput, isCommandTranscriptTool, isReadTranscriptTool, inferUsedSkillsFromTranscript, normalizeSkillCandidate, addSkillCandidate, readSkillReferenceSlug, collectSkillReferences, inferUsedSkillsFromPrompt, normalizeLedgerBillingType, resolveLedgerBiller, normalizeBilledCostCents, resolveLedgerScopeForRun } = heartbeatCore;
10
11
  const { buildExplicitResumeSessionOverride, normalizeUsageTotals, readRawUsageTotals, deriveNormalizedUsageDelta, formatCount, parseSessionCompactionPolicy, resolveRuntimeSessionParamsForWorkspace, parseIssueAssigneeAgentRuntimeOverrides, deriveTaskKey, shouldResetTaskSessionForWake, formatRuntimeWorkspaceWarningLog, describeSessionResetReason, deriveCommentId, enrichWakeContextSnapshot, mergeCoalescedContextSnapshot, issueCommentAuthorKind, issueCommentAuthorLabel, buildDeferredWakePayload, readDeferredWakeContext, readDeferredWakePayload, deriveDeferredWakeTaskKey, hydrateWakeContextSnapshot, firstNonEmptyLine, deriveRecoveryFailureKind, deriveRecoveryFailureSummary, mergeMissingRecoveryContextFields, hydrateRecoveryBaseContextSnapshot, buildRecoveryContextSnapshot, normalizePassiveFollowupContext, normalizeReviewCloseoutContext, passiveFollowupCooldownMs, issueHasReviewer, isAgentEligibleForTimerContinuation, hasCredibleTimerContinuation, buildPassiveFollowupContextSnapshot, runTaskKey, isSameTaskScope, isTrackedLocalChildProcessAdapter, isProcessAlive, waitForProcessExit, terminateOrphanedProcess, truncateDisplayId, normalizeAgentNameKey, defaultSessionCodec, getAgentRuntimeSessionCodec, normalizeSessionParams, resolveNextSessionState } = heartbeatSessions;
11
12
  export function createHeartbeatWakeupHandlers(context) {
12
- const { db, instanceSettings, getCurrentUserRedactionOptions, runLogStore, runContextSvc, issuesSvc, executionWorkspacesSvc, workspaceOperationsSvc, activeRunExecutions, budgetHooks, budgets, getAgent, getRun, getRuntimeState, getTaskSession, getLatestRunForSession, getOldestRunForSession, resolveNormalizedUsageForSession, evaluateSessionCompaction, resolveSessionBeforeForWakeup, resolveExplicitResumeSessionOverride, upsertTaskSession, clearTaskSessions, ensureRuntimeState, buildHeartbeatObservabilityContext, emitHeartbeatObservationEvent, emitHeartbeatLiveEval, setRunStatus, setWakeupStatus, updateWakeupRequestRecord, insertWakeupRequestRecord, appendRunEvent, nextRunEventSeq, persistRunProcessMetadata, clearDetachedRunWarning, enqueueRecoveryRun, enqueueProcessLossRetry, parseHeartbeatPolicy, markAgentHeartbeatChecked, evaluateTimerPreflight, runHasIssueClosureComment, runHasIssueReviewDecision, issueHasDeferredWake, passiveFollowupAlreadyRecorded, reviewerCloseoutAlreadyRecorded, issueHasRecordedBlockedReviewerDecision, evaluatePassiveIssueClosureForLockedIssue, countRunningRunsForAgent, claimQueuedRun, finalizeAgentStatus, reapOrphanedRuns, resumeQueuedRuns, updateRuntimeState, startNextQueuedRunForAgent, executeRun, releaseIssueExecutionAndPromote, resumeDeferredWakeupsForAgent, listProjectScopedRunIds, listProjectScopedWakeupIds, cancelPendingWakeupsForBudgetScope, cancelRunInternal, cancelActiveForAgentInternal, cancelBudgetScopeWork, retryRunInternal, buildSkillAnalytics } = context;
13
+ const { db, instanceSettings, getCurrentUserRedactionOptions, runLogStore, runContextSvc, issuesSvc, executionWorkspacesSvc, workspaceOperationsSvc, activeRunExecutions, budgetHooks, budgets, getAgent, getRun, getRuntimeState, getTaskSession, getLatestRunForSession, getOldestRunForSession, resolveNormalizedUsageForSession, evaluateSessionCompaction, resolveSessionBeforeForWakeup, resolveExplicitResumeSessionOverride, upsertTaskSession, clearTaskSessions, ensureRuntimeState, buildHeartbeatObservabilityContext, emitHeartbeatObservationEvent, emitHeartbeatLiveEval, setRunStatus, setWakeupStatus, updateWakeupRequestRecord, insertWakeupRequestRecord, appendRunEvent, persistRunProcessMetadata, clearDetachedRunWarning, enqueueRecoveryRun, enqueueProcessLossRetry, parseHeartbeatPolicy, markAgentHeartbeatChecked, evaluateTimerPreflight, runHasIssueClosureComment, runHasIssueReviewDecision, issueHasDeferredWake, passiveFollowupAlreadyRecorded, reviewerCloseoutAlreadyRecorded, issueHasRecordedBlockedReviewerDecision, evaluatePassiveIssueClosureForLockedIssue, countRunningRunsForAgent, claimQueuedRun, finalizeAgentStatus, reapOrphanedRuns, resumeQueuedRuns, updateRuntimeState, startNextQueuedRunForAgent, executeRun, releaseIssueExecutionAndPromote, resumeDeferredWakeupsForAgent, listProjectScopedRunIds, listProjectScopedWakeupIds, cancelPendingWakeupsForBudgetScope, cancelRunInternal, cancelActiveForAgentInternal, cancelBudgetScopeWork, retryRunInternal, buildSkillAnalytics } = context;
13
14
  async function enqueueWakeup(agentId, opts = {}) {
14
15
  const source = opts.source ?? "on_demand";
15
16
  const triggerDetail = opts.triggerDetail ?? null;
@@ -17,6 +18,7 @@ export function createHeartbeatWakeupHandlers(context) {
17
18
  const reason = opts.reason ?? null;
18
19
  const payload = opts.payload ?? null;
19
20
  const existingWakeupRequestId = readNonEmptyString(opts.existingWakeupRequestId);
21
+ const originTerminalRunId = readNonEmptyString(opts.originTerminalRunId);
20
22
  const { contextSnapshot: enrichedContextSnapshot, issueIdFromPayload, taskKey, wakeCommentId, } = enrichWakeContextSnapshot({
21
23
  contextSnapshot,
22
24
  reason,
@@ -24,6 +26,7 @@ export function createHeartbeatWakeupHandlers(context) {
24
26
  triggerDetail,
25
27
  payload,
26
28
  });
29
+ heartbeatSessions.writeSessionReuseSuppression(enrichedContextSnapshot, heartbeatSessions.readSessionReuseSuppression(enrichedContextSnapshot));
27
30
  let issueId = readNonEmptyString(enrichedContextSnapshot.issueId) ?? issueIdFromPayload;
28
31
  const agent = await getAgent(agentId);
29
32
  if (!agent)
@@ -31,8 +34,15 @@ export function createHeartbeatWakeupHandlers(context) {
31
34
  const explicitResumeSession = await resolveExplicitResumeSessionOverride(agent, payload, taskKey);
32
35
  if (explicitResumeSession) {
33
36
  enrichedContextSnapshot.resumeFromRunId = explicitResumeSession.resumeFromRunId;
34
- enrichedContextSnapshot.resumeSessionDisplayId = explicitResumeSession.sessionDisplayId;
35
- enrichedContextSnapshot.resumeSessionParams = explicitResumeSession.sessionParams;
37
+ if (explicitResumeSession.sessionReuseSuppression) {
38
+ delete enrichedContextSnapshot.resumeSessionDisplayId;
39
+ delete enrichedContextSnapshot.resumeSessionParams;
40
+ heartbeatSessions.writeSessionReuseSuppression(enrichedContextSnapshot, explicitResumeSession.sessionReuseSuppression);
41
+ }
42
+ else {
43
+ enrichedContextSnapshot.resumeSessionDisplayId = explicitResumeSession.sessionDisplayId;
44
+ enrichedContextSnapshot.resumeSessionParams = explicitResumeSession.sessionParams;
45
+ }
36
46
  if (!readNonEmptyString(enrichedContextSnapshot.issueId) && explicitResumeSession.issueId) {
37
47
  enrichedContextSnapshot.issueId = explicitResumeSession.issueId;
38
48
  }
@@ -46,8 +56,75 @@ export function createHeartbeatWakeupHandlers(context) {
46
56
  }
47
57
  await hydrateWakeContextSnapshot(db, agent.orgId, enrichedContextSnapshot);
48
58
  const effectiveTaskKey = readNonEmptyString(enrichedContextSnapshot.taskKey) ?? taskKey;
49
- const sessionBefore = explicitResumeSession?.sessionDisplayId ??
50
- await resolveSessionBeforeForWakeup(agent, effectiveTaskKey);
59
+ const resetTaskSession = shouldResetTaskSessionForWake(enrichedContextSnapshot);
60
+ const taskSessionDisplayId = resetTaskSession
61
+ ? null
62
+ : await resolveSessionBeforeForWakeup(agent, effectiveTaskKey);
63
+ const admissionSessionSelection = heartbeatSessions.selectRunSessionLineage({
64
+ forceFresh: Boolean(heartbeatSessions.readSessionReuseSuppression(enrichedContextSnapshot)),
65
+ explicitSessionParams: explicitResumeSession?.sessionParams ?? null,
66
+ explicitSessionDisplayId: explicitResumeSession?.sessionDisplayId ?? null,
67
+ taskSessionParams: null,
68
+ taskSessionDisplayId,
69
+ });
70
+ const sessionBefore = admissionSessionSelection.sessionDisplayId ??
71
+ readNonEmptyString(admissionSessionSelection.sessionParams?.sessionId);
72
+ const mergeCoalescedRunAdmission = async (database, targetRunId, incomingContextSnapshot) => {
73
+ await database.execute(sql `select id from heartbeat_runs where id = ${targetRunId} for update`);
74
+ const targetRun = await database
75
+ .select()
76
+ .from(heartbeatRuns)
77
+ .where(eq(heartbeatRuns.id, targetRunId))
78
+ .then((rows) => rows[0] ?? null);
79
+ if (!targetRun)
80
+ throw notFound("Heartbeat run not found");
81
+ if (targetRun.status !== "queued" && targetRun.status !== "running")
82
+ return targetRun;
83
+ const mergedContextSnapshot = mergeCoalescedContextSnapshot(targetRun.contextSnapshot, incomingContextSnapshot);
84
+ if (targetRun.status === "running") {
85
+ return database
86
+ .update(heartbeatRuns)
87
+ .set({
88
+ contextSnapshot: mergedContextSnapshot,
89
+ updatedAt: new Date(),
90
+ })
91
+ .where(and(eq(heartbeatRuns.id, targetRun.id), eq(heartbeatRuns.status, "running")))
92
+ .returning()
93
+ .then((rows) => rows[0] ?? targetRun);
94
+ }
95
+ const sessionCodec = getAgentRuntimeSessionCodec(agent.agentRuntimeType);
96
+ const explicitSessionParams = normalizeSessionParams(sessionCodec.deserialize(mergedContextSnapshot.resumeSessionParams ?? null));
97
+ const explicitSessionDisplayId = truncateDisplayId(readNonEmptyString(mergedContextSnapshot.resumeSessionDisplayId) ??
98
+ (sessionCodec.getDisplayId ? sessionCodec.getDisplayId(explicitSessionParams) : null) ??
99
+ readNonEmptyString(explicitSessionParams?.sessionId));
100
+ const taskSessionParams = targetRun.sessionReuseScope === "task"
101
+ ? normalizeSessionParams(sessionCodec.deserialize(targetRun.sessionParamsBeforeJson ?? null))
102
+ : null;
103
+ const taskSessionDisplayId = targetRun.sessionReuseScope === "task"
104
+ ? truncateDisplayId(targetRun.sessionIdBefore ??
105
+ (sessionCodec.getDisplayId ? sessionCodec.getDisplayId(taskSessionParams) : null) ??
106
+ readNonEmptyString(taskSessionParams?.sessionId))
107
+ : null;
108
+ const sessionSelection = heartbeatSessions.selectRunSessionLineage({
109
+ forceFresh: Boolean(heartbeatSessions.readSessionReuseSuppression(mergedContextSnapshot)),
110
+ explicitSessionParams,
111
+ explicitSessionDisplayId,
112
+ taskSessionParams,
113
+ taskSessionDisplayId,
114
+ });
115
+ return database
116
+ .update(heartbeatRuns)
117
+ .set({
118
+ contextSnapshot: mergedContextSnapshot,
119
+ sessionIdBefore: sessionSelection.sessionDisplayId ?? readNonEmptyString(sessionSelection.sessionParams?.sessionId),
120
+ sessionParamsBeforeJson: sessionSelection.sessionParams,
121
+ sessionReuseScope: sessionSelection.reuseScope,
122
+ updatedAt: new Date(),
123
+ })
124
+ .where(and(eq(heartbeatRuns.id, targetRun.id), eq(heartbeatRuns.status, "queued")))
125
+ .returning()
126
+ .then((rows) => rows[0] ?? targetRun);
127
+ };
51
128
  const writeSkippedRequest = async (skipReason, diagnostics) => {
52
129
  const skippedPayload = diagnostics
53
130
  ? {
@@ -78,7 +155,7 @@ export function createHeartbeatWakeupHandlers(context) {
78
155
  requestedByActorId: opts.requestedByActorId ?? null,
79
156
  idempotencyKey: opts.idempotencyKey ?? null,
80
157
  finishedAt: new Date(),
81
- });
158
+ }).onConflictDoNothing();
82
159
  };
83
160
  if (agent.status === "terminated" || agent.status === "pending_approval") {
84
161
  throw conflict("Agent is not invokable in its current state", { status: agent.status });
@@ -226,7 +303,16 @@ export function createHeartbeatWakeupHandlers(context) {
226
303
  .where(eq(heartbeatRuns.id, issue.executionRunId))
227
304
  .then((rows) => rows[0] ?? null)
228
305
  : null;
229
- if (activeExecutionRun && activeExecutionRun.status !== "queued" && activeExecutionRun.status !== "running") {
306
+ if (activeExecutionRun
307
+ && activeExecutionRun.status !== "queued"
308
+ && activeExecutionRun.status !== "running"
309
+ && !activeExecutionRun.terminalEffectsPending) {
310
+ activeExecutionRun = null;
311
+ }
312
+ if (activeExecutionRun?.id === originTerminalRunId
313
+ && activeExecutionRun.terminalEffectsPending
314
+ && activeExecutionRun.status !== "queued"
315
+ && activeExecutionRun.status !== "running") {
230
316
  activeExecutionRun = null;
231
317
  }
232
318
  if (!activeExecutionRun && issue.executionRunId) {
@@ -244,7 +330,7 @@ export function createHeartbeatWakeupHandlers(context) {
244
330
  const legacyRun = await tx
245
331
  .select()
246
332
  .from(heartbeatRuns)
247
- .where(and(eq(heartbeatRuns.orgId, issue.orgId), inArray(heartbeatRuns.status, ["queued", "running"]), sql `${heartbeatRuns.contextSnapshot} ->> 'issueId' = ${issue.id}`))
333
+ .where(and(eq(heartbeatRuns.orgId, issue.orgId), or(inArray(heartbeatRuns.status, ["queued", "running"]), eq(heartbeatRuns.terminalEffectsPending, true)), sql `${heartbeatRuns.contextSnapshot} ->> 'issueId' = ${issue.id}`, ...(originTerminalRunId ? [sql `${heartbeatRuns.id} <> ${originTerminalRunId}`] : [])))
248
334
  .orderBy(sql `case when ${heartbeatRuns.status} = 'running' then 0 else 1 end`, asc(heartbeatRuns.createdAt))
249
335
  .limit(1)
250
336
  .then((rows) => rows[0] ?? null);
@@ -278,17 +364,8 @@ export function createHeartbeatWakeupHandlers(context) {
278
364
  const shouldQueueFollowupForCommentWake = Boolean(wakeCommentId) &&
279
365
  activeExecutionRun.status === "running" &&
280
366
  isSameExecutionAgent;
281
- if (isSameExecutionAgent && !shouldQueueFollowupForCommentWake) {
282
- const mergedContextSnapshot = mergeCoalescedContextSnapshot(activeExecutionRun.contextSnapshot, enrichedContextSnapshot);
283
- const mergedRun = await tx
284
- .update(heartbeatRuns)
285
- .set({
286
- contextSnapshot: mergedContextSnapshot,
287
- updatedAt: new Date(),
288
- })
289
- .where(eq(heartbeatRuns.id, activeExecutionRun.id))
290
- .returning()
291
- .then((rows) => rows[0] ?? activeExecutionRun);
367
+ if (isSameExecutionAgent && !shouldQueueFollowupForCommentWake && !activeExecutionRun.terminalEffectsPending) {
368
+ const mergedRun = await mergeCoalescedRunAdmission(tx, activeExecutionRun.id, enrichedContextSnapshot);
292
369
  if (existingWakeupRequestId) {
293
370
  await updateWakeupRequestRecord(tx, existingWakeupRequestId, {
294
371
  status: "coalesced",
@@ -418,6 +495,8 @@ export function createHeartbeatWakeupHandlers(context) {
418
495
  wakeupRequestId: wakeupRequest.id,
419
496
  contextSnapshot: enrichedContextSnapshot,
420
497
  sessionIdBefore: sessionBefore,
498
+ sessionParamsBeforeJson: admissionSessionSelection.sessionParams,
499
+ sessionReuseScope: admissionSessionSelection.reuseScope,
421
500
  })
422
501
  .returning()
423
502
  .then((rows) => rows[0]);
@@ -437,6 +516,9 @@ export function createHeartbeatWakeupHandlers(context) {
437
516
  updatedAt: new Date(),
438
517
  })
439
518
  .where(eq(issues.id, issue.id));
519
+ if (opts.terminalIssueAudit) {
520
+ await writeTerminalIssueSemanticAudit(tx, opts.terminalIssueAudit);
521
+ }
440
522
  return { kind: "queued", run: newRun };
441
523
  });
442
524
  if (outcome.kind === "deferred" || outcome.kind === "skipped")
@@ -444,6 +526,9 @@ export function createHeartbeatWakeupHandlers(context) {
444
526
  if (outcome.kind === "coalesced")
445
527
  return outcome.run;
446
528
  const newRun = outcome.run;
529
+ if (opts.terminalIssueAudit) {
530
+ await context.afterIssuePromotionCommitted?.({ promotedRun: newRun });
531
+ }
447
532
  publishLiveEvent({
448
533
  orgId: newRun.orgId,
449
534
  type: "heartbeat.run.queued",
@@ -455,7 +540,8 @@ export function createHeartbeatWakeupHandlers(context) {
455
540
  wakeupRequestId: newRun.wakeupRequestId,
456
541
  },
457
542
  });
458
- await startNextQueuedRunForAgent(agent.id);
543
+ if (opts.startImmediately !== false)
544
+ await startNextQueuedRunForAgent(agent.id);
459
545
  return newRun;
460
546
  }
461
547
  const activeRuns = await db
@@ -469,96 +555,127 @@ export function createHeartbeatWakeupHandlers(context) {
469
555
  const coalescedTargetRun = sameScopeQueuedRun ??
470
556
  (shouldQueueFollowupForCommentWake ? null : sameScopeRunningRun ?? null);
471
557
  if (coalescedTargetRun) {
472
- const mergedContextSnapshot = mergeCoalescedContextSnapshot(coalescedTargetRun.contextSnapshot, contextSnapshot);
473
- const mergedRun = await db
474
- .update(heartbeatRuns)
475
- .set({
476
- contextSnapshot: mergedContextSnapshot,
477
- updatedAt: new Date(),
478
- })
479
- .where(eq(heartbeatRuns.id, coalescedTargetRun.id))
480
- .returning()
481
- .then((rows) => rows[0] ?? coalescedTargetRun);
558
+ const mergedRun = await db.transaction(async (tx) => {
559
+ const lockedRun = await mergeCoalescedRunAdmission(tx, coalescedTargetRun.id, enrichedContextSnapshot);
560
+ if (existingWakeupRequestId) {
561
+ await updateWakeupRequestRecord(tx, existingWakeupRequestId, {
562
+ status: "coalesced",
563
+ runId: lockedRun.id,
564
+ claimedAt: null,
565
+ finishedAt: new Date(),
566
+ error: null,
567
+ });
568
+ }
569
+ else {
570
+ await insertWakeupRequestRecord(tx, {
571
+ orgId: agent.orgId,
572
+ agentId,
573
+ source,
574
+ triggerDetail,
575
+ reason,
576
+ payload,
577
+ status: "coalesced",
578
+ coalescedCount: 1,
579
+ requestedByActorType: opts.requestedByActorType ?? null,
580
+ requestedByActorId: opts.requestedByActorId ?? null,
581
+ idempotencyKey: opts.idempotencyKey ?? null,
582
+ runId: lockedRun.id,
583
+ finishedAt: new Date(),
584
+ });
585
+ }
586
+ return lockedRun;
587
+ });
588
+ return mergedRun;
589
+ }
590
+ const queuedOutcome = await db.transaction(async (tx) => {
591
+ let wakeupRequest;
482
592
  if (existingWakeupRequestId) {
483
- await setWakeupStatus(existingWakeupRequestId, "coalesced", {
484
- runId: mergedRun.id,
593
+ await tx.execute(sql `select ${agentWakeupRequests.id} from ${agentWakeupRequests}
594
+ where ${agentWakeupRequests.id} = ${existingWakeupRequestId}
595
+ and ${agentWakeupRequests.orgId} = ${agent.orgId}
596
+ and ${agentWakeupRequests.agentId} = ${agentId}
597
+ for update`);
598
+ const currentRequest = await tx
599
+ .select()
600
+ .from(agentWakeupRequests)
601
+ .where(and(eq(agentWakeupRequests.id, existingWakeupRequestId), eq(agentWakeupRequests.orgId, agent.orgId), eq(agentWakeupRequests.agentId, agentId)))
602
+ .then((rows) => rows[0] ?? null);
603
+ if (!currentRequest)
604
+ throw notFound("Wakeup request not found");
605
+ if (currentRequest.runId) {
606
+ const existingRun = await tx
607
+ .select()
608
+ .from(heartbeatRuns)
609
+ .where(and(eq(heartbeatRuns.id, currentRequest.runId), eq(heartbeatRuns.wakeupRequestId, currentRequest.id)))
610
+ .then((rows) => rows[0] ?? null);
611
+ if (existingRun)
612
+ return { run: existingRun, created: false };
613
+ }
614
+ wakeupRequest = await updateWakeupRequestRecord(tx, existingWakeupRequestId, {
615
+ status: "queued",
616
+ runId: null,
485
617
  claimedAt: null,
486
- finishedAt: new Date(),
618
+ finishedAt: null,
487
619
  error: null,
488
620
  });
489
621
  }
490
622
  else {
491
- await db.insert(agentWakeupRequests).values({
623
+ wakeupRequest = await insertWakeupRequestRecord(tx, {
492
624
  orgId: agent.orgId,
493
625
  agentId,
494
626
  source,
495
627
  triggerDetail,
496
628
  reason,
497
629
  payload,
498
- status: "coalesced",
499
- coalescedCount: 1,
630
+ status: "queued",
500
631
  requestedByActorType: opts.requestedByActorType ?? null,
501
632
  requestedByActorId: opts.requestedByActorId ?? null,
502
633
  idempotencyKey: opts.idempotencyKey ?? null,
503
- runId: mergedRun.id,
504
- finishedAt: new Date(),
505
634
  });
506
635
  }
507
- return mergedRun;
508
- }
509
- const wakeupRequest = existingWakeupRequestId
510
- ? await updateWakeupRequestRecord(db, existingWakeupRequestId, {
511
- status: "queued",
512
- runId: null,
513
- claimedAt: null,
514
- finishedAt: null,
515
- error: null,
516
- })
517
- : await insertWakeupRequestRecord(db, {
636
+ if (!wakeupRequest)
637
+ throw notFound("Wakeup request not found");
638
+ const newRun = await tx
639
+ .insert(heartbeatRuns)
640
+ .values({
518
641
  orgId: agent.orgId,
519
642
  agentId,
520
- source,
643
+ invocationSource: source,
521
644
  triggerDetail,
522
- reason,
523
- payload,
524
645
  status: "queued",
525
- requestedByActorType: opts.requestedByActorType ?? null,
526
- requestedByActorId: opts.requestedByActorId ?? null,
527
- idempotencyKey: opts.idempotencyKey ?? null,
528
- });
529
- const newRun = await db
530
- .insert(heartbeatRuns)
531
- .values({
532
- orgId: agent.orgId,
533
- agentId,
534
- invocationSource: source,
535
- triggerDetail,
536
- status: "queued",
537
- wakeupRequestId: wakeupRequest.id,
538
- contextSnapshot: enrichedContextSnapshot,
539
- sessionIdBefore: sessionBefore,
540
- })
541
- .returning()
542
- .then((rows) => rows[0]);
543
- await updateWakeupRequestRecord(db, wakeupRequest.id, {
544
- status: "queued",
545
- runId: newRun.id,
546
- claimedAt: null,
547
- finishedAt: null,
548
- error: null,
549
- });
550
- publishLiveEvent({
551
- orgId: newRun.orgId,
552
- type: "heartbeat.run.queued",
553
- payload: {
646
+ wakeupRequestId: wakeupRequest.id,
647
+ contextSnapshot: enrichedContextSnapshot,
648
+ sessionIdBefore: sessionBefore,
649
+ sessionParamsBeforeJson: admissionSessionSelection.sessionParams,
650
+ sessionReuseScope: admissionSessionSelection.reuseScope,
651
+ })
652
+ .returning()
653
+ .then((rows) => rows[0]);
654
+ await updateWakeupRequestRecord(tx, wakeupRequest.id, {
655
+ status: "queued",
554
656
  runId: newRun.id,
555
- agentId: newRun.agentId,
556
- invocationSource: newRun.invocationSource,
557
- triggerDetail: newRun.triggerDetail,
558
- wakeupRequestId: newRun.wakeupRequestId,
559
- },
657
+ claimedAt: null,
658
+ finishedAt: null,
659
+ error: null,
660
+ });
661
+ return { run: newRun, created: true };
560
662
  });
561
- await startNextQueuedRunForAgent(agent.id);
663
+ const newRun = queuedOutcome.run;
664
+ if (queuedOutcome.created) {
665
+ publishLiveEvent({
666
+ orgId: newRun.orgId,
667
+ type: "heartbeat.run.queued",
668
+ payload: {
669
+ runId: newRun.id,
670
+ agentId: newRun.agentId,
671
+ invocationSource: newRun.invocationSource,
672
+ triggerDetail: newRun.triggerDetail,
673
+ wakeupRequestId: newRun.wakeupRequestId,
674
+ },
675
+ });
676
+ }
677
+ if (opts.startImmediately !== false)
678
+ await startNextQueuedRunForAgent(agent.id);
562
679
  return newRun;
563
680
  }
564
681
  async function recoverPendingWakeupForTimer(agent) {
@@ -621,7 +738,7 @@ export function createHeartbeatWakeupHandlers(context) {
621
738
  ? await db
622
739
  .select({ id: heartbeatRuns.id })
623
740
  .from(heartbeatRuns)
624
- .where(and(eq(heartbeatRuns.id, issue.executionRunId), inArray(heartbeatRuns.status, ["queued", "running"])))
741
+ .where(and(eq(heartbeatRuns.id, issue.executionRunId), or(inArray(heartbeatRuns.status, ["queued", "running"]), eq(heartbeatRuns.terminalEffectsPending, true))))
625
742
  .then((rows) => rows[0] ?? null)
626
743
  : null;
627
744
  if (liveExecutionRun)
@@ -669,10 +786,37 @@ export function createHeartbeatWakeupHandlers(context) {
669
786
  payload: pendingPayload,
670
787
  });
671
788
  await hydrateWakeContextSnapshot(db, agent.orgId, recoveredContext);
672
- const sessionBefore = readNonEmptyString(recoveredContext.resumeSessionDisplayId) ??
673
- await resolveSessionBeforeForWakeup(agent, taskKey);
789
+ const sessionCodec = getAgentRuntimeSessionCodec(agent.agentRuntimeType);
790
+ const explicitSessionParams = normalizeSessionParams(sessionCodec.deserialize(recoveredContext.resumeSessionParams && typeof recoveredContext.resumeSessionParams === "object"
791
+ ? recoveredContext.resumeSessionParams
792
+ : null));
793
+ const resetTaskSession = shouldResetTaskSessionForWake(recoveredContext);
794
+ const taskSessionDisplayId = resetTaskSession
795
+ ? null
796
+ : await resolveSessionBeforeForWakeup(agent, taskKey);
797
+ const recoveredSessionSelection = heartbeatSessions.selectRunSessionLineage({
798
+ forceFresh: Boolean(heartbeatSessions.readSessionReuseSuppression(recoveredContext)),
799
+ explicitSessionParams,
800
+ explicitSessionDisplayId: readNonEmptyString(recoveredContext.resumeSessionDisplayId),
801
+ taskSessionParams: null,
802
+ taskSessionDisplayId,
803
+ });
804
+ const sessionBefore = recoveredSessionSelection.sessionDisplayId ??
805
+ readNonEmptyString(recoveredSessionSelection.sessionParams?.sessionId);
674
806
  const now = new Date();
675
807
  const recoveredRun = await db.transaction(async (tx) => {
808
+ await tx.execute(sql `select ${agentWakeupRequests.id} from ${agentWakeupRequests}
809
+ where ${agentWakeupRequests.id} = ${pendingWakeup.id}
810
+ and ${agentWakeupRequests.orgId} = ${agent.orgId}
811
+ and ${agentWakeupRequests.agentId} = ${agent.id}
812
+ for update`);
813
+ const currentRequest = await tx
814
+ .select({ runId: agentWakeupRequests.runId })
815
+ .from(agentWakeupRequests)
816
+ .where(and(eq(agentWakeupRequests.id, pendingWakeup.id), eq(agentWakeupRequests.orgId, agent.orgId), eq(agentWakeupRequests.agentId, agent.id)))
817
+ .then((rows) => rows[0] ?? null);
818
+ if (!currentRequest || currentRequest.runId)
819
+ return null;
676
820
  const wakeupRequest = await updateWakeupRequestRecord(tx, pendingWakeup.id, {
677
821
  status: "queued",
678
822
  payload: pendingPayload,
@@ -681,7 +825,7 @@ export function createHeartbeatWakeupHandlers(context) {
681
825
  finishedAt: null,
682
826
  error: null,
683
827
  });
684
- if (!wakeupRequest || wakeupRequest.runId)
828
+ if (!wakeupRequest)
685
829
  return null;
686
830
  const newRun = await tx
687
831
  .insert(heartbeatRuns)
@@ -694,6 +838,8 @@ export function createHeartbeatWakeupHandlers(context) {
694
838
  wakeupRequestId: pendingWakeup.id,
695
839
  contextSnapshot: recoveredContext,
696
840
  sessionIdBefore: sessionBefore,
841
+ sessionParamsBeforeJson: recoveredSessionSelection.sessionParams,
842
+ sessionReuseScope: recoveredSessionSelection.reuseScope,
697
843
  createdAt: now,
698
844
  updatedAt: now,
699
845
  })
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.wakeup.js","sourceRoot":"","sources":["../../../src/services/runtime-kernel/heartbeat.wakeup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heartbeat.wakeup.js","sourceRoot":"","sources":["../../../src/services/runtime-kernel/heartbeat.wakeup.ts"],"names":[],"mappings":"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"}