@flamingo-stack/openframe-frontend-core 0.0.705 → 0.0.706-snapshot.20261006181108

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 (208) hide show
  1. package/dist/chat-protocol/index.cjs +23 -14
  2. package/dist/chat-protocol/index.js +23 -14
  3. package/dist/chat-protocol/nats-decoder.d.ts.map +1 -1
  4. package/dist/chat-protocol/source-metadata.d.ts +11 -2
  5. package/dist/chat-protocol/source-metadata.d.ts.map +1 -1
  6. package/dist/{chunk-QFXRPRFT.js → chunk-2YHNQAMU.js} +3 -3
  7. package/dist/{chunk-YHM5AWTT.js → chunk-3FZP73R4.js} +6 -6
  8. package/dist/{chunk-VR2ZLFCP.js → chunk-4IBPRIQH.js} +1 -1
  9. package/dist/{chunk-AQWZNP6A.js → chunk-4RVC6TCE.js} +4 -4
  10. package/dist/{chunk-OUY3HHW6.cjs → chunk-4UMOD5NU.cjs} +928 -539
  11. package/dist/{chunk-IKTQ3ZAG.cjs → chunk-54L6NMKQ.cjs} +6 -6
  12. package/dist/{chunk-A75QY6CD.cjs → chunk-56LOCS37.cjs} +21 -21
  13. package/dist/{chunk-WA6GUYQ4.cjs → chunk-5CMYEGHE.cjs} +104 -104
  14. package/dist/{chunk-VA5T32XA.js → chunk-632NGOIH.js} +2 -2
  15. package/dist/{chunk-MMOODW57.cjs → chunk-6NTPY5QA.cjs} +1887 -94
  16. package/dist/{chunk-VESKITRQ.cjs → chunk-7XVBJDH7.cjs} +728 -732
  17. package/dist/{chunk-3MX5S4CF.cjs → chunk-AGNG62O2.cjs} +905 -2564
  18. package/dist/{chunk-ZSAO2HBW.js → chunk-BETJB7UV.js} +15 -15
  19. package/dist/{chunk-MP2C3LJ4.js → chunk-CUME3VTQ.js} +1 -1
  20. package/dist/{chunk-PDWVPI3S.js → chunk-CZ7Y7UG4.js} +4 -72
  21. package/dist/{chunk-F6I6XZMN.js → chunk-E2TQZIOJ.js} +5 -5
  22. package/dist/{chunk-X5MQ7JRP.js → chunk-ECXW3RIH.js} +9 -9
  23. package/dist/{chunk-JEZKGCZI.cjs → chunk-EUSDLX5W.cjs} +26 -26
  24. package/dist/{chunk-6NJKKO73.cjs → chunk-F4E3L3KV.cjs} +15 -15
  25. package/dist/{chunk-MFFCUVWG.js → chunk-F57ECE2I.js} +1 -1
  26. package/dist/{chunk-F6AFPNDF.js → chunk-FBY4V3YS.js} +15 -15
  27. package/dist/{chunk-CH5232HV.js → chunk-FI6GMDO7.js} +2455 -662
  28. package/dist/{chunk-NDESEPW5.js → chunk-FXJ3WWUB.js} +68 -0
  29. package/dist/{chunk-FCGC42TS.js → chunk-HTBN3XYF.js} +57 -61
  30. package/dist/{chunk-ZSAGLQOD.cjs → chunk-I43ZVJRL.cjs} +17 -17
  31. package/dist/{chunk-7VVFKJY5.js → chunk-IBQZMRWO.js} +1796 -3455
  32. package/dist/{chunk-4KX6OED2.cjs → chunk-JFSLQ2XS.cjs} +46 -46
  33. package/dist/{chunk-5HBHO5TB.js → chunk-JPG7OHEG.js} +1 -1
  34. package/dist/{chunk-MKXO4Q5P.js → chunk-KUC673HM.js} +383 -142
  35. package/dist/{chunk-4I45Y3DN.cjs → chunk-L3Q7R7CQ.cjs} +6 -6
  36. package/dist/{chunk-X72J4ACL.cjs → chunk-LLSUVPQC.cjs} +252 -8
  37. package/dist/{chunk-RKV5B7EU.cjs → chunk-LM7TXMLU.cjs} +72 -4
  38. package/dist/{chunk-PN2RKPDF.js → chunk-LSQPH73L.js} +10 -10
  39. package/dist/{chunk-HPWWNJE7.cjs → chunk-MY3JYZQY.cjs} +89 -89
  40. package/dist/{chunk-2YXVWZVF.js → chunk-N45D4ZXQ.js} +959 -715
  41. package/dist/{chunk-Z2VNQQ74.js → chunk-NCPTID44.js} +978 -942
  42. package/dist/{chunk-KOWVJD4V.cjs → chunk-O6WNIA6W.cjs} +56 -56
  43. package/dist/{chunk-ABU3TGXA.cjs → chunk-OF6GEI5A.cjs} +3 -3
  44. package/dist/{chunk-OHFS7VOU.cjs → chunk-PLYEKV3N.cjs} +2 -2
  45. package/dist/{chunk-VHCACDKP.cjs → chunk-RQRX4YC3.cjs} +39 -39
  46. package/dist/{chunk-DW7G4KG3.js → chunk-RZNRVXHH.js} +3 -3
  47. package/dist/{chunk-G5A3PSPV.js → chunk-SGJP2WKD.js} +1080 -691
  48. package/dist/{chunk-7LS22BZU.cjs → chunk-STXYW25T.cjs} +14 -14
  49. package/dist/{chunk-YFBM2K6X.cjs → chunk-TB5EDWRC.cjs} +4 -4
  50. package/dist/{chunk-RBDP4WDE.js → chunk-U6BWEKJC.js} +6 -6
  51. package/dist/{chunk-XOYH2YQE.cjs → chunk-UDFRUKLC.cjs} +2 -2
  52. package/dist/{chunk-TYWLNCNH.cjs → chunk-UVTD52MD.cjs} +14 -82
  53. package/dist/{chunk-N3COXDBH.cjs → chunk-VX4E6YSB.cjs} +41 -5
  54. package/dist/{chunk-2QEUFXNS.cjs → chunk-WCVZCGK5.cjs} +312 -71
  55. package/dist/{chunk-6XIF2Z7I.js → chunk-WMX26HB5.js} +3 -3
  56. package/dist/{chunk-IHERL5V4.cjs → chunk-WXAT5C4C.cjs} +34 -34
  57. package/dist/{chunk-D7BTSVMS.cjs → chunk-Y2GSOUCS.cjs} +2 -2
  58. package/dist/{chunk-6SEANMOU.js → chunk-Y5VSOYPS.js} +11 -11
  59. package/dist/{chunk-DENB2XJC.js → chunk-YQWTGQG5.js} +2 -2
  60. package/dist/components/case-studies/index.cjs +30 -32
  61. package/dist/components/case-studies/index.js +14 -16
  62. package/dist/components/chat/entity-cards/case-study-card.d.ts +11 -4
  63. package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
  64. package/dist/components/chat/index.cjs +9 -11
  65. package/dist/components/chat/index.js +14 -16
  66. package/dist/components/chat/types/message.types.d.ts +20 -16
  67. package/dist/components/chat/types/message.types.d.ts.map +1 -1
  68. package/dist/components/chat/types/unified-chat-state.types.d.ts +1 -1
  69. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  70. package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
  71. package/dist/components/contact/index.cjs +12 -14
  72. package/dist/components/contact/index.js +11 -13
  73. package/dist/components/docs/index.cjs +15 -17
  74. package/dist/components/docs/index.js +14 -16
  75. package/dist/components/embeds/index.cjs +12 -14
  76. package/dist/components/embeds/index.js +11 -13
  77. package/dist/components/faq/index.cjs +13 -15
  78. package/dist/components/faq/index.js +12 -14
  79. package/dist/components/features/index.cjs +12 -14
  80. package/dist/components/features/index.js +21 -23
  81. package/dist/components/help-center-pages/index.cjs +118 -120
  82. package/dist/components/help-center-pages/index.js +33 -35
  83. package/dist/components/icons/index.cjs +3 -5
  84. package/dist/components/icons/index.js +9 -11
  85. package/dist/components/icons-v2-generated/index.cjs +3 -5
  86. package/dist/components/icons-v2-generated/index.js +2 -4
  87. package/dist/components/index.cjs +86 -159
  88. package/dist/components/index.d.ts +0 -2
  89. package/dist/components/index.d.ts.map +1 -1
  90. package/dist/components/index.js +329 -402
  91. package/dist/components/loading/page-layout-skeleton.d.ts +1 -1
  92. package/dist/components/meeting-scheduler/index.cjs +62 -64
  93. package/dist/components/meeting-scheduler/index.js +12 -14
  94. package/dist/components/navigation/index.cjs +28 -16
  95. package/dist/components/navigation/index.d.ts +14 -10
  96. package/dist/components/navigation/index.d.ts.map +1 -1
  97. package/dist/components/navigation/index.js +38 -26
  98. package/dist/components/navigation/mingo-ai-button.d.ts +38 -3
  99. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  100. package/dist/components/navigation/mobile-nav-sheet-id.d.ts +3 -0
  101. package/dist/components/navigation/mobile-nav-sheet-id.d.ts.map +1 -0
  102. package/dist/components/navigation/mobile-nav-sheet.d.ts +48 -0
  103. package/dist/components/navigation/mobile-nav-sheet.d.ts.map +1 -0
  104. package/dist/components/navigation/nav-item-row.d.ts +27 -0
  105. package/dist/components/navigation/nav-item-row.d.ts.map +1 -0
  106. package/dist/components/navigation/nav-panel.d.ts +43 -0
  107. package/dist/components/navigation/nav-panel.d.ts.map +1 -0
  108. package/dist/components/navigation/navigation-sidebar-item.d.ts +1 -2
  109. package/dist/components/navigation/navigation-sidebar-item.d.ts.map +1 -1
  110. package/dist/components/navigation/site-footer.d.ts +28 -0
  111. package/dist/components/navigation/site-footer.d.ts.map +1 -0
  112. package/dist/components/navigation/site-header.d.ts +61 -0
  113. package/dist/components/navigation/site-header.d.ts.map +1 -0
  114. package/dist/components/navigation/site-nav-link.d.ts +26 -0
  115. package/dist/components/navigation/site-nav-link.d.ts.map +1 -0
  116. package/dist/components/navigation/top-navigation.d.ts +2 -2
  117. package/dist/components/navigation/top-navigation.d.ts.map +1 -1
  118. package/dist/components/onboarding-guides/index.cjs +15 -17
  119. package/dist/components/onboarding-guides/index.js +14 -16
  120. package/dist/components/related-content/index.cjs +10 -8
  121. package/dist/components/related-content/index.js +9 -7
  122. package/dist/components/tickets/index.cjs +16 -18
  123. package/dist/components/tickets/index.js +15 -17
  124. package/dist/components/ui/index.cjs +12 -14
  125. package/dist/components/ui/index.js +17 -19
  126. package/dist/hooks/index.cjs +19 -11
  127. package/dist/hooks/index.d.ts +1 -0
  128. package/dist/hooks/index.d.ts.map +1 -1
  129. package/dist/hooks/index.js +19 -11
  130. package/dist/hooks/ui/index.d.ts +3 -0
  131. package/dist/hooks/ui/index.d.ts.map +1 -1
  132. package/dist/hooks/ui/use-active-section.d.ts +10 -0
  133. package/dist/hooks/ui/use-active-section.d.ts.map +1 -0
  134. package/dist/hooks/ui/use-nav-menus.d.ts +48 -0
  135. package/dist/hooks/ui/use-nav-menus.d.ts.map +1 -0
  136. package/dist/hooks/ui/use-visitor-os.d.ts +15 -0
  137. package/dist/hooks/ui/use-visitor-os.d.ts.map +1 -0
  138. package/dist/hooks/use-location-hash.d.ts +9 -0
  139. package/dist/hooks/use-location-hash.d.ts.map +1 -0
  140. package/dist/index.cjs +55 -22
  141. package/dist/index.js +229 -196
  142. package/dist/types/case-study.d.ts +9 -0
  143. package/dist/types/case-study.d.ts.map +1 -1
  144. package/dist/types/navigation.d.ts +95 -65
  145. package/dist/types/navigation.d.ts.map +1 -1
  146. package/dist/utils/index.cjs +55 -0
  147. package/dist/utils/index.d.ts +1 -0
  148. package/dist/utils/index.d.ts.map +1 -1
  149. package/dist/utils/index.js +50 -1
  150. package/dist/utils/source-icons.d.ts.map +1 -1
  151. package/dist/utils/visitor-os.d.ts +45 -0
  152. package/dist/utils/visitor-os.d.ts.map +1 -0
  153. package/package.json +1 -1
  154. package/src/chat-protocol/nats-decoder.ts +10 -8
  155. package/src/chat-protocol/source-metadata.ts +25 -2
  156. package/src/components/chat/entity-cards/case-study-card.tsx +115 -5
  157. package/src/components/chat/types/message.types.ts +21 -15
  158. package/src/components/chat/types/unified-chat-state.types.ts +1 -1
  159. package/src/components/chat/utils/icon-library.tsx +35 -1
  160. package/src/components/chat/utils/process-historical-messages.ts +12 -4
  161. package/src/components/index.ts +0 -2
  162. package/src/components/loading/page-layout-skeleton.tsx +1 -1
  163. package/src/components/navigation/index.ts +21 -14
  164. package/src/components/navigation/mingo-ai-button.tsx +139 -63
  165. package/src/components/navigation/mobile-nav-sheet-id.ts +2 -0
  166. package/src/components/navigation/mobile-nav-sheet.tsx +241 -0
  167. package/src/components/navigation/nav-item-row.tsx +129 -0
  168. package/src/components/navigation/nav-panel.tsx +196 -0
  169. package/src/components/navigation/navigation-sidebar-item.tsx +1 -2
  170. package/src/components/navigation/site-footer.tsx +256 -0
  171. package/src/components/navigation/site-header.tsx +339 -0
  172. package/src/components/navigation/site-nav-link.tsx +41 -0
  173. package/src/components/navigation/ticket-alerts-button.tsx +2 -2
  174. package/src/components/navigation/top-navigation.tsx +2 -2
  175. package/src/hooks/index.ts +1 -0
  176. package/src/hooks/ui/index.ts +3 -0
  177. package/src/hooks/ui/use-active-section.ts +44 -0
  178. package/src/hooks/ui/use-nav-menus.ts +200 -0
  179. package/src/hooks/ui/use-visitor-os.ts +33 -0
  180. package/src/hooks/use-location-hash.ts +34 -0
  181. package/src/styles/chat-animations.css +57 -2
  182. package/src/types/case-study.ts +16 -0
  183. package/src/types/navigation.ts +80 -66
  184. package/src/utils/index.ts +1 -0
  185. package/src/utils/source-icons.ts +13 -0
  186. package/src/utils/visitor-os.ts +84 -0
  187. package/dist/chunk-LMBC5FFP.js +0 -43
  188. package/dist/chunk-O43V3EOS.js +0 -252
  189. package/dist/chunk-QZVSJF2K.cjs +0 -252
  190. package/dist/chunk-RALRPFDW.cjs +0 -43
  191. package/dist/components/footer-waitlist-button.d.ts +0 -29
  192. package/dist/components/footer-waitlist-button.d.ts.map +0 -1
  193. package/dist/components/footer.d.ts +0 -47
  194. package/dist/components/footer.d.ts.map +0 -1
  195. package/dist/components/navigation/client-only-header.d.ts +0 -8
  196. package/dist/components/navigation/client-only-header.d.ts.map +0 -1
  197. package/dist/components/navigation/header-skeleton.d.ts +0 -12
  198. package/dist/components/navigation/header-skeleton.d.ts.map +0 -1
  199. package/dist/components/navigation/header.d.ts +0 -9
  200. package/dist/components/navigation/header.d.ts.map +0 -1
  201. package/dist/components/navigation/mobile-nav-panel.d.ts +0 -10
  202. package/dist/components/navigation/mobile-nav-panel.d.ts.map +0 -1
  203. package/src/components/footer-waitlist-button.tsx +0 -53
  204. package/src/components/footer.tsx +0 -195
  205. package/src/components/navigation/client-only-header.tsx +0 -22
  206. package/src/components/navigation/header-skeleton.tsx +0 -74
  207. package/src/components/navigation/header.tsx +0 -429
  208. package/src/components/navigation/mobile-nav-panel.tsx +0 -155
