@rudderhq/server 0.5.2-canary.2 → 0.6.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 (386) hide show
  1. package/dist/bootstrap/register-api-routes.d.ts.map +1 -1
  2. package/dist/bootstrap/register-api-routes.js +15 -0
  3. package/dist/bootstrap/register-api-routes.js.map +1 -1
  4. package/dist/bootstrap/types.d.ts +11 -0
  5. package/dist/bootstrap/types.d.ts.map +1 -1
  6. package/dist/bundled-plugins/plugin-linear/dist/worker.js +741 -7
  7. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +3 -3
  8. package/dist/config.d.ts +2 -0
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +3 -0
  11. package/dist/config.js.map +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +28 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/local-runtime.d.ts +7 -0
  16. package/dist/local-runtime.d.ts.map +1 -1
  17. package/dist/local-runtime.js +15 -1
  18. package/dist/local-runtime.js.map +1 -1
  19. package/dist/middleware/auth.js +2 -2
  20. package/dist/middleware/auth.js.map +1 -1
  21. package/dist/middleware/error-handler.d.ts.map +1 -1
  22. package/dist/middleware/error-handler.js +3 -2
  23. package/dist/middleware/error-handler.js.map +1 -1
  24. package/dist/middleware/logger.d.ts +4 -0
  25. package/dist/middleware/logger.d.ts.map +1 -1
  26. package/dist/middleware/logger.js +82 -7
  27. package/dist/middleware/logger.js.map +1 -1
  28. package/dist/middleware/logger.test.js +94 -1
  29. package/dist/middleware/logger.test.js.map +1 -1
  30. package/dist/routes/chats.annotation-routes.d.ts +47 -0
  31. package/dist/routes/chats.annotation-routes.d.ts.map +1 -0
  32. package/dist/routes/chats.annotation-routes.js +164 -0
  33. package/dist/routes/chats.annotation-routes.js.map +1 -0
  34. package/dist/routes/chats.d.ts.map +1 -1
  35. package/dist/routes/chats.js +467 -165
  36. package/dist/routes/chats.js.map +1 -1
  37. package/dist/routes/chats.stream-routes.d.ts +1 -10
  38. package/dist/routes/chats.stream-routes.d.ts.map +1 -1
  39. package/dist/routes/chats.stream-routes.js +168 -110
  40. package/dist/routes/chats.stream-routes.js.map +1 -1
  41. package/dist/routes/chats.stream-support.d.ts +79 -0
  42. package/dist/routes/chats.stream-support.d.ts.map +1 -0
  43. package/dist/routes/chats.stream-support.js +121 -0
  44. package/dist/routes/chats.stream-support.js.map +1 -0
  45. package/dist/routes/issues.comments-attachments.d.ts.map +1 -1
  46. package/dist/routes/issues.comments-attachments.js +16 -2
  47. package/dist/routes/issues.comments-attachments.js.map +1 -1
  48. package/dist/routes/issues.d.ts.map +1 -1
  49. package/dist/routes/issues.js +21 -4
  50. package/dist/routes/issues.js.map +1 -1
  51. package/dist/routes/issues.mutations.d.ts.map +1 -1
  52. package/dist/routes/issues.mutations.js +20 -33
  53. package/dist/routes/issues.mutations.js.map +1 -1
  54. package/dist/routes/managed-mcp-agent-bindings.d.ts +15 -0
  55. package/dist/routes/managed-mcp-agent-bindings.d.ts.map +1 -0
  56. package/dist/routes/managed-mcp-agent-bindings.js +66 -0
  57. package/dist/routes/managed-mcp-agent-bindings.js.map +1 -0
  58. package/dist/routes/managed-mcp-connections.d.ts +8 -0
  59. package/dist/routes/managed-mcp-connections.d.ts.map +1 -0
  60. package/dist/routes/managed-mcp-connections.js +189 -0
  61. package/dist/routes/managed-mcp-connections.js.map +1 -0
  62. package/dist/routes/managed-mcp-runtime.d.ts +5 -0
  63. package/dist/routes/managed-mcp-runtime.d.ts.map +1 -0
  64. package/dist/routes/managed-mcp-runtime.js +148 -0
  65. package/dist/routes/managed-mcp-runtime.js.map +1 -0
  66. package/dist/routes/messenger.d.ts.map +1 -1
  67. package/dist/routes/messenger.js +1 -1
  68. package/dist/routes/messenger.js.map +1 -1
  69. package/dist/services/access.d.ts.map +1 -1
  70. package/dist/services/access.js +91 -12
  71. package/dist/services/access.js.map +1 -1
  72. package/dist/services/agent-run-context.d.ts +1 -0
  73. package/dist/services/agent-run-context.d.ts.map +1 -1
  74. package/dist/services/agent-run-context.js +5 -1
  75. package/dist/services/agent-run-context.js.map +1 -1
  76. package/dist/services/board-auth.d.ts +2 -2
  77. package/dist/services/chat-annotation-copy-lineage.d.ts +32 -0
  78. package/dist/services/chat-annotation-copy-lineage.d.ts.map +1 -0
  79. package/dist/services/chat-annotation-copy-lineage.js +110 -0
  80. package/dist/services/chat-annotation-copy-lineage.js.map +1 -0
  81. package/dist/services/chat-assistant.annotations.d.ts +16 -0
  82. package/dist/services/chat-assistant.annotations.d.ts.map +1 -0
  83. package/dist/services/chat-assistant.annotations.js +108 -0
  84. package/dist/services/chat-assistant.annotations.js.map +1 -0
  85. package/dist/services/chat-assistant.annotations.test.d.ts +2 -0
  86. package/dist/services/chat-assistant.annotations.test.d.ts.map +1 -0
  87. package/dist/services/chat-assistant.annotations.test.js +257 -0
  88. package/dist/services/chat-assistant.annotations.test.js.map +1 -0
  89. package/dist/services/chat-assistant.d.ts.map +1 -1
  90. package/dist/services/chat-assistant.helpers.d.ts +2 -3
  91. package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
  92. package/dist/services/chat-assistant.helpers.js +37 -53
  93. package/dist/services/chat-assistant.helpers.js.map +1 -1
  94. package/dist/services/chat-assistant.js +61 -5
  95. package/dist/services/chat-assistant.js.map +1 -1
  96. package/dist/services/chat-generation-protocol.d.ts +8 -15
  97. package/dist/services/chat-generation-protocol.d.ts.map +1 -1
  98. package/dist/services/chat-generation-protocol.js +19 -59
  99. package/dist/services/chat-generation-protocol.js.map +1 -1
  100. package/dist/services/chat-generation-protocol.test.js +168 -6
  101. package/dist/services/chat-generation-protocol.test.js.map +1 -1
  102. package/dist/services/chat-generation-provenance.d.ts +14 -0
  103. package/dist/services/chat-generation-provenance.d.ts.map +1 -0
  104. package/dist/services/chat-generation-provenance.js +71 -0
  105. package/dist/services/chat-generation-provenance.js.map +1 -0
  106. package/dist/services/chat-inline-annotation-rendering.d.ts +2 -0
  107. package/dist/services/chat-inline-annotation-rendering.d.ts.map +1 -0
  108. package/dist/services/chat-inline-annotation-rendering.js +265 -0
  109. package/dist/services/chat-inline-annotation-rendering.js.map +1 -0
  110. package/dist/services/chat-inline-annotation-resolved-labels.d.ts +11 -0
  111. package/dist/services/chat-inline-annotation-resolved-labels.d.ts.map +1 -0
  112. package/dist/services/chat-inline-annotation-resolved-labels.js +490 -0
  113. package/dist/services/chat-inline-annotation-resolved-labels.js.map +1 -0
  114. package/dist/services/chat-inline-annotation-validation.d.ts +15 -0
  115. package/dist/services/chat-inline-annotation-validation.d.ts.map +1 -0
  116. package/dist/services/chat-inline-annotation-validation.js +430 -0
  117. package/dist/services/chat-inline-annotation-validation.js.map +1 -0
  118. package/dist/services/chat-inline-annotations.d.ts +18 -0
  119. package/dist/services/chat-inline-annotations.d.ts.map +1 -0
  120. package/dist/services/chat-inline-annotations.js +52 -0
  121. package/dist/services/chat-inline-annotations.js.map +1 -0
  122. package/dist/services/chat-inline-annotations.test.d.ts +2 -0
  123. package/dist/services/chat-inline-annotations.test.d.ts.map +1 -0
  124. package/dist/services/chat-inline-annotations.test.js +1306 -0
  125. package/dist/services/chat-inline-annotations.test.js.map +1 -0
  126. package/dist/services/chat-queued-message-materialization.d.ts +126 -0
  127. package/dist/services/chat-queued-message-materialization.d.ts.map +1 -0
  128. package/dist/services/chat-queued-message-materialization.js +327 -0
  129. package/dist/services/chat-queued-message-materialization.js.map +1 -0
  130. package/dist/services/chat-steer-messages.d.ts +3 -3
  131. package/dist/services/chat-steer-messages.d.ts.map +1 -1
  132. package/dist/services/chat-steer-messages.js +50 -80
  133. package/dist/services/chat-steer-messages.js.map +1 -1
  134. package/dist/services/chat-work-manifest.d.ts.map +1 -1
  135. package/dist/services/chat-work-manifest.js +5 -1
  136. package/dist/services/chat-work-manifest.js.map +1 -1
  137. package/dist/services/chats.annotation-persistence.d.ts +20 -0
  138. package/dist/services/chats.annotation-persistence.d.ts.map +1 -0
  139. package/dist/services/chats.annotation-persistence.js +206 -0
  140. package/dist/services/chats.annotation-persistence.js.map +1 -0
  141. package/dist/services/chats.d.ts +129 -96
  142. package/dist/services/chats.d.ts.map +1 -1
  143. package/dist/services/chats.helpers.d.ts +2 -2
  144. package/dist/services/chats.inline-visual-persistence.d.ts +3 -3
  145. package/dist/services/chats.inline-visual-persistence.d.ts.map +1 -1
  146. package/dist/services/chats.inline-visual-persistence.js +114 -54
  147. package/dist/services/chats.inline-visual-persistence.js.map +1 -1
  148. package/dist/services/chats.js +743 -252
  149. package/dist/services/chats.js.map +1 -1
  150. package/dist/services/finance.d.ts +1 -1
  151. package/dist/services/index.d.ts +8 -0
  152. package/dist/services/index.d.ts.map +1 -1
  153. package/dist/services/index.js +8 -0
  154. package/dist/services/index.js.map +1 -1
  155. package/dist/services/integrations/agent-integrations.d.ts +2 -2
  156. package/dist/services/integrations/custom-integrations.d.ts +3 -1
  157. package/dist/services/integrations/custom-integrations.d.ts.map +1 -1
  158. package/dist/services/integrations/custom-integrations.js +13 -2
  159. package/dist/services/integrations/custom-integrations.js.map +1 -1
  160. package/dist/services/issues.comments-attachments.d.ts +7 -1
  161. package/dist/services/issues.comments-attachments.d.ts.map +1 -1
  162. package/dist/services/issues.comments-attachments.js +13 -1
  163. package/dist/services/issues.comments-attachments.js.map +1 -1
  164. package/dist/services/issues.d.ts +6 -0
  165. package/dist/services/issues.d.ts.map +1 -1
  166. package/dist/services/issues.js +22 -3
  167. package/dist/services/issues.js.map +1 -1
  168. package/dist/services/knowledge-portability/organization-portability.core.d.ts +4 -1
  169. package/dist/services/knowledge-portability/organization-portability.core.d.ts.map +1 -1
  170. package/dist/services/knowledge-portability/organization-portability.core.js +17 -3
  171. package/dist/services/knowledge-portability/organization-portability.core.js.map +1 -1
  172. package/dist/services/knowledge-portability/organization-portability.export.d.ts.map +1 -1
  173. package/dist/services/knowledge-portability/organization-portability.export.js +2 -2
  174. package/dist/services/knowledge-portability/organization-portability.export.js.map +1 -1
  175. package/dist/services/knowledge-portability/organization-portability.import.d.ts.map +1 -1
  176. package/dist/services/knowledge-portability/organization-portability.import.js +13 -3
  177. package/dist/services/knowledge-portability/organization-portability.import.js.map +1 -1
  178. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts +3 -0
  179. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts.map +1 -1
  180. package/dist/services/knowledge-portability/organization-skills.catalog.js +54 -23
  181. package/dist/services/knowledge-portability/organization-skills.catalog.js.map +1 -1
  182. package/dist/services/knowledge-portability/organization-skills.d.ts.map +1 -1
  183. package/dist/services/knowledge-portability/organization-skills.js +627 -124
  184. package/dist/services/knowledge-portability/organization-skills.js.map +1 -1
  185. package/dist/services/knowledge-portability/organization-skills.sources.d.ts +1 -0
  186. package/dist/services/knowledge-portability/organization-skills.sources.d.ts.map +1 -1
  187. package/dist/services/knowledge-portability/organization-skills.sources.js +53 -10
  188. package/dist/services/knowledge-portability/organization-skills.sources.js.map +1 -1
  189. package/dist/services/mcp/authorizer-lock.d.ts +9 -0
  190. package/dist/services/mcp/authorizer-lock.d.ts.map +1 -0
  191. package/dist/services/mcp/authorizer-lock.js +15 -0
  192. package/dist/services/mcp/authorizer-lock.js.map +1 -0
  193. package/dist/services/mcp/managed-bindings.d.ts +17 -0
  194. package/dist/services/mcp/managed-bindings.d.ts.map +1 -0
  195. package/dist/services/mcp/managed-bindings.js +332 -0
  196. package/dist/services/mcp/managed-bindings.js.map +1 -0
  197. package/dist/services/mcp/managed-client.d.ts +64 -0
  198. package/dist/services/mcp/managed-client.d.ts.map +1 -0
  199. package/dist/services/mcp/managed-client.js +238 -0
  200. package/dist/services/mcp/managed-client.js.map +1 -0
  201. package/dist/services/mcp/managed-client.test.d.ts +2 -0
  202. package/dist/services/mcp/managed-client.test.d.ts.map +1 -0
  203. package/dist/services/mcp/managed-client.test.js +398 -0
  204. package/dist/services/mcp/managed-client.test.js.map +1 -0
  205. package/dist/services/mcp/managed-connections.d.ts +81 -0
  206. package/dist/services/mcp/managed-connections.d.ts.map +1 -0
  207. package/dist/services/mcp/managed-connections.js +920 -0
  208. package/dist/services/mcp/managed-connections.js.map +1 -0
  209. package/dist/services/mcp/managed-runtime.d.ts +134 -0
  210. package/dist/services/mcp/managed-runtime.d.ts.map +1 -0
  211. package/dist/services/mcp/managed-runtime.js +282 -0
  212. package/dist/services/mcp/managed-runtime.js.map +1 -0
  213. package/dist/services/mcp/oauth-provider.d.ts +48 -0
  214. package/dist/services/mcp/oauth-provider.d.ts.map +1 -0
  215. package/dist/services/mcp/oauth-provider.js +120 -0
  216. package/dist/services/mcp/oauth-provider.js.map +1 -0
  217. package/dist/services/mcp/oauth-scope.test.d.ts +2 -0
  218. package/dist/services/mcp/oauth-scope.test.d.ts.map +1 -0
  219. package/dist/services/mcp/oauth-scope.test.js +69 -0
  220. package/dist/services/mcp/oauth-scope.test.js.map +1 -0
  221. package/dist/services/mcp/oauth-session-gc.d.ts +14 -0
  222. package/dist/services/mcp/oauth-session-gc.d.ts.map +1 -0
  223. package/dist/services/mcp/oauth-session-gc.js +34 -0
  224. package/dist/services/mcp/oauth-session-gc.js.map +1 -0
  225. package/dist/services/mcp/oauth-session-gc.test.d.ts +2 -0
  226. package/dist/services/mcp/oauth-session-gc.test.d.ts.map +1 -0
  227. package/dist/services/mcp/oauth-session-gc.test.js +66 -0
  228. package/dist/services/mcp/oauth-session-gc.test.js.map +1 -0
  229. package/dist/services/mcp/oauth.d.ts +61 -0
  230. package/dist/services/mcp/oauth.d.ts.map +1 -0
  231. package/dist/services/mcp/oauth.js +1690 -0
  232. package/dist/services/mcp/oauth.js.map +1 -0
  233. package/dist/services/mcp/pinned-fetch.d.ts +15 -0
  234. package/dist/services/mcp/pinned-fetch.d.ts.map +1 -0
  235. package/dist/services/mcp/pinned-fetch.js +400 -0
  236. package/dist/services/mcp/pinned-fetch.js.map +1 -0
  237. package/dist/services/mcp/pinned-fetch.test.d.ts +2 -0
  238. package/dist/services/mcp/pinned-fetch.test.d.ts.map +1 -0
  239. package/dist/services/mcp/pinned-fetch.test.js +190 -0
  240. package/dist/services/mcp/pinned-fetch.test.js.map +1 -0
  241. package/dist/services/mcp/provider-registry.d.ts +77 -0
  242. package/dist/services/mcp/provider-registry.d.ts.map +1 -0
  243. package/dist/services/mcp/provider-registry.js +80 -0
  244. package/dist/services/mcp/provider-registry.js.map +1 -0
  245. package/dist/services/mcp/provider-registry.test.d.ts +2 -0
  246. package/dist/services/mcp/provider-registry.test.d.ts.map +1 -0
  247. package/dist/services/mcp/provider-registry.test.js +80 -0
  248. package/dist/services/mcp/provider-registry.test.js.map +1 -0
  249. package/dist/services/mcp/security-policy.d.ts +48 -0
  250. package/dist/services/mcp/security-policy.d.ts.map +1 -0
  251. package/dist/services/mcp/security-policy.js +344 -0
  252. package/dist/services/mcp/security-policy.js.map +1 -0
  253. package/dist/services/mcp/security-policy.test.d.ts +2 -0
  254. package/dist/services/mcp/security-policy.test.d.ts.map +1 -0
  255. package/dist/services/mcp/security-policy.test.js +226 -0
  256. package/dist/services/mcp/security-policy.test.js.map +1 -0
  257. package/dist/services/mcp/tool-discovery.d.ts +49 -0
  258. package/dist/services/mcp/tool-discovery.d.ts.map +1 -0
  259. package/dist/services/mcp/tool-discovery.js +198 -0
  260. package/dist/services/mcp/tool-discovery.js.map +1 -0
  261. package/dist/services/mcp/tool-discovery.test.d.ts +2 -0
  262. package/dist/services/mcp/tool-discovery.test.d.ts.map +1 -0
  263. package/dist/services/mcp/tool-discovery.test.js +168 -0
  264. package/dist/services/mcp/tool-discovery.test.js.map +1 -0
  265. package/dist/services/messenger.d.ts +1 -1
  266. package/dist/services/messenger.d.ts.map +1 -1
  267. package/dist/services/messenger.js +21 -3
  268. package/dist/services/messenger.js.map +1 -1
  269. package/dist/services/plugin-registry.d.ts +3 -3
  270. package/dist/services/runtime-kernel/heartbeat.core.d.ts +1 -1
  271. package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
  272. package/dist/services/runtime-kernel/heartbeat.core.js +30 -4
  273. package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
  274. package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts.map +1 -1
  275. package/dist/services/runtime-kernel/heartbeat.wakeup.js +38 -23
  276. package/dist/services/runtime-kernel/heartbeat.wakeup.js.map +1 -1
  277. package/dist/services/secrets.d.ts +64 -6
  278. package/dist/services/secrets.d.ts.map +1 -1
  279. package/dist/services/secrets.js +38 -15
  280. package/dist/services/secrets.js.map +1 -1
  281. package/dist/services/side-chats.d.ts +1 -1
  282. package/dist/services/side-chats.d.ts.map +1 -1
  283. package/dist/services/side-chats.js +56 -14
  284. package/dist/services/side-chats.js.map +1 -1
  285. package/dist/services/workspace-runtime.services.d.ts +2 -2
  286. package/dist/services/workspace-web-preview.js +1 -1
  287. package/package.json +16 -13
  288. package/resources/bundled-skills/rudder-docs/references/operating-practices.md +12 -5
  289. package/skills/rudder-docs/references/operating-practices.md +12 -5
  290. package/ui-dist/assets/LibraryLiveSurface-CKOthw54.js +1 -0
  291. package/ui-dist/assets/{abnfDiagram-VRR7QNED-KGtP7zoC.js → abnfDiagram-VRR7QNED-C6a_wMho.js} +1 -1
  292. package/ui-dist/assets/{arc-JjnKyiOb.js → arc-CP0En6KA.js} +1 -1
  293. package/ui-dist/assets/architectureDiagram-ZJ3FMSHR-AHfOdcaZ.js +36 -0
  294. package/ui-dist/assets/{blockDiagram-677ZJIJ3-D7YzMYrz.js → blockDiagram-677ZJIJ3-Bkl9lp63.js} +1 -1
  295. package/ui-dist/assets/{c4Diagram-LMCZKHZV-Dpf7UQxl.js → c4Diagram-LMCZKHZV-BpZareVt.js} +1 -1
  296. package/ui-dist/assets/channel-DqxL_Zcy.js +1 -0
  297. package/ui-dist/assets/{chunk-2Q5K7J3B-UJ3gsGlQ.js → chunk-2Q5K7J3B-BQAwVuXc.js} +1 -1
  298. package/ui-dist/assets/{chunk-32BRIVSS-BeHl2j2l.js → chunk-32BRIVSS-YkmfA08F.js} +1 -1
  299. package/ui-dist/assets/{chunk-5VM5RSS4-STE9fJd0.js → chunk-5VM5RSS4-DvvjwTnG.js} +1 -1
  300. package/ui-dist/assets/{chunk-EX3LRPZG-Bj8g8j4B.js → chunk-EX3LRPZG-TXD_Yhg5.js} +1 -1
  301. package/ui-dist/assets/{chunk-JWPE2WC7-0V4Pwta-.js → chunk-JWPE2WC7-CgMlj6XI.js} +1 -1
  302. package/ui-dist/assets/{chunk-MOJQB5TN-DNPn50gm.js → chunk-MOJQB5TN-BnJjU8Rc.js} +1 -1
  303. package/ui-dist/assets/{chunk-RYQCIY6F-Befmnv8r.js → chunk-RYQCIY6F-D9B64JKM.js} +1 -1
  304. package/ui-dist/assets/{chunk-V7JOEXUC-Boh8TjHj.js → chunk-V7JOEXUC-PS09QVpl.js} +1 -1
  305. package/ui-dist/assets/{chunk-VR4S4FIN-B_yEQSo3.js → chunk-VR4S4FIN-DQXb7pRS.js} +1 -1
  306. package/ui-dist/assets/{chunk-XXDRQBXY-Cf1GnUFx.js → chunk-XXDRQBXY-B1UdLiF2.js} +1 -1
  307. package/ui-dist/assets/classDiagram-OUVF2IWQ-DMwjzuJE.js +1 -0
  308. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-DMwjzuJE.js +1 -0
  309. package/ui-dist/assets/cose-bilkent-JH36ORCC-lqqmMB3m.js +1 -0
  310. package/ui-dist/assets/{cynefin-VYW2F7L2-Dv1yELYC.js → cynefin-VYW2F7L2-C9hu0XqZ.js} +1 -1
  311. package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-CeFwjFoZ.js → cynefinDiagram-TSTJHNR4-Uuhz4c-1.js} +1 -1
  312. package/ui-dist/assets/{dagre-VKFMJZFB-8idd_4sX.js → dagre-VKFMJZFB-ChDrQYse.js} +1 -1
  313. package/ui-dist/assets/{diagram-FQU43EPY-BBVua6hM.js → diagram-FQU43EPY-DLtjkVSN.js} +1 -1
  314. package/ui-dist/assets/{diagram-G47NLZAW-D1zLQZlp.js → diagram-G47NLZAW-DCvEm4D0.js} +1 -1
  315. package/ui-dist/assets/{diagram-NH7WQ7WH-DE_FTSNv.js → diagram-NH7WQ7WH-Dz5jlsPG.js} +1 -1
  316. package/ui-dist/assets/{diagram-OA4YK3LP-61VSKBEn.js → diagram-OA4YK3LP-BXmQLO-Q.js} +1 -1
  317. package/ui-dist/assets/{diagram-WEI45ONY-C-tED6BJ.js → diagram-WEI45ONY-JnMU3xrx.js} +1 -1
  318. package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-BEB8WGt0.js → ebnfDiagram-CCIWWBDH-Kryuqj4r.js} +1 -1
  319. package/ui-dist/assets/{erDiagram-Q63AITRT-AN_jm1TZ.js → erDiagram-Q63AITRT-Bn7g2mSW.js} +1 -1
  320. package/ui-dist/assets/{flowDiagram-23GEKE2U-BwLC6tI7.js → flowDiagram-23GEKE2U-DcjqTK91.js} +4 -4
  321. package/ui-dist/assets/ganttDiagram-NO4QXBWP-BRkw9-GE.js +292 -0
  322. package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-D9HCL9rY.js → gitGraphDiagram-IHSO6WYX-Cexcp6kR.js} +1 -1
  323. package/ui-dist/assets/graph-Cu7OV4Oi.js +1 -0
  324. package/ui-dist/assets/{index-BQXnpwke.js → index-ASZMPBYm.js} +5 -5
  325. package/ui-dist/assets/{index-5OM32_rf.js → index-B17BqCTj.js} +1 -1
  326. package/ui-dist/assets/{index-Cf0gLy6a.js → index-B9MccU1g.js} +1 -1
  327. package/ui-dist/assets/{index-BoSJ4Rx1.js → index-BPqbtW_X.js} +1 -1
  328. package/ui-dist/assets/{index-CpIdZ4-7.js → index-C2HjDa98.js} +1 -1
  329. package/ui-dist/assets/index-CMPtpj0A.js +1 -0
  330. package/ui-dist/assets/{index-p0ZGU1_7.js → index-CZXgOYtk.js} +1 -1
  331. package/ui-dist/assets/{index-74cx3ESJ.js → index-CknAauOP.js} +1 -1
  332. package/ui-dist/assets/index-Cu1GuH0a.js +1 -0
  333. package/ui-dist/assets/index-D8PdEImm.css +1 -0
  334. package/ui-dist/assets/{index-DrVDiJhe.js → index-DB1YX9-p.js} +1 -1
  335. package/ui-dist/assets/{index-vHMnAQSb.js → index-DBxLZXK7.js} +624 -610
  336. package/ui-dist/assets/{index-CpEfk5zb.js → index-DOCVOD97.js} +1 -1
  337. package/ui-dist/assets/{index-DMuWG0YN.js → index-DUbakRAC.js} +1 -1
  338. package/ui-dist/assets/{index-AT8juaIi.js → index-Dbg1ZwO2.js} +1 -1
  339. package/ui-dist/assets/index-DwbLsoLt.js +1 -0
  340. package/ui-dist/assets/index-hCLSotmS.js +1 -0
  341. package/ui-dist/assets/index-jrhEFc-j.js +1 -0
  342. package/ui-dist/assets/index-kz8ueXgo.js +1 -0
  343. package/ui-dist/assets/{infoDiagram-FWYZ7A6U-CyO3CAA1.js → infoDiagram-FWYZ7A6U-DugVGI3K.js} +1 -1
  344. package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-BLLZuF1_.js → ishikawaDiagram-FXEZZL3T-CHy06Oev.js} +1 -1
  345. package/ui-dist/assets/{journeyDiagram-5HDEW3XC-CWzQocvE.js → journeyDiagram-5HDEW3XC-BI0w53rb.js} +1 -1
  346. package/ui-dist/assets/{kanban-definition-HUTT4EX6-Dz4SFU-I.js → kanban-definition-HUTT4EX6-v_bLwx7B.js} +1 -1
  347. package/ui-dist/assets/layout-Dwp1s_bo.js +1 -0
  348. package/ui-dist/assets/{linear-BlzDlAaL.js → linear-DAV4STLZ.js} +1 -1
  349. package/ui-dist/assets/map-Bs6QpaaQ.js +1 -0
  350. package/ui-dist/assets/{mermaid.core-BtCydd-w.js → mermaid.core-fVmaL47V.js} +4 -4
  351. package/ui-dist/assets/{mindmap-definition-LN4V7U3C-BeIkKRBx.js → mindmap-definition-LN4V7U3C-5dWD4dxm.js} +1 -1
  352. package/ui-dist/assets/{pegDiagram-2B236MQR-BZgpT4TN.js → pegDiagram-2B236MQR-DB2XsDPN.js} +1 -1
  353. package/ui-dist/assets/{pieDiagram-ENE6RG2P-BRFggcg2.js → pieDiagram-ENE6RG2P-Bc5teLCS.js} +1 -1
  354. package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-CibUo3gT.js → quadrantDiagram-ABIIQ3AL-BlfNdETt.js} +1 -1
  355. package/ui-dist/assets/{railroadDiagram-RFXS5EU6-DINJqhgn.js → railroadDiagram-RFXS5EU6-BbXywkq3.js} +1 -1
  356. package/ui-dist/assets/{requirementDiagram-TGXJPOKE-NegluQIe.js → requirementDiagram-TGXJPOKE-DU-CapdF.js} +1 -1
  357. package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-Kq41yHAd.js → sankeyDiagram-HTMAVEWB-Ftvh3MqA.js} +1 -1
  358. package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-CngfEI4f.js → sequenceDiagram-DBY2YBRQ-CCtHt9V4.js} +1 -1
  359. package/ui-dist/assets/{sizeCapture-X5ZJPWSS-DUWRNlme.js → sizeCapture-X5ZJPWSS-x0jnIKHx.js} +1 -1
  360. package/ui-dist/assets/{stateDiagram-2N3HPSRC-BwHC_Fz4.js → stateDiagram-2N3HPSRC-2qCrydE7.js} +1 -1
  361. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-CvGRUgRf.js +1 -0
  362. package/ui-dist/assets/{swimlanes-5IMT3BWC-Cqp2rT1K.js → swimlanes-5IMT3BWC-6kqJq5Xf.js} +2 -2
  363. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-EBa7-qSc.js +8 -0
  364. package/ui-dist/assets/{timeline-definition-FHXFAJF6-BG3GYPCu.js → timeline-definition-FHXFAJF6-BuRz8KHZ.js} +1 -1
  365. package/ui-dist/assets/{vennDiagram-L72KCM5P-D1IFU27N.js → vennDiagram-L72KCM5P-BKzMZ_Rv.js} +1 -1
  366. package/ui-dist/assets/{wardleyDiagram-EHGQE667-DboO2kYu.js → wardleyDiagram-EHGQE667-8uXlFtBV.js} +1 -1
  367. package/ui-dist/assets/{xychartDiagram-FW5EYKEG-vI2BGrXP.js → xychartDiagram-FW5EYKEG-CWKGlpF9.js} +1 -1
  368. package/ui-dist/index.html +2 -2
  369. package/ui-dist/assets/architectureDiagram-ZJ3FMSHR-DHyfFgK0.js +0 -36
  370. package/ui-dist/assets/channel-TMGI9Qt9.js +0 -1
  371. package/ui-dist/assets/classDiagram-OUVF2IWQ-r5zIpY6G.js +0 -1
  372. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-r5zIpY6G.js +0 -1
  373. package/ui-dist/assets/cose-bilkent-JH36ORCC-fSNs9447.js +0 -1
  374. package/ui-dist/assets/ganttDiagram-NO4QXBWP-CJYhBF1C.js +0 -292
  375. package/ui-dist/assets/graph-DdBT9W3J.js +0 -1
  376. package/ui-dist/assets/index-6UIO-gg7.js +0 -1
  377. package/ui-dist/assets/index-BVkQVMFn.js +0 -1
  378. package/ui-dist/assets/index-BaAPxkqh.css +0 -1
  379. package/ui-dist/assets/index-CmCERTmS.js +0 -1
  380. package/ui-dist/assets/index-Cr4lUIaJ.js +0 -1
  381. package/ui-dist/assets/index-D0fAqlES.js +0 -1
  382. package/ui-dist/assets/index-DfNcAyZq.js +0 -1
  383. package/ui-dist/assets/layout-D3tY9q4Q.js +0 -1
  384. package/ui-dist/assets/map-Ctg1-a9N.js +0 -1
  385. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-C6P3NY96.js +0 -1
  386. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-BNdDt62J.js +0 -8
