@flamingo-stack/openframe-frontend-core 0.0.458-snapshot.20260720215024 → 0.0.458

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 (281) hide show
  1. package/dist/{chunk-BLZZXZNM.cjs → chunk-5USSSRAL.cjs} +26 -26
  2. package/dist/{chunk-BLZZXZNM.cjs.map → chunk-5USSSRAL.cjs.map} +1 -1
  3. package/dist/{chunk-CGNDAJ7V.js → chunk-6B27O3ZB.js} +4 -4
  4. package/dist/{chunk-P5JQDFRM.cjs → chunk-7IRPMNRL.cjs} +60 -60
  5. package/dist/chunk-7IRPMNRL.cjs.map +1 -0
  6. package/dist/{chunk-4XDWNAZW.cjs → chunk-DQ3EHM6G.cjs} +9 -9
  7. package/dist/{chunk-4XDWNAZW.cjs.map → chunk-DQ3EHM6G.cjs.map} +1 -1
  8. package/dist/{chunk-7KSEINAE.cjs → chunk-FTXDIDNX.cjs} +15 -15
  9. package/dist/{chunk-7KSEINAE.cjs.map → chunk-FTXDIDNX.cjs.map} +1 -1
  10. package/dist/{chunk-4R6H2U77.js → chunk-H7ETLG65.js} +4 -4
  11. package/dist/{chunk-LAOO7XHO.js → chunk-HWTUVLYB.js} +2 -2
  12. package/dist/{chunk-F2NMWV44.js → chunk-IDKDOQZL.js} +2 -2
  13. package/dist/{chunk-BQ7PMWLM.cjs → chunk-KIIOBK7G.cjs} +27 -28
  14. package/dist/chunk-KIIOBK7G.cjs.map +1 -0
  15. package/dist/{chunk-QO2XD3FR.js → chunk-KQGFKG6Y.js} +2 -2
  16. package/dist/{chunk-3N3TMZ62.cjs → chunk-L676XVP4.cjs} +7 -7
  17. package/dist/{chunk-3N3TMZ62.cjs.map → chunk-L676XVP4.cjs.map} +1 -1
  18. package/dist/{chunk-F7F43U7Q.cjs → chunk-LDAOPWXZ.cjs} +11 -11
  19. package/dist/{chunk-F7F43U7Q.cjs.map → chunk-LDAOPWXZ.cjs.map} +1 -1
  20. package/dist/{chunk-ADD3FPDG.cjs → chunk-MKLP2SOZ.cjs} +4886 -7004
  21. package/dist/chunk-MKLP2SOZ.cjs.map +1 -0
  22. package/dist/{chunk-VXJH5TDN.js → chunk-QL7ODLJA.js} +10 -10
  23. package/dist/chunk-QL7ODLJA.js.map +1 -0
  24. package/dist/{chunk-OR5AMXYN.js → chunk-R5QYMUKN.js} +2 -2
  25. package/dist/{chunk-REWRUV3K.js → chunk-TNLFAJPA.js} +9673 -11791
  26. package/dist/chunk-TNLFAJPA.js.map +1 -0
  27. package/dist/{chunk-XF5ROTMQ.js → chunk-U2YDR5DT.js} +2 -2
  28. package/dist/{chunk-PXZ7YQ5V.cjs → chunk-VTQSB6QB.cjs} +5 -5
  29. package/dist/{chunk-PXZ7YQ5V.cjs.map → chunk-VTQSB6QB.cjs.map} +1 -1
  30. package/dist/{chunk-UI7CIUAR.js → chunk-WGJPTFRH.js} +2 -2
  31. package/dist/{chunk-WCE66C2Z.cjs → chunk-XUNJILJT.cjs} +62 -62
  32. package/dist/{chunk-WCE66C2Z.cjs.map → chunk-XUNJILJT.cjs.map} +1 -1
  33. package/dist/{chunk-APF5QBAU.js → chunk-YQBPIUZU.js} +2 -2
  34. package/dist/{chunk-TA7MFVUS.cjs → chunk-YV2YA3QH.cjs} +31 -31
  35. package/dist/{chunk-TA7MFVUS.cjs.map → chunk-YV2YA3QH.cjs.map} +1 -1
  36. package/dist/{chunk-QSGZE6AZ.cjs → chunk-ZDJ4ZUQ4.cjs} +37 -37
  37. package/dist/{chunk-QSGZE6AZ.cjs.map → chunk-ZDJ4ZUQ4.cjs.map} +1 -1
  38. package/dist/{chunk-LJKZIIK4.js → chunk-ZHQQRYMB.js} +5 -6
  39. package/dist/chunk-ZHQQRYMB.js.map +1 -0
  40. package/dist/components/case-studies/index.cjs +8 -8
  41. package/dist/components/case-studies/index.js +2 -2
  42. package/dist/components/chart.d.ts +1 -1
  43. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  44. package/dist/components/chat/chat-message-list.d.ts.map +1 -1
  45. package/dist/components/chat/hooks/index.d.ts +1 -0
  46. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  47. package/dist/components/chat/hooks/use-chat.d.ts.map +1 -1
  48. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts +48 -15
  49. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
  50. package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts +6 -0
  51. package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts.map +1 -0
  52. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +47 -3
  53. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
  54. package/dist/components/chat/index.cjs +2 -10
  55. package/dist/components/chat/index.cjs.map +1 -1
  56. package/dist/components/chat/index.d.ts +0 -1
  57. package/dist/components/chat/index.d.ts.map +1 -1
  58. package/dist/components/chat/index.js +13 -21
  59. package/dist/components/chat/types/api.types.d.ts +81 -1
  60. package/dist/components/chat/types/api.types.d.ts.map +1 -1
  61. package/dist/components/chat/types/processing.types.d.ts +90 -2
  62. package/dist/components/chat/types/processing.types.d.ts.map +1 -1
  63. package/dist/components/chat/utils/chunk-parser.d.ts +25 -0
  64. package/dist/components/chat/utils/chunk-parser.d.ts.map +1 -0
  65. package/dist/components/chat/utils/extract-incomplete-message-state.d.ts +6 -34
  66. package/dist/components/chat/utils/extract-incomplete-message-state.d.ts.map +1 -1
  67. package/dist/components/chat/utils/index.d.ts +3 -2
  68. package/dist/components/chat/utils/index.d.ts.map +1 -1
  69. package/dist/components/chat/utils/process-historical-messages.d.ts +11 -59
  70. package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
  71. package/dist/components/contact/index.cjs +3 -3
  72. package/dist/components/contact/index.js +2 -2
  73. package/dist/components/docs/index.cjs +5 -5
  74. package/dist/components/docs/index.js +4 -4
  75. package/dist/components/embeds/index.cjs +3 -3
  76. package/dist/components/embeds/index.js +2 -2
  77. package/dist/components/faq/index.cjs +3 -3
  78. package/dist/components/faq/index.js +2 -2
  79. package/dist/components/features/index.cjs +2 -2
  80. package/dist/components/features/index.js +1 -1
  81. package/dist/components/help-center-pages/index.cjs +20 -20
  82. package/dist/components/help-center-pages/index.js +11 -11
  83. package/dist/components/index.cjs +129 -171
  84. package/dist/components/index.cjs.map +1 -1
  85. package/dist/components/index.js +21 -63
  86. package/dist/components/index.js.map +1 -1
  87. package/dist/components/navigation/index.cjs +2 -2
  88. package/dist/components/navigation/index.js +1 -1
  89. package/dist/components/onboarding-guides/index.cjs +5 -5
  90. package/dist/components/onboarding-guides/index.js +4 -4
  91. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
  92. package/dist/components/related-content/index.cjs +3 -3
  93. package/dist/components/related-content/index.js +2 -2
  94. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  95. package/dist/components/tickets/index.cjs +5 -5
  96. package/dist/components/tickets/index.js +4 -4
  97. package/dist/components/ui/index.cjs +2 -44
  98. package/dist/components/ui/index.cjs.map +1 -1
  99. package/dist/components/ui/index.d.ts +2 -1
  100. package/dist/components/ui/index.d.ts.map +1 -1
  101. package/dist/components/ui/index.js +13 -55
  102. package/dist/components/ui/rich-markdown-renderer.d.ts +34 -0
  103. package/dist/components/ui/rich-markdown-renderer.d.ts.map +1 -0
  104. package/dist/components/ui/simple-markdown-renderer.d.ts +73 -0
  105. package/dist/components/ui/simple-markdown-renderer.d.ts.map +1 -0
  106. package/dist/index.cjs +2 -60
  107. package/dist/index.cjs.map +1 -1
  108. package/dist/index.js +13 -71
  109. package/dist/utils/index.cjs +40 -169
  110. package/dist/utils/index.cjs.map +1 -1
  111. package/dist/utils/index.d.ts +0 -1
  112. package/dist/utils/index.d.ts.map +1 -1
  113. package/dist/utils/index.js +41 -162
  114. package/dist/utils/index.js.map +1 -1
  115. package/dist/utils/markdown-section-extractor.d.ts.map +1 -1
  116. package/package.json +1 -7
  117. package/src/components/chat/__tests__/chat-message-list.test.tsx +5 -293
  118. package/src/components/chat/chat-message-enhanced.tsx +17 -111
  119. package/src/components/chat/chat-message-list.tsx +113 -367
  120. package/src/components/chat/embeddable-chat.tsx +0 -6
  121. package/src/components/chat/hooks/.index.md +1 -1
  122. package/src/components/chat/hooks/.use-nats-chat-adapter.md +1 -1
  123. package/src/components/chat/hooks/.use-realtime-chunk-processor.md +50 -0
  124. package/src/components/chat/hooks/index.ts +1 -0
  125. package/src/components/chat/hooks/use-chat.ts +0 -8
  126. package/src/components/chat/hooks/use-nats-chat-adapter.ts +822 -243
  127. package/src/components/chat/hooks/use-realtime-chunk-processor.ts +479 -0
  128. package/src/components/chat/hooks/use-sse-chat-adapter.ts +666 -318
  129. package/src/components/chat/index.ts +0 -5
  130. package/src/components/chat/thinking-display.tsx +1 -1
  131. package/src/components/chat/types/.api.types.md +3 -1
  132. package/src/components/chat/types/.processing.types.md +23 -6
  133. package/src/components/chat/types/api.types.ts +73 -6
  134. package/src/components/chat/types/processing.types.ts +52 -11
  135. package/src/components/chat/utils/.chunk-parser.md +51 -0
  136. package/src/components/chat/utils/.index.md +5 -0
  137. package/src/components/chat/utils/chunk-parser.ts +255 -0
  138. package/src/components/chat/utils/extract-incomplete-message-state.ts +5 -63
  139. package/src/components/chat/utils/index.ts +8 -5
  140. package/src/components/chat/utils/process-historical-messages.ts +383 -352
  141. package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +4 -22
  142. package/src/components/shared/legal-document/legal-document-page.tsx +1 -1
  143. package/src/components/shared/product-release/release-detail-page.tsx +4 -19
  144. package/src/components/ui/.simple-markdown-renderer.md +40 -0
  145. package/src/components/ui/index.ts +2 -1
  146. package/src/components/ui/release-changelog-section.tsx +1 -1
  147. package/src/components/ui/rich-markdown-renderer.tsx +1223 -0
  148. package/src/components/ui/simple-markdown-renderer.tsx +965 -0
  149. package/src/components/ui/ticket-info-section.tsx +1 -1
  150. package/src/utils/index.ts +0 -1
  151. package/src/utils/markdown-section-extractor.ts +56 -41
  152. package/dist/chat-protocol/decode.d.ts +0 -58
  153. package/dist/chat-protocol/decode.d.ts.map +0 -1
  154. package/dist/chat-protocol/encode.d.ts +0 -44
  155. package/dist/chat-protocol/encode.d.ts.map +0 -1
  156. package/dist/chat-protocol/env-flag.d.ts +0 -35
  157. package/dist/chat-protocol/env-flag.d.ts.map +0 -1
  158. package/dist/chat-protocol/events.d.ts +0 -192
  159. package/dist/chat-protocol/events.d.ts.map +0 -1
  160. package/dist/chat-protocol/frames.d.ts +0 -206
  161. package/dist/chat-protocol/frames.d.ts.map +0 -1
  162. package/dist/chat-protocol/index.cjs +0 -493
  163. package/dist/chat-protocol/index.cjs.map +0 -1
  164. package/dist/chat-protocol/index.d.ts +0 -18
  165. package/dist/chat-protocol/index.d.ts.map +0 -1
  166. package/dist/chat-protocol/index.js +0 -477
  167. package/dist/chat-protocol/index.js.map +0 -1
  168. package/dist/chat-protocol/ip-normalize.d.ts +0 -44
  169. package/dist/chat-protocol/ip-normalize.d.ts.map +0 -1
  170. package/dist/chat-protocol/nats-decoder.d.ts +0 -26
  171. package/dist/chat-protocol/nats-decoder.d.ts.map +0 -1
  172. package/dist/chunk-ADD3FPDG.cjs.map +0 -1
  173. package/dist/chunk-BQ7PMWLM.cjs.map +0 -1
  174. package/dist/chunk-LJKZIIK4.js.map +0 -1
  175. package/dist/chunk-P5JQDFRM.cjs.map +0 -1
  176. package/dist/chunk-REWRUV3K.js.map +0 -1
  177. package/dist/chunk-VXJH5TDN.js.map +0 -1
  178. package/dist/components/chat/stream/chat-dialog-store.d.ts +0 -184
  179. package/dist/components/chat/stream/chat-dialog-store.d.ts.map +0 -1
  180. package/dist/components/chat/stream/chat-stream-reducer.d.ts +0 -367
  181. package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +0 -1
  182. package/dist/components/chat/stream/delta-batcher.d.ts +0 -51
  183. package/dist/components/chat/stream/delta-batcher.d.ts.map +0 -1
  184. package/dist/components/chat/stream/index.d.ts +0 -17
  185. package/dist/components/chat/stream/index.d.ts.map +0 -1
  186. package/dist/components/chat/stream/message-mutations.d.ts +0 -77
  187. package/dist/components/chat/stream/message-mutations.d.ts.map +0 -1
  188. package/dist/components/chat/stream/use-chat-stream-reducer.d.ts +0 -22
  189. package/dist/components/chat/stream/use-chat-stream-reducer.d.ts.map +0 -1
  190. package/dist/components/ui/markdown/base-components.d.ts +0 -56
  191. package/dist/components/ui/markdown/base-components.d.ts.map +0 -1
  192. package/dist/components/ui/markdown/engine.d.ts +0 -99
  193. package/dist/components/ui/markdown/engine.d.ts.map +0 -1
  194. package/dist/components/ui/markdown/heading-ids.d.ts +0 -65
  195. package/dist/components/ui/markdown/heading-ids.d.ts.map +0 -1
  196. package/dist/components/ui/markdown/index.d.ts +0 -18
  197. package/dist/components/ui/markdown/index.d.ts.map +0 -1
  198. package/dist/components/ui/markdown/mermaid-diagram.d.ts +0 -79
  199. package/dist/components/ui/markdown/mermaid-diagram.d.ts.map +0 -1
  200. package/dist/components/ui/markdown/rich/embed-overrides.d.ts +0 -14
  201. package/dist/components/ui/markdown/rich/embed-overrides.d.ts.map +0 -1
  202. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts +0 -40
  203. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts.map +0 -1
  204. package/dist/components/ui/markdown/rich/shortcodes.d.ts +0 -8
  205. package/dist/components/ui/markdown/rich/shortcodes.d.ts.map +0 -1
  206. package/dist/components/ui/markdown/sanitize.d.ts +0 -153
  207. package/dist/components/ui/markdown/sanitize.d.ts.map +0 -1
  208. package/dist/components/ui/markdown/simple-markdown-renderer.d.ts +0 -23
  209. package/dist/components/ui/markdown/simple-markdown-renderer.d.ts.map +0 -1
  210. package/dist/components/ui/markdown/streaming.d.ts +0 -78
  211. package/dist/components/ui/markdown/streaming.d.ts.map +0 -1
  212. package/dist/components/ui/markdown/text-size.d.ts +0 -34
  213. package/dist/components/ui/markdown/text-size.d.ts.map +0 -1
  214. package/dist/utils/markdown-fences.d.ts +0 -42
  215. package/dist/utils/markdown-fences.d.ts.map +0 -1
  216. package/dist/utils/markdown-heading-id.d.ts +0 -85
  217. package/dist/utils/markdown-heading-id.d.ts.map +0 -1
  218. package/src/chat-protocol/__tests__/__snapshots__/nats-decoder-golden.test.ts.snap +0 -307
  219. package/src/chat-protocol/__tests__/chat-protocol.test.ts +0 -515
  220. package/src/chat-protocol/__tests__/env-flag.test.ts +0 -52
  221. package/src/chat-protocol/__tests__/ip-normalize.test.ts +0 -136
  222. package/src/chat-protocol/__tests__/nats-decoder-golden.test.ts +0 -228
  223. package/src/chat-protocol/decode.ts +0 -277
  224. package/src/chat-protocol/encode.ts +0 -71
  225. package/src/chat-protocol/env-flag.ts +0 -39
  226. package/src/chat-protocol/events.ts +0 -228
  227. package/src/chat-protocol/frames.ts +0 -238
  228. package/src/chat-protocol/index.ts +0 -21
  229. package/src/chat-protocol/ip-normalize.ts +0 -146
  230. package/src/chat-protocol/nats-decoder.ts +0 -252
  231. package/src/components/chat/__tests__/chat-message-streaming-memo.test.tsx +0 -207
  232. package/src/components/chat/__tests__/chat-pending-turn.test.tsx +0 -209
  233. package/src/components/chat/hooks/__tests__/__snapshots__/persisted-state-v1-golden.test.ts.snap +0 -297
  234. package/src/components/chat/hooks/__tests__/__snapshots__/sse-stream-golden.test.ts.snap +0 -0
  235. package/src/components/chat/hooks/__tests__/persisted-state-v1-golden.test.ts +0 -272
  236. package/src/components/chat/hooks/__tests__/sse-stream-golden.test.ts +0 -318
  237. package/src/components/chat/stream/__tests__/__snapshots__/chat-stream-reducer-golden.test.ts.snap +0 -937
  238. package/src/components/chat/stream/__tests__/chat-dialog-store.test.ts +0 -756
  239. package/src/components/chat/stream/__tests__/chat-stream-reducer-golden.test.ts +0 -460
  240. package/src/components/chat/stream/__tests__/chat-stream-reducer.test.ts +0 -894
  241. package/src/components/chat/stream/__tests__/delta-batcher.test.ts +0 -255
  242. package/src/components/chat/stream/__tests__/use-chat-stream-reducer.test.ts +0 -98
  243. package/src/components/chat/stream/chat-dialog-store.ts +0 -536
  244. package/src/components/chat/stream/chat-stream-reducer.ts +0 -1796
  245. package/src/components/chat/stream/delta-batcher.ts +0 -159
  246. package/src/components/chat/stream/index.ts +0 -55
  247. package/src/components/chat/stream/message-mutations.ts +0 -338
  248. package/src/components/chat/stream/use-chat-stream-reducer.ts +0 -126
  249. package/src/components/chat/utils/__tests__/__snapshots__/process-historical-messages-golden.test.ts.snap +0 -418
  250. package/src/components/chat/utils/__tests__/__snapshots__/segment-accumulator-golden.test.ts.snap +0 -599
  251. package/src/components/chat/utils/__tests__/process-historical-messages-golden.test.ts +0 -317
  252. package/src/components/chat/utils/__tests__/segment-accumulator-golden.test.ts +0 -270
  253. package/src/components/ui/__tests__/__snapshots__/markdown-parity.test.tsx.snap +0 -2420
  254. package/src/components/ui/__tests__/markdown-parity.test.tsx +0 -2528
  255. package/src/components/ui/markdown/__tests__/mermaid-security.test.ts +0 -115
  256. package/src/components/ui/markdown/__tests__/mermaid-stale-render.test.tsx +0 -95
  257. package/src/components/ui/markdown/__tests__/sanitize-invariant.test.ts +0 -309
  258. package/src/components/ui/markdown/__tests__/streaming.test.tsx +0 -388
  259. package/src/components/ui/markdown/base-components.tsx +0 -341
  260. package/src/components/ui/markdown/engine.tsx +0 -315
  261. package/src/components/ui/markdown/heading-ids.ts +0 -239
  262. package/src/components/ui/markdown/index.ts +0 -49
  263. package/src/components/ui/markdown/mermaid-diagram.tsx +0 -291
  264. package/src/components/ui/markdown/rich/embed-overrides.tsx +0 -199
  265. package/src/components/ui/markdown/rich/rich-markdown-renderer.tsx +0 -184
  266. package/src/components/ui/markdown/rich/shortcodes.ts +0 -170
  267. package/src/components/ui/markdown/sanitize.ts +0 -3499
  268. package/src/components/ui/markdown/simple-markdown-renderer.tsx +0 -28
  269. package/src/components/ui/markdown/streaming.ts +0 -362
  270. package/src/components/ui/markdown/text-size.ts +0 -106
  271. package/src/utils/markdown-fences.ts +0 -127
  272. package/src/utils/markdown-heading-id.ts +0 -348
  273. /package/dist/{chunk-CGNDAJ7V.js.map → chunk-6B27O3ZB.js.map} +0 -0
  274. /package/dist/{chunk-4R6H2U77.js.map → chunk-H7ETLG65.js.map} +0 -0
  275. /package/dist/{chunk-LAOO7XHO.js.map → chunk-HWTUVLYB.js.map} +0 -0
  276. /package/dist/{chunk-F2NMWV44.js.map → chunk-IDKDOQZL.js.map} +0 -0
  277. /package/dist/{chunk-QO2XD3FR.js.map → chunk-KQGFKG6Y.js.map} +0 -0
  278. /package/dist/{chunk-OR5AMXYN.js.map → chunk-R5QYMUKN.js.map} +0 -0
  279. /package/dist/{chunk-XF5ROTMQ.js.map → chunk-U2YDR5DT.js.map} +0 -0
  280. /package/dist/{chunk-UI7CIUAR.js.map → chunk-WGJPTFRH.js.map} +0 -0
  281. /package/dist/{chunk-APF5QBAU.js.map → chunk-YQBPIUZU.js.map} +0 -0
