@flamingo-stack/openframe-frontend-core 0.0.577 → 0.0.578-snapshot.20260831161155

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 (228) hide show
  1. package/dist/{chunk-XBSW7IF6.cjs → chunk-36TJYCF3.cjs} +27 -27
  2. package/dist/{chunk-XBSW7IF6.cjs.map → chunk-36TJYCF3.cjs.map} +1 -1
  3. package/dist/{chunk-ET3Q4FIZ.cjs → chunk-37XJYOAY.cjs} +17 -17
  4. package/dist/{chunk-ET3Q4FIZ.cjs.map → chunk-37XJYOAY.cjs.map} +1 -1
  5. package/dist/{chunk-4D2BR756.js → chunk-3AX3ZEY3.js} +53 -32
  6. package/dist/chunk-3AX3ZEY3.js.map +1 -0
  7. package/dist/{chunk-JQI726T3.js → chunk-3LMYQGAJ.js} +3 -2
  8. package/dist/chunk-3LMYQGAJ.js.map +1 -0
  9. package/dist/{chunk-XBBCUC32.cjs → chunk-4FJSN2XW.cjs} +15 -15
  10. package/dist/{chunk-XBBCUC32.cjs.map → chunk-4FJSN2XW.cjs.map} +1 -1
  11. package/dist/{chunk-RCLJSENK.cjs → chunk-4HGRXFQP.cjs} +6 -6
  12. package/dist/{chunk-RCLJSENK.cjs.map → chunk-4HGRXFQP.cjs.map} +1 -1
  13. package/dist/{chunk-NQCGDZJ3.cjs → chunk-4LZ7B5H5.cjs} +5 -5
  14. package/dist/{chunk-NQCGDZJ3.cjs.map → chunk-4LZ7B5H5.cjs.map} +1 -1
  15. package/dist/{chunk-IQFXDS5O.js → chunk-4WSKSNXL.js} +10 -10
  16. package/dist/{chunk-NEKT67O5.js → chunk-5Y6TPFW7.js} +6 -6
  17. package/dist/{chunk-XG2WNF4L.cjs → chunk-A6C5HOD7.cjs} +27 -27
  18. package/dist/{chunk-XG2WNF4L.cjs.map → chunk-A6C5HOD7.cjs.map} +1 -1
  19. package/dist/{chunk-AQ5MZVYN.js → chunk-AKPLEWMH.js} +3 -3
  20. package/dist/{chunk-HSOMYCUG.cjs → chunk-BCJQ7CJE.cjs} +13 -13
  21. package/dist/{chunk-HSOMYCUG.cjs.map → chunk-BCJQ7CJE.cjs.map} +1 -1
  22. package/dist/{chunk-RUJKOU5F.js → chunk-BW4WDUSI.js} +3 -3
  23. package/dist/{chunk-NP3XN6ZX.js → chunk-CP5EYMNL.js} +278 -162
  24. package/dist/chunk-CP5EYMNL.js.map +1 -0
  25. package/dist/{chunk-FCVAVOXS.js → chunk-D44S2QLI.js} +3 -3
  26. package/dist/{chunk-U3SDSA5K.js → chunk-DB3TV4CW.js} +7 -7
  27. package/dist/{chunk-KE2TCUOH.cjs → chunk-FEVLXRTC.cjs} +537 -421
  28. package/dist/chunk-FEVLXRTC.cjs.map +1 -0
  29. package/dist/{chunk-ZBJ6XSDO.js → chunk-H4BPHGU5.js} +4 -4
  30. package/dist/{chunk-6FJABKPX.cjs → chunk-H54EPP3P.cjs} +9 -9
  31. package/dist/{chunk-6FJABKPX.cjs.map → chunk-H54EPP3P.cjs.map} +1 -1
  32. package/dist/{chunk-4KR7JWKB.js → chunk-HGA74X35.js} +5 -5
  33. package/dist/{chunk-5DPCIIJ7.cjs → chunk-HHJVIHVR.cjs} +92 -92
  34. package/dist/{chunk-5DPCIIJ7.cjs.map → chunk-HHJVIHVR.cjs.map} +1 -1
  35. package/dist/{chunk-WOHHZZJK.cjs → chunk-IFYQ7DHV.cjs} +62 -62
  36. package/dist/{chunk-WOHHZZJK.cjs.map → chunk-IFYQ7DHV.cjs.map} +1 -1
  37. package/dist/{chunk-QYQXAXVR.cjs → chunk-IKDC3R7V.cjs} +4 -3
  38. package/dist/chunk-IKDC3R7V.cjs.map +1 -0
  39. package/dist/{chunk-W6JA6SFD.js → chunk-JRYS4VMV.js} +45 -45
  40. package/dist/chunk-JRYS4VMV.js.map +1 -0
  41. package/dist/{chunk-2YCUEUIZ.js → chunk-L2CF2QZW.js} +8 -8
  42. package/dist/{chunk-2BFZHTSD.cjs → chunk-LEISUAHF.cjs} +18 -8
  43. package/dist/chunk-LEISUAHF.cjs.map +1 -0
  44. package/dist/{chunk-GDWBJFMG.cjs → chunk-M5GWCMYE.cjs} +42 -42
  45. package/dist/{chunk-GDWBJFMG.cjs.map → chunk-M5GWCMYE.cjs.map} +1 -1
  46. package/dist/{chunk-JCH6HGQD.js → chunk-MCWAZ5XI.js} +2 -2
  47. package/dist/{chunk-PQETCTJ4.js → chunk-MXOSTJAG.js} +4 -3
  48. package/dist/chunk-MXOSTJAG.js.map +1 -0
  49. package/dist/{chunk-MIY5FYX3.cjs → chunk-NNFQLTJ3.cjs} +4 -3
  50. package/dist/chunk-NNFQLTJ3.cjs.map +1 -0
  51. package/dist/{chunk-CFTZAZ7R.cjs → chunk-NPVDKOGD.cjs} +28 -28
  52. package/dist/{chunk-CFTZAZ7R.cjs.map → chunk-NPVDKOGD.cjs.map} +1 -1
  53. package/dist/{chunk-LYOGSVFO.js → chunk-O2FTVZOD.js} +5 -5
  54. package/dist/{chunk-CIUYHBAY.cjs → chunk-OGZAFM6M.cjs} +5 -5
  55. package/dist/{chunk-CIUYHBAY.cjs.map → chunk-OGZAFM6M.cjs.map} +1 -1
  56. package/dist/{chunk-THDGDYJ3.js → chunk-PMENIZXI.js} +7 -7
  57. package/dist/{chunk-TU32TSAK.js → chunk-PWOYEUIQ.js} +7 -7
  58. package/dist/{chunk-RSMUAAPW.js → chunk-QCP2KV7P.js} +5 -5
  59. package/dist/{chunk-RNUH5IHZ.js → chunk-QGJYWLF4.js} +3 -3
  60. package/dist/{chunk-75X6BRID.cjs → chunk-RKGOVTXZ.cjs} +500 -479
  61. package/dist/chunk-RKGOVTXZ.cjs.map +1 -0
  62. package/dist/{chunk-HM2R5MDR.js → chunk-T5HDPHN6.js} +13 -3
  63. package/dist/chunk-T5HDPHN6.js.map +1 -0
  64. package/dist/{chunk-GPWU3PPR.cjs → chunk-VEHZNQ77.cjs} +30 -30
  65. package/dist/{chunk-GPWU3PPR.cjs.map → chunk-VEHZNQ77.cjs.map} +1 -1
  66. package/dist/{chunk-APFGR2KK.cjs → chunk-YW4WBNYV.cjs} +41 -41
  67. package/dist/{chunk-APFGR2KK.cjs.map → chunk-YW4WBNYV.cjs.map} +1 -1
  68. package/dist/{chunk-36NFJULV.cjs → chunk-ZI27ALYX.cjs} +41 -41
  69. package/dist/chunk-ZI27ALYX.cjs.map +1 -0
  70. package/dist/components/case-studies/index.cjs +13 -13
  71. package/dist/components/case-studies/index.js +7 -7
  72. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  73. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  74. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
  75. package/dist/components/chat/hooks/use-unified-chat.d.ts.map +1 -1
  76. package/dist/components/chat/index.cjs +4 -4
  77. package/dist/components/chat/index.js +3 -3
  78. package/dist/components/chat/nav-link-anchor-via-runtime.d.ts.map +1 -1
  79. package/dist/components/chat/types/unified-chat-state.types.d.ts +9 -2
  80. package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
  81. package/dist/components/chat/utils/chat-nav-resolution.d.ts +9 -3
  82. package/dist/components/chat/utils/chat-nav-resolution.d.ts.map +1 -1
  83. package/dist/components/chat/utils/execute-navigation.d.ts +11 -0
  84. package/dist/components/chat/utils/execute-navigation.d.ts.map +1 -1
  85. package/dist/components/chat/utils/index.d.ts +1 -1
  86. package/dist/components/chat/utils/index.d.ts.map +1 -1
  87. package/dist/components/chat/utils/nav-anchor-props.d.ts +4 -0
  88. package/dist/components/chat/utils/nav-anchor-props.d.ts.map +1 -1
  89. package/dist/components/chat/utils/resolve-fetched-card-href.d.ts +42 -3
  90. package/dist/components/chat/utils/resolve-fetched-card-href.d.ts.map +1 -1
  91. package/dist/components/contact/index.cjs +8 -8
  92. package/dist/components/contact/index.js +7 -7
  93. package/dist/components/docs/index.cjs +11 -11
  94. package/dist/components/docs/index.js +10 -10
  95. package/dist/components/embeds/index.cjs +8 -8
  96. package/dist/components/embeds/index.js +7 -7
  97. package/dist/components/faq/index.cjs +8 -8
  98. package/dist/components/faq/index.js +7 -7
  99. package/dist/components/features/board/board.d.ts.map +1 -1
  100. package/dist/components/features/index.cjs +9 -7
  101. package/dist/components/features/index.cjs.map +1 -1
  102. package/dist/components/features/index.js +8 -6
  103. package/dist/components/features/sortable-list/index.d.ts +2 -1
  104. package/dist/components/features/sortable-list/index.d.ts.map +1 -1
  105. package/dist/components/features/sortable-list/sortable-list.d.ts +8 -1
  106. package/dist/components/features/sortable-list/sortable-list.d.ts.map +1 -1
  107. package/dist/components/features/sortable-list/sortable-move-buttons.d.ts +24 -0
  108. package/dist/components/features/sortable-list/sortable-move-buttons.d.ts.map +1 -0
  109. package/dist/components/features/sortable-list/use-sortable-item.d.ts +12 -4
  110. package/dist/components/features/sortable-list/use-sortable-item.d.ts.map +1 -1
  111. package/dist/components/features/ticket-status-config-list/ticket-status-config-list.d.ts +21 -5
  112. package/dist/components/features/ticket-status-config-list/ticket-status-config-list.d.ts.map +1 -1
  113. package/dist/components/help-center-pages/index.cjs +27 -27
  114. package/dist/components/help-center-pages/index.js +18 -18
  115. package/dist/components/index.cjs +146 -144
  116. package/dist/components/index.cjs.map +1 -1
  117. package/dist/components/index.js +20 -18
  118. package/dist/components/index.js.map +1 -1
  119. package/dist/components/meeting-scheduler/index.cjs +47 -47
  120. package/dist/components/meeting-scheduler/index.js +6 -6
  121. package/dist/components/navigation/index.cjs +10 -10
  122. package/dist/components/navigation/index.js +9 -9
  123. package/dist/components/onboarding-guides/index.cjs +10 -10
  124. package/dist/components/onboarding-guides/index.js +9 -9
  125. package/dist/components/related-content/index.cjs +3 -3
  126. package/dist/components/related-content/index.js +2 -2
  127. package/dist/components/tickets/index.cjs +11 -11
  128. package/dist/components/tickets/index.js +10 -10
  129. package/dist/components/ui/file-manager/index.cjs +4 -4
  130. package/dist/components/ui/file-manager/index.js +1 -1
  131. package/dist/components/ui/index.cjs +7 -7
  132. package/dist/components/ui/index.js +6 -6
  133. package/dist/components/ui/input.d.ts +2 -0
  134. package/dist/components/ui/input.d.ts.map +1 -1
  135. package/dist/components/ui/textarea.d.ts +2 -0
  136. package/dist/components/ui/textarea.d.ts.map +1 -1
  137. package/dist/components/ui/ticket-status-config-row.d.ts +10 -4
  138. package/dist/components/ui/ticket-status-config-row.d.ts.map +1 -1
  139. package/dist/hooks/index.cjs +7 -3
  140. package/dist/hooks/index.cjs.map +1 -1
  141. package/dist/hooks/index.js +6 -2
  142. package/dist/hooks/ui/index.d.ts +1 -0
  143. package/dist/hooks/ui/index.d.ts.map +1 -1
  144. package/dist/hooks/ui/use-drag-and-drop-enabled.d.ts +31 -0
  145. package/dist/hooks/ui/use-drag-and-drop-enabled.d.ts.map +1 -0
  146. package/dist/hooks/ui/use-media-query.d.ts.map +1 -1
  147. package/dist/index.cjs +18 -12
  148. package/dist/index.cjs.map +1 -1
  149. package/dist/index.js +16 -10
  150. package/dist/index.js.map +1 -1
  151. package/dist/schemas/meeting-booking-schema.d.ts +2 -2
  152. package/dist/utils/content-href.d.ts +26 -5
  153. package/dist/utils/content-href.d.ts.map +1 -1
  154. package/dist/utils/index.cjs +1 -1
  155. package/dist/utils/index.cjs.map +1 -1
  156. package/dist/utils/index.d.ts +1 -1
  157. package/dist/utils/index.d.ts.map +1 -1
  158. package/dist/utils/index.js +1 -1
  159. package/dist/utils/index.js.map +1 -1
  160. package/package.json +1 -4
  161. package/src/components/chat/embeddable-chat.tsx +9 -2
  162. package/src/components/chat/entity-cards/.dispatch.md +1 -1
  163. package/src/components/chat/entity-cards/dispatch.tsx +43 -23
  164. package/src/components/chat/hooks/.use-unified-chat.md +5 -1
  165. package/src/components/chat/hooks/use-nats-chat-adapter.ts +4 -7
  166. package/src/components/chat/hooks/use-unified-chat.ts +8 -2
  167. package/src/components/chat/nav-link-anchor-via-runtime.tsx +8 -10
  168. package/src/components/chat/types/.unified-chat-state.types.md +2 -1
  169. package/src/components/chat/types/unified-chat-state.types.ts +9 -2
  170. package/src/components/chat/utils/__tests__/execute-navigation.test.ts +190 -0
  171. package/src/components/chat/utils/__tests__/resolve-fetched-card-href.test.ts +75 -2
  172. package/src/components/chat/utils/chat-nav-resolution.ts +9 -3
  173. package/src/components/chat/utils/execute-navigation.ts +32 -2
  174. package/src/components/chat/utils/index.ts +1 -1
  175. package/src/components/chat/utils/nav-anchor-props.ts +4 -2
  176. package/src/components/chat/utils/resolve-fetched-card-href.ts +50 -2
  177. package/src/components/features/board/.board.md +1 -0
  178. package/src/components/features/board/board.tsx +11 -1
  179. package/src/components/features/sortable-list/.sortable-list.md +23 -12
  180. package/src/components/features/sortable-list/index.ts +2 -1
  181. package/src/components/features/sortable-list/sortable-list.tsx +16 -5
  182. package/src/components/features/sortable-list/sortable-move-buttons.tsx +81 -0
  183. package/src/components/features/sortable-list/use-sortable-item.ts +25 -13
  184. package/src/components/features/ticket-status-config-list/ticket-status-config-list.tsx +55 -62
  185. package/src/components/ui/.ticket-status-config-row.md +11 -9
  186. package/src/components/ui/input.tsx +5 -2
  187. package/src/components/ui/textarea.tsx +5 -2
  188. package/src/components/ui/ticket-status-config-row.tsx +162 -70
  189. package/src/hooks/ui/.index.md +1 -0
  190. package/src/hooks/ui/.use-drag-and-drop-enabled.md +32 -0
  191. package/src/hooks/ui/index.ts +1 -0
  192. package/src/hooks/ui/use-drag-and-drop-enabled.ts +37 -0
  193. package/src/hooks/ui/use-media-query.ts +3 -2
  194. package/src/utils/.content-href.md +1 -1
  195. package/src/utils/__tests__/content-href.test.ts +3 -0
  196. package/src/utils/content-href.ts +30 -3
  197. package/src/utils/index.ts +1 -0
  198. package/dist/chunk-2BFZHTSD.cjs.map +0 -1
  199. package/dist/chunk-36NFJULV.cjs.map +0 -1
  200. package/dist/chunk-4D2BR756.js.map +0 -1
  201. package/dist/chunk-75X6BRID.cjs.map +0 -1
  202. package/dist/chunk-HM2R5MDR.js.map +0 -1
  203. package/dist/chunk-JQI726T3.js.map +0 -1
  204. package/dist/chunk-KE2TCUOH.cjs.map +0 -1
  205. package/dist/chunk-MIY5FYX3.cjs.map +0 -1
  206. package/dist/chunk-NP3XN6ZX.js.map +0 -1
  207. package/dist/chunk-PQETCTJ4.js.map +0 -1
  208. package/dist/chunk-QYQXAXVR.cjs.map +0 -1
  209. package/dist/chunk-W6JA6SFD.js.map +0 -1
  210. package/dist/components/chat/utils/nav-click-handler.d.ts +0 -24
  211. package/dist/components/chat/utils/nav-click-handler.d.ts.map +0 -1
  212. package/src/components/chat/utils/.nav-click-handler.md +0 -43
  213. package/src/components/chat/utils/nav-click-handler.ts +0 -34
  214. /package/dist/{chunk-IQFXDS5O.js.map → chunk-4WSKSNXL.js.map} +0 -0
  215. /package/dist/{chunk-NEKT67O5.js.map → chunk-5Y6TPFW7.js.map} +0 -0
  216. /package/dist/{chunk-AQ5MZVYN.js.map → chunk-AKPLEWMH.js.map} +0 -0
  217. /package/dist/{chunk-RUJKOU5F.js.map → chunk-BW4WDUSI.js.map} +0 -0
  218. /package/dist/{chunk-FCVAVOXS.js.map → chunk-D44S2QLI.js.map} +0 -0
  219. /package/dist/{chunk-U3SDSA5K.js.map → chunk-DB3TV4CW.js.map} +0 -0
  220. /package/dist/{chunk-ZBJ6XSDO.js.map → chunk-H4BPHGU5.js.map} +0 -0
  221. /package/dist/{chunk-4KR7JWKB.js.map → chunk-HGA74X35.js.map} +0 -0
  222. /package/dist/{chunk-2YCUEUIZ.js.map → chunk-L2CF2QZW.js.map} +0 -0
  223. /package/dist/{chunk-JCH6HGQD.js.map → chunk-MCWAZ5XI.js.map} +0 -0
  224. /package/dist/{chunk-LYOGSVFO.js.map → chunk-O2FTVZOD.js.map} +0 -0
  225. /package/dist/{chunk-THDGDYJ3.js.map → chunk-PMENIZXI.js.map} +0 -0
  226. /package/dist/{chunk-TU32TSAK.js.map → chunk-PWOYEUIQ.js.map} +0 -0
  227. /package/dist/{chunk-RSMUAAPW.js.map → chunk-QCP2KV7P.js.map} +0 -0
  228. /package/dist/{chunk-RNUH5IHZ.js.map → chunk-QGJYWLF4.js.map} +0 -0
@@ -21,7 +21,7 @@
21
21
 
22
22
 
23
23
 
24
- var _chunk36NFJULVcjs = require('./chunk-36NFJULV.cjs');
24
+ var _chunkZI27ALYXcjs = require('./chunk-ZI27ALYX.cjs');
25
25
 
26
26
 
27
27
  var _chunkSADRZ4YIcjs = require('./chunk-SADRZ4YI.cjs');
@@ -166,7 +166,8 @@ var _chunkGSQM4PDRcjs = require('./chunk-GSQM4PDR.cjs');
166
166
 
167
167
 
168
168
 
169
- var _chunkMIY5FYX3cjs = require('./chunk-MIY5FYX3.cjs');
169
+
170
+ var _chunkNNFQLTJ3cjs = require('./chunk-NNFQLTJ3.cjs');
170
171
 
171
172
 
172
173
  var _chunkWLSFBRT5cjs = require('./chunk-WLSFBRT5.cjs');
@@ -452,7 +453,7 @@ var disabledTagClasses = [
452
453
  ];
453
454
  function TagLabel({ label, labelClassName }) {
454
455
  const isString = typeof label === "string";
455
- const { ref, isTruncated } = _chunk36NFJULVcjs.useIsTruncated.call(void 0, isString ? label : null);
456
+ const { ref, isTruncated } = _chunkZI27ALYXcjs.useIsTruncated.call(void 0, isString ? label : null);
456
457
  if (!isString) {
457
458
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "truncate", labelClassName), children: label });
458
459
  }
@@ -752,7 +753,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution, showExe
752
753
  onClick: onToggle,
753
754
  className: "flex w-full cursor-pointer items-start gap-[var(--spacing-system-xsf)] p-[var(--spacing-system-sf)] text-left",
754
755
  children: [
755
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk36NFJULVcjs.ToolIcon, { toolType, size: 16 }) }),
756
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZI27ALYXcjs.ToolIcon, { toolType, size: 16 }) }),
756
757
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
757
758
  "div",
