@flamingo-stack/openframe-frontend-core 0.0.468-snapshot.20260723140929 → 0.0.468

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/dist/{chunk-TOFOK7G5.cjs → chunk-2WZAR2MB.cjs} +37 -37
  2. package/dist/{chunk-TOFOK7G5.cjs.map → chunk-2WZAR2MB.cjs.map} +1 -1
  3. package/dist/{chunk-YXNWEVER.cjs → chunk-3I34MUEG.cjs} +62 -62
  4. package/dist/{chunk-YXNWEVER.cjs.map → chunk-3I34MUEG.cjs.map} +1 -1
  5. package/dist/{chunk-4W54HUP7.cjs → chunk-3PLQWO4H.cjs} +4896 -7014
  6. package/dist/chunk-3PLQWO4H.cjs.map +1 -0
  7. package/dist/{chunk-33FDAZDB.js → chunk-3TU6QURP.js} +2 -2
  8. package/dist/{chunk-2BJSRTKU.js → chunk-AEM7ADDG.js} +2 -2
  9. package/dist/{chunk-VUCYS36H.js → chunk-CLW2S55N.js} +10 -10
  10. package/dist/chunk-CLW2S55N.js.map +1 -0
  11. package/dist/{chunk-LRESZO4L.cjs → chunk-ELIY4AO2.cjs} +26 -26
  12. package/dist/{chunk-LRESZO4L.cjs.map → chunk-ELIY4AO2.cjs.map} +1 -1
  13. package/dist/{chunk-MMF6HJB7.js → chunk-EZESVVIM.js} +4 -4
  14. package/dist/{chunk-AW3LVWVV.js → chunk-HTSWLPMU.js} +2 -2
  15. package/dist/{chunk-MTLBBSLP.cjs → chunk-HVLMAT4T.cjs} +5 -5
  16. package/dist/{chunk-MTLBBSLP.cjs.map → chunk-HVLMAT4T.cjs.map} +1 -1
  17. package/dist/{chunk-RPAOSHBN.js → chunk-IUMPVRSH.js} +2 -2
  18. package/dist/{chunk-5HUTT3FD.cjs → chunk-J6CE6HZS.cjs} +11 -11
  19. package/dist/{chunk-5HUTT3FD.cjs.map → chunk-J6CE6HZS.cjs.map} +1 -1
  20. package/dist/{chunk-7I2QMUEZ.js → chunk-JW3UNHGW.js} +2 -2
  21. package/dist/{chunk-4UFRQT7Z.cjs → chunk-L3BWGFHT.cjs} +15 -15
  22. package/dist/{chunk-4UFRQT7Z.cjs.map → chunk-L3BWGFHT.cjs.map} +1 -1
  23. package/dist/{chunk-WHWDGCQV.cjs → chunk-MULVIGIN.cjs} +60 -60
  24. package/dist/chunk-MULVIGIN.cjs.map +1 -0
  25. package/dist/{chunk-AJSNF5YF.js → chunk-O2QOC5FA.js} +5 -6
  26. package/dist/chunk-O2QOC5FA.js.map +1 -0
  27. package/dist/{chunk-E6O6XATC.js → chunk-P5SLNM3C.js} +9699 -11817
  28. package/dist/chunk-P5SLNM3C.js.map +1 -0
  29. package/dist/{chunk-GYEZV4GK.js → chunk-QTGYQ2U7.js} +2 -2
  30. package/dist/{chunk-4QDFNDVW.js → chunk-QZJN5OHK.js} +4 -4
  31. package/dist/{chunk-U2KPMWO6.cjs → chunk-TISXEAGH.cjs} +7 -7
  32. package/dist/{chunk-U2KPMWO6.cjs.map → chunk-TISXEAGH.cjs.map} +1 -1
  33. package/dist/{chunk-V5YWOQBP.cjs → chunk-VHFH3BG6.cjs} +31 -31
  34. package/dist/{chunk-V5YWOQBP.cjs.map → chunk-VHFH3BG6.cjs.map} +1 -1
  35. package/dist/{chunk-OVIUQJ2H.cjs → chunk-VRJXY6TM.cjs} +27 -28
  36. package/dist/chunk-VRJXY6TM.cjs.map +1 -0
  37. package/dist/{chunk-DG7TX763.js → chunk-VYUEOKI6.js} +2 -2
  38. package/dist/{chunk-GLKULDQN.cjs → chunk-X77X3RKH.cjs} +9 -9
  39. package/dist/{chunk-GLKULDQN.cjs.map → chunk-X77X3RKH.cjs.map} +1 -1
  40. package/dist/components/case-studies/index.cjs +8 -8
  41. package/dist/components/case-studies/index.js +2 -2
  42. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  43. package/dist/components/chat/chat-message-list.d.ts.map +1 -1
  44. package/dist/components/chat/hooks/index.d.ts +1 -0
  45. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  46. package/dist/components/chat/hooks/use-chat.d.ts.map +1 -1
  47. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts +48 -15
  48. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
  49. package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts +6 -0
  50. package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts.map +1 -0
  51. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +47 -3
  52. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
  53. package/dist/components/chat/index.cjs +2 -10
  54. package/dist/components/chat/index.cjs.map +1 -1
  55. package/dist/components/chat/index.d.ts +0 -1
  56. package/dist/components/chat/index.d.ts.map +1 -1
  57. package/dist/components/chat/index.js +13 -21
  58. package/dist/components/chat/types/api.types.d.ts +81 -1
  59. package/dist/components/chat/types/api.types.d.ts.map +1 -1
  60. package/dist/components/chat/types/processing.types.d.ts +90 -2
  61. package/dist/components/chat/types/processing.types.d.ts.map +1 -1
  62. package/dist/components/chat/utils/chunk-parser.d.ts +25 -0
  63. package/dist/components/chat/utils/chunk-parser.d.ts.map +1 -0
  64. package/dist/components/chat/utils/extract-incomplete-message-state.d.ts +6 -34
  65. package/dist/components/chat/utils/extract-incomplete-message-state.d.ts.map +1 -1
  66. package/dist/components/chat/utils/index.d.ts +3 -2
  67. package/dist/components/chat/utils/index.d.ts.map +1 -1
  68. package/dist/components/chat/utils/process-historical-messages.d.ts +11 -59
  69. package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
  70. package/dist/components/contact/index.cjs +3 -3
  71. package/dist/components/contact/index.js +2 -2
  72. package/dist/components/docs/index.cjs +5 -5
  73. package/dist/components/docs/index.js +4 -4
  74. package/dist/components/embeds/index.cjs +3 -3
  75. package/dist/components/embeds/index.js +2 -2
  76. package/dist/components/faq/index.cjs +3 -3
  77. package/dist/components/faq/index.js +2 -2
  78. package/dist/components/features/index.cjs +2 -2
  79. package/dist/components/features/index.js +1 -1
  80. package/dist/components/help-center-pages/index.cjs +20 -20
  81. package/dist/components/help-center-pages/index.js +11 -11
  82. package/dist/components/index.cjs +130 -172
  83. package/dist/components/index.cjs.map +1 -1
  84. package/dist/components/index.js +21 -63
  85. package/dist/components/index.js.map +1 -1
  86. package/dist/components/navigation/index.cjs +2 -2
  87. package/dist/components/navigation/index.js +1 -1
  88. package/dist/components/onboarding-guides/index.cjs +5 -5
  89. package/dist/components/onboarding-guides/index.js +4 -4
  90. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
  91. package/dist/components/related-content/index.cjs +3 -3
  92. package/dist/components/related-content/index.js +2 -2
  93. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  94. package/dist/components/tickets/index.cjs +5 -5
  95. package/dist/components/tickets/index.js +4 -4
  96. package/dist/components/ui/index.cjs +2 -44
  97. package/dist/components/ui/index.cjs.map +1 -1
  98. package/dist/components/ui/index.d.ts +2 -1
  99. package/dist/components/ui/index.d.ts.map +1 -1
  100. package/dist/components/ui/index.js +13 -55
  101. package/dist/components/ui/rich-markdown-renderer.d.ts +34 -0
  102. package/dist/components/ui/rich-markdown-renderer.d.ts.map +1 -0
  103. package/dist/components/ui/simple-markdown-renderer.d.ts +73 -0
  104. package/dist/components/ui/simple-markdown-renderer.d.ts.map +1 -0
  105. package/dist/index.cjs +2 -60
  106. package/dist/index.cjs.map +1 -1
  107. package/dist/index.js +13 -71
  108. package/dist/utils/index.cjs +40 -169
  109. package/dist/utils/index.cjs.map +1 -1
  110. package/dist/utils/index.d.ts +0 -1
  111. package/dist/utils/index.d.ts.map +1 -1
  112. package/dist/utils/index.js +41 -162
  113. package/dist/utils/index.js.map +1 -1
  114. package/dist/utils/markdown-section-extractor.d.ts.map +1 -1
  115. package/package.json +1 -7
  116. package/src/components/chat/__tests__/chat-message-list.test.tsx +5 -293
  117. package/src/components/chat/chat-message-enhanced.tsx +17 -111
  118. package/src/components/chat/chat-message-list.tsx +109 -358
  119. package/src/components/chat/embeddable-chat.tsx +0 -6
  120. package/src/components/chat/hooks/.index.md +1 -1
  121. package/src/components/chat/hooks/.use-nats-chat-adapter.md +1 -1
  122. package/src/components/chat/hooks/.use-realtime-chunk-processor.md +50 -0
  123. package/src/components/chat/hooks/index.ts +1 -0
  124. package/src/components/chat/hooks/use-chat.ts +0 -8
  125. package/src/components/chat/hooks/use-nats-chat-adapter.ts +822 -243
  126. package/src/components/chat/hooks/use-realtime-chunk-processor.ts +479 -0
  127. package/src/components/chat/hooks/use-sse-chat-adapter.ts +666 -318
  128. package/src/components/chat/index.ts +0 -5
  129. package/src/components/chat/thinking-display.tsx +1 -1
  130. package/src/components/chat/types/.api.types.md +3 -1
  131. package/src/components/chat/types/.processing.types.md +23 -6
  132. package/src/components/chat/types/api.types.ts +73 -6
  133. package/src/components/chat/types/processing.types.ts +52 -11
  134. package/src/components/chat/utils/.chunk-parser.md +51 -0
  135. package/src/components/chat/utils/.index.md +5 -0
  136. package/src/components/chat/utils/chunk-parser.ts +255 -0
  137. package/src/components/chat/utils/extract-incomplete-message-state.ts +5 -63
  138. package/src/components/chat/utils/index.ts +8 -5
  139. package/src/components/chat/utils/process-historical-messages.ts +383 -352
  140. package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +4 -22
  141. package/src/components/shared/legal-document/legal-document-page.tsx +1 -1
  142. package/src/components/shared/product-release/release-detail-page.tsx +4 -19
  143. package/src/components/ui/.simple-markdown-renderer.md +40 -0
  144. package/src/components/ui/index.ts +2 -1
  145. package/src/components/ui/release-changelog-section.tsx +1 -1
  146. package/src/components/ui/rich-markdown-renderer.tsx +1223 -0
  147. package/src/components/ui/simple-markdown-renderer.tsx +965 -0
  148. package/src/components/ui/ticket-info-section.tsx +1 -1
  149. package/src/utils/index.ts +0 -1
  150. package/src/utils/markdown-section-extractor.ts +56 -41
  151. package/dist/chat-protocol/decode.d.ts +0 -58
  152. package/dist/chat-protocol/decode.d.ts.map +0 -1
  153. package/dist/chat-protocol/encode.d.ts +0 -44
  154. package/dist/chat-protocol/encode.d.ts.map +0 -1
  155. package/dist/chat-protocol/env-flag.d.ts +0 -35
  156. package/dist/chat-protocol/env-flag.d.ts.map +0 -1
  157. package/dist/chat-protocol/events.d.ts +0 -192
  158. package/dist/chat-protocol/events.d.ts.map +0 -1
  159. package/dist/chat-protocol/frames.d.ts +0 -206
  160. package/dist/chat-protocol/frames.d.ts.map +0 -1
  161. package/dist/chat-protocol/index.cjs +0 -493
  162. package/dist/chat-protocol/index.cjs.map +0 -1
  163. package/dist/chat-protocol/index.d.ts +0 -18
  164. package/dist/chat-protocol/index.d.ts.map +0 -1
  165. package/dist/chat-protocol/index.js +0 -477
  166. package/dist/chat-protocol/index.js.map +0 -1
  167. package/dist/chat-protocol/ip-normalize.d.ts +0 -44
  168. package/dist/chat-protocol/ip-normalize.d.ts.map +0 -1
  169. package/dist/chat-protocol/nats-decoder.d.ts +0 -26
  170. package/dist/chat-protocol/nats-decoder.d.ts.map +0 -1
  171. package/dist/chunk-4W54HUP7.cjs.map +0 -1
  172. package/dist/chunk-AJSNF5YF.js.map +0 -1
  173. package/dist/chunk-E6O6XATC.js.map +0 -1
  174. package/dist/chunk-OVIUQJ2H.cjs.map +0 -1
  175. package/dist/chunk-VUCYS36H.js.map +0 -1
  176. package/dist/chunk-WHWDGCQV.cjs.map +0 -1
  177. package/dist/components/chat/stream/chat-dialog-store.d.ts +0 -184
  178. package/dist/components/chat/stream/chat-dialog-store.d.ts.map +0 -1
  179. package/dist/components/chat/stream/chat-stream-reducer.d.ts +0 -367
  180. package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +0 -1
  181. package/dist/components/chat/stream/delta-batcher.d.ts +0 -51
  182. package/dist/components/chat/stream/delta-batcher.d.ts.map +0 -1
  183. package/dist/components/chat/stream/index.d.ts +0 -17
  184. package/dist/components/chat/stream/index.d.ts.map +0 -1
  185. package/dist/components/chat/stream/message-mutations.d.ts +0 -77
  186. package/dist/components/chat/stream/message-mutations.d.ts.map +0 -1
  187. package/dist/components/chat/stream/use-chat-stream-reducer.d.ts +0 -22
  188. package/dist/components/chat/stream/use-chat-stream-reducer.d.ts.map +0 -1
  189. package/dist/components/ui/markdown/base-components.d.ts +0 -56
  190. package/dist/components/ui/markdown/base-components.d.ts.map +0 -1
  191. package/dist/components/ui/markdown/engine.d.ts +0 -99
  192. package/dist/components/ui/markdown/engine.d.ts.map +0 -1
  193. package/dist/components/ui/markdown/heading-ids.d.ts +0 -65
  194. package/dist/components/ui/markdown/heading-ids.d.ts.map +0 -1
  195. package/dist/components/ui/markdown/index.d.ts +0 -18
  196. package/dist/components/ui/markdown/index.d.ts.map +0 -1
  197. package/dist/components/ui/markdown/mermaid-diagram.d.ts +0 -79
  198. package/dist/components/ui/markdown/mermaid-diagram.d.ts.map +0 -1
  199. package/dist/components/ui/markdown/rich/embed-overrides.d.ts +0 -14
  200. package/dist/components/ui/markdown/rich/embed-overrides.d.ts.map +0 -1
  201. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts +0 -40
  202. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts.map +0 -1
  203. package/dist/components/ui/markdown/rich/shortcodes.d.ts +0 -8
  204. package/dist/components/ui/markdown/rich/shortcodes.d.ts.map +0 -1
  205. package/dist/components/ui/markdown/sanitize.d.ts +0 -153
  206. package/dist/components/ui/markdown/sanitize.d.ts.map +0 -1
  207. package/dist/components/ui/markdown/simple-markdown-renderer.d.ts +0 -23
  208. package/dist/components/ui/markdown/simple-markdown-renderer.d.ts.map +0 -1
  209. package/dist/components/ui/markdown/streaming.d.ts +0 -78
  210. package/dist/components/ui/markdown/streaming.d.ts.map +0 -1
  211. package/dist/components/ui/markdown/text-size.d.ts +0 -34
  212. package/dist/components/ui/markdown/text-size.d.ts.map +0 -1
  213. package/dist/utils/markdown-fences.d.ts +0 -42
  214. package/dist/utils/markdown-fences.d.ts.map +0 -1
  215. package/dist/utils/markdown-heading-id.d.ts +0 -85
  216. package/dist/utils/markdown-heading-id.d.ts.map +0 -1
  217. package/src/chat-protocol/__tests__/__snapshots__/nats-decoder-golden.test.ts.snap +0 -307
  218. package/src/chat-protocol/__tests__/chat-protocol.test.ts +0 -515
  219. package/src/chat-protocol/__tests__/env-flag.test.ts +0 -52
  220. package/src/chat-protocol/__tests__/ip-normalize.test.ts +0 -136
  221. package/src/chat-protocol/__tests__/nats-decoder-golden.test.ts +0 -228
  222. package/src/chat-protocol/decode.ts +0 -277
  223. package/src/chat-protocol/encode.ts +0 -71
  224. package/src/chat-protocol/env-flag.ts +0 -39
  225. package/src/chat-protocol/events.ts +0 -228
  226. package/src/chat-protocol/frames.ts +0 -238
  227. package/src/chat-protocol/index.ts +0 -21
  228. package/src/chat-protocol/ip-normalize.ts +0 -146
  229. package/src/chat-protocol/nats-decoder.ts +0 -252
  230. package/src/components/chat/__tests__/chat-message-streaming-memo.test.tsx +0 -207
  231. package/src/components/chat/__tests__/chat-pending-turn.test.tsx +0 -209
  232. package/src/components/chat/hooks/__tests__/__snapshots__/persisted-state-v1-golden.test.ts.snap +0 -297
  233. package/src/components/chat/hooks/__tests__/__snapshots__/sse-stream-golden.test.ts.snap +0 -0
  234. package/src/components/chat/hooks/__tests__/persisted-state-v1-golden.test.ts +0 -272
  235. package/src/components/chat/hooks/__tests__/sse-stream-golden.test.ts +0 -318
  236. package/src/components/chat/stream/__tests__/__snapshots__/chat-stream-reducer-golden.test.ts.snap +0 -937
  237. package/src/components/chat/stream/__tests__/chat-dialog-store.test.ts +0 -756
  238. package/src/components/chat/stream/__tests__/chat-stream-reducer-golden.test.ts +0 -460
  239. package/src/components/chat/stream/__tests__/chat-stream-reducer.test.ts +0 -894
  240. package/src/components/chat/stream/__tests__/delta-batcher.test.ts +0 -255
  241. package/src/components/chat/stream/__tests__/use-chat-stream-reducer.test.ts +0 -98
  242. package/src/components/chat/stream/chat-dialog-store.ts +0 -536
  243. package/src/components/chat/stream/chat-stream-reducer.ts +0 -1796
  244. package/src/components/chat/stream/delta-batcher.ts +0 -159
  245. package/src/components/chat/stream/index.ts +0 -55
  246. package/src/components/chat/stream/message-mutations.ts +0 -338
  247. package/src/components/chat/stream/use-chat-stream-reducer.ts +0 -126
  248. package/src/components/chat/utils/__tests__/__snapshots__/process-historical-messages-golden.test.ts.snap +0 -418
  249. package/src/components/chat/utils/__tests__/__snapshots__/segment-accumulator-golden.test.ts.snap +0 -599
  250. package/src/components/chat/utils/__tests__/process-historical-messages-golden.test.ts +0 -317
  251. package/src/components/chat/utils/__tests__/segment-accumulator-golden.test.ts +0 -270
  252. package/src/components/ui/__tests__/__snapshots__/markdown-parity.test.tsx.snap +0 -2420
  253. package/src/components/ui/__tests__/markdown-parity.test.tsx +0 -2528
  254. package/src/components/ui/markdown/__tests__/mermaid-security.test.ts +0 -115
  255. package/src/components/ui/markdown/__tests__/mermaid-stale-render.test.tsx +0 -95
  256. package/src/components/ui/markdown/__tests__/sanitize-invariant.test.ts +0 -309
  257. package/src/components/ui/markdown/__tests__/streaming.test.tsx +0 -388
  258. package/src/components/ui/markdown/base-components.tsx +0 -341
  259. package/src/components/ui/markdown/engine.tsx +0 -315
  260. package/src/components/ui/markdown/heading-ids.ts +0 -239
  261. package/src/components/ui/markdown/index.ts +0 -49
  262. package/src/components/ui/markdown/mermaid-diagram.tsx +0 -291
  263. package/src/components/ui/markdown/rich/embed-overrides.tsx +0 -199
  264. package/src/components/ui/markdown/rich/rich-markdown-renderer.tsx +0 -184
  265. package/src/components/ui/markdown/rich/shortcodes.ts +0 -170
  266. package/src/components/ui/markdown/sanitize.ts +0 -3499
  267. package/src/components/ui/markdown/simple-markdown-renderer.tsx +0 -28
  268. package/src/components/ui/markdown/streaming.ts +0 -362
  269. package/src/components/ui/markdown/text-size.ts +0 -106
  270. package/src/utils/markdown-fences.ts +0 -127
  271. package/src/utils/markdown-heading-id.ts +0 -348
  272. /package/dist/{chunk-33FDAZDB.js.map → chunk-3TU6QURP.js.map} +0 -0
  273. /package/dist/{chunk-2BJSRTKU.js.map → chunk-AEM7ADDG.js.map} +0 -0
  274. /package/dist/{chunk-MMF6HJB7.js.map → chunk-EZESVVIM.js.map} +0 -0
  275. /package/dist/{chunk-AW3LVWVV.js.map → chunk-HTSWLPMU.js.map} +0 -0
  276. /package/dist/{chunk-RPAOSHBN.js.map → chunk-IUMPVRSH.js.map} +0 -0
  277. /package/dist/{chunk-7I2QMUEZ.js.map → chunk-JW3UNHGW.js.map} +0 -0
  278. /package/dist/{chunk-GYEZV4GK.js.map → chunk-QTGYQ2U7.js.map} +0 -0
  279. /package/dist/{chunk-4QDFNDVW.js.map → chunk-QZJN5OHK.js.map} +0 -0
  280. /package/dist/{chunk-DG7TX763.js.map → chunk-VYUEOKI6.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
- `;