@@ -3,6 +3,7 @@ import { and, asc, desc, eq, inArray, isNotNull, isNull, lte, or, sql } from "dr
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { conflict, notFound, unprocessable } from "../errors.js";
5
5
  import { assertGenerationFence, EMPTY_BODY_SHA256, lockGeneration, nextGenerationSeq, normalizeBodyHash, SHA256_PATTERN, } from "./chat-generation-protocol.helpers.js";
6
+ import { freezeAssistantMessageProjection, visibleGenerationProjectionThrough, } from "./chat-generation-provenance.js";
6
7
  import { withPersistedTranscript } from "./chats.helpers.js";
7
8
  import { normalizeLocalLibraryPathMarkdown } from "./library-path-markdown.js";
8
9
  export { hashChatGenerationBody } from "./chat-generation-protocol.helpers.js";
@@ -94,63 +95,6 @@ async function latestVisibleBodyCheckpoint(tx, generationId) {
94
95
  }
95
96
  return { generationSeq: 0, bodyHash: EMPTY_BODY_SHA256 };
96
97
  }
97
- async function visibleGenerationProjectionThrough(tx, generationId, generationSeq) {
98
- const events = generationSeq <= 0
99
- ? []
100
- : await tx
101
- .select()
102
- .from(chatGenerationEvents)
103
- .where(and(eq(chatGenerationEvents.generationId, generationId), lte(chatGenerationEvents.generationSeq, generationSeq)))
104
- .orderBy(asc(chatGenerationEvents.generationSeq));
105
- let body = "";
106
- const transcript = [];
107
- let assistantMessageId = null;
108
- let runId = null;
109
- for (const event of events) {
110
- if (event.assistantMessageId)
111
- assistantMessageId = event.assistantMessageId;
112
- if (event.runId)
113
- runId = event.runId;
114
- if (event.eventKind === "assistant_delta" && typeof event.payload.delta === "string") {
115
- body += event.payload.delta;
116
- }
117
- else if (event.eventKind === "runtime_output" && typeof event.payload.body === "string") {
118
- body = event.payload.body;
119
- }
120
- else if (event.eventKind === "transcript"
121
- && event.payload.entry
122
- && typeof event.payload.entry === "object"
123
- && !Array.isArray(event.payload.entry)) {
124
- transcript.push(event.payload.entry);
125
- }
126
- }
127
- return { body, transcript, assistantMessageId, runId };
128
- }
129
- async function freezeAssistantMessageProjection(tx, generation, acceptedThroughSeq) {
130
- const projection = await visibleGenerationProjectionThrough(tx, generation.id, acceptedThroughSeq);
131
- if (!projection.assistantMessageId)
132
- return projection;
133
- const existing = await tx
134
- .select()
135
- .from(chatMessages)
136
- .where(and(eq(chatMessages.id, projection.assistantMessageId), eq(chatMessages.orgId, generation.orgId), eq(chatMessages.conversationId, generation.conversationId), eq(chatMessages.role, "assistant")))
137
- .limit(1)
138
- .then((rows) => rows[0] ?? null);
139
- if (!existing)
140
- return projection;
141
- const durableBody = await normalizeLocalLibraryPathMarkdown(projection.body, generation.orgId);
142
- await tx
143
- .update(chatMessages)
144
- .set({
145
- status: "stopped",
146
- body: durableBody,
147
- structuredPayload: withPersistedTranscript(existing.structuredPayload, projection.transcript),
148
- ...(projection.runId ? { runId: projection.runId } : {}),
149
- updatedAt: new Date(),
150
- })
151
- .where(eq(chatMessages.id, existing.id));
152
- return projection;
153
- }
154
98
  function terminalStatusFromPayload(payload) {
155
99
  const status = payload.finalStatus;
156
100
  return typeof status === "string"
@@ -265,7 +209,7 @@ export function chatGenerationProtocolService(db) {
265
209
  if (input.messageId && !existing) {
266
210
  throw conflict("Visible generation message projection no longer exists");
267
211
  }
268
- const structuredPayload = withPersistedTranscript(existing?.structuredPayload ?? null, input.transcript);
212
+ const structuredPayload = existing?.structuredPayload ?? null;
269
213
  const [message] = existing
270
214
  ? await tx
271
215
  .update(chatMessages)
@@ -303,7 +247,23 @@ export function chatGenerationProtocolService(db) {
303
247
  payload,
304
248
  assistantMessageId: message.id,
305
249
  });
306
- return { generation, message, event };
250
+ if (event.eventKind !== "transcript") {
251
+ return { generation, message, event };
252
+ }
253
+ const projection = await visibleGenerationProjectionThrough(tx, generation.id, event.generationSeq);
254
+ const [messageWithProvenance] = await tx
255
+ .update(chatMessages)
256
+ .set({
257
+ structuredPayload: withPersistedTranscript(message.structuredPayload, projection.transcript),
258
+ updatedAt: new Date(),
259
+ })
260
+ .where(eq(chatMessages.id, message.id))
261
+ .returning();
262
+ return {
263
+ generation,
264
+ message: messageWithProvenance ?? message,
265
+ event,
266
+ };
307
267
  });