758
759
  {
@@ -1287,14 +1288,14 @@ function buildHeadingIdMap(content, sectionIds) {
1287
1288
  for (const section of sectionIds) {
1288
1289
  sectionIdMap.set(section.title, section.id);
1289
1290
  sectionIdMap.set(section.title.toLowerCase(), section.id);
1290
- sectionIdMap.set(_chunk36NFJULVcjs.stripHeadingEmojis.call(void 0, section.title).toLowerCase(), section.id);
1291
+ sectionIdMap.set(_chunkZI27ALYXcjs.stripHeadingEmojis.call(void 0, section.title).toLowerCase(), section.id);
1291
1292
  }
1292
1293
  }
1293
- const dedupe = _chunk36NFJULVcjs.createHeadingIdDeduper.call(void 0, );
1294
+ const dedupe = _chunkZI27ALYXcjs.createHeadingIdDeduper.call(void 0, );
1294
1295
  const map = /* @__PURE__ */ new Map();
1295
1296
  let sectionOrdinal = 0;
1296
1297
  let headingOrdinal = 0;
1297
- for (const { line, level, text: rawText } of _chunk36NFJULVcjs.scanHeadings.call(void 0, content)) {
1298
+ for (const { line, level, text: rawText } of _chunkZI27ALYXcjs.scanHeadings.call(void 0, content)) {
1298
1299
  const text = stripInlineMarkdown(rawText).trim();
1299
1300
  headingOrdinal++;
1300
1301
  if (level <= EXTRACTOR_MAX_LEVEL) sectionOrdinal++;
@@ -1303,8 +1304,8 @@ function buildHeadingIdMap(content, sectionIds) {
1303
1304
  for (const variation of [
1304
1305
  text,
1305
1306
  text.toLowerCase(),
1306
- _chunk36NFJULVcjs.stripHeadingEmojis.call(void 0, text),
1307
- _chunk36NFJULVcjs.stripHeadingEmojis.call(void 0, text).toLowerCase()
1307
+ _chunkZI27ALYXcjs.stripHeadingEmojis.call(void 0, text),
1308
+ _chunkZI27ALYXcjs.stripHeadingEmojis.call(void 0, text).toLowerCase()
1308
1309
  ]) {
1309
1310
  const id = sectionIdMap.get(variation);
1310
1311
  if (id) {
@@ -1314,7 +1315,7 @@ function buildHeadingIdMap(content, sectionIds) {
1314
1315
  }
1315
1316
  }
1316
1317
  if (assigned === void 0) {
1317
- const baseId = _chunk36NFJULVcjs.slugifyHeadingText.call(void 0, text);
1318
+ const baseId = _chunkZI27ALYXcjs.slugifyHeadingText.call(void 0, text);
1318
1319
  assigned = dedupe(
1319
1320
  baseId || (level <= EXTRACTOR_MAX_LEVEL ? `section-${sectionOrdinal}` : `heading-${headingOrdinal}`)
1320
1321
  );
@@ -1650,7 +1651,7 @@ function buildBaseComponents({
1650
1651
  const mapped = useHeadingId(node);
1651
1652
  const taken = useAssignedHeadingIds();
1652
1653
  const explicit = typeof _optionalChain([node, 'optionalAccess', _35 => _35.properties, 'optionalAccess', _36 => _36.id]) === "string" && node.properties.id !== "" ? node.properties.id : void 0;
1653
- const id = _nullishCoalesce(_nullishCoalesce(explicit, () => ( mapped)), () => ( resolveFallbackHeadingId(_chunk36NFJULVcjs.slugifyHeadingText.call(void 0, extractText(children)), taken)));
1654
+ const id = _nullishCoalesce(_nullishCoalesce(explicit, () => ( mapped)), () => ( resolveFallbackHeadingId(_chunkZI27ALYXcjs.slugifyHeadingText.call(void 0, extractText(children)), taken)));
1654
1655
  const EffectiveTag = Tag2 === "h1" && demoteMarkdownH1ToH2 ? "h2" : Tag2;
1655
1656
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EffectiveTag, { id: id || void 0, className: headingClassName, children });
1656
1657
  }
@@ -1725,10 +1726,10 @@ function buildBaseComponents({
1725
1726
  const handleAnchorClick = (e) => {
1726
1727
  if (inPageAnchorId === null) return;
1727
1728
  if (e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || e.button !== 0) return;
1728
- const target = _chunk36NFJULVcjs.getHashTargetElement.call(void 0, inPageAnchorId);
1729
+ const target = _chunkZI27ALYXcjs.getHashTargetElement.call(void 0, inPageAnchorId);
1729
1730
  if (!_optionalChain([target, 'optionalAccess', _37 => _37.id])) return;
1730
1731
  e.preventDefault();
1731
- _chunk36NFJULVcjs.navigateSamePageHash.call(void 0, `#${target.id}`, { headerOffset: _chunk36NFJULVcjs.HUB_HEADER_OFFSET_PX });
1732
+ _chunkZI27ALYXcjs.navigateSamePageHash.call(void 0, `#${target.id}`, { headerOffset: _chunkZI27ALYXcjs.HUB_HEADER_OFFSET_PX });
1732
1733
  };
1733
1734
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1734
1735
  "a",
@@ -2247,7 +2248,7 @@ function findInlineCodeRanges(source) {
2247
2248
  while (pos <= len) {
2248
2249
  let end = source.indexOf("\n", pos);
2249
2250
  if (end === -1) end = len;
2250
- const blank = _chunk36NFJULVcjs.isBlankLine.call(void 0, source.slice(pos, end));
2251
+ const blank = _chunkZI27ALYXcjs.isBlankLine.call(void 0, source.slice(pos, end));
2251
2252
  if (blank && segStart !== -1) break;
2252
2253
  if (!blank) {
2253
2254
  if (segStart === -1) segStart = pos;
@@ -2329,7 +2330,7 @@ function toMaskLines(source) {
2329
2330
  return out;
2330
2331
  }
2331
2332
  function blankFencedRegions(masked, lines) {
2332
- const fences = _chunk36NFJULVcjs.createFenceTracker.call(void 0, );
2333
+ const fences = _chunkZI27ALYXcjs.createFenceTracker.call(void 0, );
2333
2334
  const ranges = [];
2334
2335
  let openStart = null;
2335
2336
  let lastEnd = 0;
@@ -2368,7 +2369,7 @@ function blankIndentedCode(masked, lines) {
2368
2369
  const listContentCols = [];
2369
2370
  const ranges = [];
2370
2371
  for (const line of lines) {
2371
- if (_chunk36NFJULVcjs.isBlankLine.call(void 0, line.content)) continue;
2372
+ if (_chunkZI27ALYXcjs.isBlankLine.call(void 0, line.content)) continue;
2372
2373
  const indent = leadingIndent(line.content);
2373
2374
  const top = listContentCols.length ? listContentCols[listContentCols.length - 1] : 0;
2374
2375
  if (indent >= top + 4) {
@@ -2459,7 +2460,7 @@ function contPrefixLen(c) {
2459
2460
  function findLabelClose(lines, i, from) {
2460
2461
  for (let j = i; j < lines.length; j++) {
2461
2462
  const c = stripCr(lines[j].content);
2462
- if (j > i && _chunk36NFJULVcjs.isBlankLine.call(void 0, c)) return { stoppedAt: j };
2463
+ if (j > i && _chunkZI27ALYXcjs.isBlankLine.call(void 0, c)) return { stoppedAt: j };
2463
2464
  for (let q = j === i ? from : contPrefixLen(c); q < c.length; q = skipEscaped(c, q)) {
2464
2465
  if (c[q] === "[") return { stoppedAt: j };
2465
2466
  if (c[q] !== "]") continue;
@@ -2477,7 +2478,7 @@ function blankLinkDefinitions(masked, lines) {
2477
2478
  let k = from;
2478
2479
  for (; k < lines.length; k++) {
2479
2480
  const c = stripCr(lines[k].content);
2480
- if (_chunk36NFJULVcjs.isBlankLine.call(void 0, c)) break;
2481
+ if (_chunkZI27ALYXcjs.isBlankLine.call(void 0, c)) break;
2481
2482
  blankLine(lines[k]);
2482
2483
  if (stop(c)) {
2483
2484
  k++;
@@ -2520,7 +2521,7 @@ function blankLinkDefinitions(masked, lines) {
2520
2521
  const k = j + 1;
2521
2522
  if (k >= lines.length) break;
2522
2523
  const c = stripCr(lines[k].content);
2523
- if (_chunk36NFJULVcjs.isBlankLine.call(void 0, c)) break;
2524
+ if (_chunkZI27ALYXcjs.isBlankLine.call(void 0, c)) break;
2524
2525
  const at = contPrefixLen(c);
2525
2526
  const next = tail.k === "needDest" ? parseDefTail(c, at) : parseTitleTail(c, skipSpaces(c, at));
2526
2527
  if (next.k === "decline") break;
@@ -2590,7 +2591,7 @@ function blankUnreferencedFootnotes(masked, lines, folded) {
2590
2591
  let sawBlank = false;
2591
2592
  for (let k = i + 1; k < lines.length; k++) {
2592
2593
  const c = text(lines[k]);
2593
- if (_chunk36NFJULVcjs.isBlankLine.call(void 0, c)) {
2594
+ if (_chunkZI27ALYXcjs.isBlankLine.call(void 0, c)) {
2594
2595
  sawBlank = true;
2595
2596
  continue;
2596
2597
  }
@@ -2690,7 +2691,7 @@ function paragraphEnd(s, from) {
2690
2691
  lineStart += 1;
2691
2692
  const next = s.indexOf("\n", lineStart);
2692
2693
  const line = s.slice(lineStart, next === -1 ? s.length : next);
2693
- if (_chunk36NFJULVcjs.isBlankLine.call(void 0, line)) return lineStart;
2694
+ if (_chunkZI27ALYXcjs.isBlankLine.call(void 0, line)) return lineStart;
2694
2695
  if (next === -1) break;
2695
2696
  lineStart = next;
2696
2697
  }
@@ -2844,7 +2845,7 @@ function blankListItemCode(masked, lines, depth = 0) {
2844
2845
  run = [];
2845
2846
  };
2846
2847
  for (const line of lines) {
2847
- if (_chunk36NFJULVcjs.isBlankLine.call(void 0, line.content)) {
2848
+ if (_chunkZI27ALYXcjs.isBlankLine.call(void 0, line.content)) {
2848
2849
  if (run.length > 0) run.push({ ...line, content: "" });
2849
2850
  continue;
2850
2851
  }
@@ -3069,7 +3070,7 @@ function htmlBlockStartKind(line, inParagraph) {
3069
3070
  function computeHtmlBlockRanges(text) {
3070
3071
  if (text.indexOf("<") === -1) return [];
3071
3072
  const ranges = [];
3072
- const fences = _chunk36NFJULVcjs.createFenceTracker.call(void 0, );
3073
+ const fences = _chunkZI27ALYXcjs.createFenceTracker.call(void 0, );
3073
3074
  let kind = null;
3074
3075
  let start = 0;
3075
3076
  let lastEnd = 0;
@@ -3084,9 +3085,9 @@ function computeHtmlBlockRanges(text) {
3084
3085
  const expanded = expandTabs(line);
3085
3086
  const norm = stripContainerPrefix(expanded, listContentCol);
3086
3087
  if (norm.openedListCol >= 0) listContentCol = norm.openedListCol;
3087
- else if (!_chunk36NFJULVcjs.isBlankLine.call(void 0, norm.text) && norm.text === expanded) listContentCol = 0;
3088
- const normBlank = _chunk36NFJULVcjs.isBlankLine.call(void 0, norm.text);
3089
- const blank = openPrefixLen > 0 ? _chunk36NFJULVcjs.isBlankLine.call(void 0, expanded.slice(openPrefixLen)) : _chunk36NFJULVcjs.isBlankLine.call(void 0, line);
3088
+ else if (!_chunkZI27ALYXcjs.isBlankLine.call(void 0, norm.text) && norm.text === expanded) listContentCol = 0;
3089
+ const normBlank = _chunkZI27ALYXcjs.isBlankLine.call(void 0, norm.text);
3090
+ const blank = openPrefixLen > 0 ? _chunkZI27ALYXcjs.isBlankLine.call(void 0, expanded.slice(openPrefixLen)) : _chunkZI27ALYXcjs.isBlankLine.call(void 0, line);
3090
3091
  if (kind !== null) {
3091
3092
  if (kind >= 6) {
3092
3093
  if (blank) {
@@ -3240,7 +3241,7 @@ var ScanState = class {
3240
3241
  * `FENCE_RE` plus its own open/close state machine, cross-referenced by a
3241
3242
  * comment) is precisely the drift that produced the `~~~` bug.
3242
3243
  */
3243
- this.fences = _chunk36NFJULVcjs.createFenceTracker.call(void 0, );
3244
+ this.fences = _chunkZI27ALYXcjs.createFenceTracker.call(void 0, );
3244
3245
  /** Depth of currently open raw HTML block containers. */
3245
3246
  this.htmlDepth = 0;
3246
3247
  /** Raw-block tag name of a start tag still waiting for its `>`, or null. */
@@ -3313,7 +3314,7 @@ function splitStreamingBlocks(content) {
3313
3314
  const isListOrQuote = (line) => /^\s{0,3}(?:[-+*]\s|\d{1,9}[.)]\s|>)/.test(line);
3314
3315
  const firstNonBlank = (arr) => {
3315
3316
  for (const line of arr) {
3316
- if (!_chunk36NFJULVcjs.isBlankLine.call(void 0, line)) return line;
3317
+ if (!_chunkZI27ALYXcjs.isBlankLine.call(void 0, line)) return line;
3317
3318
  }
3318
3319
  return void 0;
3319
3320
  };
@@ -3323,10 +3324,10 @@ function splitStreamingBlocks(content) {
3323
3324
  state.scanLine(line);
3324
3325
  if (state.htmlMark() !== markBefore || state.htmlLatched()) currentTouchedHtml = true;
3325
3326
  current.push(line);
3326
- const isBlank = _chunk36NFJULVcjs.isBlankLine.call(void 0, line);
3327
+ const isBlank = _chunkZI27ALYXcjs.isBlankLine.call(void 0, line);
3327
3328
  if (!isBlank || state.fences.openChar() !== null || state.htmlBlocksCut()) continue;
3328
3329
  let j = i + 1;
3329
- while (j < lines.length && _chunk36NFJULVcjs.isBlankLine.call(void 0, lines[j])) j++;
3330
+ while (j < lines.length && _chunkZI27ALYXcjs.isBlankLine.call(void 0, lines[j])) j++;
3330
3331
  if (j >= lines.length) continue;
3331
3332
  const next = lines[j];
3332
3333
  if (/^\s/.test(next)) continue;
@@ -3334,7 +3335,7 @@ function splitStreamingBlocks(content) {
3334
3335
  if (isListOrQuote(next) && unitOpener !== void 0 && isListOrQuote(unitOpener)) {
3335
3336
  continue;
3336
3337
  }
3337
- if (current.every(_chunk36NFJULVcjs.isBlankLine)) continue;
3338
+ if (current.every(_chunkZI27ALYXcjs.isBlankLine)) continue;
3338
3339
  units.push(current);
3339
3340
  unitTouchedHtml.push(currentTouchedHtml);
3340
3341
  current = [];
@@ -4704,7 +4705,7 @@ function MspOrganizationCard({
4704
4705
  className
4705
4706
  ),
4706
4707
  children: [
4707
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.SquareAvatar, { src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
4708
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.SquareAvatar, { src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
4708
4709
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
4709
4710
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h3", children: _nullishCoalesce(title, () => ( `Your IT is managed by ${name}`)) }),
4710
4711
  website ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: website }) : null
@@ -4837,7 +4838,7 @@ var ChatHeader = _react.forwardRef.call(void 0,
4837
4838
  ] })
4838
4839
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
4839
4840
  userIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-ods-accent", children: userIcon }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4840
- _chunkMIY5FYX3cjs.SquareAvatar,
4841
+ _chunkNNFQLTJ3cjs.SquareAvatar,
4841
4842
  {
4842
4843
  src: userAvatar,
4843
4844
  alt: userName,
@@ -6873,7 +6874,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
6873
6874
  return null;
6874
6875
  };
6875
6876
  const headerContent = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
6876
- !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk36NFJULVcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
6877
+ !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZI27ALYXcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
6877
6878
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6878
6879
  "div",
6879
6880
  {
@@ -7200,7 +7201,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
7200
7201
  // Host-supplied brand icon (e.g. Mingo): render it directly,
7201
7202
  // no filled pill — the icon carries its own brand accent.
7202
7203
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-shrink-0 items-center justify-center", children: assistantIcon })
7203
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.SquareAvatar, { ...avatarProps })),
7204
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.SquareAvatar, { ...avatarProps })),
7204
7205
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
7205
7206
  "span",
7206
7207
  {
@@ -7988,7 +7989,7 @@ ChatMessageList.displayName = "ChatMessageList";
7988
7989
  // src/components/chat/hooks/use-proxied-image-url.ts
7989
7990
  function useProxiedImageUrl(url) {
7990
7991
  const r = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
7991
- return _nullishCoalesce(_chunkMIY5FYX3cjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
7992
+ return _nullishCoalesce(_chunkNNFQLTJ3cjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
7992
7993
  proxyPrefix: r.endpoints.imageProxyUrlPrefix,
7993
7994
  skipDomains: r.endpoints.imageProxySkipDomains,
7994
7995
  directHttps: true
@@ -8014,7 +8015,7 @@ function ChatMessageRow({ displayName, avatarUrl, timeLabel, body, footer }) {
8014
8015
  height: 40,
8015
8016
  onError: () => setFailedSrc(_nullishCoalesce(resolvedAvatar, () => ( null)))
8016
8017
  }
8017
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg text-ods-text-primary text-h6 md:h-10 md:w-10", children: _chunkMIY5FYX3cjs.getFirstLastInitials.call(void 0, displayName) || "?" }),
8018
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg text-ods-text-primary text-h6 md:h-10 md:w-10", children: _chunkNNFQLTJ3cjs.getFirstLastInitials.call(void 0, displayName) || "?" }),
8018
8019
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 max-w-full flex-1", children: [
8019
8020
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex min-w-0 max-w-full items-center gap-2", children: [
8020
8021
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-body text-[14px] font-bold leading-[1.33] tracking-[-0.02em] text-ods-text-primary md:text-[15px]", children: displayName }),
@@ -8351,7 +8352,7 @@ function MarqueeWallFades({
8351
8352
  }) });
8352
8353
  }
8353
8354
  function CloneCopy({ className, style, children }) {
8354
- const ref = _chunk36NFJULVcjs.useSuppressCloneFocus.call(void 0, true);
8355
+ const ref = _chunkZI27ALYXcjs.useSuppressCloneFocus.call(void 0, true);
8355
8356
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, "aria-hidden": true, "data-marquee-copy": "clone", className, style, children });
8356
8357
  }
8357
8358
  function MarqueeWall({
@@ -8378,7 +8379,7 @@ function MarqueeWall({
8378
8379
  const containerRef = _react.useRef.call(void 0, null);
8379
8380
  const trackRef = _react.useRef.call(void 0, null);
8380
8381
  const copyRef = _react.useRef.call(void 0, null);
8381
- const reducedMotion = _nullishCoalesce(_chunk36NFJULVcjs.useMediaQuery.call(void 0, "(prefers-reduced-motion: reduce)"), () => ( false));
8382
+ const reducedMotion = _nullishCoalesce(_chunkZI27ALYXcjs.useMediaQuery.call(void 0, "(prefers-reduced-motion: reduce)"), () => ( false));
8382
8383
  const [overflows, setOverflows] = _react.useState.call(void 0, false);
8383
8384
  const copySizeRef = _react.useRef.call(void 0, 0);
8384
8385
  const wrapSizeRef = _react.useRef.call(void 0, 0);
@@ -8410,7 +8411,7 @@ function MarqueeWall({
8410
8411
  const el = containerRef.current;
8411
8412
  if (!el || typeof IntersectionObserver === "undefined") return void 0;
8412
8413
  const io = new IntersectionObserver((entries) => setNearViewport(_nullishCoalesce(_optionalChain([entries, 'access', _154 => _154[0], 'optionalAccess', _155 => _155.isIntersecting]), () => ( true))), {
8413
- rootMargin: _chunk36NFJULVcjs.NEAR_VIEWPORT_ROOT_MARGIN
8414
+ rootMargin: _chunkZI27ALYXcjs.NEAR_VIEWPORT_ROOT_MARGIN
8414
8415
  });
8415
8416
  io.observe(el);
8416
8417
  return () => io.disconnect();
@@ -8427,7 +8428,7 @@ function MarqueeWall({
8427
8428
  if (e.pointerType === "touch") return;
8428
8429
  pointerInsideRef.current = false;
8429
8430
  }, []);
8430
- _chunk36NFJULVcjs.useResetOnPageHidden.call(void 0, clearPointerInside);
8431
+ _chunkZI27ALYXcjs.useResetOnPageHidden.call(void 0, clearPointerInside);
8431
8432
  const draggingRef = _react.useRef.call(void 0, false);
8432
8433
  const dragSuppressUntilRef = _react.useRef.call(void 0, 0);
8433
8434
  const applyTransform = _react.useCallback.call(void 0,
@@ -8480,7 +8481,7 @@ function MarqueeWall({
8480
8481
  if (!sync) return void 0;
8481
8482
  return sync.register(member);
8482
8483
  }, [sync, member]);
8483
- const { posRef, wrap } = _chunk36NFJULVcjs.useMarqueeEngine.call(void 0, {
8484
+ const { posRef, wrap } = _chunkZI27ALYXcjs.useMarqueeEngine.call(void 0, {
8484
8485
  active: marqueeActive && nearViewport && isDriver,
8485
8486
  speed,
8486
8487
  isPaused: (now) => pauseOnHover && pointerInsideRef.current || draggingRef.current || now < dragSuppressUntilRef.current || document.visibilityState === "hidden",
@@ -9294,7 +9295,7 @@ function MingoChatHistoryRow({
9294
9295
  hasMenu && (menuOpen ? "pointer-events-none opacity-0" : "md:group-hover/row:pointer-events-none md:group-hover/row:opacity-0 md:peer-[:focus-within]/menu:pointer-events-none md:peer-[:focus-within]/menu:opacity-0")
9295
9296
  ),
9296
9297
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9297
- _chunkMIY5FYX3cjs.SquareAvatar,
9298
+ _chunkNNFQLTJ3cjs.SquareAvatar,
9298
9299
  {
9299
9300
  variant: "round",
9300
9301
  sizePx: 24,
@@ -10218,7 +10219,7 @@ function ChatHeaderSearchField({
10218
10219
  className
10219
10220
  }) {
10220
10221
  const [value, setValue] = _react.useState.call(void 0, _nullishCoalesce(initialValue, () => ( "")));
10221
- const debounced = _chunk36NFJULVcjs.useDebounce.call(void 0, value, 300);
10222
+ const debounced = _chunkZI27ALYXcjs.useDebounce.call(void 0, value, 300);
10222
10223
  const lastEmitted = _react.useRef.call(void 0, _nullishCoalesce(initialValue, () => ( "")));
10223
10224
  const [exiting, setExiting] = _react.useState.call(void 0, false);
10224
10225
  const collapsedRef = _react.useRef.call(void 0, false);
@@ -10434,7 +10435,7 @@ function ChatPanelHeader({
10434
10435
  avatar && (avatar.name || avatar.avatarUrl) ? (
10435
10436
  // Owner avatar at the title cell's right edge (Figma 113:63273).
10436
10437
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10437
- _chunkMIY5FYX3cjs.SquareAvatar,
10438
+ _chunkNNFQLTJ3cjs.SquareAvatar,
10438
10439
  {
10439
10440
  variant: "round",
10440
10441
  sizePx: 32,
@@ -10648,8 +10649,8 @@ function AttachmentChip({ attachment, onRemove, disabled, size: size2 = "default
10648
10649
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "truncate text-ods-text-primary text-h6", title: file.name, children: file.name }),
10649
10650
  (!compact || status !== "ready") && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-ods-text-muted text-h6", children: [
10650
10651
  status === "sniffing" && "Checking\u2026",
10651
- status === "uploading" && `${progress}% \xB7 ${_chunkMIY5FYX3cjs.formatFileSize.call(void 0, file.size)}`,
10652
- status === "ready" && _chunkMIY5FYX3cjs.formatFileSize.call(void 0, file.size),
10652
+ status === "uploading" && `${progress}% \xB7 ${_chunkNNFQLTJ3cjs.formatFileSize.call(void 0, file.size)}`,
10653
+ status === "ready" && _chunkNNFQLTJ3cjs.formatFileSize.call(void 0, file.size),
10653
10654
  status === "error" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-error", title: errorMessage, children: _nullishCoalesce(errorMessage, () => ( "Upload failed")) })
10654
10655
  ] })
10655
10656
  ] }),
@@ -11418,15 +11419,18 @@ function resolveExternalNavigation(args) {
11418
11419
  }
11419
11420
 
11420
11421
  // src/components/chat/utils/execute-navigation.ts
11422
+ function isForeignOriginHref(href) {
11423
+ return /^https?:\/\//i.test(href) && !_chunkNNFQLTJ3cjs.isSameOriginAbsoluteHref.call(void 0, href);
11424
+ }
11421
11425
  function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
11422
- const isNewTab = runtime ? _chunkMIY5FYX3cjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
11426
+ const isNewTab = runtime ? _chunkNNFQLTJ3cjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
11423
11427
  if (isNewTab) {
11424
11428
  if (_optionalChain([runtime, 'optionalAccess', _203 => _203.navigation, 'access', _204 => _204.openExternal])) runtime.navigation.openExternal(href);
11425
11429
  else window.open(href, "_blank", NEW_TAB_FEATURES);
11426
11430
  return;
11427
11431
  }
11428
- const target = stripSameOriginToPath(href);
11429
- if (target.includes("#") && _chunk36NFJULVcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunk36NFJULVcjs.STICKY_HEADER_OFFSET_PX })) {
11432
+ const target = isForeignOriginHref(href) ? href : stripSameOriginToPath(href);
11433
+ if (target.includes("#") && _chunkZI27ALYXcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkZI27ALYXcjs.STICKY_HEADER_OFFSET_PX })) {
11430
11434
  return;
11431
11435
  }
11432
11436
  const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _205 => _205.navigation, 'access', _206 => _206.navigate, 'optionalCall', _207 => _207({ href, path, targetPlatform })]), () => ( false));
@@ -11461,10 +11465,8 @@ function executeNavigationImperative({
11461
11465
  }) {
11462
11466
  runNavigation(runtime, href, void 0, targetPlatform, fallbackNavigate);
11463
11467
  }
11464
-
11465
- // src/components/chat/utils/nav-click-handler.ts
11466
- function handleChatNavClick(e, runtime, { href, path, targetPlatform }, fallbackNavigate) {
11467
- return executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate });
11468
+ function handleChatNavClick(event, runtime, { href, path, targetPlatform }, fallbackNavigate) {
11469
+ return executeNavigation({ event, runtime, href, path, targetPlatform, fallbackNavigate });
11468
11470
  }
11469
11471
 
11470
11472
  // src/components/chat/nav-link-anchor-via-runtime.tsx
@@ -11480,21 +11482,19 @@ function NavLinkAnchorViaRuntime({
11480
11482
  const router = _chunkSADRZ4YIcjs.useRouter.call(void 0, );
11481
11483
  const panel = useChatPanel();
11482
11484
  const resolvedHref = resolveHrefForRuntime(href, runtime);
11483
- const isNewTab = _chunkMIY5FYX3cjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
11485
+ const isNewTab = _chunkNNFQLTJ3cjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
11484
11486
  const onClick = (e) => {
11485
- const handled = handleChatNavClick(
11486
- e,
11487
+ const handled = executeNavigation({
11488
+ event: e,
11487
11489
  runtime,
11488
- {
11489
- href: resolvedHref,
11490
- path,
11491
- targetPlatform
11492
- },
11493
- router.push
11494
- );
11490
+ href: resolvedHref,
11491
+ path,
11492
+ targetPlatform,
11493
+ fallbackNavigate: router.push
11494
+ });
11495
11495
  if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _208 => _208.closeChat])) panel.closeChat();
11496
11496
  };
11497
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: resolvedHref, ..._chunkMIY5FYX3cjs.newTabAnchorAttrs.call(void 0, isNewTab), onClick, className, children });
11497
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: resolvedHref, ..._chunkNNFQLTJ3cjs.newTabAnchorAttrs.call(void 0, isNewTab), onClick, className, children });
11498
11498
  }
11499
11499
 
11500
11500
  // src/components/chat/source-action-button.tsx
@@ -11774,7 +11774,7 @@ function useVideoWarmup({
11774
11774
  const runtime = _chunkRDTOMWDNcjs.useChatRuntime.call(void 0, );
11775
11775
  const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _221 => _221.endpoints, 'access', _222 => _222.supabaseStorageOrigin])));
11776
11776
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
11777
- const { ref, isNear } = _chunk36NFJULVcjs.useNearViewport.call(void 0, nearMargin);
11777
+ const { ref, isNear } = _chunkZI27ALYXcjs.useNearViewport.call(void 0, nearMargin);
11778
11778
  _react.useEffect.call(void 0, () => {
11779
11779
  if (!isNear || !videoUrl || !resolvedOrigin) return void 0;
11780
11780
  if (saveDataEnabled()) return void 0;
@@ -12612,9 +12612,9 @@ function UserDisplay({
12612
12612
  }) {
12613
12613
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex min-w-0 items-center gap-2", className), children: [
12614
12614
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12615
- _chunkMIY5FYX3cjs.SquareAvatar,
12615
+ _chunkNNFQLTJ3cjs.SquareAvatar,
12616
12616
  {
12617
- src: avatarUrl ? _chunkMIY5FYX3cjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
12617
+ src: avatarUrl ? _chunkNNFQLTJ3cjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
12618
12618
  fallback: name,
12619
12619
  alt: name,
12620
12620
  sizePx: size2,
@@ -12680,7 +12680,7 @@ function ManagedCell({
12680
12680
  }) {
12681
12681
  const hintedWidth = _react2.default.isValidElement(item) ? item.props["data-strip-cell-width"] : void 0;
12682
12682
  const desktopWidth = typeof hintedWidth === "number" ? hintedWidth : cardWidthDesktop;
12683
- const cloneRef = _chunk36NFJULVcjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
12683
+ const cloneRef = _chunkZI27ALYXcjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
12684
12684
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12685
12685
  "div",
12686
12686
  {
@@ -12841,7 +12841,7 @@ function CardsStrip(props) {
12841
12841
  const current = activeKeyRef.current;
12842
12842
  if (current !== null) deactivate(current);
12843
12843
  }, [deactivate]);
12844
- _chunk36NFJULVcjs.useResetOnPageHidden.call(void 0, clearHover);
12844
+ _chunkZI27ALYXcjs.useResetOnPageHidden.call(void 0, clearHover);
12845
12845
  const syncHoverIfScrolled = _react.useCallback.call(void 0, () => {
12846
12846
  const scroller = scrollerRef.current;
12847
12847
  if (!scroller) return;
@@ -12854,7 +12854,7 @@ function CardsStrip(props) {
12854
12854
  const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _311 => _311.current, 'optionalAccess', _312 => _312.clientWidth]), () => ( 0));
12855
12855
  return Math.max(0, Math.min(200, half / 4, half - viewport - TRACK_GAP_PX - 1));
12856
12856
  }, []);
12857
- const { posRef: marqueePosRef, glideBy } = _chunk36NFJULVcjs.useMarqueeEngine.call(void 0, {
12857
+ const { posRef: marqueePosRef, glideBy } = _chunkZI27ALYXcjs.useMarqueeEngine.call(void 0, {
12858
12858
  // Viewport gates `active` (the rAF fully stops off-screen — a paused
12859
12859
  // engine would keep scheduling frames forever), same treatment as
12860
12860
  // <MarqueeWall>; the envelope persists, so re-entry resumes at cruise.
@@ -12896,7 +12896,7 @@ function CardsStrip(props) {
12896
12896
  return next;
12897
12897
  });
12898
12898
  },
12899
- { rootMargin: _chunk36NFJULVcjs.NEAR_VIEWPORT_ROOT_MARGIN }
12899
+ { rootMargin: _chunkZI27ALYXcjs.NEAR_VIEWPORT_ROOT_MARGIN }
12900
12900
  );
12901
12901
  cardObserverRef.current = io;
12902
12902
  cardElIdxRef.current.forEach((_idx, el) => {
@@ -13108,13 +13108,13 @@ function VideoHoverPreviewSurface({
13108
13108
  const el = rootElRef.current;
13109
13109
  if (!el || typeof IntersectionObserver === "undefined") return void 0;
13110
13110
  const io = new IntersectionObserver((entries) => setIsNear(_nullishCoalesce(_optionalChain([entries, 'access', _323 => _323[0], 'optionalAccess', _324 => _324.isIntersecting]), () => ( false))), {
13111
- rootMargin: _chunk36NFJULVcjs.NEAR_VIEWPORT_ROOT_MARGIN
13111
+ rootMargin: _chunkZI27ALYXcjs.NEAR_VIEWPORT_ROOT_MARGIN
13112
13112
  });
13113
13113
  io.observe(el);
13114
13114
  return () => io.disconnect();
13115
13115
  }, [gateControlled]);
13116
13116
  const showMedia = continuation || (gateControlled ? playerMounted : isNear);
13117
- const { src: posterSrc, onError: onPosterError } = _chunkMIY5FYX3cjs.useCoverImageFallback.call(void 0, posterUrl);
13117
+ const { src: posterSrc, onError: onPosterError } = _chunkNNFQLTJ3cjs.useCoverImageFallback.call(void 0, posterUrl);
13118
13118
  const facadeSkipped = preload === "none" && !posterSrc;
13119
13119
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootElRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, "absolute inset-0", className), inert: isClone || void 0, children: showMedia ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
13120
13120
  posterSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -13232,7 +13232,7 @@ function groupByAspectRatio(items, getAspectRatio) {
13232
13232
 
13233
13233
  function VideoBitesStrip({
13234
13234
  bites,
13235
- title = _chunkMIY5FYX3cjs.DEFAULT_VIDEO_BITES_TITLE,
13235
+ title = _chunkNNFQLTJ3cjs.DEFAULT_VIDEO_BITES_TITLE,
13236
13236
  showTitle = true,
13237
13237
  filterPublished = true,
13238
13238
  profile = null,
@@ -13245,7 +13245,7 @@ function VideoBitesStrip({
13245
13245
  cardHeightMobile = 300,
13246
13246
  showChevrons = true,
13247
13247
  onBiteNavigate,
13248
- sortComparator = _chunkMIY5FYX3cjs.sortBitesByCreatedAtDesc,
13248
+ sortComparator = _chunkNNFQLTJ3cjs.sortBitesByCreatedAtDesc,
13249
13249
  className
13250
13250
  }) {
13251
13251
  const items = _react.useMemo.call(void 0, () => {
@@ -13322,7 +13322,7 @@ function VideoBiteCard({
13322
13322
  const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _327 => _327(key)]) : setSelfActive(true);
13323
13323
  const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _328 => _328(key)]) : setSelfActive(false);
13324
13324
  const titleInputRef = _react.useRef.call(void 0, null);
13325
- _chunk36NFJULVcjs.useIsomorphicLayoutEffect.call(void 0, () => {
13325
+ _chunkZI27ALYXcjs.useIsomorphicLayoutEffect.call(void 0, () => {
13326
13326
  const el = titleInputRef.current;
13327
13327
  if (!el) return;
13328
13328
  el.style.height = "auto";
@@ -13470,7 +13470,7 @@ function EntityVideoSection({
13470
13470
  title = "Video",
13471
13471
  videoSummary,
13472
13472
  videoBites,
13473
- bitesTitle = _chunkMIY5FYX3cjs.DEFAULT_VIDEO_BITES_TITLE,
13473
+ bitesTitle = _chunkNNFQLTJ3cjs.DEFAULT_VIDEO_BITES_TITLE,
13474
13474
  filterPublishedBites = true,
13475
13475
  bitesProfile = null,
13476
13476
  bitesHref,
@@ -13709,7 +13709,7 @@ function ReviewStateBadge({ state, className = "" }) {
13709
13709
  function GitHubActivityCard({ item, variant = "compact", className, anchorProps }) {
13710
13710
  const kind = _nullishCoalesce(item.kind, () => ( "commit"));
13711
13711
  const repo = _nullishCoalesce(_nullishCoalesce(item.repo, () => ( parseRepoFromUrl(item.url))), () => ( ""));
13712
- const dateText = _chunkMIY5FYX3cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
13712
+ const dateText = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
13713
13713
  const idLabel = formatActivityId(item.id, kind);
13714
13714
  const { display: title, reviewState } = parseGithubTitle(item.title, kind);
13715
13715
  const primaryText = kind === "pr_review" ? title.replace(/^by\s+/i, "").trim() || "Reviewer" : title;
@@ -13743,26 +13743,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
13743
13743
  metaParts.push(
13744
13744
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
13745
13745
  );
13746
- const href = _chunkMIY5FYX3cjs.safeHref.call(void 0, item.url);
13746
+ const href = _chunkNNFQLTJ3cjs.safeHref.call(void 0, item.url);
13747
13747
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
13748
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
13749
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TEXT_COL, children: [
13750
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
13748
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
13749
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
13750
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
13751
13751
  reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
13752
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TITLE, children: primaryText })
13752
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE, children: primaryText })
13753
13753
  ] }),
13754
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
13754
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
13755
13755
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
13756
13756
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
13757
13757
  ] }, i)) }) }),
13758
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_SUMMARY, children: _chunkMIY5FYX3cjs.COMPACT_CARD_ROW_FILLER }) })
13758
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SUMMARY, children: _chunkNNFQLTJ3cjs.COMPACT_CARD_ROW_FILLER }) })
13759
13759
  ] }),
13760
13760
  href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
13761
13761
  ] });
13762
13762
  if (anchorProps) {
13763
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
13763
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
13764
13764
  }
13765
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
13765
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
13766
13766
  }
13767
13767
  function GitHubActivityCardSkeleton({
13768
13768
  variant = "compact",
@@ -13779,12 +13779,12 @@ function GitHubActivityCardSkeleton({
13779
13779
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
13780
13780
  ] });
13781
13781
  }
13782
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
13783
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
13784
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TEXT_COL, children: [
13785
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
13786
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
13787
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_SUMMARY, children: _chunkMIY5FYX3cjs.COMPACT_CARD_ROW_FILLER }) })
13782
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
13783
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
13784
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
13785
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
13786
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
13787
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SUMMARY, children: _chunkNNFQLTJ3cjs.COMPACT_CARD_ROW_FILLER }) })
13788
13788
  ] }),
13789
13789
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
13790
13790
  ] });
@@ -13808,7 +13808,7 @@ function parseChannelFromUrl(url) {
13808
13808
  }
13809
13809
  function SlackMessageCard({ item, variant = "compact", className, anchorProps }) {
13810
13810
  const channel = _nullishCoalesce(_nullishCoalesce(item.channel, () => ( parseChannelFromUrl(item.url))), () => ( null));
13811
- const dateText = _chunkMIY5FYX3cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
13811
+ const dateText = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
13812
13812
  if (variant === "row") {
13813
13813
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
13814
13814
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKZAAIUP5cjs.SlackIcon, { className: "h-3.5 w-3.5 shrink-0" }),
@@ -13834,23 +13834,23 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
13834
13834
  metaParts.push(
13835
13835
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
13836
13836
  );
13837
- const href = _chunkMIY5FYX3cjs.safeHref.call(void 0, item.url);
13837
+ const href = _chunkNNFQLTJ3cjs.safeHref.call(void 0, item.url);
13838
13838
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
13839
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKZAAIUP5cjs.SlackIcon, { className: "h-5 w-5" }) }),
13840
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TEXT_COL, children: [
13841
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TITLE, children: item.title }) }),
13842
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkMIY5FYX3cjs.COMPACT_CARD_ROW_FILLER }) }),
13843
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
13839
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKZAAIUP5cjs.SlackIcon, { className: "h-5 w-5" }) }),
13840
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
13841
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE, children: item.title }) }),
13842
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkNNFQLTJ3cjs.COMPACT_CARD_ROW_FILLER }) }),
13843
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
13844
13844
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
13845
13845
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
13846
- ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_SUMMARY, children: _chunkMIY5FYX3cjs.COMPACT_CARD_ROW_FILLER }) }) })
13846
+ ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SUMMARY, children: _chunkNNFQLTJ3cjs.COMPACT_CARD_ROW_FILLER }) }) })
13847
13847
  ] }),