@@ -308,15 +308,13 @@ var MESSAGE_TYPE = {
308
308
  TEXT: "TEXT",
309
309
  THINKING: "THINKING",
310
310
  ASK: "ASK",
311
- /** Per-answer source metadata (documents, videos, entity cards).
311
+ /** Per-answer attachments (cited documents, videos, entity cards).
312
312
  *
313
- * TWO names for ONE payload, on purpose. `SOURCES` is the contract the
314
- * backend is moving to; `GUIDE` is the envelope it ships in today, reused
315
- * from Guide Mode v2 so a released frontend keeps working during the v2→v3
316
- * rollout. Both decode through the same path, so dropping `GUIDE` later is a
317
- * deletion here and nothing else. */
313
+ * `ATTACHMENTS` carries `sources` / `videos` / `cards` on the record itself.
314
+ * `GUIDE` is the envelope it replaced — the same arrays under `payload` —
315
+ * and stays only until every backend ships `ATTACHMENTS`. */
316
+ ATTACHMENTS: "ATTACHMENTS",
318
317
  GUIDE: "GUIDE",
319
- SOURCES: "SOURCES",
320
318
  EXECUTING_TOOL: "EXECUTING_TOOL",
321
319
  EXECUTED_TOOL: "EXECUTED_TOOL",
322
320
  APPROVAL_REQUEST: "APPROVAL_REQUEST",
@@ -544,6 +542,16 @@ function sourceMetadataEvent(payload) {
544
542
  ...refs.length > 0 ? { refs } : {}
545
543
  };
546
544
  }
