@flamingo-stack/openframe-frontend-core 0.0.488 → 0.0.490-1506.3944.1

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 (311) hide show
  1. package/dist/chat-protocol/decode.d.ts +58 -0
  2. package/dist/chat-protocol/decode.d.ts.map +1 -0
  3. package/dist/chat-protocol/encode.d.ts +44 -0
  4. package/dist/chat-protocol/encode.d.ts.map +1 -0
  5. package/dist/chat-protocol/env-flag.d.ts +35 -0
  6. package/dist/chat-protocol/env-flag.d.ts.map +1 -0
  7. package/dist/chat-protocol/events.d.ts +196 -0
  8. package/dist/chat-protocol/events.d.ts.map +1 -0
  9. package/dist/chat-protocol/frames.d.ts +213 -0
  10. package/dist/chat-protocol/frames.d.ts.map +1 -0
  11. package/dist/chat-protocol/index.cjs +494 -0
  12. package/dist/chat-protocol/index.cjs.map +1 -0
  13. package/dist/chat-protocol/index.d.ts +18 -0
  14. package/dist/chat-protocol/index.d.ts.map +1 -0
  15. package/dist/chat-protocol/index.js +478 -0
  16. package/dist/chat-protocol/index.js.map +1 -0
  17. package/dist/chat-protocol/ip-normalize.d.ts +44 -0
  18. package/dist/chat-protocol/ip-normalize.d.ts.map +1 -0
  19. package/dist/chat-protocol/nats-decoder.d.ts +26 -0
  20. package/dist/chat-protocol/nats-decoder.d.ts.map +1 -0
  21. package/dist/{chunk-AJNDDXKC.js → chunk-4NWARV5I.js} +3 -3
  22. package/dist/{chunk-GQX6LFFA.cjs → chunk-5CJR2GZ4.cjs} +42 -42
  23. package/dist/{chunk-GQX6LFFA.cjs.map → chunk-5CJR2GZ4.cjs.map} +1 -1
  24. package/dist/{chunk-EUYIFALO.cjs → chunk-5EYRXSY5.cjs} +14 -14
  25. package/dist/{chunk-EUYIFALO.cjs.map → chunk-5EYRXSY5.cjs.map} +1 -1
  26. package/dist/{chunk-5RXKOGH6.cjs → chunk-5LMGFI4J.cjs} +7011 -4777
  27. package/dist/chunk-5LMGFI4J.cjs.map +1 -0
  28. package/dist/{chunk-KFQXO7QB.js → chunk-6GT557KN.js} +1 -1
  29. package/dist/chunk-6GT557KN.js.map +1 -0
  30. package/dist/{chunk-77DFPD35.js → chunk-BE6DK7QY.js} +12267 -10033
  31. package/dist/chunk-BE6DK7QY.js.map +1 -0
  32. package/dist/{chunk-A7IPON2V.cjs → chunk-BIKOJ4FH.cjs} +5 -5
  33. package/dist/{chunk-A7IPON2V.cjs.map → chunk-BIKOJ4FH.cjs.map} +1 -1
  34. package/dist/{chunk-HQYJINFV.js → chunk-CORIBKHG.js} +4 -4
  35. package/dist/{chunk-YEEHB4T6.cjs → chunk-CSYSYJCF.cjs} +40 -40
  36. package/dist/{chunk-YEEHB4T6.cjs.map → chunk-CSYSYJCF.cjs.map} +1 -1
  37. package/dist/{chunk-SIKCXKGB.cjs → chunk-DSDZ5T4P.cjs} +7 -7
  38. package/dist/{chunk-SIKCXKGB.cjs.map → chunk-DSDZ5T4P.cjs.map} +1 -1
  39. package/dist/{chunk-PNXNWGBY.js → chunk-GTWO5NAY.js} +2 -2
  40. package/dist/{chunk-SCCTJ2UI.js → chunk-HSACATCD.js} +4 -4
  41. package/dist/{chunk-PECGZWQR.cjs → chunk-KP5KRRD6.cjs} +3 -3
  42. package/dist/{chunk-PECGZWQR.cjs.map → chunk-KP5KRRD6.cjs.map} +1 -1
  43. package/dist/{chunk-2B6773QM.cjs → chunk-LILQJ3UZ.cjs} +1 -1
  44. package/dist/chunk-LILQJ3UZ.cjs.map +1 -0
  45. package/dist/{chunk-RZSA6MZL.cjs → chunk-NWX7MMF5.cjs} +15 -15
  46. package/dist/{chunk-RZSA6MZL.cjs.map → chunk-NWX7MMF5.cjs.map} +1 -1
  47. package/dist/{chunk-V3CNNMY3.cjs → chunk-P4WTZU6L.cjs} +18 -18
  48. package/dist/{chunk-V3CNNMY3.cjs.map → chunk-P4WTZU6L.cjs.map} +1 -1
  49. package/dist/{chunk-KLYHZRAD.js → chunk-PB3BTZDU.js} +2 -2
  50. package/dist/{chunk-FZOBQG6M.cjs → chunk-Q6E7VJ4W.cjs} +37 -36
  51. package/dist/chunk-Q6E7VJ4W.cjs.map +1 -0
  52. package/dist/{chunk-EYEIVYYF.cjs → chunk-QSCHCZL3.cjs} +7 -7
  53. package/dist/{chunk-EYEIVYYF.cjs.map → chunk-QSCHCZL3.cjs.map} +1 -1
  54. package/dist/{chunk-YJSKQ2ZV.js → chunk-RQLBHKXN.js} +3 -3
  55. package/dist/{chunk-CWQACI4Z.js → chunk-RW2LPL72.js} +2 -2
  56. package/dist/{chunk-DX6AOHNU.cjs → chunk-S2NHJDKQ.cjs} +77 -77
  57. package/dist/{chunk-DX6AOHNU.cjs.map → chunk-S2NHJDKQ.cjs.map} +1 -1
  58. package/dist/{chunk-AHDJMEEN.js → chunk-T2EGSZFN.js} +9 -8
  59. package/dist/chunk-T2EGSZFN.js.map +1 -0
  60. package/dist/{chunk-S52LJNMU.js → chunk-TKN5667N.js} +13 -13
  61. package/dist/chunk-TKN5667N.js.map +1 -0
  62. package/dist/{chunk-3BFX6HJM.js → chunk-UUYRJPGJ.js} +6 -6
  63. package/dist/{chunk-F6BYUO5U.js → chunk-VHG6AX5V.js} +3 -3
  64. package/dist/{chunk-FOQV6RCO.cjs → chunk-VQ523ORK.cjs} +29 -29
  65. package/dist/{chunk-FOQV6RCO.cjs.map → chunk-VQ523ORK.cjs.map} +1 -1
  66. package/dist/{chunk-PXF5J24T.js → chunk-XQ2B74SI.js} +2 -2
  67. package/dist/{chunk-H7JX2BG7.cjs → chunk-YHOIAA2E.cjs} +76 -76
  68. package/dist/chunk-YHOIAA2E.cjs.map +1 -0
  69. package/dist/{chunk-LLWBPPZ4.js → chunk-YZ2OIYQ3.js} +6 -6
  70. package/dist/components/case-studies/index.cjs +10 -10
  71. package/dist/components/case-studies/index.js +4 -4
  72. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  73. package/dist/components/chat/chat-message-list.d.ts.map +1 -1
  74. package/dist/components/chat/hooks/index.d.ts +0 -1
  75. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  76. package/dist/components/chat/hooks/use-chat-history-hydration.d.ts +47 -0
  77. package/dist/components/chat/hooks/use-chat-history-hydration.d.ts.map +1 -0
  78. package/dist/components/chat/hooks/use-chat.d.ts +1 -0
  79. package/dist/components/chat/hooks/use-chat.d.ts.map +1 -1
  80. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts +15 -48
  81. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
  82. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +10 -53
  83. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
  84. package/dist/components/chat/index.cjs +12 -4
  85. package/dist/components/chat/index.cjs.map +1 -1
  86. package/dist/components/chat/index.d.ts +1 -0
  87. package/dist/components/chat/index.d.ts.map +1 -1
  88. package/dist/components/chat/index.js +23 -15
  89. package/dist/components/chat/stream/chat-dialog-store.d.ts +184 -0
  90. package/dist/components/chat/stream/chat-dialog-store.d.ts.map +1 -0
  91. package/dist/components/chat/stream/chat-stream-reducer.d.ts +367 -0
  92. package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +1 -0
  93. package/dist/components/chat/stream/delta-batcher.d.ts +51 -0
  94. package/dist/components/chat/stream/delta-batcher.d.ts.map +1 -0
  95. package/dist/components/chat/stream/index.d.ts +17 -0
  96. package/dist/components/chat/stream/index.d.ts.map +1 -0
  97. package/dist/components/chat/stream/message-mutations.d.ts +77 -0
  98. package/dist/components/chat/stream/message-mutations.d.ts.map +1 -0
  99. package/dist/components/chat/stream/use-chat-stream-reducer.d.ts +22 -0
  100. package/dist/components/chat/stream/use-chat-stream-reducer.d.ts.map +1 -0
  101. package/dist/components/chat/types/api.types.d.ts +1 -81
  102. package/dist/components/chat/types/api.types.d.ts.map +1 -1
  103. package/dist/components/chat/types/processing.types.d.ts +2 -90
  104. package/dist/components/chat/types/processing.types.d.ts.map +1 -1
  105. package/dist/components/chat/types/unified-chat-state.types.d.ts +5 -0
  106. package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
  107. package/dist/components/chat/utils/chat-conversation-storage.d.ts +34 -0
  108. package/dist/components/chat/utils/chat-conversation-storage.d.ts.map +1 -0
  109. package/dist/components/chat/utils/extract-incomplete-message-state.d.ts +34 -6
  110. package/dist/components/chat/utils/extract-incomplete-message-state.d.ts.map +1 -1
  111. package/dist/components/chat/utils/index.d.ts +2 -3
  112. package/dist/components/chat/utils/index.d.ts.map +1 -1
  113. package/dist/components/chat/utils/process-historical-messages.d.ts +59 -11
  114. package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
  115. package/dist/components/contact/index.cjs +5 -5
  116. package/dist/components/contact/index.js +4 -4
  117. package/dist/components/docs/index.cjs +7 -7
  118. package/dist/components/docs/index.js +6 -6
  119. package/dist/components/embeds/index.cjs +5 -5
  120. package/dist/components/embeds/index.js +4 -4
  121. package/dist/components/faq/index.cjs +6 -6
  122. package/dist/components/faq/index.js +5 -5
  123. package/dist/components/features/index.cjs +4 -4
  124. package/dist/components/features/index.js +3 -3
  125. package/dist/components/help-center-pages/index.cjs +23 -23
  126. package/dist/components/help-center-pages/index.js +14 -14
  127. package/dist/components/index.cjs +182 -140
  128. package/dist/components/index.cjs.map +1 -1
  129. package/dist/components/index.js +66 -24
  130. package/dist/components/index.js.map +1 -1
  131. package/dist/components/navigation/index.cjs +4 -4
  132. package/dist/components/navigation/index.js +3 -3
  133. package/dist/components/onboarding-guides/index.cjs +8 -8
  134. package/dist/components/onboarding-guides/index.js +7 -7
  135. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
  136. package/dist/components/related-content/index.cjs +6 -6
  137. package/dist/components/related-content/index.js +5 -5
  138. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  139. package/dist/components/tickets/index.cjs +7 -7
  140. package/dist/components/tickets/index.js +6 -6
  141. package/dist/components/ui/index.cjs +46 -4
  142. package/dist/components/ui/index.cjs.map +1 -1
  143. package/dist/components/ui/index.d.ts +1 -2
  144. package/dist/components/ui/index.d.ts.map +1 -1
  145. package/dist/components/ui/index.js +57 -15
  146. package/dist/components/ui/markdown/base-components.d.ts +51 -0
  147. package/dist/components/ui/markdown/base-components.d.ts.map +1 -0
  148. package/dist/components/ui/markdown/engine.d.ts +99 -0
  149. package/dist/components/ui/markdown/engine.d.ts.map +1 -0
  150. package/dist/components/ui/markdown/heading-ids.d.ts +65 -0
  151. package/dist/components/ui/markdown/heading-ids.d.ts.map +1 -0
  152. package/dist/components/ui/markdown/index.d.ts +18 -0
  153. package/dist/components/ui/markdown/index.d.ts.map +1 -0
  154. package/dist/components/ui/markdown/mermaid-diagram.d.ts +79 -0
  155. package/dist/components/ui/markdown/mermaid-diagram.d.ts.map +1 -0
  156. package/dist/components/ui/markdown/rich/embed-overrides.d.ts +14 -0
  157. package/dist/components/ui/markdown/rich/embed-overrides.d.ts.map +1 -0
  158. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts +40 -0
  159. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts.map +1 -0
  160. package/dist/components/ui/markdown/rich/shortcodes.d.ts +8 -0
  161. package/dist/components/ui/markdown/rich/shortcodes.d.ts.map +1 -0
  162. package/dist/components/ui/markdown/sanitize.d.ts +153 -0
  163. package/dist/components/ui/markdown/sanitize.d.ts.map +1 -0
  164. package/dist/components/ui/markdown/simple-markdown-renderer.d.ts +23 -0
  165. package/dist/components/ui/markdown/simple-markdown-renderer.d.ts.map +1 -0
  166. package/dist/components/ui/markdown/streaming.d.ts +78 -0
  167. package/dist/components/ui/markdown/streaming.d.ts.map +1 -0
  168. package/dist/components/ui/markdown/text-size.d.ts +34 -0
  169. package/dist/components/ui/markdown/text-size.d.ts.map +1 -0
  170. package/dist/contexts/chat-runtime-context.d.ts +8 -0
  171. package/dist/contexts/chat-runtime-context.d.ts.map +1 -1
  172. package/dist/contexts/index.cjs +2 -2
  173. package/dist/contexts/index.js +1 -1
  174. package/dist/hooks/index.cjs +3 -3
  175. package/dist/hooks/index.js +2 -2
  176. package/dist/index.cjs +62 -4
  177. package/dist/index.cjs.map +1 -1
  178. package/dist/index.js +73 -15
  179. package/dist/utils/index.cjs +169 -40
  180. package/dist/utils/index.cjs.map +1 -1
  181. package/dist/utils/index.d.ts +1 -0
  182. package/dist/utils/index.d.ts.map +1 -1
  183. package/dist/utils/index.js +162 -41
  184. package/dist/utils/index.js.map +1 -1
  185. package/dist/utils/markdown-fences.d.ts +42 -0
  186. package/dist/utils/markdown-fences.d.ts.map +1 -0
  187. package/dist/utils/markdown-heading-id.d.ts +85 -0
  188. package/dist/utils/markdown-heading-id.d.ts.map +1 -0
  189. package/dist/utils/markdown-section-extractor.d.ts.map +1 -1
  190. package/package.json +7 -1
  191. package/src/chat-protocol/__tests__/__snapshots__/nats-decoder-golden.test.ts.snap +307 -0
  192. package/src/chat-protocol/__tests__/chat-protocol.test.ts +516 -0
  193. package/src/chat-protocol/__tests__/env-flag.test.ts +52 -0
  194. package/src/chat-protocol/__tests__/ip-normalize.test.ts +136 -0
  195. package/src/chat-protocol/__tests__/nats-decoder-golden.test.ts +228 -0
  196. package/src/chat-protocol/decode.ts +278 -0
  197. package/src/chat-protocol/encode.ts +71 -0
  198. package/src/chat-protocol/env-flag.ts +39 -0
  199. package/src/chat-protocol/events.ts +232 -0
  200. package/src/chat-protocol/frames.ts +245 -0
  201. package/src/chat-protocol/index.ts +21 -0
  202. package/src/chat-protocol/ip-normalize.ts +146 -0
  203. package/src/chat-protocol/nats-decoder.ts +252 -0
  204. package/src/components/chat/__tests__/chat-message-list.test.tsx +293 -5
  205. package/src/components/chat/__tests__/chat-message-streaming-memo.test.tsx +207 -0
  206. package/src/components/chat/__tests__/chat-pending-turn.test.tsx +209 -0
  207. package/src/components/chat/chat-message-enhanced.tsx +111 -17
  208. package/src/components/chat/chat-message-list.tsx +358 -109
  209. package/src/components/chat/embeddable-chat.tsx +6 -0
  210. package/src/components/chat/hooks/.index.md +30 -33
  211. package/src/components/chat/hooks/.use-nats-chat-adapter.md +36 -55
  212. package/src/components/chat/hooks/__tests__/__snapshots__/conversation-id-persistence-golden.test.ts.snap +37 -0
  213. package/src/components/chat/hooks/__tests__/__snapshots__/sse-stream-golden.test.ts.snap +0 -0
  214. package/src/components/chat/hooks/__tests__/conversation-id-persistence-golden.test.ts +438 -0
  215. package/src/components/chat/hooks/__tests__/sse-stream-golden.test.ts +318 -0
  216. package/src/components/chat/hooks/index.ts +0 -1
  217. package/src/components/chat/hooks/use-chat-history-hydration.ts +142 -0
  218. package/src/components/chat/hooks/use-chat.ts +20 -0
  219. package/src/components/chat/hooks/use-nats-chat-adapter.ts +243 -823
  220. package/src/components/chat/hooks/use-sse-chat-adapter.ts +417 -774
  221. package/src/components/chat/index.ts +5 -0
  222. package/src/components/chat/stream/__tests__/__snapshots__/chat-stream-reducer-golden.test.ts.snap +940 -0
  223. package/src/components/chat/stream/__tests__/chat-dialog-store.test.ts +756 -0
  224. package/src/components/chat/stream/__tests__/chat-stream-reducer-golden.test.ts +460 -0
  225. package/src/components/chat/stream/__tests__/chat-stream-reducer.test.ts +894 -0
  226. package/src/components/chat/stream/__tests__/delta-batcher.test.ts +255 -0
  227. package/src/components/chat/stream/__tests__/use-chat-stream-reducer.test.ts +98 -0
  228. package/src/components/chat/stream/chat-dialog-store.ts +536 -0
  229. package/src/components/chat/stream/chat-stream-reducer.ts +1796 -0
  230. package/src/components/chat/stream/delta-batcher.ts +159 -0
  231. package/src/components/chat/stream/index.ts +55 -0
  232. package/src/components/chat/stream/message-mutations.ts +338 -0
  233. package/src/components/chat/stream/use-chat-stream-reducer.ts +126 -0
  234. package/src/components/chat/thinking-display.tsx +1 -1
  235. package/src/components/chat/types/.api.types.md +39 -49
  236. package/src/components/chat/types/.processing.types.md +29 -58
  237. package/src/components/chat/types/api.types.ts +6 -73
  238. package/src/components/chat/types/processing.types.ts +11 -52
  239. package/src/components/chat/types/unified-chat-state.types.ts +6 -0
  240. package/src/components/chat/utils/.index.md +31 -40
  241. package/src/components/chat/utils/__tests__/__snapshots__/process-historical-messages-golden.test.ts.snap +420 -0
  242. package/src/components/chat/utils/__tests__/__snapshots__/segment-accumulator-golden.test.ts.snap +605 -0
  243. package/src/components/chat/utils/__tests__/process-historical-messages-golden.test.ts +317 -0
  244. package/src/components/chat/utils/__tests__/segment-accumulator-golden.test.ts +270 -0
  245. package/src/components/chat/utils/chat-conversation-storage.ts +83 -0
  246. package/src/components/chat/utils/extract-incomplete-message-state.ts +63 -5
  247. package/src/components/chat/utils/index.ts +5 -8
  248. package/src/components/chat/utils/process-historical-messages.ts +352 -384
  249. package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +22 -4
  250. package/src/components/shared/legal-document/legal-document-page.tsx +1 -1
  251. package/src/components/shared/product-release/release-detail-page.tsx +19 -4
  252. package/src/components/ui/__tests__/__snapshots__/markdown-parity.test.tsx.snap +2420 -0
  253. package/src/components/ui/__tests__/markdown-parity.test.tsx +2528 -0
  254. package/src/components/ui/index.ts +1 -2
  255. package/src/components/ui/markdown/__tests__/mermaid-security.test.ts +115 -0
  256. package/src/components/ui/markdown/__tests__/mermaid-stale-render.test.tsx +95 -0
  257. package/src/components/ui/markdown/__tests__/sanitize-invariant.test.ts +309 -0
  258. package/src/components/ui/markdown/__tests__/streaming.test.tsx +388 -0
  259. package/src/components/ui/markdown/base-components.tsx +360 -0
  260. package/src/components/ui/markdown/engine.tsx +315 -0
  261. package/src/components/ui/markdown/heading-ids.ts +239 -0
  262. package/src/components/ui/markdown/index.ts +49 -0
  263. package/src/components/ui/markdown/mermaid-diagram.tsx +291 -0
  264. package/src/components/ui/markdown/rich/embed-overrides.tsx +199 -0
  265. package/src/components/ui/markdown/rich/rich-markdown-renderer.tsx +184 -0
  266. package/src/components/ui/markdown/rich/shortcodes.ts +170 -0
  267. package/src/components/ui/markdown/sanitize.ts +3499 -0
  268. package/src/components/ui/markdown/simple-markdown-renderer.tsx +28 -0
  269. package/src/components/ui/markdown/streaming.ts +362 -0
  270. package/src/components/ui/markdown/text-size.ts +106 -0
  271. package/src/components/ui/release-changelog-section.tsx +1 -1
  272. package/src/components/ui/ticket-info-section.tsx +1 -1
  273. package/src/contexts/chat-runtime-context.tsx +8 -0
  274. package/src/utils/index.ts +1 -0
  275. package/src/utils/markdown-fences.ts +127 -0
  276. package/src/utils/markdown-heading-id.ts +348 -0
  277. package/src/utils/markdown-section-extractor.ts +41 -56
  278. package/dist/chunk-2B6773QM.cjs.map +0 -1
  279. package/dist/chunk-5RXKOGH6.cjs.map +0 -1
  280. package/dist/chunk-77DFPD35.js.map +0 -1
  281. package/dist/chunk-AHDJMEEN.js.map +0 -1
  282. package/dist/chunk-FZOBQG6M.cjs.map +0 -1
  283. package/dist/chunk-H7JX2BG7.cjs.map +0 -1
  284. package/dist/chunk-KFQXO7QB.js.map +0 -1
  285. package/dist/chunk-S52LJNMU.js.map +0 -1
  286. package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts +0 -6
  287. package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts.map +0 -1
  288. package/dist/components/chat/utils/chunk-parser.d.ts +0 -25
  289. package/dist/components/chat/utils/chunk-parser.d.ts.map +0 -1
  290. package/dist/components/ui/rich-markdown-renderer.d.ts +0 -34
  291. package/dist/components/ui/rich-markdown-renderer.d.ts.map +0 -1
  292. package/dist/components/ui/simple-markdown-renderer.d.ts +0 -73
  293. package/dist/components/ui/simple-markdown-renderer.d.ts.map +0 -1
  294. package/src/components/chat/hooks/.use-realtime-chunk-processor.md +0 -77
  295. package/src/components/chat/hooks/use-realtime-chunk-processor.ts +0 -479
  296. package/src/components/chat/utils/.chunk-parser.md +0 -62
  297. package/src/components/chat/utils/chunk-parser.ts +0 -256
  298. package/src/components/ui/.simple-markdown-renderer.md +0 -52
  299. package/src/components/ui/rich-markdown-renderer.tsx +0 -1223
  300. package/src/components/ui/simple-markdown-renderer.tsx +0 -964
  301. /package/dist/{chunk-AJNDDXKC.js.map → chunk-4NWARV5I.js.map} +0 -0
  302. /package/dist/{chunk-HQYJINFV.js.map → chunk-CORIBKHG.js.map} +0 -0
  303. /package/dist/{chunk-PNXNWGBY.js.map → chunk-GTWO5NAY.js.map} +0 -0
  304. /package/dist/{chunk-SCCTJ2UI.js.map → chunk-HSACATCD.js.map} +0 -0
  305. /package/dist/{chunk-KLYHZRAD.js.map → chunk-PB3BTZDU.js.map} +0 -0
  306. /package/dist/{chunk-YJSKQ2ZV.js.map → chunk-RQLBHKXN.js.map} +0 -0
  307. /package/dist/{chunk-CWQACI4Z.js.map → chunk-RW2LPL72.js.map} +0 -0
  308. /package/dist/{chunk-3BFX6HJM.js.map → chunk-UUYRJPGJ.js.map} +0 -0
  309. /package/dist/{chunk-F6BYUO5U.js.map → chunk-VHG6AX5V.js.map} +0 -0
  310. /package/dist/{chunk-PXF5J24T.js.map → chunk-XQ2B74SI.js.map} +0 -0
  311. /package/dist/{chunk-LLWBPPZ4.js.map → chunk-YZ2OIYQ3.js.map} +0 -0