13848
13848
  href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
13849
13849
  ] });
13850
13850
  if (anchorProps) {
13851
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
13851
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
13852
13852
  }
13853
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
13853
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
13854
13854
  }
13855
13855
  function SlackMessageCardSkeleton({
13856
13856
  variant = "compact",
@@ -13865,12 +13865,12 @@ function SlackMessageCardSkeleton({
13865
13865
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
13866
13866
  ] });
13867
13867
  }
13868
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
13869
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
13870
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TEXT_COL, children: [
13871
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
13872
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
13873
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
13868
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
13869
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
13870
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
13871
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
13872
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
13873
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
13874
13874
  ] }),
13875
13875
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
13876
13876
  ] });
@@ -13901,12 +13901,12 @@ function statusScheme(status) {
13901
13901
  function HubspotTicketCard({ item, variant = "compact", className, anchorProps }) {
13902
13902
  const statusText = _nullishCoalesce(item.statusLabel, () => ( formatToken(item.status)));
13903
13903
  const priorityText = formatToken(item.priority);
13904
- const dateText = _chunkMIY5FYX3cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
13904
+ const dateText = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
13905
13905
  if (variant === "row") {
13906
13906
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
13907
13907
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "max-w-[260px] shrink-0 truncate text-ods-text-primary text-h6", children: item.title }),
13908
13908
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 truncate text-ods-text-secondary text-h6", children: item.preview }) : null,
13909
- statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
13909
+ statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
13910
13910
  dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-24 shrink-0 text-right text-ods-text-secondary text-h6", children: dateText }) : null
13911
13911
  ] });
13912
13912
  }
@@ -13920,13 +13920,13 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
13920
13920
  metaParts.push(
13921
13921
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
13922
13922
  );
13923
- const href = _chunkMIY5FYX3cjs.safeHref.call(void 0, item.url);
13923
+ const href = _chunkNNFQLTJ3cjs.safeHref.call(void 0, item.url);
13924
13924
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
13925
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TEXT_COL, children: [
13925
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
13926
13926
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
13927
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
13927
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
13928
13928
  priorityText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13929
- _chunkMIY5FYX3cjs.StatusBadge,
13929
+ _chunkNNFQLTJ3cjs.StatusBadge,
13930
13930
  {
13931
13931
  text: priorityText,
13932
13932
  variant: "button",
@@ -13935,7 +13935,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
13935
13935
  }
13936
13936
  ) : null,
13937
13937
  statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13938
- _chunkMIY5FYX3cjs.StatusBadge,
13938
+ _chunkNNFQLTJ3cjs.StatusBadge,
13939
13939
  {
13940
13940
  text: statusText,
13941
13941
  variant: "button",
@@ -13949,7 +13949,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
13949
13949
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
13950
13950
  ] }) : null,
13951
13951
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-4 whitespace-pre-wrap break-words text-ods-text-secondary text-h6", children: item.preview || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "italic text-ods-text-secondary/60", children: "No description provided." }) }) }),
13952
- metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
13952
+ metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
13953
13953
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
13954
13954
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
13955
13955
  ] }, i)) }) }) : null
@@ -13957,9 +13957,9 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
13957
13957
  href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
13958
13958
  ] });
13959
13959
  if (anchorProps) {
13960
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
13960
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
13961
13961
  }
13962
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
13962
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
13963
13963
  }
13964
13964
  function HubspotTicketCardSkeleton({
13965
13965
  variant = "compact",
@@ -13973,8 +13973,8 @@ function HubspotTicketCardSkeleton({
13973
13973
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
13974
13974
  ] });
13975
13975
  }
13976
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
13977
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TEXT_COL, children: [
13976
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
13977
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
13978
13978
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
13979
13979
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
13980
13980
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
@@ -13987,7 +13987,7 @@ function HubspotTicketCardSkeleton({
13987
13987
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
13988
13988
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
13989
13989
  ] }),
13990
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
13990
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
13991
13991
  ] }),
13992
13992
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
13993
13993
  ] });
@@ -13998,10 +13998,10 @@ function HubspotTicketCardSkeleton({
13998
13998
 
13999
13999
  function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
14000
14000
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14001
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TEXT_COL, children: [
14001
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
14002
14002
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14003
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14004
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
14003
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14004
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
14005
14005
  ] }),
14006
14006
  item.path ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1 text-ods-text-secondary text-h6", children: [
14007
14007
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
@@ -14012,13 +14012,13 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
14012
14012
  _optionalChain([anchorProps, 'optionalAccess', _335 => _335.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
14013
14013
  ] });
14014
14014
  if (!anchorProps) {
14015
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14015
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14016
14016
  }
14017
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14017
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14018
14018
  }
14019
14019
  function DataRoomDocCardSkeleton({ className }) {
14020
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14021
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TEXT_COL, children: [
14020
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14021
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
14022
14022
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
14023
14023
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14024
14024
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
@@ -14039,29 +14039,29 @@ function DataRoomDocCardSkeleton({ className }) {
14039
14039
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
14040
14040
  const goalsCount = _optionalChain([campaign, 'access', _336 => _336.goals, 'optionalAccess', _337 => _337.length]) || 0;
14041
14041
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14042
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
14043
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TEXT_COL, children: [
14044
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
14045
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_SUBTITLE, children: [
14046
- campaign.start_date ? _chunkMIY5FYX3cjs.formatDateShort.call(void 0, campaign.start_date) : null,
14042
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
14043
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
14044
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
14045
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SUBTITLE, children: [
14046
+ campaign.start_date ? _chunkNNFQLTJ3cjs.formatDateShort.call(void 0, campaign.start_date) : null,
14047
14047
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
14048
14048
  "Marketing campaign"
14049
14049
  ].filter(Boolean).join(" \xB7 ") }) }),
14050
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkMIY5FYX3cjs.COMPACT_CARD_ROW_FILLER }) })
14050
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkNNFQLTJ3cjs.COMPACT_CARD_ROW_FILLER }) })
14051
14051
  ] })
14052
14052
  ] });
14053
14053
  if (anchorProps) {
14054
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
14054
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
14055
14055
  }
14056
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
14056
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
14057
14057
  }
14058
14058
  function CampaignCardAdminSkeleton({ className }) {
14059
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14060
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14061
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TEXT_COL, children: [
14062
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
14063
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14064
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
14059
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14060
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14061
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
14062
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
14063
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14064
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
14065
14065
  ] })
14066
14066
  ] });
14067
14067
  }
@@ -14070,14 +14070,14 @@ function CampaignCardAdminSkeleton({ className }) {
14070
14070
 
14071
14071
 
14072
14072
  function GenericEntityCard({ item, className, anchorProps }) {
14073
- const href = _chunkMIY5FYX3cjs.safeHref.call(void 0, item.url);
14074
- const dateText = _chunkMIY5FYX3cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14073
+ const href = _chunkNNFQLTJ3cjs.safeHref.call(void 0, item.url);
14074
+ const dateText = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14075
14075
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14076
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TEXT_COL, children: [
14076
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
14077
14077
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14078
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14078
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14079
14079
  item.badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14080
- _chunkMIY5FYX3cjs.StatusBadge,
14080
+ _chunkNNFQLTJ3cjs.StatusBadge,
14081
14081
  {
14082
14082
  text: item.badge.text,
14083
14083
  variant: "button",
@@ -14095,18 +14095,18 @@ function GenericEntityCard({ item, className, anchorProps }) {
14095
14095
  ] }),
14096
14096
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-medium text-ods-text-primary", children: f.value })
14097
14097
  ] }, i)) }) : null,
14098
- dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
14098
+ dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
14099
14099
  ] }),
14100
14100
  href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
14101
14101
  ] });
14102
14102
  if (anchorProps) {
14103
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14103
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14104
14104
  }
14105
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14105
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14106
14106
  }
14107
14107
  function GenericEntityCardSkeleton({ className }) {
14108
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14109
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TEXT_COL, children: [
14108
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14109
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
14110
14110
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
14111
14111
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14112
14112
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
@@ -14155,8 +14155,8 @@ function useChatCardItem(type, id) {
14155
14155
  const res = await _chunkCP6TIRONcjs.embedAuthedFetch.call(void 0, url);
14156
14156
  if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
14157
14157
  const data = await res.json();
14158
- const items = _chunkMIY5FYX3cjs.extractItems.call(void 0, data);
14159
- const match = items.find((it) => _chunkMIY5FYX3cjs.extractItemId.call(void 0, type, it) === id);
14158
+ const items = _chunkNNFQLTJ3cjs.extractItems.call(void 0, data);
14159
+ const match = items.find((it) => _chunkNNFQLTJ3cjs.extractItemId.call(void 0, type, it) === id);
14160
14160
  return _nullishCoalesce(match, () => ( null));
14161
14161
  },
14162
14162
  enabled: !!url && id.length > 0,
@@ -14189,7 +14189,7 @@ function useChatCardItem(type, id) {
14189
14189
  function CardMedia({ imageSrc, imageAlt, icon }) {
14190
14190
  if (imageSrc) {
14191
14191
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative block size-10 shrink-0", children: [
14192
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-ods-text-primary text-h6", children: _chunkMIY5FYX3cjs.getFirstLastInitials.call(void 0, imageAlt) || "?" }),
14192
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-ods-text-primary text-h6", children: _chunkNNFQLTJ3cjs.getFirstLastInitials.call(void 0, imageAlt) || "?" }),
14193
14193
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14194
14194
  _chunkWLSFBRT5cjs.next_image_default,
14195
14195
  {
@@ -14326,6 +14326,20 @@ function readPlatforms(item, canonicalType) {
14326
14326
  }
14327
14327
  return void 0;
14328
14328
  }
14329
+ function pickFetchedCardHref({
14330
+ composed,
14331
+ itemHref,
14332
+ allowComposed
14333
+ }) {
14334
+ if (_optionalChain([composed, 'optionalAccess', _338 => _338.hostOverride])) {
14335
+ return { source: "hostOverride", href: composed.href, targetPlatform: composed.targetPlatform };
14336
+ }
14337
+ if (itemHref) return { source: "item", href: itemHref };
14338
+ if (composed && allowComposed) {
14339
+ return { source: "composed", href: composed.href, targetPlatform: composed.targetPlatform };
14340
+ }
14341
+ return null;
14342
+ }
14329
14343
  function resolveFetchedCardHref({
14330
14344
  contentRefType,
14331
14345
  id,
@@ -14333,7 +14347,7 @@ function resolveFetchedCardHref({
14333
14347
  composeContentUrl
14334
14348
  }) {
14335
14349
  if (!composeContentUrl || !contentRefType || !id) return null;
14336
- const canonicalType = _chunkMIY5FYX3cjs.canonicalContentRefType.call(void 0, contentRefType);
14350
+ const canonicalType = _chunkNNFQLTJ3cjs.canonicalContentRefType.call(void 0, contentRefType);
14337
14351
  return composeContentUrl({
14338
14352
  // The card registry keys some entries by the legacy rail vocabulary
14339
14353
  // (`blog_post_existing`) because that is what `buildListUrl` expects.
@@ -14512,20 +14526,20 @@ function resolveSourceRowCTA(row, ctx = {}) {
14512
14526
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
14513
14527
  const safePath = sanitizePath(row.path);
14514
14528
  if (safePath) {
14515
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _338 => _338.docPlatformTargets, 'optionalAccess', _339 => _339[row.documentType]]) : void 0;
14529
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _339 => _339.docPlatformTargets, 'optionalAccess', _340 => _340[row.documentType]]) : void 0;
14516
14530
  if (docTarget) {
14517
14531
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
14518
14532
  const base = `${_chunkPRPZBXWZcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
14519
- href = _nullishCoalesce(_chunkMIY5FYX3cjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14533
+ href = _nullishCoalesce(_chunkNNFQLTJ3cjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14520
14534
  targetPlatform = docTarget.platform;
14521
14535
  } else if (ctx.chipBasePlatform) {
14522
14536
  const base = `${_chunkPRPZBXWZcjs.getBaseUrl.call(void 0, ctx.chipBasePlatform)}/knowledge-base/`;
14523
- href = _nullishCoalesce(_chunkMIY5FYX3cjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14537
+ href = _nullishCoalesce(_chunkNNFQLTJ3cjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14524
14538
  targetPlatform = ctx.chipBasePlatform;
14525
14539
  } else if (ctx.baseRoute) {
14526
14540
  const synthetic = `https://_internal_.local${ctx.baseRoute.startsWith("/") ? ctx.baseRoute : "/" + ctx.baseRoute}/`;
14527
14541
  const absolute = new URL(safePath, synthetic).toString();
14528
- href = _nullishCoalesce(_chunkMIY5FYX3cjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
14542
+ href = _nullishCoalesce(_chunkNNFQLTJ3cjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
14529
14543
  targetPlatform = _nullishCoalesce(ctx.currentPlatform, () => ( null));
14530
14544
  }
14531
14545
  }
@@ -14534,15 +14548,15 @@ function resolveSourceRowCTA(row, ctx = {}) {
14534
14548
  // Canonical vocabulary only — a rail-vocab alias would miss the host's
14535
14549
  // `hostedTypes` / `overrides` and fall through to the seam's default
14536
14550
  // `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
14537
- type: _chunkMIY5FYX3cjs.canonicalContentRefType.call(void 0, row.documentType),
14551
+ type: _chunkNNFQLTJ3cjs.canonicalContentRefType.call(void 0, row.documentType),
14538
14552
  identifier: idValue,
14539
14553
  externalUrl: row.externalUrl,
14540
14554
  targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
14541
14555
  });
14542
- href = composed.href ? _nullishCoalesce(_chunkMIY5FYX3cjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
14556
+ href = composed.href ? _nullishCoalesce(_chunkNNFQLTJ3cjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
14543
14557
  targetPlatform = composed.targetPlatform;
14544
14558
  } else if (row.externalUrl) {
14545
- href = _nullishCoalesce(_chunkMIY5FYX3cjs.safeHref.call(void 0, row.externalUrl), () => ( null));
14559
+ href = _nullishCoalesce(_chunkNNFQLTJ3cjs.safeHref.call(void 0, row.externalUrl), () => ( null));
14546
14560
  targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
14547
14561
  }
14548
14562
  const documentType = row.documentType;
@@ -14577,11 +14591,11 @@ function resolveSourceIcon(input, ctx = {}) {
14577
14591
 
14578
14592
  function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
14579
14593
  const label = entityLabel || "Item";
14580
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
14581
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
14582
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TEXT_COL, children: [
14583
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkMIY5FYX3cjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
14584
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMIY5FYX3cjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
14594
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
14595
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
14596
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
14597
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
14598
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
14585
14599
  label,
14586
14600
  " deleted",
14587
14601
  recoveryNote ? ` \xB7 ${recoveryNote}` : ""
@@ -14627,7 +14641,7 @@ function GitHubChatCard({
14627
14641
  const title = kind === "pr_review" ? display.replace(/^by\s+/i, "").trim() || "Reviewer" : display;
14628
14642
  const status = kind === "pr_review" && reviewState ? { label: reviewStateLabel(reviewState), variant: reviewStateToVariant(reviewState) } : { label: kindLabel(kind), variant: "grey" };
14629
14643
  const idLabel = formatActivityId(chatRef.id, kind);
14630
- const dateText = _chunkMIY5FYX3cjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
14644
+ const dateText = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
14631
14645
  const description = [idLabel, dateText].filter(Boolean).join(" \xB7 ") || void 0;
14632
14646
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14633
14647
  MingoInfoCard,
@@ -14636,7 +14650,7 @@ function GitHubChatCard({
14636
14650
  description,
14637
14651
  icon: githubKindIcon(kind),
14638
14652
  status,
14639
- anchorProps: _chunkMIY5FYX3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14653
+ anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14640
14654
  menuGroups: cardMenuGroups(chatRef.url, discuss),
14641
14655
  menuAriaLabel: "Activity actions"
14642
14656
  }
@@ -14655,8 +14669,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
14655
14669
  if (href) {
14656
14670
  items.push({
14657
14671
  id: "open-details",
14658
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _340 => _340.label]), () => ( "Open Details")),
14659
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _341 => _341.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.EyeIcon, { size: 20 }))),
14672
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _341 => _341.label]), () => ( "Open Details")),
14673
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _342 => _342.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.EyeIcon, { size: 20 }))),
14660
14674
  // Main row → open the entity (same tab, soft Link nav).
14661
14675
  href,
14662
14676
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -14716,18 +14730,18 @@ function itemVideoMetadata(item) {
14716
14730
  for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
14717
14731
  return void 0;
14718
14732
  };
14719
- const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _342 => _342.metadata]), () => ( {}));
14733
+ const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _343 => _343.metadata]), () => ( {}));
14720
14734
  const out = {};