@@ -1,937 +0,0 @@
1
- // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
-
3
- exports[`chat stream reducer — legacy chunk-processor golden event logs > CHARACTERIZATION duplicate/out-of-order: redelivered EXECUTING after EXECUTED in-stream appends a NEW executing segment (no dedup) 1`] = `
4
- [
5
- {
6
- "event": "onStreamStart",
7
- },
8
- {
9
- "event": "onAgentBusy",
10
- },
11
- {
12
- "event": "onSegmentsUpdate",
13
- "metadata": undefined,
14
- "segments": [
15
- {
16
- "data": {
17
- "integratedToolType": "TACTICAL_RMM",
18
- "parameters": {
19
- "script": "cleanup.sh",
20
- },
21
- "toolExecutionRequestId": "exec-1",
22
- "toolFunction": "run_script",
23
- "toolTitle": "Run cleanup script",
24
- "type": "EXECUTING_TOOL",
25
- },
26
- "type": "tool_execution",
27
- },
28
- ],
29
- },
30
- {
31
- "event": "onSegmentsUpdate",
32
- "metadata": undefined,
33
- "segments": [
34
- {
35
- "data": {
36
- "integratedToolType": "TACTICAL_RMM",
37
- "parameters": {
38
- "script": "cleanup.sh",
39
- },
40
- "result": "Freed 2.3 GB",
41
- "success": true,
42
- "toolExecutionRequestId": "exec-1",
43
- "toolFunction": "run_script",
44
- "toolTitle": "Run cleanup script",
45
- "type": "EXECUTED_TOOL",
46
- },
47
- "type": "tool_execution",
48
- },
49
- ],
50
- },
51
- {
52
- "event": "onAgentBusy",
53
- },
54
- {
55
- "event": "onSegmentsUpdate",
56
- "metadata": undefined,
57
- "segments": [
58
- {
59
- "data": {
60
- "integratedToolType": "TACTICAL_RMM",
61
- "parameters": {
62
- "script": "cleanup.sh",
63
- },
64
- "result": "Freed 2.3 GB",
65
- "success": true,
66
- "toolExecutionRequestId": "exec-1",
67
- "toolFunction": "run_script",
68
- "toolTitle": "Run cleanup script",
69
- "type": "EXECUTED_TOOL",
70
- },
71
- "type": "tool_execution",
72
- },
73
- {
74
- "data": {
75
- "integratedToolType": "TACTICAL_RMM",
76
- "parameters": {
77
- "script": "cleanup.sh",
78
- },
79
- "toolExecutionRequestId": "exec-1",
80
- "toolFunction": "run_script",
81
- "toolTitle": "Run cleanup script",
82
- "type": "EXECUTING_TOOL",
83
- },
84
- "type": "tool_execution",
85
- },
86
- ],
87
- },
88
- {
89
- "event": "onStreamEnd",
90
- },
91
- ]
92
- `;
93
-
94
- exports[`chat stream reducer — legacy chunk-processor golden event logs > approval request (displayed) → approval result: in-message flip + onApprovalResolved 1`] = `
95
- [
96
- {
97
- "event": "onStreamStart",
98
- },
99
- {
100
- "event": "onSegmentsUpdate",
101
- "metadata": undefined,
102
- "segments": [
103
- {
104
- "data": {
105
- "approvalType": "CLIENT",
106
- "command": "systemctl restart nats",
107
- "explanation": "Restart the broker",
108
- "requestId": "req-1",
109
- },
110
- "onApprove": [Function],
111
- "onReject": [Function],
112
- "status": "pending",
113
- "type": "approval_request",
114
- },
115
- ],
116
- },
117
- {
118
- "event": "onStreamEnd",
119
- },
120
- {
121
- "event": "onAgentBusy",
122
- },
123
- {
124
- "approvalType": "CLIENT",
125
- "event": "onApprovalResolved",
126
- "requestId": "req-1",
127
- "resolvedByName": "Jane Admin",
128
- "status": "approved",
129
- },
130
- ]
131
- `;
132
-
133
- exports[`chat stream reducer — legacy chunk-processor golden event logs > approval result WITHOUT onApprovalResolved wired: emits cumulative onSegmentsUpdate instead 1`] = `
134
- [
135
- {
136
- "event": "onStreamStart",
137
- },
138
- {
139
- "event": "onSegmentsUpdate",
140
- "metadata": undefined,
141
- "segments": [
142
- {
143
- "data": {
144
- "approvalType": "CLIENT",
145
- "command": "reboot",
146
- "explanation": undefined,
147
- "requestId": "req-1",
148
- },
149
- "onApprove": [Function],
150
- "onReject": [Function],
151
- "status": "pending",
152
- "type": "approval_request",
153
- },
154
- ],
155
- },
156
- {
157
- "event": "onSegmentsUpdate",
158
- "metadata": undefined,
159
- "segments": [
160
- {
161
- "data": {
162
- "approvalType": "CLIENT",
163
- "command": "reboot",
164
- "explanation": undefined,
165
- "requestId": "req-1",
166
- },
167
- "onApprove": [Function],
168
- "onReject": [Function],
169
- "status": "rejected",
170
- "type": "approval_request",
171
- },
172
- ],
173
- },
174
- ]
175
- `;
176
-
177
- exports[`chat stream reducer — legacy chunk-processor golden event logs > batch approval (batchApprovalsEnabled default ON): one batch segment, executions merge into it 1`] = `
178
- [
179
- {
180
- "event": "onStreamStart",
181
- },
182
- {
183
- "event": "onSegmentsUpdate",
184
- "metadata": undefined,
185
- "segments": [
186
- {
187
- "data": {
188
- "approvalRequestId": "batch-1",
189
- "approvalType": "CLIENT",
190
- "toolCalls": [
191
- {
192
- "approvalType": "CLIENT",
193
- "requiresApproval": true,
194
- "toolCallArguments": {
195
- "subject": "Printer down",
196
- },
197
- "toolExecutionRequestId": "exec-a",
198
- "toolExplanation": undefined,
199
- "toolName": "create_ticket",
200
- "toolTitle": "Create ticket",
201
- "toolType": undefined,
202
- },
203
- {
204
- "approvalType": null,
205
- "requiresApproval": false,
206
- "toolCallArguments": null,
207
- "toolExecutionRequestId": "exec-b",
208
- "toolExplanation": undefined,
209
- "toolName": "read_kb",
210
- "toolTitle": undefined,
211
- "toolType": undefined,
212
- },
213
- ],
214
- },
215
- "onApprove": [Function],
216
- "onReject": [Function],
217
- "resolvedByName": undefined,
218
- "status": "pending",
219
- "type": "approval_batch",
220
- },
221
- ],
222
- },
223
- {
224
- "event": "onAgentBusy",
225
- },
226
- {
227
- "approvalType": "CLIENT",
228
- "event": "onApprovalResolved",
229
- "requestId": "batch-1",
230
- "resolvedByName": "Alice Client",
231
- "status": "approved",
232
- },
233
- {
234
- "event": "onAgentBusy",
235
- },
236
- {
237
- "event": "onSegmentsUpdate",
238
- "metadata": undefined,
239
- "segments": [
240
- {
241
- "data": {
242
- "approvalRequestId": "batch-1",
243
- "approvalType": "CLIENT",
244
- "executions": {
245
- "exec-a": {
246
- "result": undefined,
247
- "status": "executing",
248
- "success": undefined,
249
- },
250
- },
251
- "toolCalls": [
252
- {
253
- "approvalType": "CLIENT",
254
- "requiresApproval": true,
255
- "toolCallArguments": {
256
- "subject": "Printer down",
257
- },
258
- "toolExecutionRequestId": "exec-a",
259
- "toolExplanation": undefined,
260
- "toolName": "create_ticket",
261
- "toolTitle": "Create ticket",
262
- "toolType": undefined,
263
- },
264
- {
265
- "approvalType": null,
266
- "requiresApproval": false,
267
- "toolCallArguments": null,
268
- "toolExecutionRequestId": "exec-b",
269
- "toolExplanation": undefined,
270
- "toolName": "read_kb",
271
- "toolTitle": undefined,
272
- "toolType": undefined,
273
- },
274
- ],
275
- },
276
- "onApprove": [Function],
277
- "onReject": [Function],
278
- "resolvedByName": "Alice Client",
279
- "status": "approved",
280
- "type": "approval_batch",
281
- },
282
- ],
283
- },
284
- {
285
- "event": "onSegmentsUpdate",
286
- "metadata": undefined,
287
- "segments": [
288
- {
289
- "data": {
290
- "approvalRequestId": "batch-1",
291
- "approvalType": "CLIENT",
292
- "executions": {
293
- "exec-a": {
294
- "result": "Ticket #77 created",
295
- "status": "done",
296
- "success": true,
297
- },
298
- },
299
- "toolCalls": [
300
- {
301
- "approvalType": "CLIENT",
302
- "requiresApproval": true,
303
- "toolCallArguments": {
304
- "subject": "Printer down",
305
- },
306
- "toolExecutionRequestId": "exec-a",
307
- "toolExplanation": undefined,
308
- "toolName": "create_ticket",
309
- "toolTitle": "Create ticket",
310
- "toolType": undefined,
311
- },
312
- {
313
- "approvalType": null,
314
- "requiresApproval": false,
315
- "toolCallArguments": null,
316
- "toolExecutionRequestId": "exec-b",
317
- "toolExplanation": undefined,
318
- "toolName": "read_kb",
319
- "toolTitle": undefined,
320
- "toolType": undefined,
321
- },
322
- ],
323
- },
324
- "onApprove": [Function],
325
- "onReject": [Function],
326
- "resolvedByName": "Alice Client",
327
- "status": "approved",
328
- "type": "approval_batch",
329
- },
330
- ],
331
- },
332
- {
333
- "event": "onStreamEnd",
334
- },
335
- ]
336
- `;
337
-
338
- exports[`chat stream reducer — legacy chunk-processor golden event logs > batch approval with batchApprovalsEnabled:false unfolds into legacy cards (requiresApproval only) 1`] = `
339
- [
340
- {
341
- "event": "onStreamStart",
342
- },
343
- {
344
- "event": "onSegmentsUpdate",
345
- "metadata": undefined,
346
- "segments": [
347
- {
348
- "data": {
349
- "approvalType": "CLIENT",
350
- "command": "Create ticket",
351
- "explanation": undefined,
352
- "requestId": "batch-1",
353
- },
354
- "onApprove": [Function],
355
- "onReject": [Function],
356
- "status": "pending",
357
- "type": "approval_request",
358
- },
359
- ],
360
- },
361
- {
362
- "event": "onStreamEnd",
363
- },
364
- ]
365
- `;
366
-
367
- exports[`chat stream reducer — legacy chunk-processor golden event logs > cold start (no MESSAGE_START ever): text emits CUMULATIVE segments (no append flag) 1`] = `
368
- [
369
- {
370
- "event": "onSegmentsUpdate",
371
- "metadata": undefined,
372
- "segments": [
373
- {
374
- "text": "cold ",
375
- "type": "text",
376
- },
377
- ],
378
- },
379
- {
380
- "event": "onSegmentsUpdate",
381
- "metadata": undefined,
382
- "segments": [
383
- {
384
- "text": "cold start",
385
- "type": "text",
386
- },
387
- ],
388
- },
389
- ]
390
- `;
391
-
392
- exports[`chat stream reducer — legacy chunk-processor golden event logs > context compaction outside a stream emits append+isCompacting metadata; inside a stream it is cumulative 1`] = `
393
- {
394
- "inStream": [
395
- {
396
- "event": "onStreamStart",
397
- },
398
- {
399
- "event": "onSegmentsUpdate",
400
- "metadata": undefined,
401
- "segments": [
402
- {
403
- "status": "started",
404
- "type": "context_compaction",
405
- },
406
- ],
407
- },
408
- {
409
- "event": "onSegmentsUpdate",
410
- "metadata": undefined,
411
- "segments": [
412
- {
413
- "status": "completed",
414
- "summary": "Mid-stream summary",
415
- "type": "context_compaction",
416
- },
417
- ],
418
- },
419
- {
420
- "event": "onStreamEnd",
421
- },
422
- ],
423
- "standalone": [
424
- {
425
- "event": "onSegmentsUpdate",
426
- "metadata": {
427
- "append": true,
428
- "isCompacting": true,
429
- },
430
- "segments": [
431
- {
432
- "status": "started",
433
- "type": "context_compaction",
434
- },
435
- ],
436
- },
437
- {
438
- "event": "onSegmentsUpdate",
439
- "metadata": {
440
- "append": true,
441
- "isCompacting": true,
442
- },
443
- "segments": [
444
- {
445
- "status": "completed",
446
- "summary": "Summarized 12 messages",
447
- "type": "context_compaction",
448
- },
449
- ],
450
- },
451
- ],
452
- }
453
- `;
454
-
455
- exports[`chat stream reducer — legacy chunk-processor golden event logs > direct-mode barrier: after a DIRECT_MESSAGE, AI chunks are dropped with a one-shot teardown 1`] = `
456
- [
457
- {
458
- "event": "onStreamStart",
459
- },
460
- {
461
- "event": "onSegmentsUpdate",
462
- "metadata": undefined,
463
- "segments": [
464
- {
465
- "text": "ai text before takeover",
466
- "type": "text",
467
- },
468
- ],
469
- },
470
- {
471
- "event": "onDirectMessage",
472
- "metadata": {
473
- "displayName": undefined,
474
- "ownerType": "ADMIN",
475
- "streamSeq": undefined,
476
- "userId": undefined,
477
- },
478
- "text": "Human takeover",
479
- },
480
- {
481
- "event": "onStreamEnd",
482
- },
483
- {
484
- "event": "onSystemMessage",
485
- "metadata": {
486
- "streamSeq": undefined,
487
- },
488
- "text": "still visible",
489
- },
490
- {
491
- "event": "onDirectMessage",
492
- "metadata": {
493
- "displayName": undefined,
494
- "ownerType": undefined,
495
- "streamSeq": undefined,
496
- "userId": undefined,
497
- },
498
- "text": "second human message",
499
- },
500
- ]
501
- `;
502
-
503
- exports[`chat stream reducer — legacy chunk-processor golden event logs > error chunk: segment append + onError with JSON-extracted message 1`] = `
504
- [
505
- {
506
- "event": "onStreamStart",
507
- },
508
- {
509
- "event": "onSegmentsUpdate",
510
- "metadata": undefined,
511
- "segments": [
512
- {
513
- "text": "partial",
514
- "type": "text",
515
- },
516
- ],
517
- },
518
- {
519
- "event": "onSegmentsUpdate",
520
- "metadata": undefined,
521
- "segments": [
522
- {
523
- "text": "partial",
524
- "type": "text",
525
- },
526
- {
527
- "details": "boom",
528
- "title": "Agent crashed",
529
- "type": "error",
530
- },
531
- ],
532
- },
533
- {
534
- "details": "boom",
535
- "error": "Agent crashed",
536
- "event": "onError",
537
- },
538
- {
539
- "event": "onSegmentsUpdate",
540
- "metadata": undefined,
541
- "segments": [
542
- {
543
- "text": "partial",
544
- "type": "text",
545
- },
546
- {
547
- "details": "boom",
548
- "title": "Agent crashed",
549
- "type": "error",
550
- },
551
- {
552
- "details": "not-json",
553
- "title": "Plain details",
554
- "type": "error",
555
- },
556
- ],
557
- },
558
- {
559
- "details": "not-json",
560
- "error": "Plain details",
561
- "event": "onError",
562
- },
563
- ]
564
- `;
565
-
566
- exports[`chat stream reducer — legacy chunk-processor golden event logs > escalated approval (type not displayed) → onEscalatedApproval, then result appends resolved card 1`] = `
567
- {
568
- "log": [
569
- {
570
- "event": "onStreamStart",
571
- },
572
- {
573
- "data": {
574
- "approvalType": "ADMIN",
575
- "command": "drop database prod",
576
- "explanation": undefined,
577
- },
578
- "event": "onEscalatedApproval",
579
- "requestId": "req-adm",
580
- },
581
- {
582
- "event": "onStreamEnd",
583
- },
584
- {
585
- "event": "onAgentBusy",
586
- },
587
- {
588
- "approved": true,
589
- "data": {
590
- "approvalType": "ADMIN",
591
- "command": "drop database prod",
592
- "explanation": undefined,
593
- },
594
- "event": "onEscalatedApprovalResult",
595
- "requestId": "req-adm",
596
- },
597
- {
598
- "event": "onSegmentsUpdate",
599
- "metadata": {
600
- "append": true,
601
- },
602
- "segments": [
603
- {
604
- "data": {
605
- "approvalType": "ADMIN",
606
- "command": "drop database prod",
607
- "explanation": undefined,
608
- "requestId": "req-adm",
609
- },
610
- "onApprove": [Function],
611
- "onReject": [Function],
612
- "status": "approved",
613
- "type": "approval_request",
614
- },
615
- ],
616
- },
617
- {
618
- "approvalType": "ADMIN",
619
- "event": "onApprovalResolved",
620
- "requestId": "req-adm",
621
- "resolvedByName": undefined,
622
- "status": "approved",
623
- },
624
- ],
625
- "pendingAfter": [],
626
- }
627
- `;
628
-
629
- exports[`chat stream reducer — legacy chunk-processor golden event logs > initialState resume: continuation chunks after resume take the post-stream append path 1`] = `
630
- [
631
- {
632
- "data": {
633
- "approvalType": "ADMIN",
634
- "command": "escalated cmd",
635
- },
636
- "event": "onEscalatedApproval",
637
- "requestId": "req-esc",
638
- },
639
- ]
640
- `;
641
-
642
- exports[`chat stream reducer — legacy chunk-processor golden event logs > normal turn: start → metadata → text ×3 → token usage → end 1`] = `
643
- [
644
- {
645
- "event": "onStreamStart",
646
- },
647
- {
648
- "event": "onMetadata",
649
- "metadata": {
650
- "action": "metadata",
651
- "contextWindow": 200000,
652
- "modelDisplayName": "Claude Sonnet",
653
- "modelName": "claude-sonnet-x",
654
- "providerName": "anthropic",
655
- },
656
- },
657
- {
658
- "event": "onSegmentsUpdate",
659
- "metadata": undefined,
660
- "segments": [
661
- {
662
- "text": "Hello",
663
- "type": "text",
664
- },
665
- ],
666
- },
667
- {
668
- "event": "onSegmentsUpdate",
669
- "metadata": undefined,
670
- "segments": [
671
- {
672
- "text": "Hello, ",
673
- "type": "text",
674
- },
675
- ],
676
- },
677
- {
678
- "event": "onSegmentsUpdate",
679
- "metadata": undefined,
680
- "segments": [
681
- {
682
- "text": "Hello, world",
683
- "type": "text",
684
- },
685
- ],
686
- },
687
- {
688
- "data": {
689
- "contextSize": 180000,
690
- "inputTokensSize": 100,
691
- "outputTokensSize": 20,
692
- "totalTokensSize": 120,
693
- },
694
- "event": "onTokenUsage",
695
- },
696
- {
697
- "event": "onStreamEnd",
698
- },
699
- ]
700
- `;
701
-
702
- exports[`chat stream reducer — legacy chunk-processor golden event logs > post-MESSAGE_END continuation: text/thinking emit DELTA segments with append:true 1`] = `
703
- [
704
- {
705
- "event": "onStreamStart",
706
- },
707
- {
708
- "event": "onSegmentsUpdate",
709
- "metadata": undefined,
710
- "segments": [
711
- {
712
- "text": "in-stream",
713
- "type": "text",
714
- },
715
- ],
716
- },
717
- {
718
- "event": "onStreamEnd",
719
- },
720
- {
721
- "event": "onSegmentsUpdate",
722
- "metadata": {
723
- "append": true,
724
- },
725
- "segments": [
726
- {
727
- "text": "post-end text",
728
- "type": "text",
729
- },
730
- ],
731
- },
732
- {
733
- "event": "onSegmentsUpdate",
734
- "metadata": {
735
- "append": true,
736
- },
737
- "segments": [
738
- {
739
- "text": "post-end thinking",
740
- "type": "thinking",
741
- },
742
- ],
743
- },
744
- ]
745
- `;
746
-
747
- exports[`chat stream reducer — legacy chunk-processor golden event logs > reset() clears accumulator + stream flags so the next dialog cold-starts cumulative 1`] = `
748
- [
749
- {
750
- "event": "onSegmentsUpdate",
751
- "metadata": undefined,
752
- "segments": [
753
- {
754
- "text": "dialog two cold start",
755
- "type": "text",
756
- },
757
- ],
758
- },
759
- ]
760
- `;
761
-
762
- exports[`chat stream reducer — legacy chunk-processor golden event logs > streamSeq on content chunks is threaded into onSegmentsUpdate metadata 1`] = `
763
- [
764
- {
765
- "event": "onStreamStart",
766
- },
767
- {
768
- "event": "onSegmentsUpdate",
769
- "metadata": {
770
- "streamSeq": 7,
771
- },
772
- "segments": [
773
- {
774
- "text": "seq-stamped",
775
- "type": "text",
776
- },
777
- ],
778
- },
779
- {
780
- "event": "onStreamEnd",
781
- },
782
- ]
783
- `;
784
-
785
- exports[`chat stream reducer — legacy chunk-processor golden event logs > tool execution IN-stream: accumulator-driven segment updates, onToolExecuted NOT fired 1`] = `
786
- [
787
- {
788
- "event": "onStreamStart",
789
- },
790
- {
791
- "event": "onSegmentsUpdate",
792
- "metadata": undefined,
793
- "segments": [
794
- {
795
- "text": "Running now. ",
796
- "type": "text",
797
- },
798
- ],
799
- },
800
- {
801
- "event": "onAgentBusy",
802
- },
803
- {
804
- "event": "onSegmentsUpdate",
805
- "metadata": undefined,
806
- "segments": [
807
- {
808
- "text": "Running now. ",
809
- "type": "text",
810
- },
811
- {
812
- "data": {
813
- "integratedToolType": "TACTICAL_RMM",
814
- "parameters": {
815
- "script": "cleanup.sh",
816
- },
817
- "toolExecutionRequestId": "exec-1",
818
- "toolFunction": "run_script",
819
- "toolTitle": "Run cleanup script",
820
- "type": "EXECUTING_TOOL",
821
- },
822
- "type": "tool_execution",
823
- },
824
- ],
825
- },
826
- {
827
- "event": "onSegmentsUpdate",
828
- "metadata": undefined,
829
- "segments": [
830
- {
831
- "text": "Running now. ",
832
- "type": "text",
833
- },
834
- {
835
- "data": {
836
- "integratedToolType": "TACTICAL_RMM",
837
- "parameters": {
838
- "script": "cleanup.sh",
839
- },
840
- "result": "Freed 2.3 GB",
841
- "success": true,
842
- "toolExecutionRequestId": "exec-1",
843
- "toolFunction": "run_script",
844
- "toolTitle": "Run cleanup script",
845
- "type": "EXECUTED_TOOL",
846
- },
847
- "type": "tool_execution",
848
- },
849
- ],
850
- },
851
- {
852
- "event": "onStreamEnd",
853
- },
854
- ]
855
- `;
856
-
857
- exports[`chat stream reducer — legacy chunk-processor golden event logs > tool execution OUTSIDE a message window: onAgentBusy + cross-message onToolExecuted (accumulator skipped) 1`] = `
858
- [
859
- {
860
- "event": "onAgentBusy",
861
- },
862
- {
863
- "event": "onToolExecuted",
864
- "segment": {
865
- "data": {
866
- "integratedToolType": "TACTICAL_RMM",
867
- "parameters": {
868
- "script": "cleanup.sh",
869
- },
870
- "toolExecutionRequestId": "exec-1",
871
- "toolFunction": "run_script",
872
- "toolTitle": "Run cleanup script",
873
- "type": "EXECUTING_TOOL",
874
- },
875
- "type": "tool_execution",
876
- },
877
- },
878
- {
879
- "event": "onToolExecuted",
880
- "segment": {
881
- "data": {
882
- "integratedToolType": "TACTICAL_RMM",
883
- "parameters": undefined,
884
- "result": "Freed 2.3 GB",
885
- "success": true,
886
- "toolExecutionRequestId": "exec-1",
887
- "toolFunction": "run_script",
888
- "toolTitle": undefined,
889
- "type": "EXECUTED_TOOL",
890
- },
891
- "type": "tool_execution",
892
- },
893
- },
894
- ]
895
- `;
896
-
897
- exports[`chat stream reducer — legacy chunk-processor golden event logs > user echo / system / direct-message / dialog-closed routing 1`] = `
898
- [
899
- {
900
- "event": "onUserMessage",
901
- "metadata": {
902
- "contextItems": [
903
- {
904
- "id": "dev-1",
905
- "label": "dev-1",
906
- "type": "device",
907
- },
908
- ],
909
- "displayName": "Alice",
910
- "ownerType": "CLIENT",
911
- "streamSeq": 3,
912
- "userId": "user-42",
913
- },
914
- "text": "open a ticket",
915
- },
916
- {
917
- "event": "onSystemMessage",
918
- "metadata": {
919
- "streamSeq": 4,
920
- },
921
- "text": "User joined the chat",
922
- },
923
- {
924
- "event": "onDirectMessage",
925
- "metadata": {
926
- "displayName": "Jane Admin",
927
- "ownerType": "ADMIN",
928
- "streamSeq": 5,
929
- "userId": "admin-7",
930
- },
931
- "text": "Human here now",
932
- },
933
- {
934
- "event": "onDialogClosed",
935
- },
936
- ]
937
- `;