@@ -0,0 +1,14 @@
1
+ import type { Components } from 'react-markdown';
2
+ import type { TextSizeElement } from '../text-size';
3
+ export interface BuildRichEmbedOverridesOptions {
4
+ ogApiBaseUrl: string;
5
+ ogEndpointPath: string;
6
+ textSizes: Record<TextSizeElement, string>;
7
+ }
8
+ /**
9
+ * Overrides spread LAST onto the engine's base map: `code` (fence-language
10
+ * embeds), `div` (shortcode-expanded embeds), `img` (MarkdownImage with
11
+ * runtime transformImageSrc), `video` (raw tags → Video SSOT).
12
+ */
13
+ export declare function buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes, }: BuildRichEmbedOverridesOptions): Partial<Components>;
14
+ //# sourceMappingURL=embed-overrides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed-overrides.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/markdown/rich/embed-overrides.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AASjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAiBpD,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,YAAY,EACZ,cAAc,EACd,SAAS,GACV,EAAE,8BAA8B,GAAG,OAAO,CAAC,UAAU,CAAC,CAiJtD"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * RichMarkdownRenderer — the content composition over the unified
3
+ * `MarkdownEngine`: RuntimeProvider + shortcodes + embed overrides +
4
+ * fetch-based internal-link resolver + `article` typography.
5
+ *
6
+ * This IS the real component (the old 1223-line standalone implementation
7
+ * was deleted in the unification). Public prop surface is unchanged, so
8
+ * every hub/app call site compiles untouched. Deltas vs the old
9
+ * implementation are the ones reviewed in the unification plan: the
10
+ * sanitize stack + tag-escape pre-pass now apply to content surfaces
11
+ * (`extraAllowedHtmlTags={['video','source']}` keeps authored video
12
+ * working), the engine is memoized, and the dead light-mode branches are
13
+ * gone.
14
+ */
15
+ import React from 'react';
16
+ import { type MarkdownEngineProps } from '../engine';
17
+ import { type RichMarkdownRuntime } from '../../../embeds/rich-markdown-runtime';
18
+ /**
19
+ * The engine props this composition OWNS and therefore does not forward:
20
+ * shortcode preprocessing, the embed component map, the `article` text
21
+ * preset, the fetch link resolver, the rich tag allowlist, and streaming
22
+ * (authored content is never streamed).
23
+ */
24
+ type RichOwnedEngineProps = 'extraAllowedHtmlTags' | 'preprocessContent' | 'componentOverrides' | 'textSize' | 'onResolveLink' | 'additionalRemarkPlugins' | 'streaming';
25
+ /**
26
+ * Derived from `MarkdownEngineProps` rather than hand-copied. The previous
27
+ * shape restated 7 engine props here and a THIRD time in `InnerProps`, so
28
+ * every engine prop doc/type change had to be mirrored in three places (and
29
+ * a missed mirror type-checks fine while silently dropping the prop).
30
+ */
31
+ export interface RichMarkdownRendererProps extends Partial<RichMarkdownRuntime>, Omit<MarkdownEngineProps, RichOwnedEngineProps> {
32
+ /** Source for resolving internal links (default: 'openframe-docs'). Registry id from DOC_SOURCES. */
33
+ resolveSource?: string;
34
+ /** Path of the internal link-resolver endpoint. Default '/api/docs/resolve-link'. */
35
+ resolveLinkEndpointUrl?: string;
36
+ }
37
+ /** Memoized — see the engine's memo rationale. */
38
+ export declare const RichMarkdownRenderer: React.NamedExoticComponent<RichMarkdownRendererProps>;
39
+ export {};
40
+ //# sourceMappingURL=rich-markdown-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/markdown/rich/rich-markdown-renderer.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAqC,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAmC,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEtF,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,uCAAuC,CAAC;AAQ/C;;;;;GAKG;AACH,KAAK,oBAAoB,GACrB,sBAAsB,GACtB,mBAAmB,GACnB,oBAAoB,GACpB,UAAU,GACV,eAAe,GACf,yBAAyB,GACzB,WAAW,CAAC;AAEhB;;;;;GAKG;AACH,MAAM,WAAW,yBACf,SAAQ,OAAO,CAAC,mBAAmB,CAAC,EAClC,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IACjD,qGAAqG;IACrG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AA0HD,kDAAkD;AAClD,eAAO,MAAM,oBAAoB,uDAAiC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Shortcode + auto-URL-embed preprocessing for the rich (content)
3
+ * composition. Moved verbatim from the old RichMarkdownRenderer — the
4
+ * `{{youtube:...}}` / `{% youtube %}` / thumbnail-link / auto-URL grammar
5
+ * is authored-content SSOT; chat surfaces never run this.
6
+ */
7
+ export declare const processShortcodes: (content: string) => string;
8
+ //# sourceMappingURL=shortcodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shortcodes.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/markdown/rich/shortcodes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,KAAG,MAkKnD,CAAC"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Tags the TEXT pre-pass forwards as raw HTML. Anything outside this set
3
+ * (plus per-composition `extraAllowedHtmlTags`) gets its angle brackets
4
+ * escaped and renders as plain text.
5
+ *
6
+ * `video` is deliberately NOT in the baseline: chat strips <video>
7
+ * server-side and playback goes through the <Video> SSOT. The rich
8
+ * composition opts back in via `extraAllowedHtmlTags={['video', 'source']}`
9
+ * so authored content (blog publisher video injection) keeps working.
10
+ */
11
+ export declare const SAFE_HTML_TAGS: Set<string>;
12
+ /**
13
+ * Inline SVG element set, in the CANONICAL case parse5 produces for SVG
14
+ * foreign content (`linearGradient`, `clipPath`, … are camelCase in the
15
+ * HTML parser's SVG adjustment table, so the sanitize schema must match
16
+ * that spelling; the text pre-pass lowercases before lookup).
17
+ *
18
+ * Inline `<svg>` renders in real published posts (hand-authored diagrams
19
+ * and inline icon markup — NOT `<use href>` sprite references, which are
20
+ * deliberately dropped; see SVG_ATTRIBUTES). The Rich renderer had NO pre-pass
21
+ * and NO sanitizer, so it always rendered; without this set the unified
22
+ * engine would escape it to visible source text.
23
+ *
24
+ * SEVERAL OF THESE NAMES ARE ALSO HTML ELEMENTS (`title`, `desc`, `text`,
25
+ * `g`, `line`, `use`, `symbol`, `marker`, `mask`, `pattern`) — admitting
26
+ * them UNCONSTRAINED let a post or a chat message emit a bare `<title>`,
27
+ * which React 19 hoists into `<head>` (browser-tab + SEO title hijack) and
28
+ * whose RAWTEXT content model swallows the rest of the document when
29
+ * unclosed. They are therefore pinned to an `svg` ancestor in
30
+ * `SVG_ONLY_ANCESTORS` below; outside `<svg>` the sanitizer drops them.
31
+ */
32
+ export declare const SVG_TAGS: Set<string>;
33
+ /** Effective pre-pass tag set for a composition (lowercased for lookup). */
34
+ export declare function buildEffectiveTagSet(extraAllowedHtmlTags?: string[]): Set<string>;
35
+ export interface BuildSanitizeSchemaOptions {
36
+ extraAllowedHtmlTags?: string[];
37
+ }
38
+ /**
39
+ * The engine's sanitize schema: defaultSchema ∪ SAFE_HTML_TAGS ∪ extras.
40
+ * - `extraAllowedHtmlTags` is unioned into tagNames here AND into the
41
+ * pre-pass set (buildEffectiveTagSet) — the coupled-allowlist invariant.
42
+ * - `clobberPrefix: ''` + empty `clobber`: authored raw-HTML anchors
43
+ * (`<h2 id="…">`) keep their ids so `[jump](#anchor)` deep-links work.
44
+ * (The renderer's own heading ids are injected at the React layer,
45
+ * post-rehype, and were never affected.)
46
+ * - `card`/`mention` protocols registered for href so chat markers survive
47
+ * (the urlTransform below is the second gate).
48
+ */
49
+ export declare function buildSanitizeSchema(options?: BuildSanitizeSchemaOptions): {
50
+ tagNames: string[];
51
+ attributes: Record<string, (string | [string, ...unknown[]])[]>;
52
+ ancestors: Record<string, string[]>;
53
+ required: Record<string, Record<string, unknown>>;
54
+ clobberPrefix: string;
55
+ clobber: never[];
56
+ protocols: {
57
+ href: string[];
58
+ };
59
+ allowComments?: boolean | null | undefined;
60
+ allowDoctypes?: boolean | null | undefined;
61
+ strip?: Array<string> | null | undefined;
62
+ };
63
+ export declare function rehypeStripUnsafe(): (tree: any) => void;
64
+ /**
65
+ * PARAGRAPH SEGMENTS, NOT LINES (round 18 — SECURITY). A CommonMark code span
66
+ * CROSSES LINE BREAKS: `` `foo\n</textarea>` `` is one `inlineCode` node, so
67
+ * that `</textarea>` is a code sample and not a closer — yet this scan (and
68
+ * `PROTECTED_SPAN_RE`, whose body class is `[^\n]`) was strictly PER LINE, so
69
+ * the mask never saw the span, the closer stayed visible in the haystack,
70
+ * `hasLaterCloser` returned true, and a prose `<textarea>` above it stayed LIVE
71
+ * (`escapeUnknownHtmlTags` returned the input BYTE-IDENTICAL; the renderer
72
+ * emitted `<code>foo </textarea></code>` — proving the closer is a code sample
73
+ * — beside a live textarea swallowing the prose). This is the shape that is not
74
+ * a CONTAINER at all, so no container sweep could ever have reached it.
75
+ *
76
+ * A code span CANNOT cross a paragraph break, so the scan unit is a maximal run
77
+ * of non-blank lines. Blank lines still terminate a segment, which keeps the
78
+ * fail-CLOSED direction (an unterminated opener consumes at most its own
79
+ * paragraph, never the rest of the document) and keeps the bound linear — the
80
+ * `suffMax` / cursor structure is unchanged, `\n` is simply an ordinary
81
+ * character inside a segment.
82
+ *
83
+ * `PROTECTED_SPAN_RE` (the CARVE) is deliberately left per-line: it rounds the
84
+ * other way, so at worst a multi-line code sample renders as escaped text.
85
+ */
86
+ declare function findInlineCodeRanges(source: string): Array<[number, number]>;
87
+ /** Exported for the differential fuzz against the retired regex. */
88
+ export declare const __findInlineCodeRangesForTest: typeof findInlineCodeRanges;
89
+ /**
90
+ * Build the haystack `hasLaterCloser` searches: a LENGTH-PRESERVING lowercased
91
+ * copy of the document with every region that cannot contain a REAL closing
92
+ * tag blanked to spaces.
93
+ *
94
+ * Why this exists: the escaping pass carefully carves code out, but the
95
+ * closer search used to run over the RAW document. So a `</textarea>` sitting
96
+ * inside a code fence, an inline-code span, or another tag's attribute string
97
+ * satisfied "is closed later", the prose opener was left LIVE, and parse5's
98
+ * RAWTEXT span swallowed the rest of the message anyway — the whole fix was
99
+ * one code sample away from being bypassed, which is exactly what an LLM
100
+ * answer about HTML looks like.
101
+ *
102
+ * Masking (rather than deleting) keeps every index identical to the original
103
+ * string, so the caller's offset arithmetic is unchanged. THE LENGTH
104
+ * INVARIANT IS LOAD-BEARING — see `foldAsciiCase`.
105
+ *
106
+ * CARVE DECISION (deliberate, do not "unify"): these tracker-derived regions
107
+ * are NOT fed to the escaping carve, even though that would stop an authored
108
+ * EOF-terminated fence body from rendering as literal `&lt;their&gt;`.
109
+ *
110
+ * The genuine asymmetry is the EOF-TERMINATED fence, and only that one. The
111
+ * tracker protects an unclosed opener all the way to end of input, so a single
112
+ * stray ``` line — mid-stream, or inside an open raw-HTML block where a ```
113
+ * line is content rather than a fence — would carve the ENTIRE remainder of the
114
+ * document out of the escaping pass. `PROTECTED_SPAN_RE` protects nothing at
115
+ * all there (it only recognizes a fence CLOSED by a same-marker run), so its
116
+ * failure mode is bounded: a code sample renders as escaped text. In the carve
117
+ * an over-detected region is a region that is NOT escaped — a fail-OPEN, i.e.
118
+ * exactly the swallow this module exists to prevent — so the materially larger
119
+ * fail-open surface decides it.
120
+ *
121
+ * SHARED over-detection (e.g. a ``` line inside an HTML block — `<div>`,
122
+ * `<pre>`, `<details>` — where CommonMark says the line is HTML content, not a
123
+ * fence) was previously dismissed here as "not an argument either way". THAT
124
+ * WAS WRONG: it is precisely the residual fail-open. The intersection guard
125
+ * below only reconciles DISAGREEMENT, so when BOTH engines open the same bogus
126
+ * fence the guard is a no-op and a live `<textarea>` inside it is pushed
127
+ * verbatim, swallowing the rest of the message (reproduced for all three tags).
128
+ * What actually closes it is the CARVE BALANCE GUARD in
129
+ * `escapeUnknownHtmlTags`: a protected span may contain no UNBALANCED RAWTEXT
130
+ * opener. Neither engine needs to learn about HTML blocks for that to hold.
131
+ *
132
+ * What makes keeping two engines SAFE is therefore the pair of guards in
133
+ * `escapeUnknownHtmlTags`: a carve span the mask did not blank is escaped
134
+ * rather than pushed through verbatim, and a span carrying an unbalanced
135
+ * RAWTEXT opener is escaped even when both engines agree. Over-detection can
136
+ * then only cost cosmetics. Before the first guard the regex's info-string-tolerant
137
+ * closer let it desync and open a span from a line CommonMark treats as
138
+ * ordinary text, sheltering a live `<textarea>` from escaping entirely
139
+ * (`mismatched-fence-carve-does-not-shelter-opener`). The remaining tradeoff is
140
+ * pinned by `unclosed-fence-body-renders-escaped` rather than left as prose.
141
+ */
142
+ declare function buildCloserHaystack(text: string): string;
143
+ /** Exported for the length-preservation invariant test only. */
144
+ export declare const __buildCloserHaystackForTest: typeof buildCloserHaystack;
145
+ export declare function escapeUnknownHtmlTags(text: string, allowedTags?: Set<string>): string;
146
+ /**
147
+ * Extends react-markdown's default safe-protocol allowlist with the two
148
+ * internal schemes the chat remark plugins emit (`card://`, `mention://`),
149
+ * for `href` ONLY. All other URLs go through `defaultUrlTransform`.
150
+ */
151
+ export declare function cardAwareUrlTransform(url: string, key: string): string;
152
+ export {};
153
+ //# sourceMappingURL=sanitize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/markdown/sanitize.ts"],"names":[],"mappings":"AA4CA;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,aAqBzB,CAAA;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,QAAQ,aAKnB,CAAA;AAqDF,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAEjF;AAkGD,MAAM,WAAW,0BAA0B;IACzC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;CAChC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,0BAA+B;;;;;;;;;;;;;EAyD3E;AAgDD,wBAAgB,iBAAiB,KAEvB,MAAM,GAAG,UA0ClB;AA+HD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,iBAAS,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA6ErE;AAED,oEAAoE;AACpE,eAAO,MAAM,6BAA6B,6BAAuB,CAAA;AA6/DjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA0DjD;AAED,gEAAgE;AAChE,eAAO,MAAM,4BAA4B,4BAAsB,CAAA;AAkgB/D,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,GAAG,CAAC,MAAM,CAAkB,GACxC,MAAM,CAgGR;AAoED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAItE"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SimpleMarkdownRenderer — the chat/doc composition over the unified
3
+ * `MarkdownEngine`. This IS the real component (not a compat alias): the
4
+ * old 966-line standalone implementation was deleted in the unification;
5
+ * its entire prop surface maps 1:1 onto the engine. Chat consumers keep
6
+ * layering `additionalRemarkPlugins` (card/mention links) and
7
+ * `componentOverrides` exactly as before.
8
+ */
9
+ import React from 'react';
10
+ import { type MarkdownEngineProps } from './engine';
11
+ import type { ResolveLinkResult } from '../../../types/doc-source';
12
+ export type { ResolveLinkResult };
13
+ export interface SimpleMarkdownRendererProps extends Omit<MarkdownEngineProps, 'extraAllowedHtmlTags'> {
14
+ }
15
+ /**
16
+ * A type-narrowed ALIAS of the engine, not a wrapper: the composition adds
17
+ * no behavior (it only hides `extraAllowedHtmlTags` from the prop surface),
18
+ * and `MarkdownEngine` is already `memo`'d. Wrapping it in a second `memo`
19
+ * bought nothing and cost an extra shallow-compare pass plus a fiber per
20
+ * chat segment.
21
+ */
22
+ export declare const SimpleMarkdownRenderer: React.NamedExoticComponent<SimpleMarkdownRendererProps>;
23
+ //# sourceMappingURL=simple-markdown-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/markdown/simple-markdown-renderer.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,MAAM,WAAW,2BACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;CAAG;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EACf,KAAK,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Streaming helpers for the unified markdown engine (pure, no React).
3
+ *
4
+ * Design contract (unification plan §D1 "Streaming rendering performance"):
5
+ * - Markdown is NOT context-free across blocks. The splitter only cuts at
6
+ * boundaries it can PROVE are atomic; when atomicity is unprovable the
7
+ * content is left in one unit (unmemoized) — correctness beats cache hits.
8
+ * - Blocks containing `card://` / `mention://` markers are never memoized:
9
+ * their text is identical before/after the entity ref resolves, so a
10
+ * text-keyed cache would serve the stale unresolved card mid-stream.
11
+ * - On stream completion the engine discards all of this and does ONE
12
+ * authoritative whole-document parse — streaming can never permanently
13
+ * diverge (late reference defs, footnotes, list renumbering self-heal).
14
+ * - Tail completion auto-closes ONLY unterminated fenced code blocks
15
+ * (fence-count based — unambiguous). Inline emphasis/links are NOT
16
+ * auto-closed: a stray `*` in "2 * 3" or a non-link `[` would be
17
+ * mis-wrapped, which is worse than the brief flicker it prevents.
18
+ */
19
+ export interface StreamingBlock {
20
+ /** Raw markdown source of this unit (including trailing blank lines). */
21
+ text: string;
22
+ /** Position index — cache key component so identical blocks never alias. */
23
+ index: number;
24
+ /**
25
+ * 1-based line of this unit's first line WITHIN the whole document.
26
+ * Each unit is parsed by its own `ReactMarkdown`, so hast positions are
27
+ * unit-relative; the engine adds `startLine - 1` back to look ids up in
28
+ * the document-wide heading-id map (see ./heading-ids.ts).
29
+ */
30
+ startLine: number;
31
+ /**
32
+ * True when this unit may be render-cached: it is complete (not the
33
+ * trailing unit), atomic, and free of cross-block / late-resolving
34
+ * constructs (card/mention markers, reference definitions/uses,
35
+ * footnotes).
36
+ */
37
+ memoizable: boolean;
38
+ }
39
+ /**
40
+ * Split streaming markdown into atomic units at blank lines that are
41
+ * provably block boundaries. A blank line does NOT split when:
42
+ * - inside a fenced code block,
43
+ * - the next non-blank line is indented (loose-list / blockquote
44
+ * continuation cannot be ruled out),
45
+ * - the next non-blank line starts a list item or blockquote AND the
46
+ * previous unit ended in a list item or blockquote (loose list /
47
+ * multi-paragraph quote continuation).
48
+ * The FINAL unit is always the live tail (never memoizable).
49
+ *
50
+ * BLANK LINES COME FROM `isBlankLine` (utils/markdown-fences), never from
51
+ * `String.prototype.trim()`. This file is the THIRD consumer of that module
52
+ * (it already instantiates `createFenceTracker`) and makes exactly the
53
+ * CommonMark blank-line decision the helper was minted for, yet it kept four
54
+ * hand-rolled `trim() === ''` tests — so the module's "every blank-line test"
55
+ * SSOT claim was false here. `trim()` strips the full Unicode White_Space set
56
+ * (U+00A0 NBSP, U+000B VT, U+000C FF, U+FEFF BOM), none of which CommonMark
57
+ * treats as blank: `splitStreamingBlocks('foo\n<NBSP>\nbar\n\ntail')` returned
58
+ * THREE units where the non-blank filler control (`foo\nx\nbar\n\ntail`)
59
+ * returns TWO — one NBSP line cut a paragraph into two `ReactMarkdown` units on
60
+ * the STREAMING path, rendering two `<p>` where the non-streaming and SEO twins
61
+ * render one. Not a security hole (the fence tracker and `htmlBlocksCut` still
62
+ * gate the cut), but a live divergence. It survived because the swallow sweep
63
+ * drove only `SimpleMarkdownRenderer`; the sweep now drives this splitter too,
64
+ * in both the exotic-blank and CRLF spellings.
65
+ */
66
+ export declare function splitStreamingBlocks(content: string): StreamingBlock[];
67
+ /**
68
+ * Auto-close an unterminated fenced code block at the streaming tail so the
69
+ * half-open fence doesn't flip the rest of the message into code while
70
+ * tokens arrive.
71
+ *
72
+ * Uses the SAME scanner as `splitStreamingBlocks` (never a parallel
73
+ * fence-count heuristic — a naive count treats ``` and ~~~ as
74
+ * interchangeable and appends a spurious closer to `` ```\n~~~\n``` ``),
75
+ * and appends the RECORDED opener so a `~~~` block is closed with `~~~`.
76
+ */
77
+ export declare function completeStreamingTail(content: string): string;
78
+ //# sourceMappingURL=streaming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/markdown/streaming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,WAAW,cAAc;IAC7B,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAA;IACZ,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAA;CACpB;AA2LD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,CAwFtE;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO7D"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Text-size presets for the unified markdown engine.
3
+ *
4
+ * `default` / `compact` / `large` are carried over verbatim from the old
5
+ * `SimpleMarkdownRenderer`. `article` is NEW — it reproduces the exact
6
+ * typography the old `RichMarkdownRenderer` hardcoded per element, so
7
+ * content surfaces (blog, case studies, releases, legal, docs) keep
8
+ * byte-identical classes through the unification.
9
+ *
10
+ * ODS-TOKENS FLAG (ODS_TOKEN_RULES §Typography / §General): the `article`
11
+ * preset carries raw px classes (`text-[32px] md:text-[40px] …`) because
12
+ * ODS currently has NO composite tokens for long-form prose — `text-h1`/
13
+ * `text-h2` are Azeret Mono UI-label scale and `text-h5` is uppercase,
14
+ * so mapping prose headings onto them would visibly regress articles.
15
+ * The `code` entry of EVERY preset (`text-[13px]` / `text-[14px]` /
16
+ * `text-[16px]`), not just `article`'s, is raw px for the same reason: ODS
17
+ * has no code/mono type scale. `base-components.tsx` carries the matching
18
+ * flag for inline code's `text-[0.9em]` (the mono FAMILY is no longer an
19
+ * exemption — both code surfaces now use `font-mono`).
20
+ * Per the unification plan, the missing prose- and code-typography tokens
21
+ * are FLAGGED here for addition to ODS; the raw-px carry-over is the
22
+ * documented, review-gated exemption recorded in the unification PR.
23
+ * Do NOT copy these px classes anywhere else.
24
+ */
25
+ export type TextSizeElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'li' | 'blockquote' | 'code' | 'th' | 'td';
26
+ export type TextSizeClassMap = Partial<Record<TextSizeElement, string>>;
27
+ export type TextSizePreset = 'default' | 'compact' | 'large' | 'article';
28
+ export type TextSizeConfig = TextSizePreset | TextSizeClassMap | {
29
+ preset: TextSizePreset;
30
+ overrides: TextSizeClassMap;
31
+ };
32
+ export declare const TEXT_SIZE_PRESETS: Record<TextSizePreset, Record<TextSizeElement, string>>;
33
+ export declare function resolveTextSizeConfig(config?: TextSizeConfig): Record<TextSizeElement, string>;
34
+ //# sourceMappingURL=text-size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-size.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/markdown/text-size.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,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,GAAG,SAAS,CAAC;AACzE,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,gBAAgB,GAChB;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE5D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CA6DrF,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAM9F"}
@@ -19,6 +19,14 @@ export interface ChatRuntime {
19
19
  listEngagementsUrl?: string;
20
20
  /** GET slash-command catalog. Hub: '/api/docs/commands'. */
21
21
  commandsUrl: string;
22
+ /** GET server-side conversation history (`?conversationId=<id>`) — the
23
+ * chat panel's mount-time hydration read against the server transcript
24
+ * store (localStorage keeps only the server-issued conversation id).
25
+ * OPTIONAL — defaults to `<chatStreamUrl>/history`, which is correct for
26
+ * same-origin hosts AND for reverse-proxy embedders (the proxied chat
27
+ * prefix covers it). Set explicitly only when the history route lives
28
+ * elsewhere. */
29
+ chatHistoryUrl?: string;
22
30
  /** GET RAG-search endpoint behind `<DocSearchBar>` (the in-source search
23
31
  * bar mounted by `<DocViewer>` / `<DocsHubPage>` when `showAIChat` is on).
24
32
  * Hub: '/api/docs/search'. OPTIONAL — falls back to the hub path so
@@ -1 +1 @@
1
- {"version":3,"file":"chat-runtime-context.d.ts","sourceRoot":"","sources":["../../src/contexts/chat-runtime-context.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE9D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE;QACT,kDAAkD;QAClD,aAAa,EAAE,MAAM,CAAA;QACrB,sEAAsE;QACtE,eAAe,EAAE,MAAM,CAAA;QACvB;;;;;+DAKuD;QACvD,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,4DAA4D;QAC5D,WAAW,EAAE,MAAM,CAAA;QACnB;;;;;iFAKyE;QACzE,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB;;;;;qFAK6E;QAC7E,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B;;;;;;;;qFAQ6E;QAC7E,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB;;;;;;;6DAOqD;QACrD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;QAC3C;;;sEAG8D;QAC9D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,MAAM,GAAG,IAAI,CAAA;QAC5D;;;;;;;;;;;;;;;;2EAgBmE;QACnE,mBAAmB,EAAE,MAAM,CAAA;QAC3B,uBAAuB,EAAE,MAAM,CAAA;QAC/B,WAAW,EAAE,MAAM,CAAA;QACnB;;;;uDAI+C;QAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B;;;oCAG4B;QAC5B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;QAChC;;;;;;;;;;;;;;;kFAe0E;QAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB;;;;;+CAKuC;QACvC,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAC/B,CAAA;IACD,UAAU,EAAE;QACV;;;;;2CAKmC;QACnC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;QACtB;;;;;kEAK0D;QAC1D,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAC7B;;2EAEmE;QACnE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;QACrC;;;;;2DAKmD;QACnD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,KAAK,OAAO,GAAG,IAAI,CAAA;QAC5G;;;;kEAI0D;QAC1D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,KAAK,OAAO,CAAA;KACnF,CAAA;IACD;;;;;;;;;;;;;;;;;;4CAkBwC;IACxC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;;;;;;uFAQmF;IACnF,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC3E;;;;;;;;;;qCAUiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;CAQhB;AAED,eAAO,MAAM,kBAAkB,6CAA0C,CAAA;AAEzE;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,WAAW,CAapD"}
1
+ {"version":3,"file":"chat-runtime-context.d.ts","sourceRoot":"","sources":["../../src/contexts/chat-runtime-context.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE9D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE;QACT,kDAAkD;QAClD,aAAa,EAAE,MAAM,CAAA;QACrB,sEAAsE;QACtE,eAAe,EAAE,MAAM,CAAA;QACvB;;;;;+DAKuD;QACvD,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,4DAA4D;QAC5D,WAAW,EAAE,MAAM,CAAA;QACnB;;;;;;yBAMiB;QACjB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB;;;;;iFAKyE;QACzE,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB;;;;;qFAK6E;QAC7E,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B;;;;;;;;qFAQ6E;QAC7E,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB;;;;;;;6DAOqD;QACrD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;QAC3C;;;sEAG8D;QAC9D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,MAAM,GAAG,IAAI,CAAA;QAC5D;;;;;;;;;;;;;;;;2EAgBmE;QACnE,mBAAmB,EAAE,MAAM,CAAA;QAC3B,uBAAuB,EAAE,MAAM,CAAA;QAC/B,WAAW,EAAE,MAAM,CAAA;QACnB;;;;uDAI+C;QAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B;;;oCAG4B;QAC5B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;QAChC;;;;;;;;;;;;;;;kFAe0E;QAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB;;;;;+CAKuC;QACvC,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAC/B,CAAA;IACD,UAAU,EAAE;QACV;;;;;2CAKmC;QACnC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;QACtB;;;;;kEAK0D;QAC1D,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAC7B;;2EAEmE;QACnE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;QACrC;;;;;2DAKmD;QACnD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,KAAK,OAAO,GAAG,IAAI,CAAA;QAC5G;;;;kEAI0D;QAC1D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,KAAK,OAAO,CAAA;KACnF,CAAA;IACD;;;;;;;;;;;;;;;;;;4CAkBwC;IACxC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;;;;;;uFAQmF;IACnF,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC3E;;;;;;;;;;qCAUiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;CAQhB;AAED,eAAO,MAAM,kBAAkB,6CAA0C,CAAA;AAEzE;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,WAAW,CAapD"}
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- var _chunk2B6773QMcjs = require('../chunk-2B6773QM.cjs');
9
+ var _chunkLILQJ3UZcjs = require('../chunk-LILQJ3UZ.cjs');
10
10
  require('../chunk-VRHGVLSL.cjs');
11
11
 
12
12
  // src/contexts/use-outer-or-default.ts
@@ -24,5 +24,5 @@ function useOuterOrDefault(context, factory, deps = []) {
24
24
 
25
25
 
26
26
 
27
- exports.ChatRuntimeContext = _chunk2B6773QMcjs.ChatRuntimeContext; exports.EndpointsRuntimeContext = _chunk2B6773QMcjs.EndpointsRuntimeContext; exports.useChatRuntime = _chunk2B6773QMcjs.useChatRuntime; exports.useEndpointsRuntime = _chunk2B6773QMcjs.useEndpointsRuntime; exports.useOuterOrDefault = useOuterOrDefault; exports.useRequiredChatRuntime = _chunk2B6773QMcjs.useRequiredChatRuntime; exports.useRequiredEndpointsRuntime = _chunk2B6773QMcjs.useRequiredEndpointsRuntime;
27
+ exports.ChatRuntimeContext = _chunkLILQJ3UZcjs.ChatRuntimeContext; exports.EndpointsRuntimeContext = _chunkLILQJ3UZcjs.EndpointsRuntimeContext; exports.useChatRuntime = _chunkLILQJ3UZcjs.useChatRuntime; exports.useEndpointsRuntime = _chunkLILQJ3UZcjs.useEndpointsRuntime; exports.useOuterOrDefault = useOuterOrDefault; exports.useRequiredChatRuntime = _chunkLILQJ3UZcjs.useRequiredChatRuntime; exports.useRequiredEndpointsRuntime = _chunkLILQJ3UZcjs.useRequiredEndpointsRuntime;
28
28
  //# sourceMappingURL=index.cjs.map
@@ -6,7 +6,7 @@ import {
6
6
  useEndpointsRuntime,
7
7
  useRequiredChatRuntime,
8
8
  useRequiredEndpointsRuntime
9
- } from "../chunk-KFQXO7QB.js";
9
+ } from "../chunk-6GT557KN.js";
10
10
  import "../chunk-GGWZFCYS.js";
11
11
 
12
12
  // src/contexts/use-outer-or-default.ts
@@ -68,9 +68,9 @@
68
68
 
69
69
 
70
70
 
71
- var _chunkA7IPON2Vcjs = require('../chunk-A7IPON2V.cjs');
71
+ var _chunkBIKOJ4FHcjs = require('../chunk-BIKOJ4FH.cjs');
72
72
  require('../chunk-BGD345ZV.cjs');
73
- require('../chunk-2B6773QM.cjs');
73
+ require('../chunk-LILQJ3UZ.cjs');
74
74
  require('../chunk-SSJNN5BS.cjs');
75
75
  require('../chunk-WZW7C7TF.cjs');
76
76
  require('../chunk-OB7YDOTK.cjs');
@@ -147,5 +147,5 @@ require('../chunk-VRHGVLSL.cjs');
147
147
 
148
148
 
149
149
 
150
- exports.GraphQLIntrospector = _chunkA7IPON2Vcjs.GraphQLIntrospector; exports.NEAR_VIEWPORT_ROOT_MARGIN = _chunkA7IPON2Vcjs.NEAR_VIEWPORT_ROOT_MARGIN; exports.batchFetchAuthenticatedImages = _chunkA7IPON2Vcjs.batchFetchAuthenticatedImages; exports.breakpoints = _chunkA7IPON2Vcjs.breakpoints; exports.clearAuthedImageCache = _chunkA7IPON2Vcjs.clearAuthedImageCache; exports.clearVariablesParams = _chunkA7IPON2Vcjs.clearParams; exports.coerceValue = _chunkA7IPON2Vcjs.coerceValue; exports.configureAuthenticatedImage = _chunkA7IPON2Vcjs.configureAuthenticatedImage; exports.configureBatchImageFetch = _chunkA7IPON2Vcjs.configureBatchImageFetch; exports.createSearchParams = _chunkA7IPON2Vcjs.createSearchParams; exports.extractVariablesFromQuery = _chunkA7IPON2Vcjs.extractVariablesFromQuery; exports.flattenQueryVariables = _chunkA7IPON2Vcjs.flattenQueryVariables; exports.getArrayParams = _chunkA7IPON2Vcjs.getArrayParams; exports.getNestedValue = _chunkA7IPON2Vcjs.getNestedValue; exports.getRequiredParams = _chunkA7IPON2Vcjs.getRequiredParams; exports.introspector = _chunkA7IPON2Vcjs.introspector; exports.isInputObjectType = _chunkA7IPON2Vcjs.isInputObjectType; exports.isScalarType = _chunkA7IPON2Vcjs.isScalarType; exports.mergeDefaults = _chunkA7IPON2Vcjs.mergeDefaults; exports.mergeVariables = _chunkA7IPON2Vcjs.mergeVariables; exports.setNestedValue = _chunkA7IPON2Vcjs.setNestedValue; exports.shouldIncludeInUrl = _chunkA7IPON2Vcjs.shouldIncludeInUrl; exports.toast = _chunkA7IPON2Vcjs.toast; exports.urlParamsToVariables = _chunkA7IPON2Vcjs.urlParamsToVariables; exports.useAccessCodeIntegration = _chunkA7IPON2Vcjs.useAccessCodeIntegration; exports.useApiParams = _chunkA7IPON2Vcjs.useApiParams; exports.useAuthedImageSrc = _chunkA7IPON2Vcjs.useAuthedImageSrc; exports.useAuthenticatedImage = _chunkA7IPON2Vcjs.useAuthenticatedImage; exports.useAutoLimitTags = _chunkA7IPON2Vcjs.useAutoLimitTags; exports.useBatchImages = _chunkA7IPON2Vcjs.useBatchImages; exports.useContactSubmission = _chunkA7IPON2Vcjs.useContactSubmission; exports.useCopyToClipboard = _chunkA7IPON2Vcjs.useCopyToClipboard; exports.useCursorPaginationState = _chunkA7IPON2Vcjs.useCursorPaginationState; exports.useDebounce = _chunkA7IPON2Vcjs.useDebounce; exports.useDeferredError = _chunkA7IPON2Vcjs.useDeferredError; exports.useFocusTrap = _chunkA7IPON2Vcjs.useFocusTrap; exports.useHeaderHeight = _chunkA7IPON2Vcjs.useHeaderHeight; exports.useHorizontalScrollbar = _chunkA7IPON2Vcjs.useHorizontalScrollbar; exports.useHumanitySignals = _chunkA7IPON2Vcjs.useHumanitySignals; exports.useImageEdgeColor = _chunkA7IPON2Vcjs.useImageEdgeColor; exports.useLgUp = _chunkA7IPON2Vcjs.useLgUp; exports.useLocalStorage = _chunkA7IPON2Vcjs.useLocalStorage; exports.useMarqueeEngine = _chunkA7IPON2Vcjs.useMarqueeEngine; exports.useMdUp = _chunkA7IPON2Vcjs.useMdUp; exports.useMediaQuery = _chunkA7IPON2Vcjs.useMediaQuery; exports.useMemoizedCallback = _chunkA7IPON2Vcjs.useMemoizedCallback; exports.useNatsClient = _chunkA7IPON2Vcjs.useNatsClient; exports.useNearViewport = _chunkA7IPON2Vcjs.useNearViewport; exports.useNotificationPermission = _chunkA7IPON2Vcjs.useNotificationPermission; exports.useOgPlaceholderUrl = _chunkA7IPON2Vcjs.useOgPlaceholderUrl; exports.useOnboardingState = _chunkA7IPON2Vcjs.useOnboardingState; exports.usePlatformByValue = _chunkA7IPON2Vcjs.usePlatformByValue; exports.usePlatformConfig = _chunkA7IPON2Vcjs.usePlatformConfig; exports.usePreventScroll = _chunkA7IPON2Vcjs.usePreventScroll; exports.useQueryParams = _chunkA7IPON2Vcjs.useQueryParams; exports.useResetOnPageHidden = _chunkA7IPON2Vcjs.useResetOnPageHidden; exports.useScrollToHash = _chunkA7IPON2Vcjs.useScrollToHash; exports.useSearch = _chunkA7IPON2Vcjs.useSearch; exports.useSmUp = _chunkA7IPON2Vcjs.useSmUp; exports.useSuppressCloneFocus = _chunkA7IPON2Vcjs.useSuppressCloneFocus; exports.useTablePagination = _chunkA7IPON2Vcjs.useTablePagination; exports.useThrottle = _chunkA7IPON2Vcjs.useThrottle; exports.useToast = _chunkA7IPON2Vcjs.useToast; exports.useValidatePlatform = _chunkA7IPON2Vcjs.useValidatePlatform; exports.useWindowSize = _chunkA7IPON2Vcjs.useWindowSize; exports.validateSchema = _chunkA7IPON2Vcjs.validateSchema; exports.validateVariables = _chunkA7IPON2Vcjs.validateVariables; exports.variablesToUrlParams = _chunkA7IPON2Vcjs.variablesToUrlParams;
150
+ exports.GraphQLIntrospector = _chunkBIKOJ4FHcjs.GraphQLIntrospector; exports.NEAR_VIEWPORT_ROOT_MARGIN = _chunkBIKOJ4FHcjs.NEAR_VIEWPORT_ROOT_MARGIN; exports.batchFetchAuthenticatedImages = _chunkBIKOJ4FHcjs.batchFetchAuthenticatedImages; exports.breakpoints = _chunkBIKOJ4FHcjs.breakpoints; exports.clearAuthedImageCache = _chunkBIKOJ4FHcjs.clearAuthedImageCache; exports.clearVariablesParams = _chunkBIKOJ4FHcjs.clearParams; exports.coerceValue = _chunkBIKOJ4FHcjs.coerceValue; exports.configureAuthenticatedImage = _chunkBIKOJ4FHcjs.configureAuthenticatedImage; exports.configureBatchImageFetch = _chunkBIKOJ4FHcjs.configureBatchImageFetch; exports.createSearchParams = _chunkBIKOJ4FHcjs.createSearchParams; exports.extractVariablesFromQuery = _chunkBIKOJ4FHcjs.extractVariablesFromQuery; exports.flattenQueryVariables = _chunkBIKOJ4FHcjs.flattenQueryVariables; exports.getArrayParams = _chunkBIKOJ4FHcjs.getArrayParams; exports.getNestedValue = _chunkBIKOJ4FHcjs.getNestedValue; exports.getRequiredParams = _chunkBIKOJ4FHcjs.getRequiredParams; exports.introspector = _chunkBIKOJ4FHcjs.introspector; exports.isInputObjectType = _chunkBIKOJ4FHcjs.isInputObjectType; exports.isScalarType = _chunkBIKOJ4FHcjs.isScalarType; exports.mergeDefaults = _chunkBIKOJ4FHcjs.mergeDefaults; exports.mergeVariables = _chunkBIKOJ4FHcjs.mergeVariables; exports.setNestedValue = _chunkBIKOJ4FHcjs.setNestedValue; exports.shouldIncludeInUrl = _chunkBIKOJ4FHcjs.shouldIncludeInUrl; exports.toast = _chunkBIKOJ4FHcjs.toast; exports.urlParamsToVariables = _chunkBIKOJ4FHcjs.urlParamsToVariables; exports.useAccessCodeIntegration = _chunkBIKOJ4FHcjs.useAccessCodeIntegration; exports.useApiParams = _chunkBIKOJ4FHcjs.useApiParams; exports.useAuthedImageSrc = _chunkBIKOJ4FHcjs.useAuthedImageSrc; exports.useAuthenticatedImage = _chunkBIKOJ4FHcjs.useAuthenticatedImage; exports.useAutoLimitTags = _chunkBIKOJ4FHcjs.useAutoLimitTags; exports.useBatchImages = _chunkBIKOJ4FHcjs.useBatchImages; exports.useContactSubmission = _chunkBIKOJ4FHcjs.useContactSubmission; exports.useCopyToClipboard = _chunkBIKOJ4FHcjs.useCopyToClipboard; exports.useCursorPaginationState = _chunkBIKOJ4FHcjs.useCursorPaginationState; exports.useDebounce = _chunkBIKOJ4FHcjs.useDebounce; exports.useDeferredError = _chunkBIKOJ4FHcjs.useDeferredError; exports.useFocusTrap = _chunkBIKOJ4FHcjs.useFocusTrap; exports.useHeaderHeight = _chunkBIKOJ4FHcjs.useHeaderHeight; exports.useHorizontalScrollbar = _chunkBIKOJ4FHcjs.useHorizontalScrollbar; exports.useHumanitySignals = _chunkBIKOJ4FHcjs.useHumanitySignals; exports.useImageEdgeColor = _chunkBIKOJ4FHcjs.useImageEdgeColor; exports.useLgUp = _chunkBIKOJ4FHcjs.useLgUp; exports.useLocalStorage = _chunkBIKOJ4FHcjs.useLocalStorage; exports.useMarqueeEngine = _chunkBIKOJ4FHcjs.useMarqueeEngine; exports.useMdUp = _chunkBIKOJ4FHcjs.useMdUp; exports.useMediaQuery = _chunkBIKOJ4FHcjs.useMediaQuery; exports.useMemoizedCallback = _chunkBIKOJ4FHcjs.useMemoizedCallback; exports.useNatsClient = _chunkBIKOJ4FHcjs.useNatsClient; exports.useNearViewport = _chunkBIKOJ4FHcjs.useNearViewport; exports.useNotificationPermission = _chunkBIKOJ4FHcjs.useNotificationPermission; exports.useOgPlaceholderUrl = _chunkBIKOJ4FHcjs.useOgPlaceholderUrl; exports.useOnboardingState = _chunkBIKOJ4FHcjs.useOnboardingState; exports.usePlatformByValue = _chunkBIKOJ4FHcjs.usePlatformByValue; exports.usePlatformConfig = _chunkBIKOJ4FHcjs.usePlatformConfig; exports.usePreventScroll = _chunkBIKOJ4FHcjs.usePreventScroll; exports.useQueryParams = _chunkBIKOJ4FHcjs.useQueryParams; exports.useResetOnPageHidden = _chunkBIKOJ4FHcjs.useResetOnPageHidden; exports.useScrollToHash = _chunkBIKOJ4FHcjs.useScrollToHash; exports.useSearch = _chunkBIKOJ4FHcjs.useSearch; exports.useSmUp = _chunkBIKOJ4FHcjs.useSmUp; exports.useSuppressCloneFocus = _chunkBIKOJ4FHcjs.useSuppressCloneFocus; exports.useTablePagination = _chunkBIKOJ4FHcjs.useTablePagination; exports.useThrottle = _chunkBIKOJ4FHcjs.useThrottle; exports.useToast = _chunkBIKOJ4FHcjs.useToast; exports.useValidatePlatform = _chunkBIKOJ4FHcjs.useValidatePlatform; exports.useWindowSize = _chunkBIKOJ4FHcjs.useWindowSize; exports.validateSchema = _chunkBIKOJ4FHcjs.validateSchema; exports.validateVariables = _chunkBIKOJ4FHcjs.validateVariables; exports.variablesToUrlParams = _chunkBIKOJ4FHcjs.variablesToUrlParams;
151
151
  //# sourceMappingURL=index.cjs.map
@@ -68,9 +68,9 @@ import {
68
68
  validateSchema,
69
69
  validateVariables,
70
70
  variablesToUrlParams
71
- } from "../chunk-KLYHZRAD.js";
71
+ } from "../chunk-PB3BTZDU.js";
72
72
  import "../chunk-OYGFWWLQ.js";
73
- import "../chunk-KFQXO7QB.js";
73
+ import "../chunk-6GT557KN.js";
74
74
  import "../chunk-ZJJERZUA.js";
75
75
  import "../chunk-6U3IUD57.js";
76
76
  import "../chunk-SZMA65OW.js";