14721
- const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _343 => _343.custom_video_url]), _optionalChain([item, 'optionalAccess', _344 => _344.main_video_url]));
14722
- const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _345 => _345.youtube_url]), _optionalChain([item, 'optionalAccess', _346 => _346.testimonial_video_url]));
14723
- const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _347 => _347.highlight_video_url]));
14735
+ const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _344 => _344.custom_video_url]), _optionalChain([item, 'optionalAccess', _345 => _345.main_video_url]));
14736
+ const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _346 => _346.youtube_url]), _optionalChain([item, 'optionalAccess', _347 => _347.testimonial_video_url]));
14737
+ const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _348 => _348.highlight_video_url]));
14724
14738
  const videoPoster = pick(
14725
14739
  m.videoPoster,
14726
- _optionalChain([item, 'optionalAccess', _348 => _348.main_video_thumbnail]),
14727
- _optionalChain([item, 'optionalAccess', _349 => _349.highlight_video_thumbnail]),
14728
- _optionalChain([item, 'optionalAccess', _350 => _350.featured_image])
14740
+ _optionalChain([item, 'optionalAccess', _349 => _349.main_video_thumbnail]),
14741
+ _optionalChain([item, 'optionalAccess', _350 => _350.highlight_video_thumbnail]),
14742
+ _optionalChain([item, 'optionalAccess', _351 => _351.featured_image])
14729
14743
  );
14730
- const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _351 => _351.highlight_video_thumbnail]));
14744
+ const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _352 => _352.highlight_video_thumbnail]));
14731
14745
  if (videoUrl) out.videoUrl = videoUrl;
14732
14746
  if (youtubeUrl) out.youtubeUrl = youtubeUrl;
14733
14747
  if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
@@ -14757,15 +14771,15 @@ function fetchedItemDisplayRef(item, chatRef) {
14757
14771
  }
14758
14772
  function fetchedFaqDisplayRef(item, chatRef) {
14759
14773
  const it = item;
14760
- const answer = typeof _optionalChain([it, 'optionalAccess', _352 => _352.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
14774
+ const answer = typeof _optionalChain([it, 'optionalAccess', _353 => _353.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
14761
14775
  return {
14762
14776
  type: "faq",
14763
14777
  id: chatRef.id,
14764
14778
  sourceRepo: chatRef.sourceRepo,
14765
- title: typeof _optionalChain([it, 'optionalAccess', _353 => _353.question]) === "string" && it.question ? it.question : chatRef.id,
14779
+ title: typeof _optionalChain([it, 'optionalAccess', _354 => _354.question]) === "string" && it.question ? it.question : chatRef.id,
14766
14780
  url: _nullishCoalesce(chatRef.url, () => ( null)),
14767
14781
  ...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
14768
- metadata: typeof _optionalChain([it, 'optionalAccess', _354 => _354.section]) === "string" && it.section ? { section: it.section } : {}
14782
+ metadata: typeof _optionalChain([it, 'optionalAccess', _355 => _355.section]) === "string" && it.section ? { section: it.section } : {}
14769
14783
  };
14770
14784
  }
14771
14785
  function HubspotTicketChatCard({
@@ -14773,8 +14787,8 @@ function HubspotTicketChatCard({
14773
14787
  isNewTab,
14774
14788
  discuss
14775
14789
  }) {
14776
- const status = typeof _optionalChain([chatRef, 'access', _355 => _355.metadata, 'optionalAccess', _356 => _356.status]) === "string" ? chatRef.metadata.status : void 0;
14777
- const statusLabel = typeof _optionalChain([chatRef, 'access', _357 => _357.metadata, 'optionalAccess', _358 => _358.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
14790
+ const status = typeof _optionalChain([chatRef, 'access', _356 => _356.metadata, 'optionalAccess', _357 => _357.status]) === "string" ? chatRef.metadata.status : void 0;
14791
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _358 => _358.metadata, 'optionalAccess', _359 => _359.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
14778
14792
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
14779
14793
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14780
14794
  MingoInfoCard,
@@ -14783,7 +14797,7 @@ function HubspotTicketChatCard({
14783
14797
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
14784
14798
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TagIcon, { size: 24 }),
14785
14799
  status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
14786
- anchorProps: _chunkMIY5FYX3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14800
+ anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14787
14801
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
14788
14802
  label: "Open Ticket Details",
14789
14803
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TagIcon, { size: 20 })
@@ -14797,7 +14811,7 @@ function FaqChatCard({
14797
14811
  isNewTab,
14798
14812
  discuss
14799
14813
  }) {
14800
- const section = typeof _optionalChain([chatRef, 'access', _359 => _359.metadata, 'optionalAccess', _360 => _360.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
14814
+ const section = typeof _optionalChain([chatRef, 'access', _360 => _360.metadata, 'optionalAccess', _361 => _361.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
14801
14815
  const statusLabel = section && section.length > 0 ? section : "FAQ";
14802
14816
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14803
14817
  MingoInfoCard,
@@ -14806,7 +14820,7 @@ function FaqChatCard({
14806
14820
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
14807
14821
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.QuestionCircleIcon, { size: 24 }),
14808
14822
  status: { label: statusLabel, variant: "grey" },
14809
- anchorProps: _chunkMIY5FYX3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14823
+ anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14810
14824
  menuGroups: cardMenuGroups(chatRef.url, discuss),
14811
14825
  menuAriaLabel: "FAQ actions"
14812
14826
  }
@@ -14817,7 +14831,7 @@ function SlackChatCard({
14817
14831
  isNewTab,
14818
14832
  discuss
14819
14833
  }) {
14820
- const channelName = typeof _optionalChain([chatRef, 'access', _361 => _361.metadata, 'optionalAccess', _362 => _362.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
14834
+ const channelName = typeof _optionalChain([chatRef, 'access', _362 => _362.metadata, 'optionalAccess', _363 => _363.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
14821
14835
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
14822
14836
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
14823
14837
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -14826,7 +14840,7 @@ function SlackChatCard({
14826
14840
  title,
14827
14841
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
14828
14842
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.SlackLogoGreyIcon, { size: 24 }),
14829
- anchorProps: _chunkMIY5FYX3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14843
+ anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14830
14844
  menuGroups: cardMenuGroups(chatRef.url, discuss),
14831
14845
  menuAriaLabel: "Message actions"
14832
14846
  }
@@ -14845,7 +14859,7 @@ function DataRoomDocChatCard({
14845
14859
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
14846
14860
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.FileContentIcon, { size: 24 }),
14847
14861
  status: { label: badgeText, variant: "grey" },
14848
- anchorProps: _chunkMIY5FYX3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14862
+ anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14849
14863
  menuGroups: cardMenuGroups(chatRef.url, discuss),
14850
14864
  menuAriaLabel: "Document actions"
14851
14865
  }
@@ -14857,14 +14871,14 @@ function GenericFinancialChatCard({
14857
14871
  isNewTab,
14858
14872
  discuss
14859
14873
  }) {
14860
- const subtitle = typeof _optionalChain([chatRef, 'access', _363 => _363.metadata, 'optionalAccess', _364 => _364.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
14874
+ const subtitle = typeof _optionalChain([chatRef, 'access', _364 => _364.metadata, 'optionalAccess', _365 => _365.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
14861
14875
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14862
14876
  MingoInfoCard,
14863
14877
  {
14864
14878
  title: chatRef.title,
14865
14879
  description: subtitle,
14866
14880
  icon,
14867
- anchorProps: _chunkMIY5FYX3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14881
+ anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14868
14882
  menuGroups: cardMenuGroups(chatRef.url, discuss),
14869
14883
  menuAriaLabel: "Document actions"
14870
14884
  }
@@ -14926,12 +14940,12 @@ function ProductReleaseChatCard({
14926
14940
  discuss
14927
14941
  }) {
14928
14942
  const releaseProps = buildProps(item);
14929
- const status = _optionalChain([item, 'optionalAccess', _365 => _365.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
14943
+ const status = _optionalChain([item, 'optionalAccess', _366 => _366.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
14930
14944
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14931
14945
  EntityMingoCard,
14932
14946
  {
14933
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _366 => _366.title]), () => ( "")),
14934
- description: _optionalChain([item, 'optionalAccess', _367 => _367.summary]) || releaseProps.formattedDate || void 0,
14947
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _367 => _367.title]), () => ( "")),
14948
+ description: _optionalChain([item, 'optionalAccess', _368 => _368.summary]) || releaseProps.formattedDate || void 0,
14935
14949
  cover: releaseProps.coverImage || void 0,
14936
14950
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Rocket02Icon, { size: 24 }),
14937
14951
  status,
@@ -14948,17 +14962,17 @@ function CampaignChatCard({
14948
14962
  isNewTab,
14949
14963
  discuss
14950
14964
  }) {
14951
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _368 => _368.goals])) ? item.goals.length : 0;
14965
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _369 => _369.goals])) ? item.goals.length : 0;
14952
14966
  const meta = [
14953
- _optionalChain([item, 'optionalAccess', _369 => _369.start_date]) ? _chunkMIY5FYX3cjs.formatDateShort.call(void 0, item.start_date) : null,
14967
+ _optionalChain([item, 'optionalAccess', _370 => _370.start_date]) ? _chunkNNFQLTJ3cjs.formatDateShort.call(void 0, item.start_date) : null,
14954
14968
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
14955
14969
  "Marketing campaign"
14956
14970
  ].filter(Boolean).join(" \xB7 ");
14957
14971
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14958
14972
  EntityMingoCard,
14959
14973
  {
14960
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _370 => _370.name]), () => ( "")),
14961
- description: meta || _optionalChain([item, 'optionalAccess', _371 => _371.description]) || void 0,
14974
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _371 => _371.name]), () => ( "")),
14975
+ description: meta || _optionalChain([item, 'optionalAccess', _372 => _372.description]) || void 0,
14962
14976
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Megaphone01Icon, { size: 24 }),
14963
14977
  chatRef,
14964
14978
  isNewTab,
@@ -14989,7 +15003,7 @@ function EntityMingoCard({
14989
15003
  imageAlt: typeof title === "string" ? title : void 0,
14990
15004
  icon: fallbackIcon,
14991
15005
  status,
14992
- anchorProps: _chunkMIY5FYX3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15006
+ anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14993
15007
  menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
14994
15008
  menuAriaLabel
14995
15009
  }
@@ -15001,7 +15015,7 @@ function entityCover(image, ogPlaceholder) {
15001
15015
  function statusPill(status) {
15002
15016
  const s = typeof status === "string" ? status.trim() : "";
15003
15017
  if (!s) return void 0;
15004
- const scheme = _chunkMIY5FYX3cjs.getStatusColorScheme.call(void 0, s);
15018
+ const scheme = _chunkNNFQLTJ3cjs.getStatusColorScheme.call(void 0, s);
15005
15019
  const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
15006
15020
  return { label: s, variant };
15007
15021
  }
@@ -15013,14 +15027,14 @@ function BlogChatCard({
15013
15027
  hasEmbeddedVideo,
15014
15028
  discuss
15015
15029
  }) {
15016
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _372 => _372.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _373 => _373.categories, 'access', _374 => _374.find, 'call', _375 => _375((c) => _optionalChain([c, 'optionalAccess', _376 => _376.name])), 'optionalAccess', _377 => _377.name]), () => ( void 0)) : void 0;
15030
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _373 => _373.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _374 => _374.categories, 'access', _375 => _375.find, 'call', _376 => _376((c) => _optionalChain([c, 'optionalAccess', _377 => _377.name])), 'optionalAccess', _378 => _378.name]), () => ( void 0)) : void 0;
15017
15031
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
15018
15032
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15019
15033
  EntityMingoCard,
15020
15034
  {
15021
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _378 => _378.title]), () => ( "")),
15022
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _379 => _379.summary]), () => ( void 0)),
15023
- cover: entityCover(_optionalChain([item, 'optionalAccess', _380 => _380.featured_image]), ogPlaceholder),
15035
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _379 => _379.title]), () => ( "")),
15036
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _380 => _380.summary]), () => ( void 0)),
15037
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _381 => _381.featured_image]), ogPlaceholder),
15024
15038
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.NewspaperIcon, { size: 24 }),
15025
15039
  status,
15026
15040
  chatRef,
@@ -15037,13 +15051,13 @@ function CaseStudyChatCard({
15037
15051
  ogPlaceholder,
15038
15052
  discuss
15039
15053
  }) {
15040
- const meta = [_optionalChain([item, 'optionalAccess', _381 => _381.msp, 'optionalAccess', _382 => _382.name]), _optionalChain([item, 'optionalAccess', _383 => _383.user, 'optionalAccess', _384 => _384.full_name])].filter(Boolean).join(" \xB7 ");
15054
+ const meta = [_optionalChain([item, 'optionalAccess', _382 => _382.msp, 'optionalAccess', _383 => _383.name]), _optionalChain([item, 'optionalAccess', _384 => _384.user, 'optionalAccess', _385 => _385.full_name])].filter(Boolean).join(" \xB7 ");
15041
15055
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15042
15056
  EntityMingoCard,
15043
15057
  {
15044
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _385 => _385.title]), () => ( "")),
15045
- description: _optionalChain([item, 'optionalAccess', _386 => _386.summary]) || meta || void 0,
15046
- cover: entityCover(_optionalChain([item, 'optionalAccess', _387 => _387.featured_image]), ogPlaceholder),
15058
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _386 => _386.title]), () => ( "")),
15059
+ description: _optionalChain([item, 'optionalAccess', _387 => _387.summary]) || meta || void 0,
15060
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _388 => _388.featured_image]), ogPlaceholder),
15047
15061
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TrophyIcon, { size: 24 }),
15048
15062
  status: { label: "Case study", variant: "grey" },
15049
15063
  chatRef,
@@ -15060,13 +15074,13 @@ function CustomerInterviewChatCard({
15060
15074
  ogPlaceholder,
15061
15075
  discuss
15062
15076
  }) {
15063
- const meta = [_optionalChain([item, 'optionalAccess', _388 => _388.user, 'optionalAccess', _389 => _389.full_name]), _optionalChain([item, 'optionalAccess', _390 => _390.msp, 'optionalAccess', _391 => _391.name])].filter(Boolean).join(" \xB7 ");
15077
+ const meta = [_optionalChain([item, 'optionalAccess', _389 => _389.user, 'optionalAccess', _390 => _390.full_name]), _optionalChain([item, 'optionalAccess', _391 => _391.msp, 'optionalAccess', _392 => _392.name])].filter(Boolean).join(" \xB7 ");
15064
15078
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15065
15079
  EntityMingoCard,
15066
15080
  {
15067
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _392 => _392.title]), () => ( "")),
15068
- description: _optionalChain([item, 'optionalAccess', _393 => _393.video_summary]) || meta || void 0,
15069
- cover: entityCover(_optionalChain([item, 'optionalAccess', _394 => _394.featured_image]), ogPlaceholder),
15081
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _393 => _393.title]), () => ( "")),
15082
+ description: _optionalChain([item, 'optionalAccess', _394 => _394.video_summary]) || meta || void 0,
15083
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _395 => _395.featured_image]), ogPlaceholder),
15070
15084
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MicrophoneIcon, { size: 24 }),
15071
15085
  status: { label: "Interview", variant: "grey" },
15072
15086
  chatRef,
@@ -15083,13 +15097,13 @@ function InvestorUpdateChatCard({
15083
15097
  ogPlaceholder,
15084
15098
  discuss
15085
15099
  }) {
15086
- const title = _optionalChain([item, 'optionalAccess', _395 => _395.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _396 => _396.update_number]), () => ( "?"))}`;
15100
+ const title = _optionalChain([item, 'optionalAccess', _396 => _396.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _397 => _397.update_number]), () => ( "?"))}`;
15087
15101
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15088
15102
  EntityMingoCard,
15089
15103
  {
15090
15104
  title,
15091
- description: _optionalChain([item, 'optionalAccess', _397 => _397.strategic_update]) || _optionalChain([item, 'optionalAccess', _398 => _398.content]) || _chunkMIY5FYX3cjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _399 => _399.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _400 => _400.period_end]), () => ( null))) || void 0,
15092
- cover: entityCover(_optionalChain([item, 'optionalAccess', _401 => _401.featured_image]), ogPlaceholder),
15105
+ description: _optionalChain([item, 'optionalAccess', _398 => _398.strategic_update]) || _optionalChain([item, 'optionalAccess', _399 => _399.content]) || _chunkNNFQLTJ3cjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _400 => _400.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _401 => _401.period_end]), () => ( null))) || void 0,
15106
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _402 => _402.featured_image]), ogPlaceholder),
15093
15107
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PresentationLineIcon, { size: 24 }),
15094
15108
  status: { label: "Investor update", variant: "grey" },
15095
15109
  chatRef,
@@ -15106,12 +15120,12 @@ function OnboardingGuideChatCard({
15106
15120
  ogPlaceholder,
15107
15121
  discuss
15108
15122
  }) {
15109
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _402 => _402.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _403 => _403.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _404 => _404.og_image_url]), ogPlaceholder)));
15123
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _403 => _403.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _404 => _404.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _405 => _405.og_image_url]), ogPlaceholder)));
15110
15124
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15111
15125
  EntityMingoCard,
15112
15126
  {
15113
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _405 => _405.title]), () => ( "")),
15114
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _406 => _406.summary]), () => ( _optionalChain([item, 'optionalAccess', _407 => _407.description]))), () => ( void 0)),
15127
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _406 => _406.title]), () => ( "")),
15128
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _407 => _407.summary]), () => ( _optionalChain([item, 'optionalAccess', _408 => _408.description]))), () => ( void 0)),
15115
15129
  cover,
15116
15130
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CompassIcon, { size: 24 }),
15117
15131
  status: { label: "Guide", variant: "grey" },
@@ -15132,25 +15146,25 @@ function ProgramChatCard({
15132
15146
  discuss
15133
15147
  }) {
15134
15148
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MicrophoneIcon, { size: 24 });
15135
- const isScheduled = _optionalChain([item, 'optionalAccess', _408 => _408.status]) === "scheduled";
15149
+ const isScheduled = _optionalChain([item, 'optionalAccess', _409 => _409.status]) === "scheduled";
15136
15150
  let typeMeta;
15137
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _409 => _409.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
15138
- typeMeta = _chunkMIY5FYX3cjs.formatDurationCompact.call(void 0, item.duration_seconds);
15139
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _410 => _410.location_name]) === "string" && item.location_name.trim().length > 0) {
15151
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _410 => _410.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
15152
+ typeMeta = _chunkNNFQLTJ3cjs.formatDurationCompact.call(void 0, item.duration_seconds);
15153
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _411 => _411.location_name]) === "string" && item.location_name.trim().length > 0) {
15140
15154
  typeMeta = item.location_name;
15141
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _411 => _411.start_at])) {
15142
- const time = _chunkMIY5FYX3cjs.formatTimeWithTimezone.call(void 0, item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
15143
- const dur = _chunkMIY5FYX3cjs.formatDurationFromRange.call(void 0, item.start_at, item.end_at);
15155
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _412 => _412.start_at])) {
15156
+ const time = _chunkNNFQLTJ3cjs.formatTimeWithTimezone.call(void 0, item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
15157
+ const dur = _chunkNNFQLTJ3cjs.formatDurationFromRange.call(void 0, item.start_at, item.end_at);
15144
15158
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
15145
15159
  }
15146
- const itemDate = _chunkMIY5FYX3cjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _412 => _412.date]), () => ( null)), { fallback: "", timezone: "local" });
15160
+ const itemDate = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _413 => _413.date]), () => ( null)), { fallback: "", timezone: "local" });
15147
15161
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
15148
15162
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15149
15163
  EntityMingoCard,
15150
15164
  {
15151
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _413 => _413.title]), () => ( "")),
15152
- description: meta || _optionalChain([item, 'optionalAccess', _414 => _414.description]) || void 0,
15153
- cover: entityCover(_optionalChain([item, 'optionalAccess', _415 => _415.cover_url]), ogPlaceholder),
15165
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _414 => _414.title]), () => ( "")),
15166
+ description: meta || _optionalChain([item, 'optionalAccess', _415 => _415.description]) || void 0,
15167
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _416 => _416.cover_url]), ogPlaceholder),
15154
15168
  fallbackIcon: icon,
15155
15169
  status: { label, variant: "grey" },
15156
15170
  chatRef,
@@ -15167,10 +15181,10 @@ function RoadmapChatCard({
15167
15181
  cardType,
15168
15182
  discuss
15169
15183
  }) {
15170
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _416 => _416.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
15171
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _417 => _417.customItemId]) != null;
15184
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _417 => _417.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
15185
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _418 => _418.customItemId]) != null;
15172
15186
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MapIcon, { size: 24 });
15173
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _418 => _418.customItemId]), className: "size-6" }) : logoUrl ? (
15187
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _419 => _419.customItemId]), className: "size-6" }) : logoUrl ? (
15174
15188
  // Contained (not full-bleed) so the integration logo keeps its aspect
15175
15189
  // ratio inside the bordered icon box — matches RoadmapCard.
15176
15190
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWLSFBRT5cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
@@ -15181,10 +15195,10 @@ function RoadmapChatCard({
15181
15195
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15182
15196
  EntityMingoCard,
15183
15197
  {
15184
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _419 => _419.title]), () => ( "")),
15185
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _420 => _420.description]), () => ( void 0)),
15198
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _420 => _420.title]), () => ( "")),
15199
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.description]), () => ( void 0)),
15186
15200
  fallbackIcon: icon,
15187
- status: statusPill(_optionalChain([item, 'optionalAccess', _421 => _421.status])),
15201
+ status: statusPill(_optionalChain([item, 'optionalAccess', _422 => _422.status])),
15188
15202
  chatRef,
15189
15203
  isNewTab,
15190
15204
  discuss,
@@ -15200,7 +15214,7 @@ function refHydratedEntry(docType, label, renderRef) {
15200
15214
  bareInline: true,
15201
15215
  contentRefType: docType,
15202
15216
  noComposedHref: true,
15203
- fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _422 => _422.url]), () => ( null)),
15217
+ fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _423 => _423.url]), () => ( null)),
15204
15218
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
15205
15219
  render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
15206
15220
  };
@@ -15255,7 +15269,7 @@ function programRegistryEntries() {
15255
15269
  label: cfg.label,
15256
15270
  contentRefType: cfg.contentRefType,
15257
15271
  bareInline: true,
15258
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.ProgramCardSkeleton, { size: "sm" }),
15272
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.ProgramCardSkeleton, { size: "sm" }),
15259
15273
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15260
15274
  ProgramChatCard,
15261
15275
  {
@@ -15265,7 +15279,7 @@ function programRegistryEntries() {
15265
15279
  discuss: opts.discuss,
15266
15280
  configKey: cfg.configKey,
15267
15281
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
15268
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _423 => _423.extras, 'optionalAccess', _424 => _424.buildOgPlaceholderUrl, 'optionalCall', _425 => _425(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _426 => _426.title]), () => ( "")))]), () => ( null))
15282
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _424 => _424.extras, 'optionalAccess', _425 => _425.buildOgPlaceholderUrl, 'optionalCall', _426 => _426(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _427 => _427.title]), () => ( "")))]), () => ( null))
15269
15283
  }
15270
15284
  )
15271
15285
  }));
@@ -15286,7 +15300,7 @@ var ROADMAP_CARD_CONFIGS = {
15286
15300
  // The card's destination IS the ClickUp deep link, derived from the
15287
15301
  // task id post-fetch (the refs frame used to carry it).
15288
15302
  noComposedHref: true,
15289
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _427 => _427.id]) != null ? clickupTaskUrl(String(item.id)) : null
15303
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _428 => _428.id]) != null ? clickupTaskUrl(String(item.id)) : null
15290
15304
  }
