@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,418 +0,0 @@
1
- // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
-
3
- exports[`extractErrorMessages / processHistoricalMessagesWithErrors — golden > extractErrorMessages surfaces ERROR rows as standalone error-role messages 1`] = `
4
- [
5
- {
6
- "assistantType": "mingo",
7
- "avatar": undefined,
8
- "content": "Agent crashed",
9
- "id": "a5-error",
10
- "name": "Mingo AI",
11
- "role": "error",
12
- "timestamp": 2026-07-19T09:04:00.000Z,
13
- },
14
- ]
15
- `;
16
-
17
- exports[`extractErrorMessages / processHistoricalMessagesWithErrors — golden > processHistoricalMessagesWithErrors output parity on the same corpus (snapshot) 1`] = `
18
- {
19
- "escalatedApprovals": [],
20
- "messages": [
21
- {
22
- "authorType": "user",
23
- "avatar": undefined,
24
- "content": "diagnose this device please",
25
- "contextItems": [
26
- {
27
- "id": "dev-1",
28
- "label": "dev-1",
29
- "type": "device",
30
- },
31
- ],
32
- "id": "u1",
33
- "name": "You",
34
- "role": "user",
35
- "streamSeq": 10,
36
- "timestamp": 2026-07-19T09:00:00.000Z,
37
- },
38
- {
39
- "assistantType": "mingo",
40
- "authorType": "mingo",
41
- "avatar": "/avatars/mingo.png",
42
- "content": [
43
- {
44
- "text": "Checking device state… looks like disk pressure.",
45
- "type": "thinking",
46
- },
47
- {
48
- "text": "The device is low on disk. ",
49
- "type": "text",
50
- },
51
- {
52
- "data": {
53
- "integratedToolType": "TACTICAL_RMM",
54
- "parameters": {
55
- "script": "cleanup.sh",
56
- },
57
- "result": "Freed 2.3 GB",
58
- "success": true,
59
- "toolExecutionRequestId": "exec-1",
60
- "toolFunction": "run_script",
61
- "toolTitle": "Run cleanup script",
62
- "type": "EXECUTED_TOOL",
63
- },
64
- "type": "tool_execution",
65
- },
66
- {
67
- "text": "Cleanup done.",
68
- "type": "text",
69
- },
70
- ],
71
- "id": "a2",
72
- "name": "Mingo AI",
73
- "role": "assistant",
74
- "streamSeq": 20,
75
- "timestamp": 2026-07-19T09:00:05.000Z,
76
- },
77
- {
78
- "authorType": "admin",
79
- "avatar": "/avatars/jane.png",
80
- "content": "please restart the broker",
81
- "id": "u2",
82
- "name": "Jane Admin",
83
- "role": "user",
84
- "timestamp": 2026-07-19T09:01:00.000Z,
85
- },
86
- {
87
- "assistantType": "mingo",
88
- "authorType": "mingo",
89
- "avatar": "/avatars/mingo.png",
90
- "content": [
91
- {
92
- "text": "I need approval to restart it.",
93
- "type": "text",
94
- },
95
- {
96
- "data": {
97
- "approvalType": "CLIENT",
98
- "command": "systemctl restart nats",
99
- "explanation": "Restart the message broker",
100
- "requestId": "req-1",
101
- },
102
- "onApprove": undefined,
103
- "onReject": undefined,
104
- "status": "approved",
105
- "type": "approval_request",
106
- },
107
- {
108
- "data": {
109
- "approvalRequestId": "batch-1",
110
- "approvalType": "CLIENT",
111
- "executions": {
112
- "exec-a": {
113
- "result": "Ticket #77 created",
114
- "status": "done",
115
- "success": true,
116
- },
117
- },
118
- "toolCalls": [
119
- {
120
- "approvalType": "CLIENT",
121
- "requiresApproval": true,
122
- "toolCallArguments": {
123
- "subject": "Printer down",
124
- },
125
- "toolExecutionRequestId": "exec-a",
126
- "toolName": "create_ticket",
127
- "toolTitle": "Create ticket",
128
- },
129
- {
130
- "requiresApproval": false,
131
- "toolExecutionRequestId": "exec-b",
132
- "toolName": "read_kb",
133
- },
134
- ],
135
- },
136
- "onApprove": undefined,
137
- "onReject": undefined,
138
- "resolvedByName": "Alice Client",
139
- "status": "approved",
140
- "type": "approval_batch",
141
- },
142
- ],
143
- "id": "a4",
144
- "name": "Mingo AI",
145
- "role": "assistant",
146
- "streamSeq": 30,
147
- "timestamp": 2026-07-19T09:01:05.000Z,
148
- },
149
- {
150
- "authorType": "system",
151
- "content": "",
152
- "id": "s1",
153
- "name": "Technician joined the chat",
154
- "role": "user",
155
- "streamSeq": 40,
156
- "timestamp": 2026-07-19T09:03:00.000Z,
157
- },
158
- {
159
- "assistantType": "mingo",
160
- "authorType": "mingo",
161
- "avatar": "/avatars/mingo.png",
162
- "content": [
163
- {
164
- "text": "Attempting one more thing… ",
165
- "type": "text",
166
- },
167
- {
168
- "details": "boom",
169
- "title": "Agent crashed",
170
- "type": "error",
171
- },
172
- ],
173
- "id": "a5",
174
- "name": "Mingo AI",
175
- "role": "assistant",
176
- "timestamp": 2026-07-19T09:04:00.000Z,
177
- },
178
- ],
179
- }
180
- `;
181
-
182
- exports[`processHistoricalMessages — golden corpus > chatTypeFilter drops rows of other chat types 1`] = `
183
- [
184
- {
185
- "authorType": "user",
186
- "avatar": undefined,
187
- "content": "visible",
188
- "id": "u1",
189
- "name": "You",
190
- "role": "user",
191
- "timestamp": 2026-07-19T09:00:00.000Z,
192
- },
193
- ]
194
- `;
195
-
196
- exports[`processHistoricalMessages — golden corpus > owner-type author resolution: CLIENT vs ADMIN vs ADMIN-without-name display names/avatars 1`] = `
197
- [
198
- {
199
- "authorType": "user",
200
- "avatar": undefined,
201
- "content": "from client",
202
- "id": "u-client",
203
- "name": "You",
204
- "role": "user",
205
- "timestamp": 2026-07-19T09:00:00.000Z,
206
- },
207
- {
208
- "authorType": "admin",
209
- "avatar": "/a.png",
210
- "content": "from named admin",
211
- "id": "u-admin-named",
212
- "name": "Jane Admin",
213
- "role": "user",
214
- "timestamp": 2026-07-19T09:00:01.000Z,
215
- },
216
- {
217
- "authorType": "admin",
218
- "avatar": undefined,
219
- "content": "from anonymous admin",
220
- "id": "u-admin-anon",
221
- "name": "Admin",
222
- "role": "user",
223
- "timestamp": 2026-07-19T09:00:02.000Z,
224
- },
225
- ]
226
- `;
227
-
228
- exports[`processHistoricalMessages — golden corpus > processes the full recorded dialog (snapshot) 1`] = `
229
- {
230
- "escalatedApprovals": [],
231
- "messages": [
232
- {
233
- "authorType": "user",
234
- "avatar": undefined,
235
- "content": "diagnose this device please",
236
- "contextItems": [
237
- {
238
- "id": "dev-1",
239
- "label": "dev-1",
240
- "type": "device",
241
- },
242
- ],
243
- "id": "u1",
244
- "name": "You",
245
- "role": "user",
246
- "streamSeq": 10,
247
- "timestamp": 2026-07-19T09:00:00.000Z,
248
- },
249
- {
250
- "assistantType": "mingo",
251
- "authorType": "mingo",
252
- "avatar": "/avatars/mingo.png",
253
- "content": [
254
- {
255
- "text": "Checking device state… looks like disk pressure.",
256
- "type": "thinking",
257
- },
258
- {
259
- "text": "The device is low on disk. ",
260
- "type": "text",
261
- },
262
- {
263
- "data": {
264
- "integratedToolType": "TACTICAL_RMM",
265
- "parameters": {
266
- "script": "cleanup.sh",
267
- },
268
- "result": "Freed 2.3 GB",
269
- "success": true,
270
- "toolExecutionRequestId": "exec-1",
271
- "toolFunction": "run_script",
272
- "toolTitle": "Run cleanup script",
273
- "type": "EXECUTED_TOOL",
274
- },
275
- "type": "tool_execution",
276
- },
277
- {
278
- "text": "Cleanup done.",
279
- "type": "text",
280
- },
281
- ],
282
- "id": "a2",
283
- "name": "Mingo AI",
284
- "role": "assistant",
285
- "streamSeq": 20,
286
- "timestamp": 2026-07-19T09:00:05.000Z,
287
- },
288
- {
289
- "authorType": "admin",
290
- "avatar": "/avatars/jane.png",
291
- "content": "please restart the broker",
292
- "id": "u2",
293
- "name": "Jane Admin",
294
- "role": "user",
295
- "timestamp": 2026-07-19T09:01:00.000Z,
296
- },
297
- {
298
- "assistantType": "mingo",
299
- "authorType": "mingo",
300
- "avatar": "/avatars/mingo.png",
301
- "content": [
302
- {
303
- "text": "I need approval to restart it.",
304
- "type": "text",
305
- },
306
- {
307
- "data": {
308
- "approvalType": "CLIENT",
309
- "command": "systemctl restart nats",
310
- "explanation": "Restart the message broker",
311
- "requestId": "req-1",
312
- },
313
- "onApprove": undefined,
314
- "onReject": undefined,
315
- "status": "approved",
316
- "type": "approval_request",
317
- },
318
- {
319
- "data": {
320
- "approvalRequestId": "batch-1",
321
- "approvalType": "CLIENT",
322
- "executions": {
323
- "exec-a": {
324
- "result": "Ticket #77 created",
325
- "status": "done",
326
- "success": true,
327
- },
328
- },
329
- "toolCalls": [
330
- {
331
- "approvalType": "CLIENT",
332
- "requiresApproval": true,
333
- "toolCallArguments": {
334
- "subject": "Printer down",
335
- },
336
- "toolExecutionRequestId": "exec-a",
337
- "toolName": "create_ticket",
338
- "toolTitle": "Create ticket",
339
- },
340
- {
341
- "requiresApproval": false,
342
- "toolExecutionRequestId": "exec-b",
343
- "toolName": "read_kb",
344
- },
345
- ],
346
- },
347
- "onApprove": undefined,
348
- "onReject": undefined,
349
- "resolvedByName": "Alice Client",
350
- "status": "approved",
351
- "type": "approval_batch",
352
- },
353
- ],
354
- "id": "a4",
355
- "name": "Mingo AI",
356
- "role": "assistant",
357
- "streamSeq": 30,
358
- "timestamp": 2026-07-19T09:01:05.000Z,
359
- },
360
- {
361
- "authorType": "system",
362
- "content": "",
363
- "id": "s1",
364
- "name": "Technician joined the chat",
365
- "role": "user",
366
- "streamSeq": 40,
367
- "timestamp": 2026-07-19T09:03:00.000Z,
368
- },
369
- {
370
- "assistantType": "mingo",
371
- "authorType": "mingo",
372
- "avatar": "/avatars/mingo.png",
373
- "content": [
374
- {
375
- "text": "Attempting one more thing… ",
376
- "type": "text",
377
- },
378
- {
379
- "details": "boom",
380
- "title": "Agent crashed",
381
- "type": "error",
382
- },
383
- ],
384
- "id": "a5",
385
- "name": "Mingo AI",
386
- "role": "assistant",
387
- "timestamp": 2026-07-19T09:04:00.000Z,
388
- },
389
- ],
390
- }
391
- `;
392
-
393
- exports[`processHistoricalMessages — golden corpus > unresolved single approval is resurrected as a synthetic pending-approvals bubble 1`] = `
394
- [
395
- {
396
- "assistantType": "fae",
397
- "avatar": undefined,
398
- "content": [
399
- {
400
- "data": {
401
- "approvalType": "CLIENT",
402
- "command": "reboot server",
403
- "explanation": undefined,
404
- "requestId": "req-pending",
405
- },
406
- "onApprove": undefined,
407
- "onReject": undefined,
408
- "status": "pending",
409
- "type": "approval_request",
410
- },
411
- ],
412
- "id": "pending-approvals-1784541600000",
413
- "name": "Fae",
414
- "role": "assistant",
415
- "timestamp": 2026-07-20T10:00:00.000Z,
416
- },
417
- ]
418
- `;