308
268
  }
309
269
  async function getFrozenVisibleProjection(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-generation-protocol.js","sourceRoot":"","sources":["../../src/services/chat-generation-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-generation-protocol.js","sourceRoot":"","sources":["../../src/services/chat-generation-protocol.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import os from "node:os";
8
8
  import path from "node:path";
9
9
  import { afterAll, afterEach, beforeAll, describe, expect, it } from "vitest";
10
10
  import { chatGenerationProtocolService, hashChatGenerationBody, } from "./chat-generation-protocol.js";
11
+ import { chatService } from "./chats.js";
11
12
  async function getAvailablePort() {
12
13
  return new Promise((resolve, reject) => {
13
14
  const server = net.createServer();
@@ -114,6 +115,98 @@ describe("chatGenerationProtocolService", () => {
114
115
  throw new Error("Failed to seed generation");
115
116
  return generation;
116
117
  }
118
+ it("keeps a new generation ownerless across slow preparation until a runtime attempt begins", async () => {
119
+ const scope = await seedGeneration();
120
+ await db.delete(chatGenerations).where(eq(chatGenerations.id, scope.id));
121
+ const chats = chatService(db);
122
+ const generation = await chats.createGeneration(scope.orgId, scope.conversationId);
123
+ expect(generation).toMatchObject({
124
+ status: "active",
125
+ attemptEpoch: 1,
126
+ controlOwnerToken: null,
127
+ controlLeaseExpiresAt: null,
128
+ });
129
+ const beforeAttemptRecovery = await protocol.recoverStaleControlOwners({
130
+ now: new Date(generation.createdAt.getTime() + 31_000),
131
+ assumeAllOwnersStale: true,
132
+ });
133
+ expect(beforeAttemptRecovery).toEqual([]);
134
+ const started = await chats.beginGenerationControlAttempt({
135
+ orgId: scope.orgId,
136
+ conversationId: scope.conversationId,
137
+ generationId: generation.id,
138
+ attemptEpoch: 1,
139
+ ownerToken: "runtime-owner-1",
140
+ runtimeType: "codex_local",
141
+ });
142
+ expect(started).toMatchObject({
143
+ status: "starting",
144
+ attemptEpoch: 1,
145
+ controlOwnerToken: "runtime-owner-1",
146
+ controlRuntimeType: "codex_local",
147
+ });
148
+ expect(started.controlLeaseExpiresAt).toBeInstanceOf(Date);
149
+ const afterAttemptRecovery = await protocol.recoverStaleControlOwners({
150
+ now: new Date(started.controlLeaseExpiresAt.getTime() + 1),
151
+ });
152
+ expect(afterAttemptRecovery.map(({ generation: recovered }) => recovered.id))
153
+ .toEqual([generation.id]);
154
+ expect(afterAttemptRecovery[0]?.generation).toMatchObject({
155
+ status: "control_lost",
156
+ terminalReason: "control_owner_stale",
157
+ });
158
+ });
159
+ it("keeps streaming transcript evidence in the ledger and a reloadable visible projection", async () => {
160
+ const generation = await seedGeneration();
161
+ const entry = {
162
+ kind: "thinking",
163
+ ts: "2026-07-23T08:00:00.000Z",
164
+ text: `one transcript ledger entry ${"x".repeat(512)}`,
165
+ };
166
+ const projection = await protocol.appendVisibleEventAndProject({
167
+ orgId: generation.orgId,
168
+ conversationId: generation.conversationId,
169
+ generationId: generation.id,
170
+ expectedAttemptEpoch: generation.attemptEpoch,
171
+ eventKind: "transcript",
172
+ payload: { entry },
173
+ bodyHash: hashChatGenerationBody(""),
174
+ body: "",
175
+ chatTurnId: randomUUID(),
176
+ turnVariant: 0,
177
+ });
178
+ await protocol.appendVisibleEventAndProject({
179
+ orgId: generation.orgId,
180
+ conversationId: generation.conversationId,
181
+ generationId: generation.id,
182
+ expectedAttemptEpoch: generation.attemptEpoch,
183
+ eventKind: "assistant_delta",
184
+ payload: { delta: "Answer" },
185
+ messageId: projection.message.id,
186
+ bodyHash: hashChatGenerationBody("Answer"),
187
+ body: "Answer",
188
+ chatTurnId: projection.message.chatTurnId,
189
+ turnVariant: projection.message.turnVariant,
190
+ });
191
+ const [persistedMessage] = await db
192
+ .select()
193
+ .from(chatMessages)
194
+ .where(eq(chatMessages.id, projection.message.id));
195
+ const [persistedEvent] = await db
196
+ .select()
197
+ .from(chatGenerationEvents)
198
+ .where(eq(chatGenerationEvents.id, projection.event.id));
199
+ expect(persistedMessage?.structuredPayload).toEqual({
200
+ __chatTranscript: [{
201
+ ...entry,
202
+ generationId: generation.id,
203
+ generationSeqStart: projection.event.generationSeq,
204
+ generationSeqEnd: projection.event.generationSeq,
205
+ }],
206
+ });
207
+ expect(persistedEvent?.payload).toEqual(expect.objectContaining({ entry }));
208
+ expect(JSON.stringify(persistedEvent?.payload).length).toBeLessThan(1_024);
209
+ });
117
210
  it("serializes visible events and applies an idempotent Stop cutoff", async () => {
118
211
  const generation = await seedGeneration();
119
212
  const bodies = ["First", "First second"];
@@ -275,7 +368,6 @@ describe("chatGenerationProtocolService", () => {
275
368
  bodyLength: finalBody.length,
276
369
  bodyHash: hashChatGenerationBody(finalBody),
277
370
  body: finalBody,
278
- transcript: [],
279
371
  chatTurnId: randomUUID(),
280
372
  turnVariant: 0,
281
373
  });
@@ -335,7 +427,6 @@ describe("chatGenerationProtocolService", () => {
335
427
  messageId: completion.message.id,
336
428
  bodyHash: hashChatGenerationBody(`${finalBody} late`),
337
429
  body: `${finalBody} late`,
338
- transcript: [],
339
430
  chatTurnId: completion.message.chatTurnId,
340
431
  turnVariant: completion.message.turnVariant,
341
432
  })).rejects.toMatchObject({
@@ -368,7 +459,6 @@ describe("chatGenerationProtocolService", () => {
368
459
  payload: { resultKind: "message", body: finalBody },
369
460
  bodyHash: hashChatGenerationBody(finalBody),
370
461
  body: finalBody,
371
- transcript: [],
372
462
  chatTurnId: randomUUID(),
373
463
  turnVariant: 0,
374
464
  });
@@ -476,7 +566,6 @@ describe("chatGenerationProtocolService", () => {
476
566
  bodyLength: 14,
477
567
  bodyHash: hashChatGenerationBody("Visible prefix"),
478
568
  body: "Visible prefix",
479
- transcript: [],
480
569
  chatTurnId,
481
570
  turnVariant: 0,
482
571
  });
@@ -492,7 +581,6 @@ describe("chatGenerationProtocolService", () => {
492
581
  bodyLength: 12,
493
582
  bodyHash: hashChatGenerationBody("Visible prefix hidden tail"),
494
583
  body: "Visible prefix hidden tail",
495
- transcript: [],
496
584
  chatTurnId,
497
585
  turnVariant: 0,
498
586
  });
@@ -524,7 +612,6 @@ describe("chatGenerationProtocolService", () => {
524
612
  messageId: first.message.id,
525
613
  bodyHash: hashChatGenerationBody("Completed too late"),
526
614
  body: "Completed too late",
527
- transcript: [],
528
615
  chatTurnId,
529
616
  turnVariant: 0,
530
617
  })).rejects.toMatchObject({
@@ -532,6 +619,81 @@ describe("chatGenerationProtocolService", () => {
532
619
  message: "Chat-visible output admission is closed for this generation",
533
620
  });
534
621
  });
622
+ it("persists stable transcript generation provenance through reload and a Stop projection", async () => {
623
+ const generation = await seedGeneration();
624
+ const chatTurnId = randomUUID();
625
+ const firstEntry = {
626
+ kind: "thinking",
627
+ ts: "2026-07-23T10:00:00.000Z",
628
+ text: "Inspect ",
629
+ delta: true,
630
+ };
631
+ const first = await protocol.appendVisibleEventAndProject({
632
+ orgId: generation.orgId,
633
+ conversationId: generation.conversationId,
634
+ generationId: generation.id,
635
+ expectedAttemptEpoch: generation.attemptEpoch,
636
+ eventKind: "transcript",
637
+ payload: { entry: firstEntry },
638
+ bodyHash: hashChatGenerationBody(""),
639
+ body: "",
640
+ chatTurnId,
641
+ turnVariant: 0,
642
+ });
643
+ const secondEntry = {
644
+ kind: "thinking",
645
+ ts: "2026-07-23T10:00:01.000Z",
646
+ text: "the source.",
647
+ delta: true,
648
+ };
649
+ const second = await protocol.appendVisibleEventAndProject({
650
+ orgId: generation.orgId,
651
+ conversationId: generation.conversationId,
652
+ generationId: generation.id,
653
+ expectedAttemptEpoch: generation.attemptEpoch,
654
+ eventKind: "transcript",
655
+ payload: { entry: secondEntry },
656
+ messageId: first.message.id,
657
+ bodyHash: hashChatGenerationBody(""),
658
+ body: "",
659
+ chatTurnId,
660
+ turnVariant: 0,
661
+ });
662
+ const [persistedBeforeStop] = await db
663
+ .select()
664
+ .from(chatMessages)
665
+ .where(eq(chatMessages.id, first.message.id));
666
+ expect(persistedBeforeStop?.structuredPayload?.__chatTranscript).toEqual([
667
+ expect.objectContaining({
668
+ text: "Inspect the source.",
669
+ generationId: generation.id,
670
+ generationSeqStart: first.event.generationSeq,
671
+ generationSeqEnd: second.event.generationSeq,
672
+ }),
673
+ ]);
674
+ await protocol.beginStopAction({
675
+ orgId: generation.orgId,
676
+ conversationId: generation.conversationId,
677
+ controlActionId: randomUUID(),
678
+ expectedGenerationId: generation.id,
679
+ expectedAttemptEpoch: generation.attemptEpoch,
680
+ expectedControlVersion: generation.controlVersion,
681
+ requestedRenderSeq: second.event.generationSeq,
682
+ requestedBodyHash: hashChatGenerationBody(""),
683
+ });
684
+ const frozen = await protocol.getFrozenVisibleProjection({
685
+ orgId: generation.orgId,
686
+ conversationId: generation.conversationId,
687
+ generationId: generation.id,
688
+ });
689
+ expect(frozen.projection.transcript).toEqual([
690
+ expect.objectContaining({
691
+ generationId: generation.id,
692
+ generationSeqStart: first.event.generationSeq,
693
+ generationSeqEnd: second.event.generationSeq,
694
+ }),
695
+ ]);
696
+ });
535
697
  it("freezes visible output before scheduling an unsupported-runtime Steer continuation", async () => {
536
698
  const generation = await seedGeneration({ controlVersion: 1 });
537
699
  const visible = await protocol.appendGenerationEvent({