15291
15305
  };
15292
15306
  function roadmapRegistryEntries() {
@@ -15296,7 +15310,7 @@ function roadmapRegistryEntries() {
15296
15310
  bareInline: true,
15297
15311
  ...cfg.noComposedHref ? { noComposedHref: true } : {},
15298
15312
  ...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
15299
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.RoadmapCardSkeleton, { size: "sm" }),
15313
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.RoadmapCardSkeleton, { size: "sm" }),
15300
15314
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15301
15315
  RoadmapChatCard,
15302
15316
  {
@@ -15328,8 +15342,8 @@ var CHAT_CARD_REGISTRY = {
15328
15342
  DeletedDataCard,
15329
15343
  {
15330
15344
  title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
15331
- entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _428 => _428.metadata, 'optionalAccess', _429 => _429.entity_label]), () => ( null)),
15332
- recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _430 => _430.metadata, 'optionalAccess', _431 => _431.recovery_note]), () => ( null))
15345
+ entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _429 => _429.metadata, 'optionalAccess', _430 => _430.entity_label]), () => ( null)),
15346
+ recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _431 => _431.metadata, 'optionalAccess', _432 => _432.recovery_note]), () => ( null))
15333
15347
  }
15334
15348
  )
15335
15349
  },
@@ -15343,7 +15357,7 @@ var CHAT_CARD_REGISTRY = {
15343
15357
  bareInline: true,
15344
15358
  contentRefType: "faq",
15345
15359
  noComposedHref: true,
15346
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _432 => _432.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
15360
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _433 => _433.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
15347
15361
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
15348
15362
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
15349
15363
  },
@@ -15369,7 +15383,7 @@ var CHAT_CARD_REGISTRY = {
15369
15383
  label: "Blog post",
15370
15384
  contentRefType: "blog_post_existing",
15371
15385
  bareInline: true,
15372
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.BlogCardSkeleton, { size: "sm" }),
15386
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.BlogCardSkeleton, { size: "sm" }),
15373
15387
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15374
15388
  BlogChatCard,
15375
15389
  {
@@ -15377,8 +15391,8 @@ var CHAT_CARD_REGISTRY = {
15377
15391
  chatRef,
15378
15392
  isNewTab: opts.isNewTab,
15379
15393
  discuss: opts.discuss,
15380
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _433 => _433.extras, 'optionalAccess', _434 => _434.buildOgPlaceholderUrl, 'optionalCall', _435 => _435(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _436 => _436.title]), () => ( "")))]), () => ( null)),
15381
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _437 => _437.metadata, 'optionalAccess', _438 => _438.hasEmbeddedVideo]) === true
15394
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _434 => _434.extras, 'optionalAccess', _435 => _435.buildOgPlaceholderUrl, 'optionalCall', _436 => _436(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _437 => _437.title]), () => ( "")))]), () => ( null)),
15395
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _438 => _438.metadata, 'optionalAccess', _439 => _439.hasEmbeddedVideo]) === true
15382
15396
  }
15383
15397
  )
15384
15398
  },
@@ -15386,7 +15400,7 @@ var CHAT_CARD_REGISTRY = {
15386
15400
  label: "Case study",
15387
15401
  contentRefType: "case_study",
15388
15402
  bareInline: true,
15389
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.CaseStudyCardSkeleton, { size: "sm" }),
15403
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.CaseStudyCardSkeleton, { size: "sm" }),
15390
15404
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15391
15405
  CaseStudyChatCard,
15392
15406
  {
@@ -15394,7 +15408,7 @@ var CHAT_CARD_REGISTRY = {
15394
15408
  chatRef,
15395
15409
  isNewTab: opts.isNewTab,
15396
15410
  discuss: opts.discuss,
15397
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _439 => _439.extras, 'optionalAccess', _440 => _440.buildOgPlaceholderUrl, 'optionalCall', _441 => _441(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _442 => _442.title]), () => ( "")))]), () => ( null))
15411
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _440 => _440.extras, 'optionalAccess', _441 => _441.buildOgPlaceholderUrl, 'optionalCall', _442 => _442(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _443 => _443.title]), () => ( "")))]), () => ( null))
15398
15412
  }
15399
15413
  )
15400
15414
  },
@@ -15402,7 +15416,7 @@ var CHAT_CARD_REGISTRY = {
15402
15416
  label: "Customer interview",
15403
15417
  contentRefType: "customer_interview",
15404
15418
  bareInline: true,
15405
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.CustomerInterviewCardSkeleton, { size: "sm" }),
15419
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.CustomerInterviewCardSkeleton, { size: "sm" }),
15406
15420
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15407
15421
  CustomerInterviewChatCard,
15408
15422
  {
@@ -15410,7 +15424,7 @@ var CHAT_CARD_REGISTRY = {
15410
15424
  chatRef,
15411
15425
  isNewTab: opts.isNewTab,
15412
15426
  discuss: opts.discuss,
15413
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _443 => _443.extras, 'optionalAccess', _444 => _444.buildOgPlaceholderUrl, 'optionalCall', _445 => _445(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _446 => _446.title]), () => ( "")))]), () => ( null))
15427
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _444 => _444.extras, 'optionalAccess', _445 => _445.buildOgPlaceholderUrl, 'optionalCall', _446 => _446(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _447 => _447.title]), () => ( "")))]), () => ( null))
15414
15428
  }
15415
15429
  )
15416
15430
  },
@@ -15418,9 +15432,9 @@ var CHAT_CARD_REGISTRY = {
15418
15432
  label: "Product release",
15419
15433
  contentRefType: "product_release",
15420
15434
  bareInline: true,
15421
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.ProductReleaseCardSkeleton, { size: "sm" }),
15435
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.ProductReleaseCardSkeleton, { size: "sm" }),
15422
15436
  render: (item, chatRef, opts) => {
15423
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _447 => _447.extras, 'optionalAccess', _448 => _448.buildProductReleaseCardProps]), () => ( _chunkMIY5FYX3cjs.defaultBuildProductReleaseCardProps));
15437
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _448 => _448.extras, 'optionalAccess', _449 => _449.buildProductReleaseCardProps]), () => ( _chunkNNFQLTJ3cjs.defaultBuildProductReleaseCardProps));
15424
15438
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15425
15439
  ProductReleaseChatCard,
15426
15440
  {
@@ -15438,7 +15452,7 @@ var CHAT_CARD_REGISTRY = {
15438
15452
  label: "Investor update",
15439
15453
  contentRefType: "investor_update",
15440
15454
  bareInline: true,
15441
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.InvestorUpdateCardSkeleton, { size: "sm" }),
15455
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.InvestorUpdateCardSkeleton, { size: "sm" }),
15442
15456
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15443
15457
  InvestorUpdateChatCard,
15444
15458
  {
@@ -15446,7 +15460,7 @@ var CHAT_CARD_REGISTRY = {
15446
15460
  chatRef,
15447
15461
  isNewTab: opts.isNewTab,
15448
15462
  discuss: opts.discuss,
15449
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _449 => _449.extras, 'optionalAccess', _450 => _450.buildOgPlaceholderUrl, 'optionalCall', _451 => _451(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _452 => _452.title]), () => ( "")))]), () => ( null))
15463
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _450 => _450.extras, 'optionalAccess', _451 => _451.buildOgPlaceholderUrl, 'optionalCall', _452 => _452(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _453 => _453.title]), () => ( "")))]), () => ( null))
15450
15464
  }
15451
15465
  )
15452
15466
  },
@@ -15456,7 +15470,7 @@ var CHAT_CARD_REGISTRY = {
15456
15470
  bareInline: true,
15457
15471
  // "Display" affordance (verbatim guide body) instead of "Ask".
15458
15472
  displayAction: true,
15459
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMIY5FYX3cjs.OnboardingGuideCardSkeleton, { size: "sm" }),
15473
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.OnboardingGuideCardSkeleton, { size: "sm" }),
15460
15474
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15461
15475
  OnboardingGuideChatCard,
15462
15476
  {
@@ -15464,7 +15478,7 @@ var CHAT_CARD_REGISTRY = {
15464
15478
  chatRef,
15465
15479
  isNewTab: opts.isNewTab,
15466
15480
  discuss: opts.discuss,
15467
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _453 => _453.extras, 'optionalAccess', _454 => _454.buildOgPlaceholderUrl, 'optionalCall', _455 => _455(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _456 => _456.title]), () => ( "")))]), () => ( null))
15481
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _454 => _454.extras, 'optionalAccess', _455 => _455.buildOgPlaceholderUrl, 'optionalCall', _456 => _456(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _457 => _457.title]), () => ( "")))]), () => ( null))
15468
15482
  }
15469
15483
  )
15470
15484
  },
@@ -15475,7 +15489,7 @@ var CHAT_CARD_REGISTRY = {
15475
15489
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
15476
15490
  // No public viewer — synthesize the hub-internal admin URL post-fetch
15477
15491
  // so the wrapper + isNewTab computation see the actual destination.
15478
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _457 => _457.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
15492
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _458 => _458.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
15479
15493
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
15480
15494
  },
15481
15495
  ...roadmapRegistryEntries()
@@ -15494,13 +15508,13 @@ function ChatCardNavWrap({
15494
15508
  if (!href) return;
15495
15509
  const targetEl = e.target;
15496
15510
  const host = e.currentTarget;
15497
- if (!_optionalChain([host, 'optionalAccess', _458 => _458.contains, 'call', _459 => _459(targetEl)])) return;
15498
- if (_optionalChain([targetEl, 'optionalAccess', _460 => _460.closest, 'optionalCall', _461 => _461("button")])) return;
15499
- if (!_optionalChain([targetEl, 'optionalAccess', _462 => _462.closest, 'optionalCall', _463 => _463("a")])) return;
15500
- const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
15511
+ if (!_optionalChain([host, 'optionalAccess', _459 => _459.contains, 'call', _460 => _460(targetEl)])) return;
15512
+ if (_optionalChain([targetEl, 'optionalAccess', _461 => _461.closest, 'optionalCall', _462 => _462("button")])) return;
15513
+ if (!_optionalChain([targetEl, 'optionalAccess', _463 => _463.closest, 'optionalCall', _464 => _464("a")])) return;
15514
+ const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
15501
15515
  if (!handled) return;
15502
15516
  e.stopPropagation();
15503
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _464 => _464.closeChat])) panel.closeChat();
15517
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _465 => _465.closeChat])) panel.closeChat();
15504
15518
  };
15505
15519
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
15506
15520
  }
@@ -15522,7 +15536,7 @@ function ChatCardLoader({
15522
15536
  title: chatRef.title,
15523
15537
  externalUrl: chatRef.url,
15524
15538
  targetPlatform: chatRef.targetPlatform,
15525
- path: typeof _optionalChain([chatRef, 'access', _465 => _465.metadata, 'optionalAccess', _466 => _466.path]) === "string" ? chatRef.metadata.path : null
15539
+ path: typeof _optionalChain([chatRef, 'access', _466 => _466.metadata, 'optionalAccess', _467 => _467.path]) === "string" ? chatRef.metadata.path : null
15526
15540
  },
15527
15541
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
15528
15542
  );
@@ -15536,27 +15550,30 @@ function ChatCardLoader({
15536
15550
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
15537
15551
  const fetchEntry = entry && entry.contentRefType ? entry : null;
15538
15552
  const { item, isLoading, isError, isFetched } = useChatCardItem(
15539
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _467 => _467.contentRefType]), () => ( "")),
15553
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _468 => _468.contentRefType]), () => ( "")),
15540
15554
  fetchEntry ? resolvedChatRef.id : ""
15541
15555
  );
15542
15556
  if (!entry) return null;
15543
- const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _468 => _468.contentRefType]) && !resolvedChatRef.url && item && !fetchEntry.fallbackHref && !fetchEntry.noComposedHref ? resolveFetchedCardHref({
15557
+ const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _469 => _469.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
15544
15558
  contentRefType: fetchEntry.contentRefType,
15545
15559
  id: resolvedChatRef.id,
15546
15560
  item,
15547
15561
  composeContentUrl: runtime.composeContentUrl
15548
15562
  }) : null;
15549
- const hrefResolvedChatRef = fetchEntry && !resolvedChatRef.url && item && fetchEntry.fallbackHref ? {
15550
- ...resolvedChatRef,
15551
- url: _chunkMIY5FYX3cjs.safeHref.call(void 0, fetchEntry.fallbackHref(item))
15552
- } : composedHref ? {
15563
+ const hrefChoice = fetchEntry && !resolvedChatRef.url && item ? pickFetchedCardHref({
15564
+ composed: composedHref,
15565
+ itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _470 => _470.fallbackHref, 'optionalCall', _471 => _471(item)]), () => ( null)),
15566
+ allowComposed: !fetchEntry.noComposedHref
15567
+ }) : null;
15568
+ const hrefResolvedChatRef = hrefChoice ? {
15553
15569
  ...resolvedChatRef,
15554
- url: _chunkMIY5FYX3cjs.safeHref.call(void 0, composedHref.href),
15555
- targetPlatform: _nullishCoalesce(_nullishCoalesce(composedHref.targetPlatform, () => ( resolvedChatRef.targetPlatform)), () => ( null))
15570
+ url: _chunkNNFQLTJ3cjs.safeHref.call(void 0, hrefChoice.href),
15571
+ // The `item` branch carries no platform of its own — keep the ref's.
15572
+ targetPlatform: _nullishCoalesce(_nullishCoalesce(hrefChoice.targetPlatform, () => ( resolvedChatRef.targetPlatform)), () => ( null))
15556
15573
  } : resolvedChatRef;
15557
15574
  const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
15558
15575
  const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
15559
- const isNewTab = _chunkMIY5FYX3cjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
15576
+ const isNewTab = _chunkNNFQLTJ3cjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
15560
15577
  const useDisplay = !!entry.displayAction && !!onDisplay;
15561
15578
  const discussFn = useDisplay ? onDisplay : onDiscuss;
15562
15579
  const discuss = discussFn ? {
@@ -15579,7 +15596,7 @@ function ChatCardLoader({
15579
15596
  isNewTab,
15580
15597
  discuss
15581
15598
  };
15582
- const path = typeof _optionalChain([finalChatRef, 'access', _469 => _469.metadata, 'optionalAccess', _470 => _470.path]) === "string" ? finalChatRef.metadata.path : null;
15599
+ const path = typeof _optionalChain([finalChatRef, 'access', _472 => _472.metadata, 'optionalAccess', _473 => _473.path]) === "string" ? finalChatRef.metadata.path : null;
15583
15600
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15584
15601
  ChatCardNavWrap,
15585
15602
  {
@@ -15603,7 +15620,7 @@ function ChatCardLoader({
15603
15620
  if (!fetchEntry) {
15604
15621
  return finish(entry.render(void 0, finalChatRef, renderOpts));
15605
15622
  }
15606
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _471 => _471.skeleton, 'optionalCall', _472 => _472()]), () => ( null)) });
15623
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _474 => _474.skeleton, 'optionalCall', _475 => _475()]), () => ( null)) });
15607
15624
  if (!item) {
15608
15625
  if (isError) {
15609
15626
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
@@ -15963,7 +15980,7 @@ function useChunkCatchup({
15963
15980
  if (catchupRun.current === run) {
15964
15981
  if (currentDialogId !== dialogIdRef.current) {
15965
15982
  catchupRun.current = null;
15966
- if (_optionalChain([pendingCatchupRef, 'access', _473 => _473.current, 'optionalAccess', _474 => _474.dialogId]) === currentDialogId) {
15983
+ if (_optionalChain([pendingCatchupRef, 'access', _476 => _476.current, 'optionalAccess', _477 => _477.dialogId]) === currentDialogId) {
15967
15984
  pendingCatchupRef.current = null;
15968
15985
  }
15969
15986
  } else {
@@ -15974,7 +15991,7 @@ function useChunkCatchup({
15974
15991
  if (pending.dialogId === currentDialogId) {
15975
15992
  rearmForQueuedCatchup();
15976
15993
  try {
15977
- await _optionalChain([catchUpChunksRef, 'access', _475 => _475.current, 'optionalCall', _476 => _476(pending.fromSequenceId)]);
15994
+ await _optionalChain([catchUpChunksRef, 'access', _478 => _478.current, 'optionalCall', _479 => _479(pending.fromSequenceId)]);
15978
15995
  } catch (rerunError) {
15979
15996
  console.error("Queued catch-up re-run failed:", rerunError);
15980
15997
  }
@@ -16041,7 +16058,7 @@ function useChunkCatchup({
16041
16058
 
16042
16059
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
16043
16060
  function prefersReducedMotion() {
16044
- return typeof window !== "undefined" && _optionalChain([window, 'access', _477 => _477.matchMedia, 'optionalCall', _478 => _478("(prefers-reduced-motion: reduce)"), 'access', _479 => _479.matches]) === true;
16061
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _480 => _480.matchMedia, 'optionalCall', _481 => _481("(prefers-reduced-motion: reduce)"), 'access', _482 => _482.matches]) === true;
16045
16062
  }
16046
16063
  function useScriptedStream(frames, resetKey, enabled = true) {
16047
16064
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -16052,7 +16069,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
16052
16069
  setIndex(0);
16053
16070
  }
16054
16071
  _react.useEffect.call(void 0, () => {
16055
- const mq = _optionalChain([window, 'access', _480 => _480.matchMedia, 'optionalCall', _481 => _481("(prefers-reduced-motion: reduce)")]);
16072
+ const mq = _optionalChain([window, 'access', _483 => _483.matchMedia, 'optionalCall', _484 => _484("(prefers-reduced-motion: reduce)")]);
16056
16073
  const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
16057
16074
  sync();
16058
16075
  if (!mq) return void 0;
@@ -16195,7 +16212,7 @@ function useJetStreamDialogSubscription({
16195
16212
  const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
16196
16213
  conn: sharedConn,
16197
16214
  wsUrl,
16198
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _482 => _482.current, 'optionalCall', _483 => _483()]),
16215
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _485 => _485.current, 'optionalCall', _486 => _486()]),
16199
16216
  backoff: reconnectionBackoffRef.current,
16200
16217
  getFreshUrl: () => getNatsWsUrlRef.current(),
16201
16218
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -16210,7 +16227,7 @@ function useJetStreamDialogSubscription({
16210
16227
  setReconnectionCount((c) => c + 1);
16211
16228
  }
16212
16229
  hadConnectionBeforeRef.current = true;
16213
- _optionalChain([onConnectRef, 'access', _484 => _484.current, 'optionalCall', _485 => _485()]);
16230
+ _optionalChain([onConnectRef, 'access', _487 => _487.current, 'optionalCall', _488 => _488()]);
16214
16231
  }
16215
16232
  if (status === "error") {
16216
16233
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -16220,7 +16237,7 @@ function useJetStreamDialogSubscription({
16220
16237
  setIsConnected(false);
16221
16238
  setIsSubscribed(false);
16222
16239
  tearDownSubscription();
16223
- _optionalChain([onDisconnectRef, 'access', _486 => _486.current, 'optionalCall', _487 => _487()]);
16240
+ _optionalChain([onDisconnectRef, 'access', _489 => _489.current, 'optionalCall', _490 => _490()]);
16224
16241
  }
16225
16242
  }
16226
16243
  });
@@ -16346,7 +16363,7 @@ function useJetStreamDialogSubscription({
16346
16363
  }
16347
16364
  subscriptionRef.current = handle;
16348
16365
  setIsSubscribed(true);
16349
- _optionalChain([onSubscribedRef, 'access', _488 => _488.current, 'optionalCall', _489 => _489()]);
16366
+ _optionalChain([onSubscribedRef, 'access', _491 => _491.current, 'optionalCall', _492 => _492()]);
16350
16367
  } catch (e47) {
16351
16368
  if (!cancelled) {
16352
16369
  setIsSubscribed(false);
@@ -16462,20 +16479,20 @@ function useNatsDialogSubscription({
16462
16479
  const tearDownSubscriptions = () => {
16463
16480
  subscriptionRefs.current.forEach((sub) => {
16464
16481
  try {
16465
- _optionalChain([sub, 'optionalAccess', _490 => _490.unsubscribe, 'call', _491 => _491()]);
16482
+ _optionalChain([sub, 'optionalAccess', _493 => _493.unsubscribe, 'call', _494 => _494()]);
16466
16483
  } catch (e49) {
16467
16484
  }
16468
16485
  });
16469
16486
  subscriptionRefs.current.clear();
16470
16487
  lastSubscribedDialogIdRef.current = null;
16471
- _optionalChain([abortControllerRef, 'access', _492 => _492.current, 'optionalAccess', _493 => _493.abort, 'call', _494 => _494()]);
16488
+ _optionalChain([abortControllerRef, 'access', _495 => _495.current, 'optionalAccess', _496 => _496.abort, 'call', _497 => _497()]);
16472
16489
  abortControllerRef.current = null;
16473
16490
  };
16474
16491
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
16475
16492
  const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
16476
16493
  conn: sharedConn,
16477
16494
  wsUrl,
16478
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _495 => _495.current, 'optionalCall', _496 => _496()]),
16495
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _498 => _498.current, 'optionalCall', _499 => _499()]),
16479
16496
  backoff: reconnectionBackoffRef.current,
16480
16497
  getFreshUrl: () => getNatsWsUrlRef.current(),
16481
16498
  shouldRetryOn: isDisconnectStatus,
@@ -16486,7 +16503,7 @@ function useNatsDialogSubscription({
16486
16503
  setReconnectionCount((c) => c + 1);
16487
16504
  }
16488
16505
  hadConnectionBeforeRef.current = true;
16489
- _optionalChain([onConnectRef, 'access', _497 => _497.current, 'optionalCall', _498 => _498()]);
16506
+ _optionalChain([onConnectRef, 'access', _500 => _500.current, 'optionalCall', _501 => _501()]);
16490
16507
  }
16491
16508
  if (status === "error") {
16492
16509
  console.warn("[NATS] protocol error:", evt.data);
@@ -16496,7 +16513,7 @@ function useNatsDialogSubscription({
16496
16513
  setIsConnected(false);
16497
16514
  setIsSubscribed(false);
16498
16515
  tearDownSubscriptions();
16499
- _optionalChain([onDisconnectRef, 'access', _499 => _499.current, 'optionalCall', _500 => _500()]);
16516
+ _optionalChain([onDisconnectRef, 'access', _502 => _502.current, 'optionalCall', _503 => _503()]);
16500
16517
  }
16501
16518
  }
16502
16519
  });
@@ -16527,13 +16544,13 @@ function useNatsDialogSubscription({
16527
16544
  setIsSubscribed(false);
16528
16545
  subscriptionRefs.current.forEach((sub) => {
16529
16546
  try {
16530
- _optionalChain([sub, 'optionalAccess', _501 => _501.unsubscribe, 'call', _502 => _502()]);
16547
+ _optionalChain([sub, 'optionalAccess', _504 => _504.unsubscribe, 'call', _505 => _505()]);
16531
16548
  } catch (e50) {
16532
16549
  }
16533
16550
  });
16534
16551
  subscriptionRefs.current.clear();
16535
16552
  lastSubscribedDialogIdRef.current = null;
16536
- _optionalChain([abortControllerRef, 'access', _503 => _503.current, 'optionalAccess', _504 => _504.abort, 'call', _505 => _505()]);
16553
+ _optionalChain([abortControllerRef, 'access', _506 => _506.current, 'optionalAccess', _507 => _507.abort, 'call', _508 => _508()]);
16537
16554
  abortControllerRef.current = null;
16538
16555
  }
16539
16556
  return void 0;
@@ -16545,12 +16562,12 @@ function useNatsDialogSubscription({
16545
16562
  if (subscriptionRefs.current.size > 0) {
16546
16563
  subscriptionRefs.current.forEach((sub) => {
16547
16564
  try {
16548
- _optionalChain([sub, 'optionalAccess', _506 => _506.unsubscribe, 'call', _507 => _507()]);
16565
+ _optionalChain([sub, 'optionalAccess', _509 => _509.unsubscribe, 'call', _510 => _510()]);
16549
16566
  } catch (e51) {
16550
16567
  }
16551
16568
  });
16552
16569
  subscriptionRefs.current.clear();
16553
- _optionalChain([abortControllerRef, 'access', _508 => _508.current, 'optionalAccess', _509 => _509.abort, 'call', _510 => _510()]);
16570
+ _optionalChain([abortControllerRef, 'access', _511 => _511.current, 'optionalAccess', _512 => _512.abort, 'call', _513 => _513()]);
16554
16571
  }
16555
16572
  abortControllerRef.current = new AbortController();
16556
16573
  const abort = abortControllerRef.current;
@@ -16580,7 +16597,7 @@ function useNatsDialogSubscription({
16580
16597
  });
16581
16598
  lastSubscribedDialogIdRef.current = dialogId;
16582
16599
  setIsSubscribed(true);
16583
- _optionalChain([onSubscribedRef, 'access', _511 => _511.current, 'optionalCall', _512 => _512()]);
16600
+ _optionalChain([onSubscribedRef, 'access', _514 => _514.current, 'optionalCall', _515 => _515()]);
16584
16601
  };
16585
16602
  if (isConnectedRef.current) {
16586
16603
  createSubscriptions();
@@ -16591,7 +16608,7 @@ function useNatsDialogSubscription({
16591
16608
  abort.abort();
16592
16609
  subscriptions.forEach((sub) => {
16593
16610
  try {
16594
- _optionalChain([sub, 'optionalAccess', _513 => _513.unsubscribe, 'call', _514 => _514()]);
16611
+ _optionalChain([sub, 'optionalAccess', _516 => _516.unsubscribe, 'call', _517 => _517()]);
16595
16612
  } catch (e53) {
16596
16613
  }
16597
16614
  });
@@ -16630,7 +16647,7 @@ function useNatsDialogSubscription({
16630
16647
  });
16631
16648
  lastSubscribedDialogIdRef.current = currentDialogId;
16632
16649
  setIsSubscribed(true);
16633
- _optionalChain([onSubscribedRef, 'access', _515 => _515.current, 'optionalCall', _516 => _516()]);
16650
+ _optionalChain([onSubscribedRef, 'access', _518 => _518.current, 'optionalCall', _519 => _519()]);
16634
16651
  } else if (subscriptionRefs.current.size > 0) {
16635
16652
  setIsSubscribed(true);
16636
16653
  }
@@ -16638,10 +16655,10 @@ function useNatsDialogSubscription({
16638
16655
  return { isConnected, isSubscribed, reconnectionCount };
16639
16656
  }
16640
16657
  function buildNatsWsUrl(apiBaseUrl, options) {
16641
- const path = _optionalChain([options, 'optionalAccess', _517 => _517.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
16658
+ const path = _optionalChain([options, 'optionalAccess', _520 => _520.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
16642
16659
  const u = new URL(path, apiBaseUrl);
16643
16660
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
16644
- if (_optionalChain([options, 'optionalAccess', _518 => _518.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _519 => _519.token])) {
16661
+ if (_optionalChain([options, 'optionalAccess', _521 => _521.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _522 => _522.token])) {
16645
16662
  u.searchParams.set("authorization", options.token);
16646
16663
  }
16647
16664
  return u.toString();
@@ -16659,7 +16676,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
16659
16676
  const data = await res.json();
16660
16677
  return _nullishCoalesce(data.commands, () => ( []));
16661
16678
  } catch (err) {
16662
- if (_optionalChain([err, 'optionalAccess', _520 => _520.name]) === "AbortError") throw err;
16679
+ if (_optionalChain([err, 'optionalAccess', _523 => _523.name]) === "AbortError") throw err;
16663
16680
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
16664
16681
  return [];
16665
16682
  }
@@ -16667,8 +16684,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
16667
16684
  var NO_COMMANDS = [];
16668
16685
  function useSlashCommands(prefix, commandsUrl) {
16669
16686
  const [answered, setAnswered] = _react.useState.call(void 0, null);
16670
- const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _521 => _521.prefix]) === prefix ? answered.commands : NO_COMMANDS;
16671
- const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _522 => _522.prefix]) !== prefix;
16687
+ const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _524 => _524.prefix]) === prefix ? answered.commands : NO_COMMANDS;
16688
+ const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _525 => _525.prefix]) !== prefix;
16672
16689
  _react.useEffect.call(void 0, () => {
16673
16690
  if (prefix == null) return void 0;
16674
16691
  let cancelled = false;
@@ -16678,7 +16695,7 @@ function useSlashCommands(prefix, commandsUrl) {
16678
16695
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
16679
16696
  if (!cancelled) setAnswered({ prefix, commands: next });
16680
16697
  } catch (err) {
16681
- if (!cancelled && _optionalChain([err, 'optionalAccess', _523 => _523.name]) !== "AbortError") {
16698
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _526 => _526.name]) !== "AbortError") {
16682
16699
  console.warn("[use-slash-commands] fetch failed:", err);
16683
16700
  setAnswered({ prefix, commands: NO_COMMANDS });
16684
16701
  }
@@ -16701,7 +16718,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
16701
16718
  const query = _reactquery.useQuery.call(void 0, {
16702
16719
  queryKey: ["chat-slash-commands", commandsUrl],
16703
16720
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
16704
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _524 => _524.enabled]), () => ( true)),
16721
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _527 => _527.enabled]), () => ( true)),
16705
16722
  staleTime: Infinity,
16706
16723
  gcTime: Infinity,
16707
16724
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -16740,21 +16757,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
16740
16757
  }
16741
16758
  const data = await res.json();
16742
16759
  return {
16743
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _525 => _525.name]), () => ( null)),
16744
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _526 => _526.icon]), () => ( null)),
16745
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _527 => _527.greeting]), () => ( null)),
16746
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _528 => _528.enabledRagTableIds]), () => ( [])),
16747
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _529 => _529.quickActions]), () => ( [])),
16748
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _530 => _530.suggestedQueries]), () => ( []))
16760
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _528 => _528.name]), () => ( null)),
16761
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _529 => _529.icon]), () => ( null)),
16762
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _530 => _530.greeting]), () => ( null)),
16763
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _531 => _531.enabledRagTableIds]), () => ( [])),
16764
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _532 => _532.quickActions]), () => ( [])),
16765
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _533 => _533.suggestedQueries]), () => ( []))
16749
16766
  };