545
+ function withoutNulls(value) {
546
+ if (Array.isArray(value)) return value.map(withoutNulls);
547
+ if (!isRecord(value)) return value;
548
+ return Object.fromEntries(
549
+ Object.entries(value).filter(([, field]) => field !== null).map(([key, field]) => [key, withoutNulls(field)])
550
+ );
551
+ }
552
+ function attachmentsEvent(record) {
553
+ return sourceMetadataEvent(withoutNulls(record));
554
+ }
547
555
 
548
556
  // src/chat-protocol/nats-decoder.ts
549
557
  function str(value) {
@@ -610,13 +618,14 @@ function decodeNatsChunk(chunk) {
610
618
  return { type: "thinking-delta", text: data.text, ...seq };
611
619
  }
612
620
  return null;
613
- // Two chunk names, one payload and one decoder. `SOURCES` is the contract
614
- // the backend is moving to; `GUIDE` is the v2 envelope it ships in during
615
- // the rollout (see `MESSAGE_TYPE.GUIDE`). The chunk arrives BEFORE or
616
- // between the answer's text deltas, so the reducer — not this decoder —
617
- // owns attaching it to the right turn.
618
- case MESSAGE_TYPE.GUIDE:
619
- case MESSAGE_TYPE.SOURCES: {
621
+ // The chunk arrives BEFORE or between the answer's text deltas, so the
622
+ // reducer — not this decoder — owns attaching it to the right turn.
623
+ case MESSAGE_TYPE.ATTACHMENTS: {
624
+ const event = attachmentsEvent(data);
625
+ return event ? { ...event, ...seq } : null;
626
+ }
627
+ // The envelope `ATTACHMENTS` replaced (see `MESSAGE_TYPE.GUIDE`).
628
+ case MESSAGE_TYPE.GUIDE: {
620
629
  const event = sourceMetadataEvent(data.payload);
621
630
  return event ? { ...event, ...seq } : null;
622
631
  }
@@ -306,15 +306,13 @@ var MESSAGE_TYPE = {
306
306
  TEXT: "TEXT",
307
307
  THINKING: "THINKING",
308
308
  ASK: "ASK",
309
- /** Per-answer source metadata (documents, videos, entity cards).
309
+ /** Per-answer attachments (cited documents, videos, entity cards).
310
310
  *
311
- * TWO names for ONE payload, on purpose. `SOURCES` is the contract the
312
- * backend is moving to; `GUIDE` is the envelope it ships in today, reused
313
- * from Guide Mode v2 so a released frontend keeps working during the v2→v3
314
- * rollout. Both decode through the same path, so dropping `GUIDE` later is a
315
- * deletion here and nothing else. */
311
+ * `ATTACHMENTS` carries `sources` / `videos` / `cards` on the record itself.
312
+ * `GUIDE` is the envelope it replaced — the same arrays under `payload` —
313
+ * and stays only until every backend ships `ATTACHMENTS`. */
314
+ ATTACHMENTS: "ATTACHMENTS",
316
315
  GUIDE: "GUIDE",
317
- SOURCES: "SOURCES",
318
316
  EXECUTING_TOOL: "EXECUTING_TOOL",
319
317
  EXECUTED_TOOL: "EXECUTED_TOOL",
320
318
  APPROVAL_REQUEST: "APPROVAL_REQUEST",
@@ -542,6 +540,16 @@ function sourceMetadataEvent(payload) {
542
540
  ...refs.length > 0 ? { refs } : {}
543
541
  };
544
542
  }
543
+ function withoutNulls(value) {
544
+ if (Array.isArray(value)) return value.map(withoutNulls);
545
+ if (!isRecord(value)) return value;
546
+ return Object.fromEntries(
547
+ Object.entries(value).filter(([, field]) => field !== null).map(([key, field]) => [key, withoutNulls(field)])
548
+ );
549
+ }
550
+ function attachmentsEvent(record) {
551
+ return sourceMetadataEvent(withoutNulls(record));
552
+ }
545
553
 
546
554
  // src/chat-protocol/nats-decoder.ts
547
555
  function str(value) {
@@ -608,13 +616,14 @@ function decodeNatsChunk(chunk) {
608
616
  return { type: "thinking-delta", text: data.text, ...seq };
609
617
  }
610
618
  return null;
611
- // Two chunk names, one payload and one decoder. `SOURCES` is the contract
612
- // the backend is moving to; `GUIDE` is the v2 envelope it ships in during
613
- // the rollout (see `MESSAGE_TYPE.GUIDE`). The chunk arrives BEFORE or
614
- // between the answer's text deltas, so the reducer — not this decoder —
615
- // owns attaching it to the right turn.
616
- case MESSAGE_TYPE.GUIDE:
617
- case MESSAGE_TYPE.SOURCES: {
619
+ // The chunk arrives BEFORE or between the answer's text deltas, so the
620
+ // reducer — not this decoder — owns attaching it to the right turn.
621
+ case MESSAGE_TYPE.ATTACHMENTS: {
622
+ const event = attachmentsEvent(data);
623
+ return event ? { ...event, ...seq } : null;
624
+ }
625
+ // The envelope `ATTACHMENTS` replaced (see `MESSAGE_TYPE.GUIDE`).
626
+ case MESSAGE_TYPE.GUIDE: {
618
627
  const event = sourceMetadataEvent(data.payload);
619
628
  return event ? { ...event, ...seq } : null;
620
629
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nats-decoder.d.ts","sourceRoot":"","sources":["../../src/chat-protocol/nats-decoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAE5E,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,UAAU,CAAC;AAyClE;;wDAEwD;AACxD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,EAAE,CASjE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAuStE"}
1
+ {"version":3,"file":"nats-decoder.d.ts","sourceRoot":"","sources":["../../src/chat-protocol/nats-decoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAE5E,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,UAAU,CAAC;AAyClE;;wDAEwD;AACxD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,EAAE,CASjE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAyStE"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Source-metadata payload → `{ sources, refs }`.
3
3
  *
4
- * ONE decoder for two arrival paths: the live `GUIDE`/`SOURCES` NATS chunk and
5
- * the persisted row of the same name in dialog history. That is the whole point
4
+ * ONE decoder for two arrival paths: the live `ATTACHMENTS` NATS chunk and the
5
+ * persisted row of the same name in dialog history. That is the whole point
6
6
  * of putting it here rather than in either consumer — a reloaded thread has to
7
7
  * render identically to the live turn, and two parsers is exactly how that stops
8
8
  * being true.
@@ -46,6 +46,15 @@ export declare function youtubeVideoId(value: unknown): string | undefined;
46
46
  * an earlier chunk of the same turn had already supplied.
47
47
  */
48
48
  export declare function sourceMetadataEvent(payload: unknown): SourcesEvent | null;
49
+ /**
50
+ * Decode one typed `ATTACHMENTS` record — the live chunk or the persisted
51
+ * `AttachmentsData` row, which carry `sources` / `videos` / `cards` directly.
52
+ *
53
+ * GraphQL answers an unset field with `null` where the live chunk omits it, so
54
+ * nulls are read as absent: a reloaded source must not gain a
55
+ * `targetPlatform: null` ("no destination") the live one never carried.
56
+ */
57
+ export declare function attachmentsEvent(record: unknown): SourcesEvent | null;
49
58
  /** What one assistant answer carries: its citations and its expandable refs. */
50
59
  export interface SourceMetadata {
51
60
  sources?: ChatSource[];
@@ -1 +1 @@
1
- {"version":3,"file":"source-metadata.d.ts","sourceRoot":"","sources":["../../src/chat-protocol/source-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAsC7C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAkBjE;AAqMD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAYzE;AAED,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,EAAE,KAAK,EAAE,YAAY,GAAG,cAAc,CAcxG"}
1
+ {"version":3,"file":"source-metadata.d.ts","sourceRoot":"","sources":["../../src/chat-protocol/source-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAsC7C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAkBjE;AAqMD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAYzE;AAaD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAErE;AAED,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,EAAE,KAAK,EAAE,YAAY,GAAG,cAAc,CAcxG"}
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  createSseSubscription
4
- } from "./chunk-FCGC42TS.js";
4
+ } from "./chunk-HTBN3XYF.js";
5
5
  import {
6
6
  useChatIdentity
7
- } from "./chunk-7VVFKJY5.js";
7
+ } from "./chunk-IBQZMRWO.js";
8
8
  import {
9
9
  embedAuthedFetch
10
- } from "./chunk-NDESEPW5.js";
10
+ } from "./chunk-FXJ3WWUB.js";
11
11
  import {
12
12
  useChatRuntime
13
13
  } from "./chunk-E4ABZWTJ.js";
@@ -3,16 +3,16 @@ import {
3
3
  FileDownloadCard,
4
4
  GoogleSheetsViewer,
5
5
  PdfViewer
6
- } from "./chunk-RBDP4WDE.js";
6
+ } from "./chunk-U6BWEKJC.js";
7
7
  import {
8
8
  MobileNavigationDropdown,
9
9
  MultiLevelNavigation,
10
10
  StickySectionNav
11
- } from "./chunk-DENB2XJC.js";
11
+ } from "./chunk-YQWTGQG5.js";
12
12
  import {
13
13
  DocSearchBar,
14
14
  useDocSearch
15
- } from "./chunk-F6I6XZMN.js";
15
+ } from "./chunk-E2TQZIOJ.js";
16
16
  import {
17
17
  CategorySidebarSkeleton,
18
18
  DEFAULT_FOLDER_INDEX_FILE,
@@ -22,17 +22,17 @@ import {
22
22
  findDocNodeByPath,
23
23
  getDocAncestorNodeIds,
24
24
  stripFolderIndexFromPath
25
- } from "./chunk-FCGC42TS.js";
25
+ } from "./chunk-HTBN3XYF.js";
26
26
  import {
27
27
  contentFetch
28
- } from "./chunk-MP2C3LJ4.js";
28
+ } from "./chunk-CUME3VTQ.js";
29
29
  import {
30
30
  HUB_HEADER_OFFSET_PX,
31
31
  apiErrorMessage,
32
32
  getScrollableAncestor,
33
33
  navigateSamePageHash,
34
34
  scrollElementIntoView
35
- } from "./chunk-PDWVPI3S.js";
35
+ } from "./chunk-CZ7Y7UG4.js";
36
36
  import {
37
37
  useRouter
38
38
  } from "./chunk-GY4IZG22.js";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  contentFetch
4
- } from "./chunk-MP2C3LJ4.js";
4
+ } from "./chunk-CUME3VTQ.js";
5
5
 
6
6
  // src/hooks/use-self-fetch.ts
7
7
  import { useEffect, useRef, useState } from "react";
@@ -8,21 +8,21 @@ import {
8
8
  SelectTrigger,
9
9
  SelectValue,
10
10
  Textarea
11
- } from "./chunk-FCGC42TS.js";
11
+ } from "./chunk-HTBN3XYF.js";
12
12
  import {
13
13
  useContactSubmission,
14
14
  useHumanitySignals,
15
15
  useRescuedForm
16
- } from "./chunk-MKXO4Q5P.js";
16
+ } from "./chunk-KUC673HM.js";
17
17
  import {
18
18
  ChatAttachmentAddButton,
19
19
  ChatAttachmentChipStrip,
20
20
  useChatAttachments
21
- } from "./chunk-7VVFKJY5.js";
21
+ } from "./chunk-IBQZMRWO.js";
22
22
  import {
23
23
  SECTION_HEADING_CLASS,
24
24
  accentSentenceMarks
25
- } from "./chunk-CH5232HV.js";
25
+ } from "./chunk-FI6GMDO7.js";
26
26
  import {
27
27
  Input,
28
28
  Label,