@flamingo-stack/openframe-frontend-core 0.0.498-1506.4000.1 → 0.0.498

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 (290) hide show
  1. package/dist/{chunk-ZHC2BCXK.js → chunk-2OPD6KRB.js} +4 -4
  2. package/dist/{chunk-5BQWVNRS.cjs → chunk-2R25CGSO.cjs} +62 -62
  3. package/dist/{chunk-5BQWVNRS.cjs.map → chunk-2R25CGSO.cjs.map} +1 -1
  4. package/dist/{chunk-242K7LZY.cjs → chunk-4EHQEMN4.cjs} +11 -11
  5. package/dist/{chunk-242K7LZY.cjs.map → chunk-4EHQEMN4.cjs.map} +1 -1
  6. package/dist/{chunk-4KKGHPNE.cjs → chunk-4NIBKEED.cjs} +9 -9
  7. package/dist/{chunk-4KKGHPNE.cjs.map → chunk-4NIBKEED.cjs.map} +1 -1
  8. package/dist/{chunk-5QWYIPMH.js → chunk-5ZL7PA63.js} +2 -2
  9. package/dist/{chunk-3VGRZ62V.js → chunk-6GAJETAP.js} +2 -2
  10. package/dist/{chunk-EO35UHFT.cjs → chunk-A3Z63ZL5.cjs} +60 -60
  11. package/dist/chunk-A3Z63ZL5.cjs.map +1 -0
  12. package/dist/{chunk-34C2JV2C.js → chunk-G6ARA2HD.js} +2 -2
  13. package/dist/{chunk-WNXIG6YY.js → chunk-K5HHLTSG.js} +2 -2
  14. package/dist/{chunk-42NYDEHH.js → chunk-KK4M4URN.js} +2 -2
  15. package/dist/{chunk-42SMPKGY.js → chunk-MF3VJKHT.js} +2 -2
  16. package/dist/{chunk-EORFD5WB.cjs → chunk-MSB3PEPP.cjs} +15 -15
  17. package/dist/{chunk-EORFD5WB.cjs.map → chunk-MSB3PEPP.cjs.map} +1 -1
  18. package/dist/{chunk-F7XPMG25.cjs → chunk-MVORKLWX.cjs} +27 -28
  19. package/dist/chunk-MVORKLWX.cjs.map +1 -0
  20. package/dist/{chunk-D3LUKR2Y.js → chunk-OYPUQJJ2.js} +10044 -12292
  21. package/dist/chunk-OYPUQJJ2.js.map +1 -0
  22. package/dist/{chunk-62TM2RVZ.cjs → chunk-T67MZAQJ.cjs} +26 -26
  23. package/dist/{chunk-62TM2RVZ.cjs.map → chunk-T67MZAQJ.cjs.map} +1 -1
  24. package/dist/{chunk-BUBQEZ5J.js → chunk-VLWVM6ZS.js} +2 -2
  25. package/dist/{chunk-632XJ2ZT.js → chunk-VOOEX4IZ.js} +5 -6
  26. package/dist/chunk-VOOEX4IZ.js.map +1 -0
  27. package/dist/{chunk-5ZY5JM4Z.js → chunk-W4XZ3FBZ.js} +10 -10
  28. package/dist/chunk-W4XZ3FBZ.js.map +1 -0
  29. package/dist/{chunk-2LYA3RBT.cjs → chunk-XI44QDCD.cjs} +37 -37
  30. package/dist/{chunk-2LYA3RBT.cjs.map → chunk-XI44QDCD.cjs.map} +1 -1
  31. package/dist/{chunk-WZCQW4MW.js → chunk-XSNKSMB3.js} +4 -4
  32. package/dist/{chunk-J3NHQ4JB.cjs → chunk-ZBTIN7RC.cjs} +31 -31
  33. package/dist/{chunk-J3NHQ4JB.cjs.map → chunk-ZBTIN7RC.cjs.map} +1 -1
  34. package/dist/{chunk-SS3D3DHL.cjs → chunk-ZEZTITQZ.cjs} +4886 -7134
  35. package/dist/chunk-ZEZTITQZ.cjs.map +1 -0
  36. package/dist/{chunk-44C23SSC.cjs → chunk-ZHNWWFIM.cjs} +5 -5
  37. package/dist/{chunk-44C23SSC.cjs.map → chunk-ZHNWWFIM.cjs.map} +1 -1
  38. package/dist/{chunk-H6GFQ4AO.cjs → chunk-ZTE32A7C.cjs} +7 -7
  39. package/dist/{chunk-H6GFQ4AO.cjs.map → chunk-ZTE32A7C.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-chunk-catchup.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 +57 -10
  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 +93 -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 +130 -172
  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/header.d.ts.map +1 -1
  88. package/dist/components/navigation/index.cjs +2 -2
  89. package/dist/components/navigation/index.js +1 -1
  90. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  91. package/dist/components/onboarding-guides/index.cjs +5 -5
  92. package/dist/components/onboarding-guides/index.js +4 -4
  93. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
  94. package/dist/components/related-content/index.cjs +3 -3
  95. package/dist/components/related-content/index.js +2 -2
  96. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  97. package/dist/components/tickets/index.cjs +5 -5
  98. package/dist/components/tickets/index.js +4 -4
  99. package/dist/components/ui/index.cjs +2 -44
  100. package/dist/components/ui/index.cjs.map +1 -1
  101. package/dist/components/ui/index.d.ts +2 -1
  102. package/dist/components/ui/index.d.ts.map +1 -1
  103. package/dist/components/ui/index.js +13 -55
  104. package/dist/components/ui/rich-markdown-renderer.d.ts +34 -0
  105. package/dist/components/ui/rich-markdown-renderer.d.ts.map +1 -0
  106. package/dist/components/ui/simple-markdown-renderer.d.ts +73 -0
  107. package/dist/components/ui/simple-markdown-renderer.d.ts.map +1 -0
  108. package/dist/index.cjs +2 -60
  109. package/dist/index.cjs.map +1 -1
  110. package/dist/index.js +13 -71
  111. package/dist/utils/index.cjs +40 -169
  112. package/dist/utils/index.cjs.map +1 -1
  113. package/dist/utils/index.d.ts +0 -1
  114. package/dist/utils/index.d.ts.map +1 -1
  115. package/dist/utils/index.js +41 -162
  116. package/dist/utils/index.js.map +1 -1
  117. package/dist/utils/markdown-section-extractor.d.ts.map +1 -1
  118. package/package.json +1 -7
  119. package/src/components/chat/__tests__/chat-message-list.test.tsx +6 -381
  120. package/src/components/chat/chat-message-enhanced.tsx +20 -122
  121. package/src/components/chat/chat-message-list.tsx +132 -409
  122. package/src/components/chat/embeddable-chat.tsx +0 -6
  123. package/src/components/chat/hooks/.index.md +33 -30
  124. package/src/components/chat/hooks/.use-nats-chat-adapter.md +55 -36
  125. package/src/components/chat/hooks/.use-realtime-chunk-processor.md +77 -0
  126. package/src/components/chat/hooks/index.ts +1 -0
  127. package/src/components/chat/hooks/use-chat.ts +0 -8
  128. package/src/components/chat/hooks/use-chunk-catchup.ts +1 -26
  129. package/src/components/chat/hooks/use-nats-chat-adapter.ts +825 -254
  130. package/src/components/chat/hooks/use-realtime-chunk-processor.ts +489 -0
  131. package/src/components/chat/hooks/use-sse-chat-adapter.ts +684 -380
  132. package/src/components/chat/index.ts +0 -5
  133. package/src/components/chat/thinking-display.tsx +1 -1
  134. package/src/components/chat/types/.api.types.md +49 -39
  135. package/src/components/chat/types/.processing.types.md +58 -29
  136. package/src/components/chat/types/api.types.ts +73 -6
  137. package/src/components/chat/types/processing.types.ts +53 -11
  138. package/src/components/chat/utils/.chunk-parser.md +62 -0
  139. package/src/components/chat/utils/.index.md +40 -31
  140. package/src/components/chat/utils/__tests__/process-historical-messages-approvals.test.ts +0 -61
  141. package/src/components/chat/utils/chunk-parser.ts +262 -0
  142. package/src/components/chat/utils/extract-incomplete-message-state.ts +5 -63
  143. package/src/components/chat/utils/index.ts +8 -5
  144. package/src/components/chat/utils/process-historical-messages.ts +386 -358
  145. package/src/components/navigation/header.tsx +2 -1
  146. package/src/components/navigation/mingo-ai-button.tsx +4 -1
  147. package/src/components/navigation/mobile-nav-panel.tsx +5 -5
  148. package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +4 -22
  149. package/src/components/shared/legal-document/legal-document-page.tsx +1 -1
  150. package/src/components/shared/product-release/release-detail-page.tsx +4 -19
  151. package/src/components/ui/.simple-markdown-renderer.md +52 -0
  152. package/src/components/ui/index.ts +2 -1
  153. package/src/components/ui/release-changelog-section.tsx +1 -1
  154. package/src/components/ui/rich-markdown-renderer.tsx +1223 -0
  155. package/src/components/ui/simple-markdown-renderer.tsx +964 -0
  156. package/src/components/ui/ticket-info-section.tsx +1 -1
  157. package/src/utils/index.ts +0 -1
  158. package/src/utils/markdown-section-extractor.ts +56 -41
  159. package/dist/chat-protocol/decode.d.ts +0 -58
  160. package/dist/chat-protocol/decode.d.ts.map +0 -1
  161. package/dist/chat-protocol/encode.d.ts +0 -44
  162. package/dist/chat-protocol/encode.d.ts.map +0 -1
  163. package/dist/chat-protocol/env-flag.d.ts +0 -35
  164. package/dist/chat-protocol/env-flag.d.ts.map +0 -1
  165. package/dist/chat-protocol/events.d.ts +0 -207
  166. package/dist/chat-protocol/events.d.ts.map +0 -1
  167. package/dist/chat-protocol/frames.d.ts +0 -213
  168. package/dist/chat-protocol/frames.d.ts.map +0 -1
  169. package/dist/chat-protocol/index.cjs +0 -500
  170. package/dist/chat-protocol/index.cjs.map +0 -1
  171. package/dist/chat-protocol/index.d.ts +0 -18
  172. package/dist/chat-protocol/index.d.ts.map +0 -1
  173. package/dist/chat-protocol/index.js +0 -484
  174. package/dist/chat-protocol/index.js.map +0 -1
  175. package/dist/chat-protocol/ip-normalize.d.ts +0 -44
  176. package/dist/chat-protocol/ip-normalize.d.ts.map +0 -1
  177. package/dist/chat-protocol/nats-decoder.d.ts +0 -26
  178. package/dist/chat-protocol/nats-decoder.d.ts.map +0 -1
  179. package/dist/chunk-5ZY5JM4Z.js.map +0 -1
  180. package/dist/chunk-632XJ2ZT.js.map +0 -1
  181. package/dist/chunk-D3LUKR2Y.js.map +0 -1
  182. package/dist/chunk-EO35UHFT.cjs.map +0 -1
  183. package/dist/chunk-F7XPMG25.cjs.map +0 -1
  184. package/dist/chunk-SS3D3DHL.cjs.map +0 -1
  185. package/dist/components/chat/stream/chat-dialog-store.d.ts +0 -184
  186. package/dist/components/chat/stream/chat-dialog-store.d.ts.map +0 -1
  187. package/dist/components/chat/stream/chat-stream-reducer.d.ts +0 -367
  188. package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +0 -1
  189. package/dist/components/chat/stream/delta-batcher.d.ts +0 -51
  190. package/dist/components/chat/stream/delta-batcher.d.ts.map +0 -1
  191. package/dist/components/chat/stream/index.d.ts +0 -17
  192. package/dist/components/chat/stream/index.d.ts.map +0 -1
  193. package/dist/components/chat/stream/message-mutations.d.ts +0 -77
  194. package/dist/components/chat/stream/message-mutations.d.ts.map +0 -1
  195. package/dist/components/chat/stream/use-chat-stream-reducer.d.ts +0 -22
  196. package/dist/components/chat/stream/use-chat-stream-reducer.d.ts.map +0 -1
  197. package/dist/components/ui/markdown/base-components.d.ts +0 -51
  198. package/dist/components/ui/markdown/base-components.d.ts.map +0 -1
  199. package/dist/components/ui/markdown/engine.d.ts +0 -99
  200. package/dist/components/ui/markdown/engine.d.ts.map +0 -1
  201. package/dist/components/ui/markdown/heading-ids.d.ts +0 -65
  202. package/dist/components/ui/markdown/heading-ids.d.ts.map +0 -1
  203. package/dist/components/ui/markdown/index.d.ts +0 -18
  204. package/dist/components/ui/markdown/index.d.ts.map +0 -1
  205. package/dist/components/ui/markdown/mermaid-diagram.d.ts +0 -79
  206. package/dist/components/ui/markdown/mermaid-diagram.d.ts.map +0 -1
  207. package/dist/components/ui/markdown/rich/embed-overrides.d.ts +0 -14
  208. package/dist/components/ui/markdown/rich/embed-overrides.d.ts.map +0 -1
  209. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts +0 -40
  210. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts.map +0 -1
  211. package/dist/components/ui/markdown/rich/shortcodes.d.ts +0 -8
  212. package/dist/components/ui/markdown/rich/shortcodes.d.ts.map +0 -1
  213. package/dist/components/ui/markdown/sanitize.d.ts +0 -153
  214. package/dist/components/ui/markdown/sanitize.d.ts.map +0 -1
  215. package/dist/components/ui/markdown/simple-markdown-renderer.d.ts +0 -23
  216. package/dist/components/ui/markdown/simple-markdown-renderer.d.ts.map +0 -1
  217. package/dist/components/ui/markdown/streaming.d.ts +0 -78
  218. package/dist/components/ui/markdown/streaming.d.ts.map +0 -1
  219. package/dist/components/ui/markdown/text-size.d.ts +0 -34
  220. package/dist/components/ui/markdown/text-size.d.ts.map +0 -1
  221. package/dist/utils/markdown-fences.d.ts +0 -42
  222. package/dist/utils/markdown-fences.d.ts.map +0 -1
  223. package/dist/utils/markdown-heading-id.d.ts +0 -85
  224. package/dist/utils/markdown-heading-id.d.ts.map +0 -1
  225. package/src/chat-protocol/__tests__/__snapshots__/nats-decoder-golden.test.ts.snap +0 -317
  226. package/src/chat-protocol/__tests__/chat-protocol.test.ts +0 -516
  227. package/src/chat-protocol/__tests__/env-flag.test.ts +0 -52
  228. package/src/chat-protocol/__tests__/ip-normalize.test.ts +0 -136
  229. package/src/chat-protocol/__tests__/nats-decoder-golden.test.ts +0 -232
  230. package/src/chat-protocol/decode.ts +0 -278
  231. package/src/chat-protocol/encode.ts +0 -71
  232. package/src/chat-protocol/env-flag.ts +0 -39
  233. package/src/chat-protocol/events.ts +0 -245
  234. package/src/chat-protocol/frames.ts +0 -245
  235. package/src/chat-protocol/index.ts +0 -21
  236. package/src/chat-protocol/ip-normalize.ts +0 -146
  237. package/src/chat-protocol/nats-decoder.ts +0 -258
  238. package/src/components/chat/__tests__/chat-message-streaming-memo.test.tsx +0 -207
  239. package/src/components/chat/__tests__/chat-pending-turn.test.tsx +0 -250
  240. package/src/components/chat/hooks/__tests__/__snapshots__/conversation-id-persistence-golden.test.ts.snap +0 -37
  241. package/src/components/chat/hooks/__tests__/__snapshots__/sse-stream-golden.test.ts.snap +0 -0
  242. package/src/components/chat/hooks/__tests__/chunk-catchup-dialog-staleness.test.ts +0 -92
  243. package/src/components/chat/hooks/__tests__/conversation-id-persistence-golden.test.ts +0 -438
  244. package/src/components/chat/hooks/__tests__/sse-stream-golden.test.ts +0 -318
  245. package/src/components/chat/stream/__tests__/__snapshots__/chat-stream-reducer-golden.test.ts.snap +0 -940
  246. package/src/components/chat/stream/__tests__/chat-dialog-store.test.ts +0 -806
  247. package/src/components/chat/stream/__tests__/chat-stream-reducer-golden.test.ts +0 -467
  248. package/src/components/chat/stream/__tests__/chat-stream-reducer.test.ts +0 -1248
  249. package/src/components/chat/stream/__tests__/delta-batcher.test.ts +0 -255
  250. package/src/components/chat/stream/__tests__/use-chat-stream-reducer.test.ts +0 -105
  251. package/src/components/chat/stream/chat-dialog-store.ts +0 -536
  252. package/src/components/chat/stream/chat-stream-reducer.ts +0 -1876
  253. package/src/components/chat/stream/delta-batcher.ts +0 -168
  254. package/src/components/chat/stream/index.ts +0 -55
  255. package/src/components/chat/stream/message-mutations.ts +0 -340
  256. package/src/components/chat/stream/use-chat-stream-reducer.ts +0 -126
  257. package/src/components/chat/utils/__tests__/__snapshots__/process-historical-messages-golden.test.ts.snap +0 -420
  258. package/src/components/chat/utils/__tests__/__snapshots__/segment-accumulator-golden.test.ts.snap +0 -605
  259. package/src/components/chat/utils/__tests__/process-historical-messages-golden.test.ts +0 -394
  260. package/src/components/chat/utils/__tests__/segment-accumulator-golden.test.ts +0 -270
  261. package/src/components/ui/__tests__/__snapshots__/markdown-parity.test.tsx.snap +0 -2420
  262. package/src/components/ui/__tests__/markdown-parity.test.tsx +0 -2540
  263. package/src/components/ui/markdown/__tests__/mermaid-security.test.ts +0 -176
  264. package/src/components/ui/markdown/__tests__/mermaid-stale-render.test.tsx +0 -151
  265. package/src/components/ui/markdown/__tests__/sanitize-invariant.test.ts +0 -354
  266. package/src/components/ui/markdown/__tests__/sanitize-render.test.tsx +0 -118
  267. package/src/components/ui/markdown/__tests__/streaming.test.tsx +0 -436
  268. package/src/components/ui/markdown/base-components.tsx +0 -360
  269. package/src/components/ui/markdown/engine.tsx +0 -315
  270. package/src/components/ui/markdown/heading-ids.ts +0 -239
  271. package/src/components/ui/markdown/index.ts +0 -49
  272. package/src/components/ui/markdown/mermaid-diagram.tsx +0 -323
  273. package/src/components/ui/markdown/rich/embed-overrides.tsx +0 -199
  274. package/src/components/ui/markdown/rich/rich-markdown-renderer.tsx +0 -184
  275. package/src/components/ui/markdown/rich/shortcodes.ts +0 -170
  276. package/src/components/ui/markdown/sanitize.ts +0 -3584
  277. package/src/components/ui/markdown/simple-markdown-renderer.tsx +0 -28
  278. package/src/components/ui/markdown/streaming.ts +0 -390
  279. package/src/components/ui/markdown/text-size.ts +0 -106
  280. package/src/utils/markdown-fences.ts +0 -127
  281. package/src/utils/markdown-heading-id.ts +0 -348
  282. /package/dist/{chunk-ZHC2BCXK.js.map → chunk-2OPD6KRB.js.map} +0 -0
  283. /package/dist/{chunk-5QWYIPMH.js.map → chunk-5ZL7PA63.js.map} +0 -0
  284. /package/dist/{chunk-3VGRZ62V.js.map → chunk-6GAJETAP.js.map} +0 -0
  285. /package/dist/{chunk-34C2JV2C.js.map → chunk-G6ARA2HD.js.map} +0 -0
  286. /package/dist/{chunk-WNXIG6YY.js.map → chunk-K5HHLTSG.js.map} +0 -0
  287. /package/dist/{chunk-42NYDEHH.js.map → chunk-KK4M4URN.js.map} +0 -0
  288. /package/dist/{chunk-42SMPKGY.js.map → chunk-MF3VJKHT.js.map} +0 -0
  289. /package/dist/{chunk-BUBQEZ5J.js.map → chunk-VLWVM6ZS.js.map} +0 -0
  290. /package/dist/{chunk-WZCQW4MW.js.map → chunk-XSNKSMB3.js.map} +0 -0
@@ -153,9 +153,7 @@ import {
153
153
  CustomerInterviewCard,
154
154
  CustomerInterviewCardSkeleton,
155
155
  DEFAULT_CUSTOM_STATUS_COLOR,
156
- DEFAULT_DIALOG_SIDE,
157
156
  DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID,
158
- DEFAULT_MAX_REDUCERS,
159
157
  DashboardInfoCard,
160
158
  DataRoomDocCard,
161
159
  DataRoomDocCardSkeleton,
@@ -257,11 +255,9 @@ import {
257
255
  ListPageContainer,
258
256
  ListPageLayout,
259
257
  LoadError,
260
- MAX_PENDING_RETAIN_KEYS,
261
258
  MESSAGE_ROLE,
262
259
  MESSAGE_TYPE,
263
260
  MarkdownEditor,
264
- MarkdownEngine,
265
261
  MarqueeWall,
266
262
  MarqueeWallFades,
267
263
  MediaTypeSelector,
@@ -282,7 +278,6 @@ import {
282
278
  MenubarSubContent,
283
279
  MenubarSubTrigger,
284
280
  MenubarTrigger,
285
- MermaidDiagram,
286
281
  MessageSegmentAccumulator,
287
282
  MingoChatHistory,
288
283
  MingoChatHistorySkeleton,
@@ -365,13 +360,11 @@ import {
365
360
  RoadmapCard,
366
361
  RoadmapCardSkeleton,
367
362
  RoadmapVoteButton,
368
- SAFE_HTML_TAGS,
369
363
  SCROLL_ANCHOR,
370
364
  SCROLL_ANCHOR_WIRE_KEY,
371
365
  SECTION_HEADING_CLASS,
372
366
  SOURCE_ICON_NAMES,
373
367
  SOURCE_LABELS_BY_TABLE,
374
- SVG_TAGS,
375
368
  SYNTHETIC_REALTIME_ID_PREFIXES,
376
369
  ScrollFadeOverlay,
377
370
  ScrollShadow,
@@ -411,7 +404,6 @@ import {
411
404
  StatusBadge,
412
405
  StatusIndicator,
413
406
  Switch,
414
- TEXT_SIZE_PRESETS,
415
407
  TICKET_STATUS_COLOR_PRESETS,
416
408
  TITLE_BLOCK_MIN_HEIGHT,
417
409
  TabContent,
@@ -476,39 +468,27 @@ import {
476
468
  buildChatAttachmentViewUrl,
477
469
  buildChatRefKey,
478
470
  buildDiscussAddendum,
479
- buildEffectiveTagSet,
480
- buildHeadingIdMap,
481
471
  buildNatsWsUrl,
482
472
  buildProductReleaseCardProps,
483
- buildSanitizeSchema,
484
473
  buildStreamFrames,
485
- cardAwareUrlTransform,
486
474
  chatChipClass,
487
475
  clickupTaskUrl,
488
- completeStreamingTail,
489
476
  computeHistoryPrepend,
490
477
  computeIsNewTab,
491
- createChatDialogStore,
492
- createChatStreamReducer,
493
478
  createColumnHelper,
494
- createDeltaBatcher,
495
- createEmptyTurnMeta,
496
479
  createMessageSegmentAccumulator,
497
480
  decideNewTab,
498
- decodeHistoricalMessageData,
499
481
  defaultBuildProductReleaseCardProps,
500
482
  defaultTableIdForDocumentType,
501
483
  deriveColumns,
502
484
  escapeMarkdownInline,
503
- escapeUnknownHtmlTags,
504
485
  executeNavigation,
505
486
  executeNavigationImperative,
506
487
  exportToCSV,
507
488
  extractEntityIdFilter,
508
489
  extractErrorMessages,
509
490
  extractIncompleteMessageState,
510
- extractIncompleteTailState,
511
- extractText,
491
+ extractTextFromChunk,
512
492
  fetchEmptyStateConfig,
513
493
  fetchSlashCommands,
514
494
  flattenAssistantContent,
@@ -548,8 +528,11 @@ import {
548
528
  hideOnError,
549
529
  historicalToUnified,
550
530
  interleave,
531
+ isControlChunk,
551
532
  isCrossOriginUrl,
533
+ isErrorChunk,
552
534
  isHistoricalUserTurn,
535
+ isMetadataChunk,
553
536
  isModifierClick,
554
537
  isQuickActionIconSpec,
555
538
  isStructuredContent,
@@ -565,13 +548,12 @@ import {
565
548
  normalizeContent,
566
549
  normalizeHistoricalMessageData,
567
550
  normalizeIconKey,
551
+ parseChunkToAction,
568
552
  parseScrollAnchor,
569
553
  parseWireCommandOverride,
570
554
  processHistoricalMessages,
571
555
  processHistoricalMessagesWithErrors,
572
- processShortcodes,
573
556
  programItemToStripProfile,
574
- rehypeStripUnsafe,
575
557
  remarkCardLinks,
576
558
  remarkMentionChips,
577
559
  renderChatInlineEntityCard,
@@ -581,11 +563,9 @@ import {
581
563
  resolveSourceIcon,
582
564
  resolveSourceRowCTA,
583
565
  resolveStatusTagProps,
584
- resolveTextSizeConfig,
585
566
  resolveTicketStatus,
586
567
  safeHref,
587
568
  sanitizeTitleForChat,
588
- splitStreamingBlocks,
589
569
  statusBadgeVariants,
590
570
  stripChatAttachmentMarkdown,
591
571
  stripSameOriginToPath,
@@ -600,7 +580,6 @@ import {
600
580
  useChatAttachments,
601
581
  useChatCardItem,
602
582
  useChatIdentity,
603
- useChatStreamReducer,
604
583
  useChunkCatchup,
605
584
  useCloseOnNavigation,
606
585
  useCollapsible,
@@ -608,13 +587,13 @@ import {
608
587
  useDataTable,
609
588
  useDataTableContext,
610
589
  useEmptyStateConfig,
611
- useHeadingIdMap,
612
590
  useJetStreamDialogSubscription,
613
591
  useMarqueeSync,
614
592
  useNatsChatAdapter,
615
593
  useNatsDialogSubscription,
616
594
  usePageActionsBottomPadding,
617
595
  useProxiedImageUrl,
596
+ useRealtimeChunkProcessor,
618
597
  useSSE,
619
598
  useScriptedStream,
620
599
  useScrollFade,
@@ -624,7 +603,7 @@ import {
624
603
  useTestRunState,
625
604
  useUnifiedChat,
626
605
  usesCanonicalStatusStyle
627
- } from "../../chunk-D3LUKR2Y.js";
606
+ } from "../../chunk-OYPUQJJ2.js";
628
607
  import {
629
608
  CommandApprovalToast,
630
609
  ToastCard,
@@ -840,9 +819,7 @@ export {
840
819
  CustomerInterviewCard,
841
820
  CustomerInterviewCardSkeleton,
842
821
  DEFAULT_CUSTOM_STATUS_COLOR,
843
- DEFAULT_DIALOG_SIDE,
844
822
  DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID,
845
- DEFAULT_MAX_REDUCERS,
846
823
  DashboardInfoCard,
847
824
  DataRoomDocCard,
848
825
  DataRoomDocCardSkeleton,
@@ -963,11 +940,9 @@ export {
963
940
  LoadError,
964
941
  CheckCircleIcon as LucideCheckCircleIcon,
965
942
  XIcon as LucideXIcon,
966
- MAX_PENDING_RETAIN_KEYS,
967
943
  MESSAGE_ROLE,
968
944
  MESSAGE_TYPE,
969
945
  MarkdownEditor,
970
- MarkdownEngine,
971
946
  MarqueeWall,
972
947
  MarqueeWallFades,
973
948
  MediaTypeSelector,
@@ -987,7 +962,6 @@ export {
987
962
  MenubarSubContent,
988
963
  MenubarSubTrigger,
989
964
  MenubarTrigger,
990
- MermaidDiagram,
991
965
  MessageSegmentAccumulator,
992
966
  MingoChatHistory,
993
967
  MingoChatHistorySkeleton,
@@ -1070,13 +1044,11 @@ export {
1070
1044
  RoadmapCard,
1071
1045
  RoadmapCardSkeleton,
1072
1046
  RoadmapVoteButton,
1073
- SAFE_HTML_TAGS,
1074
1047
  SCROLL_ANCHOR,
1075
1048
  SCROLL_ANCHOR_WIRE_KEY,
1076
1049
  SECTION_HEADING_CLASS,
1077
1050
  SOURCE_ICON_NAMES,
1078
1051
  SOURCE_LABELS_BY_TABLE,
1079
- SVG_TAGS,
1080
1052
  SYNTHETIC_REALTIME_ID_PREFIXES,
1081
1053
  ScrollFadeOverlay,
1082
1054
  ScrollShadow,
@@ -1125,7 +1097,6 @@ export {
1125
1097
  StatusBadge,
1126
1098
  StatusIndicator,
1127
1099
  Switch,
1128
- TEXT_SIZE_PRESETS,
1129
1100
  TICKET_STATUS_COLOR_PRESETS,
1130
1101
  TITLE_BLOCK_MIN_HEIGHT,
1131
1102
  TabContent,
@@ -1192,43 +1163,31 @@ export {
1192
1163
  buildChatAttachmentViewUrl,
1193
1164
  buildChatRefKey,
1194
1165
  buildDiscussAddendum,
1195
- buildEffectiveTagSet,
1196
- buildHeadingIdMap,
1197
1166
  buildNatsWsUrl,
1198
1167
  buildProductReleaseCardProps,
1199
- buildSanitizeSchema,
1200
1168
  buildStreamFrames,
1201
1169
  buttonVariants,
1202
- cardAwareUrlTransform,
1203
1170
  embedAuthedFetch as chatAuthedFetch,
1204
1171
  chatChipClass,
1205
1172
  clearEmbedProxyAuth as clearChatProxyAuth,
1206
1173
  clickupTaskUrl,
1207
- completeStreamingTail,
1208
1174
  computeHistoryPrepend,
1209
1175
  computeIsNewTab,
1210
- createChatDialogStore,
1211
- createChatStreamReducer,
1212
1176
  createColumnHelper,
1213
- createDeltaBatcher,
1214
- createEmptyTurnMeta,
1215
1177
  createMessageSegmentAccumulator,
1216
1178
  decideNewTab,
1217
- decodeHistoricalMessageData,
1218
1179
  defaultBuildProductReleaseCardProps,
1219
1180
  defaultTableIdForDocumentType,
1220
1181
  deriveColumns,
1221
1182
  dotColorByVariant,
1222
1183
  escapeMarkdownInline,
1223
- escapeUnknownHtmlTags,
1224
1184
  executeNavigation,
1225
1185
  executeNavigationImperative,
1226
1186
  exportToCSV,
1227
1187
  extractEntityIdFilter,
1228
1188
  extractErrorMessages,
1229
1189
  extractIncompleteMessageState,
1230
- extractIncompleteTailState,
1231
- extractText,
1190
+ extractTextFromChunk,
1232
1191
  fetchEmptyStateConfig,
1233
1192
  fetchSlashCommands,
1234
1193
  flattenAssistantContent,
@@ -1270,8 +1229,11 @@ export {
1270
1229
  hideOnError,
1271
1230
  historicalToUnified,
1272
1231
  interleave,
1232
+ isControlChunk,
1273
1233
  isCrossOriginUrl,
1234
+ isErrorChunk,
1274
1235
  isHistoricalUserTurn,
1236
+ isMetadataChunk,
1275
1237
  isModifierClick,
1276
1238
  isQuickActionIconSpec,
1277
1239
  isStructuredContent,
@@ -1287,14 +1249,13 @@ export {
1287
1249
  normalizeContent,
1288
1250
  normalizeHistoricalMessageData,
1289
1251
  normalizeIconKey,
1252
+ parseChunkToAction,
1290
1253
  parseScrollAnchor,
1291
1254
  parseWireCommandOverride,
1292
1255
  processHistoricalMessages,
1293
1256
  processHistoricalMessagesWithErrors,
1294
- processShortcodes,
1295
1257
  programItemToStripProfile,
1296
1258
  progressColorByVariant,
1297
- rehypeStripUnsafe,
1298
1259
  remarkCardLinks,
1299
1260
  remarkMentionChips,
1300
1261
  renderChatInlineEntityCard,
@@ -1304,14 +1265,12 @@ export {
1304
1265
  resolveSourceIcon,
1305
1266
  resolveSourceRowCTA,
1306
1267
  resolveStatusTagProps,
1307
- resolveTextSizeConfig,
1308
1268
  resolveTicketStatus,
1309
1269
  safeHref,
1310
1270
  sanitizeTitleForChat,
1311
1271
  setEmbedProxyAuth as setChatProxyAuth,
1312
1272
  showCommandApprovalToast,
1313
1273
  showToast,
1314
- splitStreamingBlocks,
1315
1274
  statusBadgeVariants,
1316
1275
  stripChatAttachmentMarkdown,
1317
1276
  stripSameOriginToPath,
@@ -1326,7 +1285,6 @@ export {
1326
1285
  useChatAttachments,
1327
1286
  useChatCardItem,
1328
1287
  useChatIdentity,
1329
- useChatStreamReducer,
1330
1288
  useChunkCatchup,
1331
1289
  useCloseOnNavigation,
1332
1290
  useCollapsible,
@@ -1335,13 +1293,13 @@ export {
1335
1293
  useDataTableContext,
1336
1294
  useSseChatAdapter as useEmbeddedChat,
1337
1295
  useEmptyStateConfig,
1338
- useHeadingIdMap,
1339
1296
  useJetStreamDialogSubscription,
1340
1297
  useMarqueeSync,
1341
1298
  useNatsChatAdapter,
1342
1299
  useNatsDialogSubscription,
1343
1300
  usePageActionsBottomPadding,
1344
1301
  useProxiedImageUrl,
1302
+ useRealtimeChunkProcessor,
1345
1303
  useSSE,
1346
1304
  useScriptedStream,
1347
1305
  useScrollFade,
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { type RichMarkdownRuntime } from '../embeds/rich-markdown-runtime';
3
+ /**
4
+ * Props for `<RichMarkdownRenderer>`. Aside from the four runtime knobs
5
+ * lifted from {@link RichMarkdownRuntime}, this is the same shape the hub's
6
+ * `SimpleMarkdownRenderer` ever had — every legacy call site can be moved
7
+ * over without other changes.
8
+ */
9
+ export interface RichMarkdownRendererProps extends Partial<RichMarkdownRuntime> {
10
+ content: string;
11
+ className?: string;
12
+ sectionIds?: Array<{
13
+ id: string;
14
+ title: string;
15
+ level: number;
16
+ }>;
17
+ /** Callback for internal navigation (called after the resolver returns) */
18
+ onInternalLinkClick?: (path: string, options?: {
19
+ expandFolder?: boolean;
20
+ fromInternalLink?: boolean;
21
+ }) => void;
22
+ /** List of broken links detected server-side */
23
+ brokenLinks?: string[];
24
+ /** Current documentation path for resolving relative links */
25
+ currentPath?: string;
26
+ /** Source for resolving internal links (default: 'openframe-docs'). Registry id from DOC_SOURCES. */
27
+ resolveSource?: string;
28
+ /** Path of the internal link-resolver endpoint. Default '/api/docs/resolve-link'. */
29
+ resolveLinkEndpointUrl?: string;
30
+ /** When the page already has an H1, render markdown `#` as `h2` (e.g. legal pages). */
31
+ demoteMarkdownH1ToH2?: boolean;
32
+ }
33
+ export declare const RichMarkdownRenderer: React.FC<RichMarkdownRendererProps>;
34
+ //# sourceMappingURL=rich-markdown-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/components/ui/rich-markdown-renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAgBjF,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AA4czC;;;;;GAKG;AACH,MAAM,WAAW,yBAA0B,SAAQ,OAAO,CAAC,mBAAmB,CAAC;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/G,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qGAAqG;IACrG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAoCpE,CAAC"}
@@ -0,0 +1,73 @@
1
+ import React from 'react';
2
+ import { type Components } from 'react-markdown';
3
+ import type { PluggableList } from 'unified';
4
+ import type { ResolveLinkResult } from '../../types/doc-source';
5
+ export type { ResolveLinkResult };
6
+ export type TextSizeElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'li' | 'blockquote' | 'code' | 'th' | 'td';
7
+ export type TextSizeClassMap = Partial<Record<TextSizeElement, string>>;
8
+ export type TextSizePreset = 'default' | 'compact' | 'large';
9
+ export type TextSizeConfig = TextSizePreset | TextSizeClassMap | {
10
+ preset: TextSizePreset;
11
+ overrides: TextSizeClassMap;
12
+ };
13
+ export interface SimpleMarkdownRendererProps {
14
+ content: string;
15
+ className?: string;
16
+ /** Backend-provided heading IDs for deep-link anchors */
17
+ sectionIds?: Array<{
18
+ id: string;
19
+ title: string;
20
+ level: number;
21
+ }>;
22
+ /** When the page already has an H1, render markdown `#` as `<h2>` */
23
+ demoteMarkdownH1ToH2?: boolean;
24
+ /** List of broken link hrefs detected server-side (shown with [BROKEN] badge) */
25
+ brokenLinks?: string[];
26
+ /** Callback for internal (non-http, non-anchor) link clicks */
27
+ onInternalLinkClick?: (path: string, options?: {
28
+ expandFolder?: boolean;
29
+ fromInternalLink?: boolean;
30
+ }) => void;
31
+ /** Current documentation path — enables internal-link mode when set */
32
+ currentPath?: string;
33
+ /**
34
+ * Resolve an internal link href to a navigation path.
35
+ * Called when a user clicks an internal doc link.
36
+ */
37
+ onResolveLink?: (href: string, currentPath: string) => Promise<ResolveLinkResult>;
38
+ /** Pre-process the raw markdown string before rendering (e.g. shortcode expansion) */
39
+ preprocessContent?: (content: string) => string;
40
+ /** Merge additional or override react-markdown component renderers */
41
+ componentOverrides?: Partial<Components>;
42
+ /**
43
+ * Extra remark plugins appended after the built-in `remarkGfm` and
44
+ * `remarkBreaks`. Used by chat consumers to inject `remarkCardLinks`,
45
+ * which converts `[card://<type>:<id>]` markers into synthetic `link`
46
+ * nodes; the host's `componentOverrides.a` then swaps those for whatever
47
+ * inline entity-card component it provides.
48
+ *
49
+ * Each entry is either a Plugin reference or a [Plugin, options] tuple
50
+ * — same shape as react-markdown's own `remarkPlugins` prop. Pass an
51
+ * empty array (or omit) to keep the default plugin set.
52
+ */
53
+ additionalRemarkPlugins?: PluggableList;
54
+ /**
55
+ * Configure text sizing for all rendered elements.
56
+ * - `"default"` — current behavior (large article-style typography)
57
+ * - `"compact"` — smaller sizes for sidebars, cards, changelogs
58
+ * - `"large"` — extra-large sizes for hero/landing content
59
+ * - `{ p: "text-sm", h1: "text-2xl" }` — per-element overrides (merged onto default)
60
+ * - `{ preset: "compact", overrides: { h1: "text-heading-1" } }` — preset + tweaks
61
+ */
62
+ textSize?: TextSizeConfig;
63
+ }
64
+ /**
65
+ * Memoized so a parent re-render with UNCHANGED props (same `content` string,
66
+ * same memoized `componentOverrides`/plugins) does NOT re-parse the markdown.
67
+ * Re-parsing rebuilds the entire react-markdown subtree, which RE-MOUNTS any
68
+ * embedded inline entity cards — closing their open menus and re-triggering
69
+ * their fetch on every chat re-render (streaming chunk AND scroll). With
70
+ * stable props the renderer bails, so completed messages' cards stay mounted.
71
+ */
72
+ export declare const SimpleMarkdownRenderer: React.NamedExoticComponent<SimpleMarkdownRendererProps>;
73
+ //# sourceMappingURL=simple-markdown-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/components/ui/simple-markdown-renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkE,MAAM,OAAO,CAAC;AACvF,OAAsB,EAAE,KAAK,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAU7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAyflC,MAAM,MAAM,eAAe,GACvB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GACvC,GAAG,GAAG,IAAI,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAC7D,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,gBAAgB,GAChB;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,gBAAgB,CAAA;CAAE,CAAC;AA+D5D,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,+DAA+D;IAC/D,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/G,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClF,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,EAAE,aAAa,CAAC;IACxC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AA+TD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,yDAAmC,CAAC"}