16750
16767
  } catch (err) {
16751
- if (_optionalChain([err, 'optionalAccess', _531 => _531.name]) === "AbortError") throw err;
16768
+ if (_optionalChain([err, 'optionalAccess', _534 => _534.name]) === "AbortError") throw err;
16752
16769
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
16753
16770
  return EMPTY_STATE_FALLBACK;
16754
16771
  }
16755
16772
  }
16756
16773
  function useEmptyStateConfig(emptyStateUrl, options) {
16757
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _532 => _532.enabled]), () => ( true))) && !!emptyStateUrl;
16774
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _535 => _535.enabled]), () => ( true))) && !!emptyStateUrl;
16758
16775
  const query = _reactquery.useQuery.call(void 0, {
16759
16776
  queryKey: ["chat-empty-state", emptyStateUrl],
16760
16777
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -16783,7 +16800,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
16783
16800
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
16784
16801
  function uploadWithProgress(url, file, token, onProgress, signal) {
16785
16802
  return new Promise((resolve, reject) => {
16786
- if (_optionalChain([signal, 'optionalAccess', _533 => _533.aborted])) {
16803
+ if (_optionalChain([signal, 'optionalAccess', _536 => _536.aborted])) {
16787
16804
  reject(new Error("Upload cancelled"));
16788
16805
  return;
16789
16806
  }
@@ -16825,7 +16842,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
16825
16842
  const handleSignalAbort = () => {
16826
16843
  xhr.abort();
16827
16844
  };
16828
- _optionalChain([signal, 'optionalAccess', _534 => _534.addEventListener, 'call', _535 => _535("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
16845
+ _optionalChain([signal, 'optionalAccess', _537 => _537.addEventListener, 'call', _538 => _538("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
16829
16846
  xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
16830
16847
  xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
16831
16848
  xhr.addEventListener("error", handleError, { signal: listeners.signal });
@@ -16869,10 +16886,10 @@ function useChatAttachments() {
16869
16886
  try {
16870
16887
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
16871
16888
  } catch (err) {
16872
- if (_optionalChain([ctrl, 'optionalAccess', _536 => _536.signal, 'access', _537 => _537.aborted])) return;
16889
+ if (_optionalChain([ctrl, 'optionalAccess', _539 => _539.signal, 'access', _540 => _540.aborted])) return;
16873
16890
  throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
16874
16891
  }
16875
- if (_optionalChain([ctrl, 'optionalAccess', _538 => _538.signal, 'access', _539 => _539.aborted])) return;
16892
+ if (_optionalChain([ctrl, 'optionalAccess', _541 => _541.signal, 'access', _542 => _542.aborted])) return;
16876
16893
  if (!sniffed) {
16877
16894
  throw new Error("Unrecognized file format");
16878
16895
  }
@@ -16886,7 +16903,7 @@ function useChatAttachments() {
16886
16903
  const urlResp = await _chunkCP6TIRONcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
16887
16904
  method: "POST",
16888
16905
  headers: { "Content-Type": "application/json" },
16889
- signal: _optionalChain([ctrl, 'optionalAccess', _540 => _540.signal]),
16906
+ signal: _optionalChain([ctrl, 'optionalAccess', _543 => _543.signal]),
16890
16907
  body: JSON.stringify({
16891
16908
  fileName: att.file.name,
16892
16909
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -16915,9 +16932,9 @@ function useChatAttachments() {
16915
16932
  (pct) => {
16916
16933
  updateOne(att.id, { progress: pct });
16917
16934
  },
16918
- _optionalChain([ctrl, 'optionalAccess', _541 => _541.signal])
16935
+ _optionalChain([ctrl, 'optionalAccess', _544 => _544.signal])
16919
16936
  );
16920
- if (_optionalChain([ctrl, 'optionalAccess', _542 => _542.signal, 'access', _543 => _543.aborted])) return;
16937
+ if (_optionalChain([ctrl, 'optionalAccess', _545 => _545.signal, 'access', _546 => _546.aborted])) return;
16921
16938
  updateOne(att.id, {
16922
16939
  status: "ready",
16923
16940
  progress: 100,
@@ -16925,7 +16942,7 @@ function useChatAttachments() {
16925
16942
  viewToken: mintData.viewToken
16926
16943
  });
16927
16944
  } catch (err) {
16928
- if (_optionalChain([ctrl, 'optionalAccess', _544 => _544.signal, 'access', _545 => _545.aborted])) return;
16945
+ if (_optionalChain([ctrl, 'optionalAccess', _547 => _547.signal, 'access', _548 => _548.aborted])) return;
16929
16946
  const message = err instanceof Error ? err.message : String(err);
16930
16947
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
16931
16948
  } finally {
@@ -17047,7 +17064,7 @@ function useChatAttachmentImageGallery() {
17047
17064
  return () => root.removeEventListener("click", onClick);
17048
17065
  }, [viewUrlPrefix]);
17049
17066
  const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17050
- _chunkMIY5FYX3cjs.ImageGalleryModal,
17067
+ _chunkNNFQLTJ3cjs.ImageGalleryModal,
17051
17068
  {
17052
17069
  images: state.images,
17053
17070
  isOpen: state.isOpen,
@@ -17074,11 +17091,11 @@ var ANON_DEFAULTS = {
17074
17091
  function useResolveChatIdentity(enabled) {
17075
17092
  const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
17076
17093
  const url = runtime.endpoints.identityUrl;
17077
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkCP6TIRONcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _546 => _546.email]), () => ( null));
17094
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkCP6TIRONcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _549 => _549.email]), () => ( null));
17078
17095
  const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
17079
17096
  const [resolved, setResolved] = _react.useState.call(void 0, null);
17080
- const data = _optionalChain([resolved, 'optionalAccess', _547 => _547.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
17081
- const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _548 => _548.key]) !== requestKey;
17097
+ const data = _optionalChain([resolved, 'optionalAccess', _550 => _550.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
17098
+ const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _551 => _551.key]) !== requestKey;
17082
17099
  _react.useEffect.call(void 0, () => {
17083
17100
  if (requestKey === null) return void 0;
17084
17101
  let cancelled = false;
@@ -17225,7 +17242,7 @@ function useChat({
17225
17242
  onMessagesChangeRef.current = onMessagesChange;
17226
17243
  });
17227
17244
  _react.useEffect.call(void 0, () => {
17228
- _optionalChain([onMessagesChangeRef, 'access', _549 => _549.current, 'optionalCall', _550 => _550(messages)]);
17245
+ _optionalChain([onMessagesChangeRef, 'access', _552 => _552.current, 'optionalCall', _553 => _553(messages)]);
17229
17246
  }, [messages]);
17230
17247
  const {
17231
17248
  streamMessage,
@@ -17262,7 +17279,7 @@ function useChat({
17262
17279
  name: "You",
17263
17280
  content: text,
17264
17281
  timestamp: /* @__PURE__ */ new Date(),
17265
- ..._optionalChain([options, 'optionalAccess', _551 => _551.hidden]) ? { hidden: true } : {}
17282
+ ..._optionalChain([options, 'optionalAccess', _554 => _554.hidden]) ? { hidden: true } : {}
17266
17283
  };
17267
17284
  addMessage(userMessage);
17268
17285
  setIsTyping(true);
@@ -17476,7 +17493,7 @@ function buildConfirmToolBody(request) {
17476
17493
  async function readServerErrorMessage(response) {
17477
17494
  try {
17478
17495
  const body = await response.json();
17479
- if (typeof _optionalChain([body, 'optionalAccess', _552 => _552.error]) === "string" && body.error.length > 0) return body.error;
17496
+ if (typeof _optionalChain([body, 'optionalAccess', _555 => _555.error]) === "string" && body.error.length > 0) return body.error;
17480
17497
  } catch (e55) {
17481
17498
  }
17482
17499
  return null;
@@ -17713,7 +17730,7 @@ function createSseFrameDecoder() {
17713
17730
  // src/chat-protocol/events.ts
17714
17731
  var GUIDE_ORIGIN = "guide";
17715
17732
  function isGuideOrigin(source) {
17716
- return _optionalChain([source, 'optionalAccess', _553 => _553.origin]) === GUIDE_ORIGIN;
17733
+ return _optionalChain([source, 'optionalAccess', _556 => _556.origin]) === GUIDE_ORIGIN;
17717
17734
  }
17718
17735
  var ESCALATION_STATE = {
17719
17736
  PENDING: "PENDING",
@@ -17819,11 +17836,11 @@ function appendToTrailingAssistant(prev, segments) {
17819
17836
  for (const seg of segments) {
17820
17837
  const tail = merged[merged.length - 1];
17821
17838
  const key = upsertKey(seg);
17822
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _554 => _554.type]) === "text") {
17839
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _557 => _557.type]) === "text") {
17823
17840
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
17824
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _555 => _555.type]) === "thinking") {
17841
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _558 => _558.type]) === "thinking") {
17825
17842
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
17826
- } else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _556 => _556.type]) === "guide") {
17843
+ } else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _559 => _559.type]) === "guide") {
17827
17844
  merged[merged.length - 1] = { type: "guide", text: tail.text + seg.text };
17828
17845
  } else if (key) {
17829
17846
  const idx = merged.findIndex((m) => upsertKey(m) === key);
@@ -17863,7 +17880,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
17863
17880
  }
17864
17881
  if (s.type !== "approval_batch") return s;
17865
17882
  const isAnchor = s.data.approvalRequestId === requestId;
17866
- const hasRow = _optionalChain([s, 'access', _557 => _557.data, 'access', _558 => _558.toolCalls, 'optionalAccess', _559 => _559.some, 'call', _560 => _560((c) => c.toolExecutionRequestId === requestId)]);
17883
+ const hasRow = _optionalChain([s, 'access', _560 => _560.data, 'access', _561 => _561.toolCalls, 'optionalAccess', _562 => _562.some, 'call', _563 => _563((c) => c.toolExecutionRequestId === requestId)]);
17867
17884
  if (!isAnchor && !hasRow) return s;
17868
17885
  const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
17869
17886
  const nextExecutions = hasRow ? {
@@ -17885,8 +17902,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
17885
17902
  };
17886
17903
  }
17887
17904
  function nextBatchExecution(prevExec, toolData) {
17888
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _561 => _561.status]) === "done") return null;
17889
- return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _562 => _562.result]), success: _optionalChain([prevExec, 'optionalAccess', _563 => _563.success]) };
17905
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _564 => _564.status]) === "done") return null;
17906
+ return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _565 => _565.result]), success: _optionalChain([prevExec, 'optionalAccess', _566 => _566.success]) };
17890
17907
  }
17891
17908
  function withBatchExecution(seg, execId, state) {
17892
17909
  return {
@@ -17903,11 +17920,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
17903
17920
  }
17904
17921
  function projectBatchRowFailureToMessages(prev, rowRequestId) {
17905
17922
  return mapSegments(prev, (s) => {
17906
- if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _564 => _564.data, 'access', _565 => _565.toolCalls, 'optionalAccess', _566 => _566.some, 'call', _567 => _567((c) => c.toolExecutionRequestId === rowRequestId)])) {
17923
+ if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _567 => _567.data, 'access', _568 => _568.toolCalls, 'optionalAccess', _569 => _569.some, 'call', _570 => _570((c) => c.toolExecutionRequestId === rowRequestId)])) {
17907
17924
  return s;
17908
17925
  }
17909
- const existing = _optionalChain([s, 'access', _568 => _568.data, 'access', _569 => _569.executions, 'optionalAccess', _570 => _570[rowRequestId]]);
17910
- if (_optionalChain([existing, 'optionalAccess', _571 => _571.status]) === "done") return s;
17926
+ const existing = _optionalChain([s, 'access', _571 => _571.data, 'access', _572 => _572.executions, 'optionalAccess', _573 => _573[rowRequestId]]);
17927
+ if (_optionalChain([existing, 'optionalAccess', _574 => _574.status]) === "done") return s;
17911
17928
  return withBatchExecution(s, rowRequestId, { status: "done", success: false });
17912
17929
  });
17913
17930
  }
@@ -17943,7 +17960,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
17943
17960
  for (let j = message.segments.length - 1; j >= 0; j--) {
17944
17961
  const seg = message.segments[j];
17945
17962
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
17946
- const prevExec = _optionalChain([seg, 'access', _572 => _572.data, 'access', _573 => _573.executions, 'optionalAccess', _574 => _574[execId]]);
17963
+ const prevExec = _optionalChain([seg, 'access', _575 => _575.data, 'access', _576 => _576.executions, 'optionalAccess', _577 => _577[execId]]);
17947
17964
  const nextExec = nextBatchExecution(prevExec, toolData);
17948
17965
  if (nextExec === null) return prev;
17949
17966
  if (sameExecutionState(prevExec, nextExec)) return prev;
@@ -18129,9 +18146,9 @@ var MessageSegmentAccumulator = class {
18129
18146
  type: "tool_execution",
18130
18147
  data: {
18131
18148
  ...toolData,
18132
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _575 => _575.data, 'access', _576 => _576.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _577 => _577.toolTitle]))),
18133
- toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _578 => _578.data, 'access', _579 => _579.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _580 => _580.toolExplanation]))),
18134
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _581 => _581.parameters])
18149
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _578 => _578.data, 'access', _579 => _579.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _580 => _580.toolTitle]))),
18150
+ toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _581 => _581.data, 'access', _582 => _582.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _583 => _583.toolExplanation]))),
18151
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _584 => _584.parameters])
18135
18152
  }
18136
18153
  };
18137
18154
  if (existingIndex !== -1) {
@@ -18155,7 +18172,7 @@ var MessageSegmentAccumulator = class {
18155
18172
  if (seg.type !== "approval_batch") return seg;
18156
18173
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
18157
18174
  if (!hasCall) return seg;
18158
- const prev = _optionalChain([seg, 'access', _582 => _582.data, 'access', _583 => _583.executions, 'optionalAccess', _584 => _584[execId]]);
18175
+ const prev = _optionalChain([seg, 'access', _585 => _585.data, 'access', _586 => _586.executions, 'optionalAccess', _587 => _587[execId]]);
18159
18176
  const next = nextBatchExecution(prev, toolData);
18160
18177
  matched = true;
18161
18178
  if (next === null) return seg;
@@ -18293,8 +18310,8 @@ var MessageSegmentAccumulator = class {
18293
18310
  requestId,
18294
18311
  {
18295
18312
  ...pendingApproval,
18296
- command: _optionalChain([pendingApproval, 'optionalAccess', _585 => _585.command]) || "",
18297
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _586 => _586.approvalType]) || approvalType
18313
+ command: _optionalChain([pendingApproval, 'optionalAccess', _588 => _588.command]) || "",
18314
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _589 => _589.approvalType]) || approvalType
18298
18315
  },
18299
18316
  status
18300
18317
  );
@@ -18319,9 +18336,9 @@ var MessageSegmentAccumulator = class {
18319
18336
  type: "escalation_offer",
18320
18337
  // The resolved chunk carries no text/origin — a redelivered offer must
18321
18338
  // not blank the card the PENDING chunk already painted.
18322
- data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _587 => _587.data, 'access', _588 => _588.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _589 => _589.data, 'access', _590 => _590.origin]))) },
18339
+ data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _590 => _590.data, 'access', _591 => _591.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _592 => _592.data, 'access', _593 => _593.origin]))) },
18323
18340
  status,
18324
- resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _591 => _591.resolvedByName]))),
18341
+ resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _594 => _594.resolvedByName]))),
18325
18342
  onApprove: this.callbacks.onEscalationApprove,
18326
18343
  onReject: this.callbacks.onEscalationReject
18327
18344
  };
@@ -18652,7 +18669,7 @@ function createChatStreamReducer(options = {}) {
18652
18669
  let stateCache = null;
18653
18670
  function invalidate() {
18654
18671
  stateCache = null;
18655
- _optionalChain([onChange, 'optionalCall', _592 => _592()]);
18672
+ _optionalChain([onChange, 'optionalCall', _595 => _595()]);
18656
18673
  }
18657
18674
  function getState() {
18658
18675
  if (!stateCache) {
@@ -18669,7 +18686,7 @@ function createChatStreamReducer(options = {}) {
18669
18686
  return stateCache;
18670
18687
  }
18671
18688
  function emit(name, ...args) {
18672
- _optionalChain([onEffect, 'optionalCall', _593 => _593({ name, args })]);
18689
+ _optionalChain([onEffect, 'optionalCall', _596 => _596({ name, args })]);
18673
18690
  }
18674
18691
  function setMessagesInternal(next) {
18675
18692
  if (next !== messages) {
@@ -18700,12 +18717,12 @@ function createChatStreamReducer(options = {}) {
18700
18717
  return [...next.slice(0, -1), { ...last, streamSeq: seq }];
18701
18718
  }
18702
18719
  function applySegmentsToState(segments, meta) {
18703
- const seq = _optionalChain([meta, 'optionalAccess', _594 => _594.streamSeq]);
18704
- if (_optionalChain([meta, 'optionalAccess', _595 => _595.append]) && meta.isCompacting) {
18720
+ const seq = _optionalChain([meta, 'optionalAccess', _597 => _597.streamSeq]);
18721
+ if (_optionalChain([meta, 'optionalAccess', _598 => _598.append]) && meta.isCompacting) {
18705
18722
  setMessagesInternal(stampTrailingAssistantSeq(upsertTrailingCompaction(messages, segments), seq));
18706
18723
  return;
18707
18724
  }
18708
- if (_optionalChain([meta, 'optionalAccess', _596 => _596.append])) {
18725
+ if (_optionalChain([meta, 'optionalAccess', _599 => _599.append])) {
18709
18726
  setMessagesInternal(stampTrailingAssistantSeq(appendToTrailingAssistant(messages, segments), seq));
18710
18727
  return;
18711
18728
  }
@@ -18717,7 +18734,7 @@ function createChatStreamReducer(options = {}) {
18717
18734
  adoptTrailingAssistant = false;
18718
18735
  const last = messages[messages.length - 1];
18719
18736
  if (!last || last.role !== "assistant" || adoptTail) return;
18720
- const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _597 => _597.segments, 'optionalAccess', _598 => _598.length]), () => ( 0))) > 0 || last.content !== "";
18737
+ const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _600 => _600.segments, 'optionalAccess', _601 => _601.length]), () => ( 0))) > 0 || last.content !== "";
18721
18738
  if (!hasContent) return;
18722
18739
  setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
18723
18740
  }
@@ -18938,13 +18955,13 @@ function createChatStreamReducer(options = {}) {
18938
18955
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
18939
18956
  pendingEscalated.set(requestId, {
18940
18957
  command: summary,
18941
- explanation: _optionalChain([required, 'optionalAccess', _599 => _599.toolExplanation]),
18958
+ explanation: _optionalChain([required, 'optionalAccess', _602 => _602.toolExplanation]),
18942
18959
  approvalType,
18943
18960
  toolCalls
18944
18961
  });
18945
18962
  emit("onEscalatedApproval", requestId, {
18946
18963
  command: summary,
18947
- explanation: _optionalChain([required, 'optionalAccess', _600 => _600.toolExplanation]),
18964
+ explanation: _optionalChain([required, 'optionalAccess', _603 => _603.toolExplanation]),
18948
18965
  approvalType
18949
18966
  });
18950
18967
  break;
@@ -19332,7 +19349,7 @@ function createChatStreamReducer(options = {}) {
19332
19349
  const resolveBatch = (status, confirm) => async () => {
19333
19350
  setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
19334
19351
  for (const id of ids) {
19335
- const ok = await _optionalChain([confirm, 'optionalCall', _601 => _601(id)]);
19352
+ const ok = await _optionalChain([confirm, 'optionalCall', _604 => _604(id)]);
19336
19353
  if (ok === false) {
19337
19354
  setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
19338
19355
  }
@@ -19470,8 +19487,8 @@ function createChatStreamReducer(options = {}) {
19470
19487
  }
19471
19488
  }
19472
19489
  }
19473
- hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _602 => _602.resumed]), () => ( messages.length > 0)));
19474
- if (_optionalChain([extras, 'optionalAccess', _603 => _603.agentBusy])) agentBusyState();
19490
+ hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _605 => _605.resumed]), () => ( messages.length > 0)));
19491
+ if (_optionalChain([extras, 'optionalAccess', _606 => _606.agentBusy])) agentBusyState();
19475
19492
  invalidate();
19476
19493
  }
19477
19494
  return {
@@ -19556,7 +19573,7 @@ function createChatStreamReducer(options = {}) {
19556
19573
  },
19557
19574
  endSseTurn() {
19558
19575
  const last = messages[messages.length - 1];
19559
- if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _604 => _604.segments, 'optionalAccess', _605 => _605.length]), () => ( 0))) === 0 && last.content === "") {
19576
+ if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _607 => _607.segments, 'optionalAccess', _608 => _608.length]), () => ( 0))) === 0 && last.content === "") {
19560
19577
  messages = messages.slice(0, -1);
19561
19578
  }
19562
19579
  sseCurrentText = "";
@@ -19709,10 +19726,10 @@ function createChatDialogStore(options = {}) {
19709
19726
  if (onEvict) {
19710
19727
  const sep = key.indexOf(KEY_SEP);
19711
19728
  onEvict(key.slice(0, sep), key.slice(sep + 1), {
19712
- messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _606 => _606.state, 'access', _607 => _607.messages]), () => ( EMPTY_STATE.messages)),
19713
- approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _608 => _608.state, 'access', _609 => _609.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
19714
- lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _610 => _610.getLastAppliedSeq, 'call', _611 => _611()]), () => ( Number.NEGATIVE_INFINITY)),
19715
- pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _612 => _612.getPendingEchoes, 'call', _613 => _613()]), () => ( EMPTY_PENDING_ECHOES))
19729
+ messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _609 => _609.state, 'access', _610 => _610.messages]), () => ( EMPTY_STATE.messages)),
19730
+ approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _611 => _611.state, 'access', _612 => _612.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
19731
+ lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _613 => _613.getLastAppliedSeq, 'call', _614 => _614()]), () => ( Number.NEGATIVE_INFINITY)),
19732
+ pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _615 => _615.getPendingEchoes, 'call', _616 => _616()]), () => ( EMPTY_PENDING_ECHOES))
19716
19733
  });
19717
19734
  }
19718
19735
  }
@@ -19722,12 +19739,12 @@ function createChatDialogStore(options = {}) {
19722
19739
  const key = keyOf(dialogId, side);
19723
19740
  let reducer = reducers.get(key);
19724
19741
  if (!reducer) {
19725
- const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _614 => _614(dialogId, side)]), () => ( {}));
19742
+ const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _617 => _617(dialogId, side)]), () => ( {}));
19726
19743
  const userOnChange = base.onChange;
19727
19744
  reducer = createChatStreamReducer({
19728
19745
  ...base,
19729
19746
  onChange: () => {
19730
- _optionalChain([userOnChange, 'optionalCall', _615 => _615()]);
19747
+ _optionalChain([userOnChange, 'optionalCall', _618 => _618()]);
19731
19748
  notify();
19732
19749
  }
19733
19750
  });
@@ -19772,7 +19789,7 @@ function createChatDialogStore(options = {}) {
19772
19789
  };
19773
19790
  }
19774
19791
  function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
19775
- return _nullishCoalesce(_optionalChain([reducers, 'access', _616 => _616.get, 'call', _617 => _617(keyOf(dialogId, side)), 'optionalAccess', _618 => _618.state]), () => ( EMPTY_STATE));
19792
+ return _nullishCoalesce(_optionalChain([reducers, 'access', _619 => _619.get, 'call', _620 => _620(keyOf(dialogId, side)), 'optionalAccess', _621 => _621.state]), () => ( EMPTY_STATE));
19776
19793
  }
19777
19794
  function getServerSnapshot2() {
19778
19795
  return EMPTY_STATE;
@@ -19864,7 +19881,7 @@ function createDeltaBatcher({
19864
19881
  pending = [];
19865
19882
  const key = pendingKey;
19866
19883
  for (const delta of batch) applyOne(delta, key);
19867
- _optionalChain([onFlushed, 'optionalCall', _619 => _619(batch.length)]);
19884
+ _optionalChain([onFlushed, 'optionalCall', _622 => _622(batch.length)]);
19868
19885
  }
19869
19886
  function schedule() {
19870
19887
  if (raf !== null || timer !== null) return;
@@ -19888,7 +19905,7 @@ function createDeltaBatcher({
19888
19905
  }
19889
19906
  if (!isDeltaEvent(event)) return false;
19890
19907
  const tail = pending[pending.length - 1];
19891
- const seqAdvances = _optionalChain([tail, 'optionalAccess', _620 => _620.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
19908
+ const seqAdvances = _optionalChain([tail, 'optionalAccess', _623 => _623.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
19892
19909
  if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
19893
19910
  pending[pending.length - 1] = {
19894
19911
  ...tail,
@@ -19919,7 +19936,7 @@ function useChatStreamReducer({
19919
19936
  side = DEFAULT_DIALOG_SIDE,
19920
19937
  createReducerOptions
19921
19938
  }) {
19922
- const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _621 => _621()]), () => ( {})));
19939
+ const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _624 => _624()]), () => ( {})));
19923
19940
  const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
19924
19941
  const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
19925
19942
  const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
@@ -19958,7 +19975,7 @@ var STORAGE_KEY = "conversation";
19958
19975
  var namespaceFor = (source) => {
19959
19976
  const base = `mingo-chat-${source}`;
19960
19977
  const auth = _chunkCP6TIRONcjs.getEmbedProxyAuth.call(void 0, );
19961
- return _optionalChain([auth, 'optionalAccess', _622 => _622.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
19978
+ return _optionalChain([auth, 'optionalAccess', _625 => _625.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
19962
19979
  };
19963
19980
  function createChatConversationStorage(source) {
19964
19981
  return _chunkCP6TIRONcjs.createLocalStorageAdapter.call(void 0, {
@@ -20022,7 +20039,7 @@ function formatSingularLookupInvocation(cmdId, value) {
20022
20039
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
20023
20040
  }
20024
20041
  function extractEntityIdFilter(override, expectedTableId) {
20025
- const f = _optionalChain([override, 'optionalAccess', _623 => _623.entityIdFilter]);
20042
+ const f = _optionalChain([override, 'optionalAccess', _626 => _626.entityIdFilter]);
20026
20043
  if (!f) return null;
20027
20044
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
20028
20045
  const id = typeof f.id === "string" ? f.id : "";
@@ -20061,7 +20078,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
20061
20078
  function buildAutoContinuationDirective(toolName, opts = {}) {
20062
20079
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
20063
20080
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
20064
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _624 => _624.status, 'optionalAccess', _625 => _625.toUpperCase, 'call', _626 => _626()]) === "CLOSED";
20081
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _627 => _627.status, 'optionalAccess', _628 => _628.toUpperCase, 'call', _629 => _629()]) === "CLOSED";
20065
20082
  if (toolName === "create_ticket") {
20066
20083
  return `${AUTO_CONTINUATION_DIRECTIVE_PREFIX} The user just approved create_ticket${ticketRef}. Per ticket-protocol \xA71a, ask 2-4 SHORT, issue-specific diagnostic follow-up questions tailored to the symptom they reported in their original message. When they answer, propose an update_ticket with content_addendum carrying a clean Q&A digest. Do NOT call any tool in this turn \u2014 just write the questions as prose.`;
20067
20084
  }
@@ -20184,7 +20201,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20184
20201
  const { active = true } = runtimeOptions;
20185
20202
  const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
20186
20203
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
20187
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _627 => _627.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
20204
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _630 => _630.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
20188
20205
  const sendMessageRef = _react.useRef.call(void 0,
20189
20206
  () => Promise.resolve(true)
20190
20207
  );
@@ -20221,7 +20238,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20221
20238
  if (!restoredConversationRef.current) {
20222
20239
  restoredConversationRef.current = true;
20223
20240
  pruneStaleChatConversationStorage(source);
20224
- conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _628 => _628.load, 'call', _629 => _629(), 'optionalAccess', _630 => _630.conversationId]), () => ( null));
20241
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _631 => _631.load, 'call', _632 => _632(), 'optionalAccess', _633 => _633.conversationId]), () => ( null));
20225
20242
  }
20226
20243
  const commandsUrl = runtime.endpoints.commandsUrl;
20227
20244
  const { commands: slashCommands } = useSlashCommandRegistry(commandsUrl, {
@@ -20326,7 +20343,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20326
20343
  const serverMessage = await readServerErrorMessage(response);
20327
20344
  throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
20328
20345
  }
20329
- const reader = _optionalChain([response, 'access', _631 => _631.body, 'optionalAccess', _632 => _632.getReader, 'call', _633 => _633()]);
20346
+ const reader = _optionalChain([response, 'access', _634 => _634.body, 'optionalAccess', _635 => _635.getReader, 'call', _636 => _636()]);
20330
20347
  if (!reader) throw new Error("No response body");
20331
20348
  const frameDecoder = createSseFrameDecoder();
20332
20349
  let finished = false;
@@ -20349,7 +20366,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20349
20366
  }
20350
20367
  return true;
20351
20368
  } catch (err) {
20352
- if (_optionalChain([err, 'optionalAccess', _634 => _634.name]) === "AbortError" || ctrl.signal.aborted) {
20369
+ if (_optionalChain([err, 'optionalAccess', _637 => _637.name]) === "AbortError" || ctrl.signal.aborted) {
20353
20370
  return true;
20354
20371
  }
20355
20372
  flushDeltas();
@@ -20369,7 +20386,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20369
20386
  );
20370
20387
  sendMessageRef.current = sendMessage;
20371
20388
  const stopMessage = _react.useCallback.call(void 0, () => {
20372
- _optionalChain([abortControllerRef, 'access', _635 => _635.current, 'optionalAccess', _636 => _636.abort, 'call', _637 => _637()]);
20389
+ _optionalChain([abortControllerRef, 'access', _638 => _638.current, 'optionalAccess', _639 => _639.abort, 'call', _640 => _640()]);
20373
20390
  flushDeltas();
20374
20391
  mutate((r) => r.setPhase("idle"));
20375
20392
  }, [mutate, flushDeltas]);
@@ -20385,7 +20402,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20385
20402
  let sendIdx = -1;
20386
20403
  return state.messages.map((m) => {
20387
20404
  const segments = m.segments;
20388
- const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _638 => _638.filter, 'call', _639 => _639((s) => s.type === "text"), 'access', _640 => _640.map, 'call', _641 => _641((s) => s.text), 'access', _642 => _642.join, 'call', _643 => _643("")]), () => ( ""));
20405
+ const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _641 => _641.filter, 'call', _642 => _642((s) => s.type === "text"), 'access', _643 => _643.map, 'call', _644 => _644((s) => s.text), 'access', _645 => _645.join, 'call', _646 => _646("")]), () => ( ""));
20389
20406
  let sources;
20390
20407
  let scrollAnchor;
20391
20408
  if (m.role === "user" && !m.hidden) {
@@ -20394,7 +20411,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20394
20411
  if (m.role === "assistant") {
20395
20412
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
20396
20413
  sources = sourcesMap.get(lookupIdx);
20397
- scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _644 => _644.get, 'call', _645 => _645(lookupIdx), 'optionalAccess', _646 => _646.scrollAnchor]), () => ( void 0));
20414
+ scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _647 => _647.get, 'call', _648 => _648(lookupIdx), 'optionalAccess', _649 => _649.scrollAnchor]), () => ( void 0));
20398
20415
  }
20399
20416
  return {
20400
20417
  id: m.id,
@@ -20421,7 +20438,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20421
20438
  );
20422
20439
  return;
20423
20440
  }
20424
- const refSlug = typeof _optionalChain([reference, 'access', _647 => _647.metadata, 'optionalAccess', _648 => _648.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
20441
+ const refSlug = typeof _optionalChain([reference, 'access', _650 => _650.metadata, 'optionalAccess', _651 => _651.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
20425
20442
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
20426
20443
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
20427
20444
  const text = `/${cmdId} display "${escaped}"`;
@@ -20467,18 +20484,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20467
20484
  /** True while the mount-time rebuild from the server transcript runs. */
20468
20485
  isHydratingHistory,
20469
20486
  /** Provider key for the lib's `<ModelDisplay>` icon. */
20470
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _649 => _649.provider]), () => ( null)),
20471
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _650 => _650.modelLabel]), () => ( null)),
20472
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _651 => _651.contextWindowMaxTokens]), () => ( null)),
20487
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _652 => _652.provider]), () => ( null)),
20488
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _653 => _653.modelLabel]), () => ( null)),
20489
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _654 => _654.contextWindowMaxTokens]), () => ( null)),
20473
20490
  /** Input tokens (known after server's message_start frame; null until). */
20474
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _652 => _652.inputTokens]), () => ( null)),
20491
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _655 => _655.inputTokens]), () => ( null)),
20475
20492
  /** Output tokens (known only after server's trailing usage frame). */
20476
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _653 => _653.outputTokens]), () => ( null)),
20493
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _656 => _656.outputTokens]), () => ( null)),
20477
20494
  /** Cache hit % (read / total-input × 100). null during streaming. */
20478
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _654 => _654.cacheHitRatePct]), () => ( null)),
20495
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _657 => _657.cacheHitRatePct]), () => ( null)),
20479
20496
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
20480
20497
  * token counts). null until the trailing usage frame lands. */
20481
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _655 => _655.breakdown]), () => ( null)),
20498
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _658 => _658.breakdown]), () => ( null)),
20482
20499
  // ─── Dialog management — stubs for v1 ────────────────────────────────
20483
20500
  // Guide mode keeps ONE server-side conversation per stored id
20484
20501
  // (`chat_conversations`, hydrated on mount). Surfacing multiple threads
@@ -20765,7 +20782,7 @@ function decodeNatsChunk(chunk) {
20765
20782
  userId: typeof data.userId === "string" ? data.userId : void 0,
20766
20783
  // Wire shape carries no label; fall back to the id (parity with
20767
20784
  // the history path in `process-historical-messages.ts`).
20768
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _656 => _656.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _657 => _657.id]) === "string").map((it) => ({
20785
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _659 => _659.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _660 => _660.id]) === "string").map((it) => ({
20769
20786
  type: it.type,
20770
20787
  id: it.id,
20771
20788
  label: it.id
@@ -20856,7 +20873,7 @@ function extractIncompleteMessageState(lastMessage) {
20856
20873
  }
20857
20874
  break;
20858
20875
  case "approval_batch": {
20859
- const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _658 => _658.data, 'access', _659 => _659.executions, 'optionalAccess', _660 => _660[c.toolExecutionRequestId], 'optionalAccess', _661 => _661.status]) === "done");
20876
+ const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _661 => _661.data, 'access', _662 => _662.executions, 'optionalAccess', _663 => _663[c.toolExecutionRequestId], 'optionalAccess', _664 => _664.status]) === "done");
20860
20877
  if (segment.status !== "rejected" && !allDone) {
20861
20878
  hasIncompleteState = true;
20862
20879
  }
@@ -20919,11 +20936,11 @@ function extractIncompleteMessageState(lastMessage) {
20919
20936
  function extractIncompleteTailState(messages) {
20920
20937
  if (!messages || messages.length === 0) return void 0;
20921
20938
  let start = messages.length;
20922
- while (start > 0 && _optionalChain([messages, 'access', _662 => _662[start - 1], 'optionalAccess', _663 => _663.role]) === "assistant") start -= 1;
20939
+ while (start > 0 && _optionalChain([messages, 'access', _665 => _665[start - 1], 'optionalAccess', _666 => _666.role]) === "assistant") start -= 1;
20923
20940
  if (start === messages.length) return void 0;
20924
20941
  const segments = [];
20925
20942
  for (let i = start; i < messages.length; i += 1) {
20926
- const content = _optionalChain([messages, 'access', _664 => _664[i], 'optionalAccess', _665 => _665.content]);
20943
+ const content = _optionalChain([messages, 'access', _667 => _667[i], 'optionalAccess', _668 => _668.content]);
20927
20944
  if (Array.isArray(content)) segments.push(...content);
20928
20945
  }
20929
20946
  if (segments.length === 0) return void 0;
@@ -20936,15 +20953,15 @@ function extractIncompleteTailState(messages) {
20936
20953
 
20937
20954
  // src/components/chat/utils/process-historical-messages.ts
20938
20955
  function getOwnerDisplayName(owner) {
20939
- if (_optionalChain([owner, 'optionalAccess', _666 => _666.type]) === OWNER_TYPE.ADMIN && owner.user) {
20956
+ if (_optionalChain([owner, 'optionalAccess', _669 => _669.type]) === OWNER_TYPE.ADMIN && owner.user) {
20940
20957
  const { firstName, lastName } = owner.user;
20941
20958
  const name = [firstName, lastName].filter(Boolean).join(" ");
20942
20959
  if (name) return name;
20943
20960
  }
20944
- return _optionalChain([owner, 'optionalAccess', _667 => _667.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
20961
+ return _optionalChain([owner, 'optionalAccess', _670 => _670.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
20945
20962
  }
20946
20963
  function getOwnerAvatar(owner) {
20947
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _668 => _668.user, 'optionalAccess', _669 => _669.image, 'optionalAccess', _670 => _670.imageUrl]), () => ( void 0));
20964
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _671 => _671.user, 'optionalAccess', _672 => _672.image, 'optionalAccess', _673 => _673.imageUrl]), () => ( void 0));
20948
20965
  }
20949
20966
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
20950
20967
  messageDataArray.forEach((data) => {
@@ -21143,7 +21160,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21143
21160
  event.offerId,
21144
21161
  event.text,
21145
21162
  event.origin,
21146
- _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _671 => _671[event.offerId]]), () => ( "pending"))
21163
+ _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _674 => _674[event.offerId]]), () => ( "pending"))
21147
21164
  );
21148
21165
  break;
21149
21166
  case "ticket-escalated":
@@ -21173,7 +21190,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21173
21190
  );
21174
21191
  break;
21175
21192
  case "escalation-offer-resolved":
21176
- _optionalChain([offerResolutions, 'optionalAccess', _672 => _672.set, 'call', _673 => _673(event.offerId, {
21193
+ _optionalChain([offerResolutions, 'optionalAccess', _675 => _675.set, 'call', _676 => _676(event.offerId, {
21177
21194
  status: event.status,
21178
21195
  resolvedByName: event.resolvedByName
21179
21196
  })]);
@@ -21251,7 +21268,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21251
21268
  }
21252
21269
  }
21253
21270
  } else {
21254
- _optionalChain([escalatedApprovals, 'optionalAccess', _674 => _674.set, 'call', _675 => _675(event.requestId, {
21271
+ _optionalChain([escalatedApprovals, 'optionalAccess', _677 => _677.set, 'call', _678 => _678(event.requestId, {
21255
21272
  command: event.command || "",
21256
21273
  explanation: event.explanation,
21257
21274
  approvalType,
@@ -21266,8 +21283,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21266
21283
  const existingStatus = approvalStatuses[requestId];
21267
21284
  const status = existingStatus || event.status;
21268
21285
  const resolvedByName = event.resolvedByName;
21269
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _676 => _676.get, 'call', _677 => _677(requestId)]);
21270
- if (_optionalChain([escalatedData, 'optionalAccess', _678 => _678.toolCalls]) && escalatedData.toolCalls.length > 0) {
21286
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _679 => _679.get, 'call', _680 => _680(requestId)]);
21287
+ if (_optionalChain([escalatedData, 'optionalAccess', _681 => _681.toolCalls]) && escalatedData.toolCalls.length > 0) {
21271
21288
  if (batchApprovalsEnabled) {
21272
21289
  accumulator.addApprovalBatch(
21273
21290
  requestId,
@@ -21289,7 +21306,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21289
21306
  );
21290
21307
  }
21291
21308
  }
21292
- _optionalChain([escalatedApprovals, 'optionalAccess', _679 => _679.delete, 'call', _680 => _680(requestId)]);
21309
+ _optionalChain([escalatedApprovals, 'optionalAccess', _682 => _682.delete, 'call', _683 => _683(requestId)]);
21293
21310
  break;
21294
21311
  }
21295
21312
  if (escalatedData) {
@@ -21298,7 +21315,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21298
21315
  explanation: escalatedData.explanation,
21299
21316
  approvalType: escalatedData.approvalType
21300
21317
  });
21301
- _optionalChain([escalatedApprovals, 'optionalAccess', _681 => _681.delete, 'call', _682 => _682(requestId)]);
21318
+ _optionalChain([escalatedApprovals, 'optionalAccess', _684 => _684.delete, 'call', _685 => _685(requestId)]);
21302
21319
  }
21303
21320
  const before = accumulator.getSegments();
21304
21321
  const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
@@ -21387,14 +21404,14 @@ function processHistoricalMessages(messages, options = {}) {
21387
21404
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
21388
21405
  return;
21389
21406
  }
21390
- const isUserMessage = _optionalChain([msg, 'access', _683 => _683.owner, 'optionalAccess', _684 => _684.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _685 => _685.owner, 'optionalAccess', _686 => _686.type]) === OWNER_TYPE.ADMIN;
21407
+ const isUserMessage = _optionalChain([msg, 'access', _686 => _686.owner, 'optionalAccess', _687 => _687.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _688 => _688.owner, 'optionalAccess', _689 => _689.type]) === OWNER_TYPE.ADMIN;
21391
21408
  if (isUserMessage) {
21392
21409
  flushAssistantMessage();
21393
- const userAuthorType = _optionalChain([msg, 'access', _687 => _687.owner, 'optionalAccess', _688 => _688.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
21410
+ const userAuthorType = _optionalChain([msg, 'access', _690 => _690.owner, 'optionalAccess', _691 => _691.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
21394
21411
  messageDataArray.forEach((data) => {
21395
21412
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
21396
21413
  const rawContext = data.contextItems;
21397
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _689 => _689.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _690 => _690.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
21414
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _692 => _692.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _693 => _693.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
21398
21415
  processedMessages.push({
21399
21416
  id: msg.id,
21400
21417
  role: "user",
@@ -21432,7 +21449,7 @@ function processHistoricalMessages(messages, options = {}) {
21432
21449
  });
21433
21450
  const nextMsg = messages[index + 1];
21434
21451
  const isLastMessage = index === messages.length - 1;
21435
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _691 => _691.owner, 'optionalAccess', _692 => _692.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _693 => _693.owner, 'optionalAccess', _694 => _694.type]) === OWNER_TYPE.ADMIN);
21452
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _694 => _694.owner, 'optionalAccess', _695 => _695.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _696 => _696.owner, 'optionalAccess', _697 => _697.type]) === OWNER_TYPE.ADMIN);
21436
21453
  if (isLastMessage || nextIsFromUser) {
21437
21454
  flushAssistantMessage();
21438
21455
  }
@@ -21830,7 +21847,7 @@ function useNatsChatAdapter(config, options = {}) {
21830
21847
  }, [active, fetchDialogs, loadDialogsPage]);
21831
21848
  const sendMessage = _react.useCallback.call(void 0,
21832
21849
  async (text, sendOptions) => {
21833
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _695 => _695.hidden]), () => ( false));
21850
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _698 => _698.hidden]), () => ( false));
21834
21851
  mutate((r) => r.pushOptimisticSend(text, hidden));
21835
21852
  await publishUserMessage(text, { hidden, dialogId });
21836
21853
  },
@@ -21958,8 +21975,6 @@ function useNatsChatAdapter(config, options = {}) {
21958
21975
  },
21959
21976
  [sendMessage]
21960
21977
  );
21961
- const displayRef = _react.useCallback.call(void 0, (_ref) => {
21962
- }, []);
21963
21978
  const { messages, streamingPhase, dialogTokenUsage = null, liveModel = null } = state;
21964
21979
  const isLoading = streamingPhase !== "idle";
21965
21980
  const hasMoreDialogs = dialogsNextCursor != null;
@@ -21973,17 +21988,16 @@ function useNatsChatAdapter(config, options = {}) {
21973
21988
  stopMessage,
21974
21989
  clearMessages,
21975
21990
  discussRef,
21976
- displayRef,
21977
21991
  // Model badge + token usage for the composer's `<ModelDisplay>`.
21978
21992
  // Model: live `metadata` frame → config baseline (host AI-config).
21979
21993
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
21980
21994
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
21981
21995
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
21982
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _696 => _696.provider]), () => ( modelProvider)), () => ( null)),
21983
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _697 => _697.modelLabel]), () => ( modelLabel)), () => ( null)),
21984
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _698 => _698.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _699 => _699.contextWindowMaxTokens]))), () => ( null)),
21985
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _700 => _700.inputTokensSize]), () => ( null)),
21986
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _701 => _701.outputTokensSize]), () => ( null)),
21996
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _699 => _699.provider]), () => ( modelProvider)), () => ( null)),
21997
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _700 => _700.modelLabel]), () => ( modelLabel)), () => ( null)),
21998
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _701 => _701.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _702 => _702.contextWindowMaxTokens]))), () => ( null)),
21999
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _703 => _703.inputTokensSize]), () => ( null)),
22000
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _704 => _704.outputTokensSize]), () => ( null)),
21987
22001
  currentCacheHitRatePct: null,
21988
22002
  currentUsageBreakdown: null,
21989
22003
  // Dialog management
@@ -22018,7 +22032,6 @@ function useNatsChatAdapter(config, options = {}) {
22018
22032
  stopMessage,
22019
22033
  clearMessages,
22020
22034
  discussRef,
22021
- displayRef,
22022
22035
  dialogs,
22023
22036
  dialogId,
22024
22037
  selectDialog,
@@ -22084,17 +22097,18 @@ function useUnifiedChat(options) {
22084
22097
  (ref) => activeStateRef.current.discussRef(ref),
22085
22098
  []
22086
22099
  );
22087
- const displayRef = _react.useCallback.call(void 0,
22088
- (ref) => activeStateRef.current.displayRef(ref),
22100
+ const displayRefForward = _react.useCallback.call(void 0,
22101
+ (ref) => _optionalChain([activeStateRef, 'access', _705 => _705.current, 'access', _706 => _706.displayRef, 'optionalCall', _707 => _707(ref)]),
22089
22102
  []
22090
22103
  );
22104
+ const displayRef = activeState.displayRef ? displayRefForward : void 0;
22091
22105
  const selectDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.selectDialog(id), []);
22092
22106
  const startNewDialog = _react.useCallback.call(void 0, () => activeStateRef.current.startNewDialog(), []);
22093
22107
  const deleteDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.deleteDialog(id), []);
22094
22108
  const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
22095
22109
  const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
22096
22110
  const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
22097
- const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _702 => _702.current, 'access', _703 => _703.setDialogScope, 'optionalCall', _704 => _704(scope)]), []);
22111
+ const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _708 => _708.current, 'access', _709 => _709.setDialogScope, 'optionalCall', _710 => _710(scope)]), []);
22098
22112
  const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
22099
22113
  const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
22100
22114
  const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
@@ -22187,19 +22201,19 @@ function turnRequestKeys(content) {
22187
22201
  if (!Array.isArray(content)) return keys;
22188
22202
  for (const seg of content) {
22189
22203
  if (seg.type === "tool_execution") {
22190
- const id = _optionalChain([seg, 'access', _705 => _705.data, 'optionalAccess', _706 => _706.toolExecutionRequestId]);
22204
+ const id = _optionalChain([seg, 'access', _711 => _711.data, 'optionalAccess', _712 => _712.toolExecutionRequestId]);
22191
22205
  if (id) keys.add(id);
22192
22206
  } else if (seg.type === "approval_request") {
22193
- const id = _optionalChain([seg, 'access', _707 => _707.data, 'optionalAccess', _708 => _708.requestId]);
22207
+ const id = _optionalChain([seg, 'access', _713 => _713.data, 'optionalAccess', _714 => _714.requestId]);
22194
22208
  if (id) keys.add(id);
22195
22209
  } else if (seg.type === "escalation_offer") {
22196
- const id = _optionalChain([seg, 'access', _709 => _709.data, 'optionalAccess', _710 => _710.offerId]);
22210
+ const id = _optionalChain([seg, 'access', _715 => _715.data, 'optionalAccess', _716 => _716.offerId]);
22197
22211
  if (id) keys.add(id);
22198
22212
  } else if (seg.type === "approval_batch") {
22199
22213
  const data = seg.data;
22200
- if (_optionalChain([data, 'optionalAccess', _711 => _711.approvalRequestId])) keys.add(data.approvalRequestId);
22201
- for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _712 => _712.toolCalls]), () => ( []))) {
22202
- if (_optionalChain([call, 'optionalAccess', _713 => _713.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
22214
+ if (_optionalChain([data, 'optionalAccess', _717 => _717.approvalRequestId])) keys.add(data.approvalRequestId);
22215
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _718 => _718.toolCalls]), () => ( []))) {
22216
+ if (_optionalChain([call, 'optionalAccess', _719 => _719.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
22203
22217
  }
22204
22218
  }
22205
22219
  }
@@ -22251,18 +22265,18 @@ function mergeHistoryWithRealtime(input) {
22251
22265
  }
22252
22266
  }
22253
22267
  const trailing = processedHistory[processedHistory.length - 1];
22254
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _714 => _714.role]) === "assistant" ? trailing : null;
22255
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _715 => _715.content, 'access', _716 => _716.find, 'call', _717 => _717((s) => s.type === "approval_batch"), 'optionalAccess', _718 => _718.data, 'optionalAccess', _719 => _719.approvalRequestId]), () => ( null)) : null;
22268
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _720 => _720.role]) === "assistant" ? trailing : null;
22269
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _721 => _721.content, 'access', _722 => _722.find, 'call', _723 => _723((s) => s.type === "approval_batch"), 'optionalAccess', _724 => _724.data, 'optionalAccess', _725 => _725.approvalRequestId]), () => ( null)) : null;
22256
22270
  let processedToUse = processedHistory;
22257
22271
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
22258
22272
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
22259
22273
  if (historyBatchId) {
22260
22274
  const batchTwins = existingMessages.filter(
22261
- (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _720 => _720.data, 'optionalAccess', _721 => _721.approvalRequestId]) === historyBatchId)
22275
+ (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _726 => _726.data, 'optionalAccess', _727 => _727.approvalRequestId]) === historyBatchId)
22262
22276
  );
22263
22277
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
22264
22278
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
22265
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _722 => _722.content])) ? historyTrailingAssistant.content.length : 0;
22279
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _728 => _728.content])) ? historyTrailingAssistant.content.length : 0;
22266
22280
  const realtimeSize = existingWithSameBatch.content.length;
22267
22281
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
22268
22282
  processedToUse = processedHistory.slice(0, -1);
@@ -22304,9 +22318,9 @@ function mergeHistoryWithRealtime(input) {
22304
22318
  if (pinnedSyntheticIds.has(m.id)) return true;
22305
22319
  if (droppedSyntheticIds.has(m.id)) return false;
22306
22320
  if (processedIds.has(m.id)) return false;
22307
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _723 => _723.has, 'call', _724 => _724(m.id)])) return false;
22321
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _729 => _729.has, 'call', _730 => _730(m.id)])) return false;
22308
22322
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
22309
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _725 => _725.timestamp, 'optionalAccess', _726 => _726.getTime, 'call', _727 => _727()]), () => ( 0))) <= historyFetchedAt;
22323
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _731 => _731.timestamp, 'optionalAccess', _732 => _732.getTime, 'call', _733 => _733()]), () => ( 0))) <= historyFetchedAt;
22310
22324
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
22311
22325
  }
22312
22326
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -22330,7 +22344,7 @@ function mergeHistoryWithRealtime(input) {
22330
22344
  } else if (typeof m.streamSeq === "number") {
22331
22345
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
22332
22346
  } else {
22333
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _728 => _728.timestamp, 'optionalAccess', _729 => _729.getTime, 'call', _730 => _730()]), () => ( 0))) <= historyFetchedAt;
22347
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _734 => _734.timestamp, 'optionalAccess', _735 => _735.getTime, 'call', _736 => _736()]), () => ( 0))) <= historyFetchedAt;
22334
22348
  }
22335
22349
  if (covered) return false;
22336
22350
  }
@@ -22400,7 +22414,7 @@ function normalizeHistoricalMessageData(md) {
22400
22414
  function isHistoricalUserTurn(m) {
22401
22415
  return !!m.owner;
22402
22416
  }
22403
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _731 => _731.type]) === "TEXT" && typeof d.text === "string";
22417
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _737 => _737.type]) === "TEXT" && typeof d.text === "string";
22404
22418
  var THINK_MS = 550;
22405
22419
  var TOKEN_MS = 55;
22406
22420
  var USER_MS = 480;
@@ -22712,7 +22726,7 @@ var DrawerContent = _react.forwardRef.call(void 0,
22712
22726
  const resolvedSide = _nullishCoalesce(side, () => ( "right"));
22713
22727
  const isHorizontal = HORIZONTAL_SIDES.has(resolvedSide);
22714
22728
  const initialSize = _nullishCoalesce(defaultSize, () => ( (isHorizontal ? 560 : 480)));
22715
- const headerHeight = _chunk36NFJULVcjs.useHeaderHeight.call(void 0, );
22729
+ const headerHeight = _chunkZI27ALYXcjs.useHeaderHeight.call(void 0, );
22716
22730
  const [isMobile, setIsMobile] = _react.useState.call(void 0, false);
22717
22731
  _react.useEffect.call(void 0, () => {
22718
22732
  if (typeof window === "undefined") return void 0;
@@ -22821,7 +22835,7 @@ function HoverDropdown({
22821
22835
  const timeoutRef = _react.useRef.call(void 0, void 0);
22822
22836
  const containerRef = _react.useRef.call(void 0, null);
22823
22837
  const panelRef = _react.useRef.call(void 0, null);
22824
- _chunk36NFJULVcjs.useIsomorphicLayoutEffect.call(void 0, () => {
22838
+ _chunkZI27ALYXcjs.useIsomorphicLayoutEffect.call(void 0, () => {
22825
22839
  const el = panelRef.current;
22826
22840
  const container = containerRef.current;
22827
22841
  if (!el || !container) return;
@@ -23024,7 +23038,7 @@ function useChatDialogManager({
23024
23038
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
23025
23039
  if (restoreTarget) {
23026
23040
  try {
23027
- await _optionalChain([unarchiveDialog, 'optionalCall', _732 => _732(restoreTarget.id)]);
23041
+ await _optionalChain([unarchiveDialog, 'optionalCall', _738 => _738(restoreTarget.id)]);
23028
23042
  } catch (err) {
23029
23043
  console.error("[useChatDialogManager] unarchive failed:", err);
23030
23044
  return;
@@ -23207,7 +23221,7 @@ function SourceChip({
23207
23221
  const Icon = cta.icon;
23208
23222
  const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
23209
23223
  const chipClass = chatChipClass({ tone: "secondary" });
23210
- const decideTab = (href, targetPlatform) => _chunkMIY5FYX3cjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
23224
+ const decideTab = (href, targetPlatform) => _chunkNNFQLTJ3cjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
23211
23225
  if (src.items && src.items.length > 0) {
23212
23226
  const dropdownItems = src.items.map((item) => {
23213
23227
  const itemCta = resolveSourceRowCTA(
@@ -23278,7 +23292,14 @@ function SourceChip({
23278
23292
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SourceActionButton, { chatRef: cta.chatRef, onDiscuss, density: "inline", className: "-mr-1 ml-1" })
23279
23293
  ] });
23280
23294
  const buildClickHandler = (href, path, targetPlatform, isNewTab) => (e) => {
23281
- const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
23295
+ const handled = executeNavigation({
23296
+ event: e,
23297
+ runtime,
23298
+ href,
23299
+ path,
23300
+ targetPlatform,
23301
+ fallbackNavigate: router.push
23302
+ });
23282
23303
  if (handled && !isNewTab && onClose) onClose();
23283
23304
  };
23284
23305
  if (cta.href && !!src.externalUrl) {
@@ -23289,7 +23310,7 @@ function SourceChip({
23289
23310
  "a",
23290
23311
  {
23291
23312
  href: resolvedHref,
23292
- ..._chunkMIY5FYX3cjs.newTabAnchorAttrs.call(void 0, isNewTab),
23313
+ ..._chunkNNFQLTJ3cjs.newTabAnchorAttrs.call(void 0, isNewTab),
23293
23314
  onClick: buildClickHandler(resolvedHref, null, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
23294
23315
  className: chipClass,
23295
23316
  children: chipBody(src.name)
@@ -23305,7 +23326,7 @@ function SourceChip({
23305
23326
  "a",
23306
23327
  {
23307
23328
  href: resolvedHref,
23308
- ..._chunkMIY5FYX3cjs.newTabAnchorAttrs.call(void 0, isNewTab),
23329
+ ..._chunkNNFQLTJ3cjs.newTabAnchorAttrs.call(void 0, isNewTab),
23309
23330
  onClick: buildClickHandler(resolvedHref, src.path, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
23310
23331
  className: chipClass,
23311
23332
  title: displayName,
@@ -23497,7 +23518,7 @@ function EmbeddableChatInner({
23497
23518
  }),
23498
23519
  [commandsUrl]
23499
23520
  );
23500
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _733 => _733.name, 'optionalAccess', _734 => _734.trim, 'call', _735 => _735()]) || [_optionalChain([identityUser, 'optionalAccess', _736 => _736.firstName]), _optionalChain([identityUser, 'optionalAccess', _737 => _737.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _738 => _738.trim, 'call', _739 => _739()]) || void 0;
23521
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _739 => _739.name, 'optionalAccess', _740 => _740.trim, 'call', _741 => _741()]) || [_optionalChain([identityUser, 'optionalAccess', _742 => _742.firstName]), _optionalChain([identityUser, 'optionalAccess', _743 => _743.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _744 => _744.trim, 'call', _745 => _745()]) || void 0;
23501
23522
  const effectiveModes = _react.useMemo.call(void 0, () => {
23502
23523
  if (modes) return modes;
23503
23524
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -23506,20 +23527,20 @@ function EmbeddableChatInner({
23506
23527
  const mingoCaps = _react.useMemo.call(void 0, () => {
23507
23528
  if (mingoState) {
23508
23529
  return {
23509
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _740 => _740.canRename]), () => ( false)),
23510
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _741 => _741.canArchive]), () => ( false)),
23511
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _742 => _742.fetchArchivedDialogs]),
23512
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _743 => _743.unarchiveDialog]),
23513
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _744 => _744.searchQuery]),
23514
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _745 => _745.onSearchChange]),
23515
- onCopyLink: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _746 => _746.onCopyLink])
23530
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _746 => _746.canRename]), () => ( false)),
23531
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _747 => _747.canArchive]), () => ( false)),
23532
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _748 => _748.fetchArchivedDialogs]),
23533
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _749 => _749.unarchiveDialog]),
23534
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _750 => _750.searchQuery]),
23535
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _751 => _751.onSearchChange]),
23536
+ onCopyLink: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _752 => _752.onCopyLink])
23516
23537
  };
23517
23538
  }
23518
23539
  return {
23519
- canRename: !!_optionalChain([effectiveModes, 'access', _747 => _747.mingo, 'optionalAccess', _748 => _748.renameDialog]),
23520
- canArchive: !!_optionalChain([effectiveModes, 'access', _749 => _749.mingo, 'optionalAccess', _750 => _750.archiveDialog]),
23521
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _751 => _751.mingo, 'optionalAccess', _752 => _752.fetchArchivedDialogs]),
23522
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _753 => _753.mingo, 'optionalAccess', _754 => _754.unarchiveDialog]),
23540
+ canRename: !!_optionalChain([effectiveModes, 'access', _753 => _753.mingo, 'optionalAccess', _754 => _754.renameDialog]),
23541
+ canArchive: !!_optionalChain([effectiveModes, 'access', _755 => _755.mingo, 'optionalAccess', _756 => _756.archiveDialog]),
23542
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _757 => _757.mingo, 'optionalAccess', _758 => _758.fetchArchivedDialogs]),
23543
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _759 => _759.mingo, 'optionalAccess', _760 => _760.unarchiveDialog]),
23523
23544
  searchQuery: void 0,
23524
23545
  onSearchChange: void 0,
23525
23546
  onCopyLink: void 0
@@ -23534,7 +23555,7 @@ function EmbeddableChatInner({
23534
23555
  if (controlledActiveMode === void 0) {
23535
23556
  setUncontrolledActiveMode(next);
23536
23557
  }
23537
- _optionalChain([onActiveModeChange, 'optionalCall', _755 => _755(next)]);
23558
+ _optionalChain([onActiveModeChange, 'optionalCall', _761 => _761(next)]);
23538
23559
  },
23539
23560
  [controlledActiveMode, onActiveModeChange]
23540
23561
  );
@@ -23561,7 +23582,7 @@ function EmbeddableChatInner({
23561
23582
  );
23562
23583
  const effectiveAssistantName = emptyStateConfig.name;
23563
23584
  const effectiveAssistantIcon = emptyStateConfig.icon;
23564
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _756 => _756.title]) === "string" ? guideWelcome.title : null)));
23585
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _762 => _762.title]) === "string" ? guideWelcome.title : null)));
23565
23586
  const {
23566
23587
  messages: rawMessages,
23567
23588
  isLoading: chatLoading,
@@ -23605,7 +23626,7 @@ function EmbeddableChatInner({
23605
23626
  void sendMessage(guidePendingPrompt).catch((err) => {
23606
23627
  console.error("[EmbeddableChat] guide launcher prompt failed:", err);
23607
23628
  });
23608
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _757 => _757()]);
23629
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _763 => _763()]);
23609
23630
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
23610
23631
  const {
23611
23632
  attachments: stagedAttachments,
@@ -23616,7 +23637,7 @@ function EmbeddableChatInner({
23616
23637
  clear: clearAttachments
23617
23638
  } = useChatAttachments();
23618
23639
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
23619
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _758 => _758.maxItems]), () => ( 10));
23640
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _764 => _764.maxItems]), () => ( 10));
23620
23641
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
23621
23642
  const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
23622
23643
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -23637,10 +23658,10 @@ function EmbeddableChatInner({
23637
23658
  }, [activeDialogId, activeMode]);
23638
23659
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
23639
23660
  const m = /* @__PURE__ */ new Map();
23640
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _759 => _759.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
23661
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _765 => _765.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
23641
23662
  return m;
23642
- }, [_optionalChain([contextPicker, 'optionalAccess', _760 => _760.entityTypes])]);
23643
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _761 => _761.entityTypes]);
23663
+ }, [_optionalChain([contextPicker, 'optionalAccess', _766 => _766.entityTypes])]);
23664
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _767 => _767.entityTypes]);
23644
23665
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
23645
23666
  const byType = /* @__PURE__ */ new Map();
23646
23667
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -23652,7 +23673,7 @@ function EmbeddableChatInner({
23652
23673
  if (mentionActiveRef.current) {
23653
23674
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
23654
23675
  if (contextItems.length >= contextMaxItems) return;
23655
- _optionalChain([chatInputRef, 'access', _762 => _762.current, 'optionalAccess', _763 => _763.commitMention, 'call', _764 => _764(mentionTokenOf(key, mentionMarkerByType), {
23676
+ _optionalChain([chatInputRef, 'access', _768 => _768.current, 'optionalAccess', _769 => _769.commitMention, 'call', _770 => _770(mentionTokenOf(key, mentionMarkerByType), {
23656
23677
  label: item.label,
23657
23678
  icon: resolveContextIcon(item)
23658
23679
  })]);
@@ -23675,9 +23696,9 @@ function EmbeddableChatInner({
23675
23696
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
23676
23697
  if (mentionKeysRef.current.has(key)) {
23677
23698
  mentionKeysRef.current.delete(key);
23678
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _765 => _765.current, 'optionalAccess', _766 => _766.getValue, 'call', _767 => _767()]), () => ( ""));
23699
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _771 => _771.current, 'optionalAccess', _772 => _772.getValue, 'call', _773 => _773()]), () => ( ""));
23679
23700
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
23680
- _optionalChain([chatInputRef, 'access', _768 => _768.current, 'optionalAccess', _769 => _769.setValue, 'call', _770 => _770(next)]);
23701
+ _optionalChain([chatInputRef, 'access', _774 => _774.current, 'optionalAccess', _775 => _775.setValue, 'call', _776 => _776(next)]);
23681
23702
  }
23682
23703
  },
23683
23704
  [mentionMarkerByType]
@@ -23699,7 +23720,7 @@ function EmbeddableChatInner({
23699
23720
  }, []);
23700
23721
  const closeContextPicker = _react.useCallback.call(void 0, () => {
23701
23722
  if (mentionActiveRef.current) {
23702
- _optionalChain([chatInputRef, 'access', _771 => _771.current, 'optionalAccess', _772 => _772.removeMentionTrigger, 'call', _773 => _773()]);
23723
+ _optionalChain([chatInputRef, 'access', _777 => _777.current, 'optionalAccess', _778 => _778.removeMentionTrigger, 'call', _779 => _779()]);
23703
23724
  }
23704
23725
  setContextPickerOpen(false);
23705
23726
  setMentionQuery(null);
@@ -23733,8 +23754,8 @@ function EmbeddableChatInner({
23733
23754
  [effectiveAssistantIcon]
23734
23755
  );
23735
23756
  const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
23736
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _774 => _774.firstName]), _optionalChain([identityUser, 'optionalAccess', _775 => _775.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _776 => _776.name, 'optionalAccess', _777 => _777.trim, 'call', _778 => _778()]) || void 0 : void 0;
23737
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _779 => _779.avatarUrl, 'optionalAccess', _780 => _780.trim, 'call', _781 => _781()]) || void 0 : void 0;
23757
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _780 => _780.firstName]), _optionalChain([identityUser, 'optionalAccess', _781 => _781.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _782 => _782.name, 'optionalAccess', _783 => _783.trim, 'call', _784 => _784()]) || void 0 : void 0;
23758
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _785 => _785.avatarUrl, 'optionalAccess', _786 => _786.trim, 'call', _787 => _787()]) || void 0 : void 0;
23738
23759
  const messages = _react.useMemo.call(void 0, () => {
23739
23760
  const cache = timestampCache;
23740
23761
  const seenIds = /* @__PURE__ */ new Set();
@@ -23923,9 +23944,9 @@ function EmbeddableChatInner({
23923
23944
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
23924
23945
  const lastSources = _react.useMemo.call(void 0, () => {
23925
23946
  if (chatLoading) return void 0;
23926
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _782 => _782.sources]);
23947
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _788 => _788.sources]);
23927
23948
  if (!sources || sources.length === 0) return void 0;
23928
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _783 => _783.content]) || "";
23949
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _789 => _789.content]) || "";
23929
23950
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map((m) => parseInt(m[1], 10));
23930
23951
  const seenOrder = /* @__PURE__ */ new Map();
23931
23952
  citationOrder.forEach((idx) => {
@@ -23943,7 +23964,7 @@ function EmbeddableChatInner({
23943
23964
  const el = panelMeasureRef.current;
23944
23965
  if (!el || typeof ResizeObserver === "undefined") return void 0;
23945
23966
  const ro = new ResizeObserver((entries) => {
23946
- const w = _optionalChain([entries, 'access', _784 => _784[0], 'optionalAccess', _785 => _785.contentRect, 'optionalAccess', _786 => _786.width]);
23967
+ const w = _optionalChain([entries, 'access', _790 => _790[0], 'optionalAccess', _791 => _791.contentRect, 'optionalAccess', _792 => _792.width]);
23947
23968
  if (typeof w === "number") setPanelWidth(w);
23948
23969
  });
23949
23970
  ro.observe(el);
@@ -23986,17 +24007,17 @@ function EmbeddableChatInner({
23986
24007
  const isMingoMode = activeMode === "mingo";
23987
24008
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
23988
24009
  const headerShowBack = hasConversation || guideCanReturnToMingo;
23989
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _787 => _787.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
24010
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _793 => _793.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
23990
24011
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
23991
24012
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
23992
24013
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
23993
24014
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
23994
24015
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
23995
- const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _788 => _788.onCopyLink, 'optionalCall', _789 => _789(activeDialog)]) : void 0;
24016
+ const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _794 => _794.onCopyLink, 'optionalCall', _795 => _795(activeDialog)]) : void 0;
23996
24017
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
23997
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _790 => _790.owner]) : void 0;
23998
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _791 => _791.name, 'optionalAccess', _792 => _792.trim, 'call', _793 => _793()]) || headerUserName;
23999
- const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _794 => _794.avatarUrl, 'optionalAccess', _795 => _795.trim, 'call', _796 => _796()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _797 => _797.avatarUrl, 'optionalAccess', _798 => _798.trim, 'call', _799 => _799()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _800 => _800.trim, 'call', _801 => _801()]) || void 0;
24018
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _796 => _796.owner]) : void 0;
24019
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _797 => _797.name, 'optionalAccess', _798 => _798.trim, 'call', _799 => _799()]) || headerUserName;
24020
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _800 => _800.avatarUrl, 'optionalAccess', _801 => _801.trim, 'call', _802 => _802()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _803 => _803.avatarUrl, 'optionalAccess', _804 => _804.trim, 'call', _805 => _805()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _806 => _806.trim, 'call', _807 => _807()]) || void 0;
24000
24021
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
24001
24022
  const handleNewChat = _react.useCallback.call(void 0, () => {
24002
24023
  resetToNewChat();
@@ -24142,7 +24163,7 @@ function EmbeddableChatInner({
24142
24163
  headerAvatar ? (
24143
24164
  // Owner avatar at the title cell's right edge (Figma 113:63273).
24144
24165
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24145
- _chunkMIY5FYX3cjs.SquareAvatar,
24166
+ _chunkNNFQLTJ3cjs.SquareAvatar,
24146
24167
  {
24147
24168
  variant: "round",
24148
24169
  sizePx: 32,
@@ -24326,9 +24347,9 @@ function EmbeddableChatInner({
24326
24347
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
24327
24348
  subtitleLoading: emptyStateLoading,
24328
24349
  ...guideWelcome,
24329
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _802 => _802.title]))),
24330
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _803 => _803.icon]))),
24331
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _804 => _804.quickActions]), () => ( guideSuggestedActions)),
24350
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _808 => _808.title]))),
24351
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _809 => _809.icon]))),
24352
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _810 => _810.quickActions]), () => ( guideSuggestedActions)),
24332
24353
  onQuickAction: (action) => {
24333
24354
  setQuickActionPreview(null);
24334
24355
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -24402,8 +24423,8 @@ function EmbeddableChatInner({
24402
24423
  selectedContextItems: contextItems,
24403
24424
  onToggleContextItem: toggleContextItem,
24404
24425
  onRemoveContextItem: removeContextItem,
24405
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _805 => _805.items]),
24406
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _806 => _806.onRemove]),
24426
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _811 => _811.items]),
24427
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _812 => _812.onRemove]),
24407
24428
  contextPickerOpen,
24408
24429
  onOpenContextPicker: openContextPicker,
24409
24430
  onCloseContextPicker: closeContextPicker,
@@ -24865,4 +24886,4 @@ function EmbeddableChatInner({
24865
24886
 
24866
24887
 
24867
24888
  exports.FloatingTooltip = FloatingTooltip; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.useIsHydrated = useIsHydrated; exports.MermaidDiagram = MermaidDiagram; exports.hasRenderableSrc = hasRenderableSrc; exports.buildStandardLeafRenderers = buildStandardLeafRenderers; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.NO_BROKEN_LINKS = NO_BROKEN_LINKS; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.formatTime = formatTime; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.GuideDisplay = GuideDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.useChatCardItem = useChatCardItem; exports.clickupTaskUrl = clickupTaskUrl; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.isGuideApproval = isGuideApproval; exports.guideApprovalOrigin = guideApprovalOrigin; exports.approvalDisplaysInline = approvalDisplaysInline; exports.isGuideApprovalSegment = isGuideApprovalSegment; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat;
24868
- //# sourceMappingURL=chunk-75X6BRID.cjs.map
24889
+ //# sourceMappingURL=chunk-RKGOVTXZ.cjs.map