@flamingo-stack/openframe-frontend-core 0.0.718 → 0.0.720

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 (175) hide show
  1. package/dist/{chunk-MIQLUUVF.cjs → chunk-2C72EWQR.cjs} +93 -29
  2. package/dist/{chunk-IWCPXJEE.js → chunk-3HZ6XSZC.js} +2 -4
  3. package/dist/{chunk-ZXCZYMN4.cjs → chunk-4SIZCHVZ.cjs} +13 -15
  4. package/dist/{chunk-BOTM373R.cjs → chunk-5XDCCQ4A.cjs} +15 -15
  5. package/dist/{chunk-DXCBOZVT.cjs → chunk-6BLN5WDS.cjs} +41 -41
  6. package/dist/{chunk-DCD5WZUF.js → chunk-6W46LVK4.js} +5 -5
  7. package/dist/{chunk-JHQ334WS.js → chunk-742BGXNX.js} +2 -0
  8. package/dist/{chunk-AECTRMGQ.cjs → chunk-7GRPR7XA.cjs} +13 -1
  9. package/dist/{chunk-45F7PXUI.js → chunk-7HYEQKN6.js} +6 -6
  10. package/dist/{chunk-N2PF5CFX.js → chunk-7IOU6BJE.js} +12 -11
  11. package/dist/{chunk-BWIN42ZA.cjs → chunk-7LPR4RZ3.cjs} +34 -36
  12. package/dist/chunk-AFTRPEXO.js +13 -0
  13. package/dist/{chunk-JPD4NXH6.js → chunk-AZRI4XBP.js} +1 -1
  14. package/dist/{chunk-4QFWGLZO.js → chunk-B2N4YX66.js} +1 -1
  15. package/dist/{chunk-QXZCLQNV.js → chunk-B5LNX4GZ.js} +2 -2
  16. package/dist/{chunk-GN4A7PMB.cjs → chunk-DHNJSQGX.cjs} +91 -91
  17. package/dist/{chunk-NDZ5ZXOQ.cjs → chunk-DOPOHO6H.cjs} +20 -20
  18. package/dist/{chunk-Z3CVSPO3.cjs → chunk-DYDDAA6O.cjs} +519 -518
  19. package/dist/{chunk-2RKFMUNW.cjs → chunk-EVMM3JE6.cjs} +64 -63
  20. package/dist/chunk-EWPR7662.cjs +13 -0
  21. package/dist/{chunk-AGVXKD4K.js → chunk-FSQQZFVG.js} +12 -0
  22. package/dist/{chunk-TTVOLEUS.js → chunk-GANIUMRU.js} +89 -2
  23. package/dist/{chunk-S2FUFMLW.cjs → chunk-HFEYEPOG.cjs} +27 -27
  24. package/dist/{chunk-LE5WKGJV.cjs → chunk-HTS46FFY.cjs} +3 -3
  25. package/dist/{chunk-6A43ZDWV.cjs → chunk-IL3ZWNM2.cjs} +4 -4
  26. package/dist/{chunk-PSVSEN4J.cjs → chunk-IMTY3GRR.cjs} +2 -0
  27. package/dist/{chunk-YC5COB5V.cjs → chunk-ISCZ6UNF.cjs} +85 -89
  28. package/dist/{chunk-XGHGGBM3.js → chunk-K2BYVPGR.js} +3 -3
  29. package/dist/{chunk-HWVUR735.cjs → chunk-KSGMZHVV.cjs} +2 -2
  30. package/dist/{chunk-SGFTTJKO.js → chunk-LO3KCLEF.js} +1 -1
  31. package/dist/{chunk-MA4Q5RBP.cjs → chunk-NYSMDM4J.cjs} +2 -2
  32. package/dist/{chunk-67QBMN4R.js → chunk-O3MKJU6A.js} +6 -6
  33. package/dist/{chunk-APJZBDQN.js → chunk-PSMJYZMV.js} +27 -26
  34. package/dist/{chunk-JH2SIWPQ.js → chunk-PXAKSPLZ.js} +1586 -1263
  35. package/dist/{chunk-TBCZCRQ5.js → chunk-Q5327DXK.js} +13 -17
  36. package/dist/{chunk-EZC2F5OT.cjs → chunk-QF464PPL.cjs} +39 -39
  37. package/dist/{chunk-UWQWMGJ7.cjs → chunk-RDP5UZXQ.cjs} +888 -565
  38. package/dist/{chunk-ETYLOZOB.cjs → chunk-RFUOIQSG.cjs} +100 -13
  39. package/dist/{chunk-DC4RTYWK.cjs → chunk-RZQGIWK3.cjs} +3 -3
  40. package/dist/{chunk-PQ6HBLZ7.js → chunk-TORERAXD.js} +105 -41
  41. package/dist/{chunk-6YPTUHM7.js → chunk-URW23QUM.js} +1 -1
  42. package/dist/{chunk-QBCDSTLE.cjs → chunk-UWJMDFDO.cjs} +18 -18
  43. package/dist/{chunk-YEMCCYIF.js → chunk-V6B2FBZK.js} +5 -5
  44. package/dist/{chunk-JIWMBIVZ.js → chunk-VBHGJFA3.js} +10 -10
  45. package/dist/{chunk-Z5UWW3Z2.cjs → chunk-VF2CJXZ2.cjs} +81 -65
  46. package/dist/{chunk-DEZDMTBM.js → chunk-VYVPII4W.js} +8 -10
  47. package/dist/{chunk-MM7MCIXL.js → chunk-VYZCKY5K.js} +9 -9
  48. package/dist/{chunk-E7YCPY7K.cjs → chunk-XSM46FHD.cjs} +3 -3
  49. package/dist/{chunk-NZ5BHDFZ.js → chunk-XW3Q623Q.js} +1 -1
  50. package/dist/{chunk-LOYPRJWA.js → chunk-YK3X74SF.js} +67 -51
  51. package/dist/{chunk-WALCXC7J.cjs → chunk-ZHD3F2TH.cjs} +3 -3
  52. package/dist/{chunk-KBJJQFYU.js → chunk-ZPHOQDAE.js} +1 -1
  53. package/dist/{cloud-tenants-TAKOWXLD.js → cloud-tenants-RKQRSDNE.js} +9 -9
  54. package/dist/{cloud-tenants-PFDF7O5U.cjs → cloud-tenants-UQZASXUB.cjs} +10 -10
  55. package/dist/components/case-studies/index.cjs +23 -23
  56. package/dist/components/case-studies/index.js +10 -10
  57. package/dist/components/chat/ask-prompts.d.ts +10 -2
  58. package/dist/components/chat/ask-prompts.d.ts.map +1 -1
  59. package/dist/components/chat/assistant-ask-prompts.d.ts +27 -0
  60. package/dist/components/chat/assistant-ask-prompts.d.ts.map +1 -0
  61. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  62. package/dist/components/chat/hooks/index.d.ts +1 -0
  63. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  64. package/dist/components/chat/hooks/use-ask-prompts.d.ts +63 -0
  65. package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -0
  66. package/dist/components/chat/index.cjs +23 -6
  67. package/dist/components/chat/index.d.ts +1 -0
  68. package/dist/components/chat/index.d.ts.map +1 -1
  69. package/dist/components/chat/index.js +22 -5
  70. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  71. package/dist/components/contact/index.cjs +11 -11
  72. package/dist/components/contact/index.js +10 -10
  73. package/dist/components/docs/index.cjs +14 -14
  74. package/dist/components/docs/index.js +13 -13
  75. package/dist/components/embeds/index.cjs +11 -11
  76. package/dist/components/embeds/index.js +10 -10
  77. package/dist/components/faq/faq-ask-card.d.ts +44 -0
  78. package/dist/components/faq/faq-ask-card.d.ts.map +1 -0
  79. package/dist/components/faq/faq-document-page.d.ts +5 -1
  80. package/dist/components/faq/faq-document-page.d.ts.map +1 -1
  81. package/dist/components/faq/faq-section.d.ts +18 -5
  82. package/dist/components/faq/faq-section.d.ts.map +1 -1
  83. package/dist/components/faq/index.cjs +13 -12
  84. package/dist/components/faq/index.d.ts +1 -0
  85. package/dist/components/faq/index.d.ts.map +1 -1
  86. package/dist/components/faq/index.js +12 -11
  87. package/dist/components/features/auth/auth-benefits-panel.d.ts.map +1 -1
  88. package/dist/components/features/index.cjs +10 -10
  89. package/dist/components/features/index.js +9 -9
  90. package/dist/components/features/remote-session/remote-desktop-view.d.ts +6 -2
  91. package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -1
  92. package/dist/components/help-center-pages/index.cjs +104 -105
  93. package/dist/components/help-center-pages/index.js +28 -29
  94. package/dist/components/help-center-pages/trust-center-page.d.ts +4 -1
  95. package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
  96. package/dist/components/index.cjs +109 -197
  97. package/dist/components/index.js +228 -316
  98. package/dist/components/meeting-scheduler/index.cjs +50 -51
  99. package/dist/components/meeting-scheduler/index.js +12 -13
  100. package/dist/components/navigation/index.cjs +13 -13
  101. package/dist/components/navigation/index.js +12 -12
  102. package/dist/components/navigation/mingo-ai-button.d.ts +1 -1
  103. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  104. package/dist/components/onboarding-guides/index.cjs +13 -14
  105. package/dist/components/onboarding-guides/index.js +12 -13
  106. package/dist/components/product-demo/index.cjs +7 -7
  107. package/dist/components/product-demo/index.js +7 -7
  108. package/dist/components/related-content/index.cjs +5 -7
  109. package/dist/components/related-content/index.js +4 -6
  110. package/dist/components/related-content/related-content-section.d.ts +6 -6
  111. package/dist/components/related-content/related-content-section.d.ts.map +1 -1
  112. package/dist/components/tickets/index.cjs +15 -15
  113. package/dist/components/tickets/index.js +14 -14
  114. package/dist/components/ui/index.cjs +26 -10
  115. package/dist/components/ui/index.js +25 -9
  116. package/dist/contexts/assistant-runtime-context.d.ts +74 -0
  117. package/dist/contexts/assistant-runtime-context.d.ts.map +1 -0
  118. package/dist/contexts/index.cjs +7 -1
  119. package/dist/contexts/index.d.ts +1 -0
  120. package/dist/contexts/index.d.ts.map +1 -1
  121. package/dist/contexts/index.js +6 -0
  122. package/dist/{devices-KRCGZMGA.cjs → devices-7Q2EUM7B.cjs} +11 -11
  123. package/dist/{devices-LHEX7O5T.js → devices-U3Y4IIW4.js} +9 -9
  124. package/dist/hooks/index.cjs +3 -4
  125. package/dist/hooks/index.js +2 -3
  126. package/dist/hooks/use-self-fetch.d.ts +3 -0
  127. package/dist/hooks/use-self-fetch.d.ts.map +1 -1
  128. package/dist/index.cjs +34 -14
  129. package/dist/index.js +33 -13
  130. package/dist/{knowledge-RZSFNR33.js → knowledge-NST53EXE.js} +9 -9
  131. package/dist/{knowledge-KLVPVEYZ.cjs → knowledge-UYIZ74MA.cjs} +11 -11
  132. package/dist/{logs-OX3XTVL2.cjs → logs-HTH7X7KV.cjs} +18 -18
  133. package/dist/{logs-E5DOV5JO.js → logs-JVTRG232.js} +9 -9
  134. package/dist/{policies-MC2S4S5G.js → policies-DTXTRK56.js} +9 -9
  135. package/dist/{policies-FOSCIZGK.cjs → policies-MXK2HB4W.cjs} +14 -14
  136. package/dist/{remote-session-JQ2BPIE3.js → remote-session-LAJZKQBN.js} +3 -3
  137. package/dist/{remote-session-DRFE5XZE.cjs → remote-session-SKKF4PBV.cjs} +5 -5
  138. package/dist/{software-update-D4OEIH65.js → software-update-6RHMPM3W.js} +9 -9
  139. package/dist/{software-update-HOBSTWVO.cjs → software-update-P6BSM6HX.cjs} +14 -14
  140. package/dist/utils/index.cjs +26 -2
  141. package/dist/utils/index.d.ts +1 -0
  142. package/dist/utils/index.d.ts.map +1 -1
  143. package/dist/utils/index.js +25 -3
  144. package/dist/utils/list-url.d.ts.map +1 -1
  145. package/dist/utils/source-icons.d.ts.map +1 -1
  146. package/dist/utils/trial.d.ts +18 -0
  147. package/dist/utils/trial.d.ts.map +1 -0
  148. package/package.json +1 -1
  149. package/src/components/chat/ask-prompts.tsx +25 -3
  150. package/src/components/chat/assistant-ask-prompts.tsx +78 -0
  151. package/src/components/chat/entity-cards/dispatch.tsx +38 -4
  152. package/src/components/chat/hooks/index.ts +12 -0
  153. package/src/components/chat/hooks/use-ask-prompts.ts +188 -0
  154. package/src/components/chat/index.ts +1 -0
  155. package/src/components/chat/utils/icon-library.tsx +6 -0
  156. package/src/components/faq/faq-ask-card.tsx +115 -0
  157. package/src/components/faq/faq-document-page.tsx +6 -1
  158. package/src/components/faq/faq-section.tsx +27 -5
  159. package/src/components/faq/index.ts +1 -0
  160. package/src/components/features/auth/auth-benefits-panel.tsx +5 -4
  161. package/src/components/features/remote-session/remote-desktop-view.tsx +86 -63
  162. package/src/components/help-center-pages/trust-center-page.tsx +5 -2
  163. package/src/components/navigation/mingo-ai-button.tsx +27 -6
  164. package/src/components/related-content/related-content-section.tsx +46 -47
  165. package/src/contexts/assistant-runtime-context.tsx +84 -0
  166. package/src/contexts/index.ts +9 -0
  167. package/src/hooks/use-self-fetch.ts +7 -0
  168. package/src/utils/index.ts +1 -0
  169. package/src/utils/list-url.ts +4 -0
  170. package/src/utils/source-icons.ts +10 -2
  171. package/src/utils/trial.ts +19 -0
  172. package/dist/chunk-AUMKE74M.cjs +0 -16
  173. package/dist/chunk-G3GRYDMS.js +0 -16
  174. package/dist/chunk-GEDY7HQI.cjs +0 -85
  175. package/dist/chunk-YBQQNDC7.js +0 -85
@@ -21,6 +21,7 @@ var _chunkKT3U3ZRPcjs = require('./chunk-KT3U3ZRP.cjs');
21
21
 
22
22
 
23
23
 
24
+ var _chunkEWPR7662cjs = require('./chunk-EWPR7662.cjs');
24
25
 
25
26
 
26
27
 
@@ -30,7 +31,10 @@ var _chunkKT3U3ZRPcjs = require('./chunk-KT3U3ZRP.cjs');
30
31
 
31
32
 
32
33
 
33
- var _chunkDC4RTYWKcjs = require('./chunk-DC4RTYWK.cjs');
34
+
35
+
36
+
37
+ var _chunkRZQGIWK3cjs = require('./chunk-RZQGIWK3.cjs');
34
38
 
35
39
 
36
40
 
@@ -133,7 +137,9 @@ var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
133
137
 
134
138
 
135
139
 
136
- var _chunkETYLOZOBcjs = require('./chunk-ETYLOZOB.cjs');
140
+
141
+
142
+ var _chunkRFUOIQSGcjs = require('./chunk-RFUOIQSG.cjs');
137
143
 
138
144
 
139
145
  var _chunkAL2GUHAJcjs = require('./chunk-AL2GUHAJ.cjs');
@@ -141,7 +147,7 @@ var _chunkAL2GUHAJcjs = require('./chunk-AL2GUHAJ.cjs');
141
147
 
142
148
 
143
149
 
144
- var _chunkPSVSEN4Jcjs = require('./chunk-PSVSEN4J.cjs');
150
+ var _chunkIMTY3GRRcjs = require('./chunk-IMTY3GRR.cjs');
145
151
 
146
152
 
147
153
 
@@ -158,7 +164,7 @@ var _chunkF5BPGWGTcjs = require('./chunk-F5BPGWGT.cjs');
158
164
  var _chunkMGHIV4L6cjs = require('./chunk-MGHIV4L6.cjs');
159
165
 
160
166
 
161
- var _chunkAECTRMGQcjs = require('./chunk-AECTRMGQ.cjs');
167
+ var _chunk7GRPR7XAcjs = require('./chunk-7GRPR7XA.cjs');
162
168
 
163
169
 
164
170
 
@@ -307,7 +313,7 @@ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
307
313
 
308
314
  // src/components/chat/chat-appearance-context.tsx
309
315
 
310
- var ChatAppearanceContext = _react.createContext.call(void 0, _chunkDC4RTYWKcjs.CHAT_APPEARANCE.CLASSIC);
316
+ var ChatAppearanceContext = _react.createContext.call(void 0, _chunkRZQGIWK3cjs.CHAT_APPEARANCE.CLASSIC);
311
317
  function useChatAppearance() {
312
318
  return _react.useContext.call(void 0, ChatAppearanceContext);
313
319
  }
@@ -345,7 +351,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
345
351
  ...props
346
352
  }, ref) => {
347
353
  const [isProcessing, setIsProcessing] = _react.useState.call(void 0, false);
348
- const isV2 = useChatAppearance() === _chunkDC4RTYWKcjs.CHAT_APPEARANCE.V2;
354
+ const isV2 = useChatAppearance() === _chunkRZQGIWK3cjs.CHAT_APPEARANCE.V2;
349
355
  const handleApprove = async () => {
350
356
  setIsProcessing(true);
351
357
  try {
@@ -480,7 +486,7 @@ EscalationOfferMessage.displayName = "EscalationOfferMessage";
480
486
 
481
487
  var AiAssistantInfo = _react.forwardRef.call(void 0,
482
488
  ({ className, icon, leading, title, body, timestamp, ...props }, ref) => {
483
- const isV2 = useChatAppearance() === _chunkDC4RTYWKcjs.CHAT_APPEARANCE.V2;
489
+ const isV2 = useChatAppearance() === _chunkRZQGIWK3cjs.CHAT_APPEARANCE.V2;
484
490
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
485
491
  "div",
486
492
  {
@@ -496,7 +502,7 @@ var AiAssistantInfo = _react.forwardRef.call(void 0,
496
502
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
497
503
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start", children: [
498
504
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 truncate text-ods-text-primary text-h4", title, children: title }),
499
- timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-right text-ods-text-secondary text-h6", children: _chunkDC4RTYWKcjs.formatTime.call(void 0, timestamp) })
505
+ timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-right text-ods-text-secondary text-h6", children: _chunkRZQGIWK3cjs.formatTime.call(void 0, timestamp) })
500
506
  ] }),
501
507
  body != null && body !== "" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full break-words text-ods-text-secondary text-h4", children: body })
502
508
  ] })
@@ -2159,7 +2165,7 @@ function blankUnreferencedFootnotes(masked, lines, folded) {
2159
2165
  if (masked.indexOf("[^") === -1) return masked;
2160
2166
  const text2 = (line) => stripCr(masked.slice(line.contentStart, line.contentStart + line.content.length));
2161
2167
  const refMask = footnoteReferenceMask(masked, folded);
2162
- const refText = (line) => stripCr(refMask.slice(line.contentStart, line.contentStart + line.content.length));
2168
+ const refText2 = (line) => stripCr(refMask.slice(line.contentStart, line.contentStart + line.content.length));
2163
2169
  const referenced = /* @__PURE__ */ new Set();
2164
2170
  const defAt = [];
2165
2171
  for (const line of lines) {
@@ -2174,7 +2180,7 @@ function blankUnreferencedFootnotes(masked, lines, folded) {
2174
2180
  }
2175
2181
  }
2176
2182
  defAt.push(isDef);
2177
- const rc = refText(line);
2183
+ const rc = refText2(line);
2178
2184
  for (let q = rc.indexOf("[^"); q !== -1; q = rc.indexOf("[^", q)) {
2179
2185
  let back = q;
2180
2186
  while (back > 0 && rc[back - 1] === "\\") back--;
@@ -3404,7 +3410,7 @@ var ErrorMessageDisplay = _react.forwardRef.call(void 0,
3404
3410
  const [expanded, setExpanded] = _react.useState.call(void 0, false);
3405
3411
  const { innerRef, containerStyle } = _chunkKT3U3ZRPcjs.useCollapsible.call(void 0, { expanded });
3406
3412
  const hasDetails = Boolean(details);
3407
- const isV2 = useChatAppearance() === _chunkDC4RTYWKcjs.CHAT_APPEARANCE.V2;
3413
+ const isV2 = useChatAppearance() === _chunkRZQGIWK3cjs.CHAT_APPEARANCE.V2;
3408
3414
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3409
3415
  "div",
3410
3416
  {
@@ -4446,8 +4452,8 @@ ToolExecutionDisplay.displayName = "ToolExecutionDisplay";
4446
4452
  var MENTION_MARKER_REGEX = /(^|[^\w@])@[a-zA-Z]+:([A-Za-z0-9_.+/=-]*[A-Za-z0-9_+/=])/g;
4447
4453
  var CARD_MARKER_REGEX = createCardMarkerScanner();
4448
4454
  function formatMessageTimestamp(timestamp) {
4449
- const time = _chunkDC4RTYWKcjs.formatTime.call(void 0, timestamp);
4450
- return _chunkKT3U3ZRPcjs.isToday.call(void 0, timestamp) ? time : `${_chunkDC4RTYWKcjs.formatDate.call(void 0, timestamp)} ${time}`;
4455
+ const time = _chunkRZQGIWK3cjs.formatTime.call(void 0, timestamp);
4456
+ return _chunkKT3U3ZRPcjs.isToday.call(void 0, timestamp) ? time : `${_chunkRZQGIWK3cjs.formatDate.call(void 0, timestamp)} ${time}`;
4451
4457
  }
4452
4458
  function normalizeContent(content) {
4453
4459
  if (typeof content === "string") {
@@ -4501,7 +4507,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
4501
4507
  const isError = role === "error";
4502
4508
  const inheritedAppearance = useChatAppearance();
4503
4509
  const appearance = _nullishCoalesce(appearanceProp, () => ( inheritedAppearance));
4504
- const isV2 = appearance === _chunkDC4RTYWKcjs.CHAT_APPEARANCE.V2;
4510
+ const isV2 = appearance === _chunkRZQGIWK3cjs.CHAT_APPEARANCE.V2;
4505
4511
  const authorType = _nullishCoalesce(authorTypeProp, () => ( (isUser ? "user" : assistantType === "mingo" ? "mingo" : "fae")));
4506
4512
  const hasMarkerSupport = !!renderEntityCard;
4507
4513
  const segments = _react.useMemo.call(void 0, () => normalizeContent(content), [content]);
@@ -5025,7 +5031,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5025
5031
  contentClassName,
5026
5032
  assistantType,
5027
5033
  approvalVariant,
5028
- appearance = _chunkDC4RTYWKcjs.CHAT_APPEARANCE.CLASSIC,
5034
+ appearance = _chunkRZQGIWK3cjs.CHAT_APPEARANCE.CLASSIC,
5029
5035
  assistantIcon,
5030
5036
  pendingApprovals,
5031
5037
  hasNextPage,
@@ -5524,7 +5530,7 @@ ChatMessageList.displayName = "ChatMessageList";
5524
5530
  // src/components/chat/hooks/use-proxied-image-url.ts
5525
5531
  function useProxiedImageUrl(url) {
5526
5532
  const r = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
5527
- return _nullishCoalesce(_chunkETYLOZOBcjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
5533
+ return _nullishCoalesce(_chunkRFUOIQSGcjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
5528
5534
  proxyPrefix: r.endpoints.imageProxyUrlPrefix,
5529
5535
  skipDomains: r.endpoints.imageProxySkipDomains,
5530
5536
  directHttps: true
@@ -5601,7 +5607,7 @@ function renderQuickActionIcon(icon) {
5601
5607
  if (!spec.name && !spec.url) return void 0;
5602
5608
  const accentClass = spec.accent ? ACCENT_CLASS[spec.accent] : void 0;
5603
5609
  const props = spec.accent && !accentClass ? { color: spec.accent, ..._nullishCoalesce(spec.props, () => ( {})) } : spec.props;
5604
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.EntityIcon, { icon: { name: spec.name, url: spec.url, props }, size: _nullishCoalesce(spec.size, () => ( 16)), className: accentClass });
5610
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.EntityIcon, { icon: { name: spec.name, url: spec.url, props }, size: _nullishCoalesce(spec.size, () => ( 16)), className: accentClass });
5605
5611
  }
5606
5612
  function composeChipLabel(label, lozenge) {
5607
5613
  if (!lozenge) return label;
@@ -5905,6 +5911,16 @@ if (_orderIdx("flamingo") > _orderIdx("flamingo-teaser") || _orderIdx("flamingo"
5905
5911
  );
5906
5912
  }
5907
5913
 
5914
+ // src/utils/trial.ts
5915
+ var TRIAL_DAYS = 14;
5916
+ var TRIAL_LABELS = {
5917
+ /** "14 day free trial" */
5918
+ length: `${TRIAL_DAYS} day free trial`,
5919
+ noCard: "No card required",
5920
+ cancel: "Cancel Anytime",
5921
+ noContract: "No Contract"
5922
+ };
5923
+
5908
5924
  // src/utils/seo-title.ts
5909
5925
  var SEO_TITLE_MAX_LENGTH = 60;
5910
5926
 
@@ -6784,8 +6800,12 @@ var SOURCE_ICON_NAMES = {
6784
6800
  "audience-msp": "hierarchy-02",
6785
6801
  "audience-mssp": "shield-lock",
6786
6802
  "audience-it-team": "buildings",
6787
- // Trust (single-record live source over the public Vanta projection)
6788
- "trust-center": "shield",
6803
+ // Trust (single-record live source over the public Vanta projection): the icon its menu entry draws
6804
+ "trust-center": "shield-check",
6805
+ // The public website's own pages (live source): the site's own mark, as a glyph in the slot's colour
6806
+ "website-pages": "flamingo-logo-grey",
6807
+ // The OpenMSP vendor directory: the icon the site menu's "Tool directory" entry draws (it reads this one)
6808
+ vendors: "package-search",
6789
6809
  // Financials
6790
6810
  "investor-updates": "mail",
6791
6811
  "financial-kpis": "activity",
@@ -6848,6 +6868,8 @@ var SOURCE_LABELS_BY_TABLE = {
6848
6868
  faqs: "FAQs",
6849
6869
  // Trust
6850
6870
  "trust-center": "Trust Center",
6871
+ "website-pages": "Website",
6872
+ vendors: "Vendor Directory",
6851
6873
  // Financials
6852
6874
  "investor-updates": "Investor Updates",
6853
6875
  "financial-kpis": "Financial KPIs",
@@ -6915,6 +6937,8 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
6915
6937
  faq: "faqs",
6916
6938
  // Trust
6917
6939
  trust_center: "trust-center",
6940
+ site_page: "website-pages",
6941
+ vendor: "vendors",
6918
6942
  // Financials
6919
6943
  investor_update: "investor-updates",
6920
6944
  financial_kpi: "financial-kpis",
@@ -7499,7 +7523,7 @@ function formatChatAttachmentMarkdownForBubble(att, viewUrlPrefix) {
7499
7523
 
7500
7524
  [Attached: ${safeName}](${url})`;
7501
7525
  }
7502
- var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkETYLOZOBcjs.escapeRegExp.call(void 0, CHAT_ATTACHMENT_VIEW_URL_PREFIX);
7526
+ var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkRFUOIQSGcjs.escapeRegExp.call(void 0, CHAT_ATTACHMENT_VIEW_URL_PREFIX);
7503
7527
  var CHAT_ATTACHMENT_MARKDOWN_PATTERN = new RegExp(
7504
7528
  `^\\s*!?\\[[^\\]]*\\]\\(${CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED}[^)]+\\)\\s*$`,
7505
7529
  "gm"
@@ -7974,7 +7998,7 @@ function lastPathSegment(url) {
7974
7998
  function makeComposeContentUrl(opts) {
7975
7999
  const suffixes = _nullishCoalesce(opts.suffixes, () => ( DEFAULT_CONTENT_SUFFIXES));
7976
8000
  return ({ type: rawType, identifier, slug: slugHint, externalUrl, targetPlatform, platforms }) => {
7977
- const type = _chunkETYLOZOBcjs.canonicalContentRefType.call(void 0, rawType);
8001
+ const type = _chunkRFUOIQSGcjs.canonicalContentRefType.call(void 0, rawType);
7978
8002
  const override = opts.overrides && Object.prototype.hasOwnProperty.call(opts.overrides, type) ? opts.overrides[type] : void 0;
7979
8003
  if (override) return { ...override(identifier), hostOverride: true };
7980
8004
  const seg = _nullishCoalesce((Object.prototype.hasOwnProperty.call(suffixes, type) ? suffixes[type] : void 0), () => ( type));
@@ -8444,8 +8468,8 @@ function openAskAi(source, options) {
8444
8468
  }
8445
8469
  function MingoAiButton({
8446
8470
  source,
8447
- icon,
8448
- label = "Mingo AI",
8471
+ icon: iconProp,
8472
+ label: labelProp,
8449
8473
  shortcutHint = false,
8450
8474
  variant = "inline",
8451
8475
  className,
@@ -8456,6 +8480,15 @@ function MingoAiButton({
8456
8480
  const field = variant === "field";
8457
8481
  const inPage = variant === "button";
8458
8482
  const commandKey = visitor.known && _chunkGQ7JJUITcjs.usesCommandKey.call(void 0, visitor.os);
8483
+ const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
8484
+ const label = _nullishCoalesce(labelProp, () => ( _optionalChain([assistant, 'optionalAccess', _220 => _220.name])));
8485
+ const icon = _nullishCoalesce(iconProp, () => ( _optionalChain([assistant, 'optionalAccess', _221 => _221.icon])));
8486
+ const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _222 => _222.open]);
8487
+ const eventSource = _nullishCoalesce(source, () => ( _optionalChain([assistant, 'optionalAccess', _223 => _223.source])));
8488
+ const openRef = _react.useRef.call(void 0, () => void 0);
8489
+ _react.useEffect.call(void 0, () => {
8490
+ openRef.current = () => runtimeOpen ? runtimeOpen({}) : openAskAi(eventSource);
8491
+ });
8459
8492
  _react.useEffect.call(void 0, () => {
8460
8493
  if (!shortcutHint) return void 0;
8461
8494
  const onKeyDown = (event) => {
@@ -8463,11 +8496,12 @@ function MingoAiButton({
8463
8496
  const modifier = commandKey ? event.metaKey && !event.ctrlKey : event.ctrlKey && !event.metaKey;
8464
8497
  if (event.key.toLowerCase() !== "k" || !modifier) return;
8465
8498
  event.preventDefault();
8466
- openAskAi(source);
8499
+ openRef.current();
8467
8500
  };
8468
8501
  window.addEventListener("keydown", onKeyDown);
8469
8502
  return () => window.removeEventListener("keydown", onKeyDown);
8470
- }, [shortcutHint, source, commandKey]);
8503
+ }, [shortcutHint, commandKey]);
8504
+ if (!label) return null;
8471
8505
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
8472
8506
  _chunkDFQYAYBHcjs.Button,
8473
8507
  {
@@ -8479,8 +8513,9 @@ function MingoAiButton({
8479
8513
  "aria-label": label,
8480
8514
  "aria-keyshortcuts": shortcutHint && visitor.known ? commandKey ? "Meta+K" : "Control+K" : void 0,
8481
8515
  onClick: (e) => {
8482
- openAskAi(source);
8483
- _optionalChain([onClick, 'optionalCall', _220 => _220(e)]);
8516
+ if (runtimeOpen) runtimeOpen({});
8517
+ else openAskAi(eventSource);
8518
+ _optionalChain([onClick, 'optionalCall', _224 => _224(e)]);
8484
8519
  },
8485
8520
  className: _chunk3ATAYP36cjs.cn.call(void 0,
8486
8521
  "group/mingo flex shrink-0 justify-start focus-visible:ring-ods-accent",
@@ -8674,6 +8709,7 @@ function QuestionChips({
8674
8709
  count,
8675
8710
  loading,
8676
8711
  source,
8712
+ onOpen,
8677
8713
  onAsk,
8678
8714
  slotClassName
8679
8715
  }) {
@@ -8692,11 +8728,13 @@ function QuestionChips({
8692
8728
  label: prompt.label,
8693
8729
  icon: prompt.icon,
8694
8730
  onSelect: () => {
8695
- openAskAi(source, { prompt: _nullishCoalesce(prompt.prompt, () => ( prompt.label)) });
8696
- _optionalChain([onAsk, 'optionalCall', _221 => _221(prompt)]);
8731
+ const request = { prompt: _nullishCoalesce(prompt.prompt, () => ( prompt.label)) };
8732
+ if (onOpen) onOpen(request);
8733
+ else openAskAi(source, request);
8734
+ _optionalChain([onAsk, 'optionalCall', _225 => _225(prompt)]);
8697
8735
  }
8698
8736
  }
8699
- ) : null }, _nullishCoalesce(_optionalChain([prompt, 'optionalAccess', _222 => _222.id]), () => ( `slot-${slot}`)));
8737
+ ) : null }, _nullishCoalesce(_optionalChain([prompt, 'optionalAccess', _226 => _226.id]), () => ( `slot-${slot}`)));
8700
8738
  }) });
8701
8739
  }
8702
8740
  function AskPrompts({
@@ -8707,6 +8745,7 @@ function AskPrompts({
8707
8745
  source,
8708
8746
  label,
8709
8747
  icon,
8748
+ onOpen,
8710
8749
  onAsk,
8711
8750
  fadeColor,
8712
8751
  className
@@ -8730,6 +8769,7 @@ function AskPrompts({
8730
8769
  count,
8731
8770
  loading,
8732
8771
  source,
8772
+ onOpen,
8733
8773
  onAsk,
8734
8774
  slotClassName: _chunk3ATAYP36cjs.cn.call(void 0, ROW_CHIP_SLOT_CLASS, end && "content-md:justify-end")
8735
8775
  }
@@ -8747,6 +8787,7 @@ function AskCard({
8747
8787
  source,
8748
8788
  label,
8749
8789
  icon,
8790
+ onOpen,
8750
8791
  onAsk,
8751
8792
  shortcutHint = true,
8752
8793
  className
@@ -8767,7 +8808,17 @@ function AskCard({
8767
8808
  description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: description })
8768
8809
  ] })
8769
8810
  ] }),
8770
- (loading || prompts.length > 0) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-col items-start gap-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, QuestionChips, { prompts, count, loading, source, onAsk }) }),
8811
+ (loading || prompts.length > 0) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-col items-start gap-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8812
+ QuestionChips,
8813
+ {
8814
+ prompts,
8815
+ count,
8816
+ loading,
8817
+ source,
8818
+ onOpen,
8819
+ onAsk
8820
+ }
8821
+ ) }),
8771
8822
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8772
8823
  MingoAiButton,
8773
8824
  {
@@ -8784,6 +8835,138 @@ function AskCard({
8784
8835
  );
8785
8836
  }
8786
8837
 
8838
+ // src/components/chat/assistant-ask-prompts.tsx
8839
+
8840
+
8841
+ // src/components/chat/hooks/use-ask-prompts.ts
8842
+
8843
+ var ASK_PROMPTS_DEFAULT_COUNT = 3;
8844
+ function buildAskPromptsUrl(base, { count, topic, exclude = [] }) {
8845
+ const params = new URLSearchParams({ count: String(count) });
8846
+ if (topic) params.set("section", topic);
8847
+ if (exclude.length > 0) params.set("exclude", exclude.join(","));
8848
+ return `${base}${base.includes("?") ? "&" : "?"}${params.toString()}`;
8849
+ }
8850
+ function assistantAvailable(assistant) {
8851
+ return !!_optionalChain([assistant, 'optionalAccess', _227 => _227.available]);
8852
+ }
8853
+ function useAskPrompts({
8854
+ topic,
8855
+ count = ASK_PROMPTS_DEFAULT_COUNT,
8856
+ exclude,
8857
+ enabled = true
8858
+ } = {}) {
8859
+ const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
8860
+ const base = assistantAvailable(assistant) ? assistant.askPromptsUrl : void 0;
8861
+ const url = base && enabled ? buildAskPromptsUrl(base, { count, topic, exclude }) : null;
8862
+ const { data, isLoading } = _chunkRFUOIQSGcjs.useSelfFetch.call(void 0, url);
8863
+ return { prompts: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _228 => _228.prompts]), () => ( [])), isLoading: !!base && (!enabled || isLoading), supported: !!base };
8864
+ }
8865
+ function useAssistantOpen(topic, onOpen) {
8866
+ const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
8867
+ const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _229 => _229.open]);
8868
+ const source = _optionalChain([assistant, 'optionalAccess', _230 => _230.source]);
8869
+ return _react.useCallback.call(void 0,
8870
+ (request) => {
8871
+ const full = { ...request, topic };
8872
+ if (onOpen) onOpen(full);
8873
+ else if (runtimeOpen) runtimeOpen(full);
8874
+ else openAskAi(source, request);
8875
+ },
8876
+ [onOpen, runtimeOpen, source, topic]
8877
+ );
8878
+ }
8879
+ var NO_IDS = [];
8880
+ function createShownList() {
8881
+ const bySurface = /* @__PURE__ */ new Map();
8882
+ const listeners = /* @__PURE__ */ new Set();
8883
+ let snapshot = NO_IDS;
8884
+ const publish = () => {
8885
+ const lists = [...bySurface.values()];
8886
+ const next = lists.some((list) => list === null) ? null : lists.flatMap((list) => _nullishCoalesce(list, () => ( [])));
8887
+ const same = next === null ? snapshot === null : snapshot !== null && next.join(",") === snapshot.join(",");
8888
+ if (same) return;
8889
+ snapshot = next === null ? null : next.length > 0 ? next : NO_IDS;
8890
+ for (const listener of listeners) listener();
8891
+ };
8892
+ return {
8893
+ set(surface, ids) {
8894
+ bySurface.set(surface, ids);
8895
+ publish();
8896
+ },
8897
+ remove(surface) {
8898
+ bySurface.delete(surface);
8899
+ publish();
8900
+ },
8901
+ subscribe(listener) {
8902
+ listeners.add(listener);
8903
+ return () => listeners.delete(listener);
8904
+ },
8905
+ read: () => snapshot
8906
+ };
8907
+ }
8908
+ var shownLists = /* @__PURE__ */ new Map();
8909
+ function useShownList() {
8910
+ const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess', _231 => _231.askPromptsUrl]), () => ( ""));
8911
+ let list = shownLists.get(scope);
8912
+ if (!list) {
8913
+ list = createShownList();
8914
+ shownLists.set(scope, list);
8915
+ }
8916
+ return list;
8917
+ }
8918
+ function useShownAskPrompts(ids) {
8919
+ const surface = _react.useId.call(void 0, );
8920
+ const list = useShownList();
8921
+ const key = ids === void 0 ? void 0 : ids === null ? null : ids.join(",");
8922
+ _react.useLayoutEffect.call(void 0, () => {
8923
+ if (key === void 0) return void 0;
8924
+ list.set(surface, key === null ? null : key ? key.split(",") : NO_IDS);
8925
+ return () => list.remove(surface);
8926
+ }, [list, surface, key]);
8927
+ }
8928
+ function useShownAskPromptIds() {
8929
+ const list = useShownList();
8930
+ return _react.useSyncExternalStore.call(void 0, list.subscribe, list.read, () => NO_IDS);
8931
+ }
8932
+
8933
+ // src/components/chat/assistant-ask-prompts.tsx
8934
+
8935
+ function AssistantAskPrompts({
8936
+ topic,
8937
+ count = ASK_PROMPTS_DEFAULT_COUNT,
8938
+ label,
8939
+ loading = false,
8940
+ onOpen,
8941
+ align,
8942
+ fadeColor,
8943
+ className
8944
+ }) {
8945
+ const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
8946
+ const { prompts, isLoading, supported } = useAskPrompts({ topic, count });
8947
+ const open = useAssistantOpen(topic, onOpen);
8948
+ const shown = assistantAvailable(assistant) && supported;
8949
+ useShownAskPrompts(shown ? isLoading ? null : prompts.map((prompt) => prompt.id) : void 0);
8950
+ const scoped = _react.useMemo.call(void 0, () => assistant ? { ...assistant, open } : null, [assistant, open]);
8951
+ if (!assistantAvailable(assistant) || !supported) return null;
8952
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEWPR7662cjs.AssistantRuntimeContext.Provider, { value: scoped, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8953
+ AskPrompts,
8954
+ {
8955
+ prompts,
8956
+ loading: isLoading || loading,
8957
+ count,
8958
+ source: assistant.source,
8959
+ label: _nullishCoalesce(_nullishCoalesce(label, () => ( assistant.name)), () => ( void 0)),
8960
+ icon: assistant.icon,
8961
+ onOpen: open,
8962
+ onAsk: (prompt) => _optionalChain([assistant, 'access', _232 => _232.onAsk, 'optionalCall', _233 => _233({ promptId: prompt.id, topic })]),
8963
+ align,
8964
+ fadeColor,
8965
+ className
8966
+ }
8967
+ ) });
8968
+ }
8969
+
8787
8970
  // src/components/chat/quick-action-marquee.tsx
8788
8971
 
8789
8972
 
@@ -8945,7 +9128,7 @@ function MarqueeWall({
8945
9128
  if (!container || !copy) return;
8946
9129
  const size = axis === "y" ? copy.offsetHeight : copy.offsetWidth;
8947
9130
  copySizeRef.current = size;
8948
- const clone = _optionalChain([trackRef, 'access', _223 => _223.current, 'optionalAccess', _224 => _224.querySelector, 'call', _225 => _225('[data-marquee-copy="clone"]')]);
9131
+ const clone = _optionalChain([trackRef, 'access', _234 => _234.current, 'optionalAccess', _235 => _235.querySelector, 'call', _236 => _236('[data-marquee-copy="clone"]')]);
8949
9132
  wrapSizeRef.current = clone ? axis === "y" ? clone.offsetTop - copy.offsetTop : clone.offsetLeft - copy.offsetLeft : size + (typeof copyGap === "number" ? copyGap : 0);
8950
9133
  const avail = axis === "y" ? container.clientHeight : container.clientWidth;
8951
9134
  setOverflows(size > avail + 1);
@@ -8963,7 +9146,7 @@ function MarqueeWall({
8963
9146
  return () => ro.disconnect();
8964
9147
  }, [measure, marqueeMounted]);
8965
9148
  const { ref: observe, inView: nearViewport } = _chunkGQ7JJUITcjs.useInView.call(void 0, {
8966
- rootMargin: _chunkAECTRMGQcjs.NEAR_VIEWPORT_ROOT_MARGIN,
9149
+ rootMargin: _chunk7GRPR7XAcjs.NEAR_VIEWPORT_ROOT_MARGIN,
8967
9150
  initial: true
8968
9151
  });
8969
9152
  _react.useEffect.call(void 0, () => {
@@ -9076,7 +9259,7 @@ function MarqueeWall({
9076
9259
  if (Math.abs(delta) > 3 && !dragMovedRef.current) {
9077
9260
  dragMovedRef.current = true;
9078
9261
  try {
9079
- _optionalChain([containerRef, 'access', _226 => _226.current, 'optionalAccess', _227 => _227.setPointerCapture, 'call', _228 => _228(e.pointerId)]);
9262
+ _optionalChain([containerRef, 'access', _237 => _237.current, 'optionalAccess', _238 => _238.setPointerCapture, 'call', _239 => _239(e.pointerId)]);
9080
9263
  } catch (e19) {
9081
9264
  }
9082
9265
  }
@@ -9093,7 +9276,7 @@ function MarqueeWall({
9093
9276
  dragSuppressUntilRef.current = performance.now() + DRAG_RESUME_MS;
9094
9277
  if (dragMovedRef.current) {
9095
9278
  try {
9096
- _optionalChain([containerRef, 'access', _229 => _229.current, 'optionalAccess', _230 => _230.releasePointerCapture, 'call', _231 => _231(e.pointerId)]);
9279
+ _optionalChain([containerRef, 'access', _240 => _240.current, 'optionalAccess', _241 => _241.releasePointerCapture, 'call', _242 => _242(e.pointerId)]);
9097
9280
  } catch (e20) {
9098
9281
  }
9099
9282
  }
@@ -9425,7 +9608,7 @@ var ChatTicketItem = _react.forwardRef.call(void 0,
9425
9608
  {
9426
9609
  ref,
9427
9610
  type: "button",
9428
- onClick: () => _optionalChain([onClick, 'optionalCall', _232 => _232(ticket.id)]),
9611
+ onClick: () => _optionalChain([onClick, 'optionalCall', _243 => _243(ticket.id)]),
9429
9612
  className: _chunk3ATAYP36cjs.cn.call(void 0,
9430
9613
  "flex h-20 w-full items-center gap-4 px-4",
9431
9614
  "border-b border-ods-border bg-ods-card",
@@ -9695,7 +9878,7 @@ function MingoChatHistoryRow({
9695
9878
  const unread = _nullishCoalesce(dialog.unreadMessagesCount, () => ( 0));
9696
9879
  const hasMenu = !!onRequestRename || !!onRequestArchive || !!onRequestCopyLink || !!onRequestCompact;
9697
9880
  const owner = dialog.owner;
9698
- const hasAvatar = !!(_optionalChain([owner, 'optionalAccess', _233 => _233.name]) || _optionalChain([owner, 'optionalAccess', _234 => _234.avatarUrl]));
9881
+ const hasAvatar = !!(_optionalChain([owner, 'optionalAccess', _244 => _244.name]) || _optionalChain([owner, 'optionalAccess', _245 => _245.avatarUrl]));
9699
9882
  const [menuOpen, setMenuOpen] = _react.useState.call(void 0, false);
9700
9883
  const menuItems = chatDialogMenuItems({
9701
9884
  onCopyLink: onRequestCopyLink && (() => onRequestCopyLink(dialog)),
@@ -9720,11 +9903,11 @@ function MingoChatHistoryRow({
9720
9903
  {
9721
9904
  role: "button",
9722
9905
  tabIndex: 0,
9723
- onClick: () => _optionalChain([onSelect, 'optionalCall', _235 => _235(dialog.id)]),
9906
+ onClick: () => _optionalChain([onSelect, 'optionalCall', _246 => _246(dialog.id)]),
9724
9907
  onKeyDown: (e) => {
9725
9908
  if (e.key === "Enter" || e.key === " ") {
9726
9909
  e.preventDefault();
9727
- _optionalChain([onSelect, 'optionalCall', _236 => _236(dialog.id)]);
9910
+ _optionalChain([onSelect, 'optionalCall', _247 => _247(dialog.id)]);
9728
9911
  }
9729
9912
  },
9730
9913
  className: "flex min-w-0 flex-1 cursor-pointer items-center gap-[var(--spacing-system-xsf)] p-[var(--spacing-system-s)] focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-accent",
@@ -9791,8 +9974,8 @@ function MingoChatHistoryRow({
9791
9974
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9792
9975
  "span",
9793
9976
  {
9794
- onClick: () => _optionalChain([onSelect, 'optionalCall', _237 => _237(dialog.id)]),
9795
- title: _optionalChain([owner, 'optionalAccess', _238 => _238.name]) || void 0,
9977
+ onClick: () => _optionalChain([onSelect, 'optionalCall', _248 => _248(dialog.id)]),
9978
+ title: _optionalChain([owner, 'optionalAccess', _249 => _249.name]) || void 0,
9796
9979
  className: _chunk3ATAYP36cjs.cn.call(void 0,
9797
9980
  "absolute inset-0 flex cursor-pointer items-center justify-center transition-opacity",
9798
9981
  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")
@@ -9802,9 +9985,9 @@ function MingoChatHistoryRow({
9802
9985
  {
9803
9986
  variant: "round",
9804
9987
  sizePx: 24,
9805
- src: _optionalChain([owner, 'optionalAccess', _239 => _239.avatarUrl]) || void 0,
9806
- alt: _optionalChain([owner, 'optionalAccess', _240 => _240.name]) || void 0,
9807
- fallback: _optionalChain([owner, 'optionalAccess', _241 => _241.name]) || void 0,
9988
+ src: _optionalChain([owner, 'optionalAccess', _250 => _250.avatarUrl]) || void 0,
9989
+ alt: _optionalChain([owner, 'optionalAccess', _251 => _251.name]) || void 0,
9990
+ fallback: _optionalChain([owner, 'optionalAccess', _252 => _252.name]) || void 0,
9808
9991
  initialsClassName: "text-[10px] text-ods-text-secondary"
9809
9992
  }
9810
9993
  )
@@ -9856,7 +10039,7 @@ function MingoChatHistory({
9856
10039
  className
9857
10040
  }) {
9858
10041
  const groups = _react.useMemo.call(void 0, () => groupDialogs(dialogs), [dialogs]);
9859
- const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess', _242 => _242.trim, 'call', _243 => _243()]);
10042
+ const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess', _253 => _253.trim, 'call', _254 => _254()]);
9860
10043
  const { scrollRef, fadeTop, fadeBottom, update: updateFade } = useScrollFade();
9861
10044
  const sentinelRef = _react.useRef.call(void 0, null);
9862
10045
  const onLoadMoreRef = _react.useRef.call(void 0, onLoadMore);
@@ -9873,7 +10056,7 @@ function MingoChatHistory({
9873
10056
  const io = new IntersectionObserver(
9874
10057
  ([entry]) => {
9875
10058
  if (entry.isIntersecting && !isLoadingMoreRef.current) {
9876
- _optionalChain([onLoadMoreRef, 'access', _244 => _244.current, 'optionalCall', _245 => _245()]);
10059
+ _optionalChain([onLoadMoreRef, 'access', _255 => _255.current, 'optionalCall', _256 => _256()]);
9877
10060
  }
9878
10061
  },
9879
10062
  { root, rootMargin: "120px", threshold: 0.1 }
@@ -10058,8 +10241,8 @@ function MingoWelcome({
10058
10241
  icon: action.icon,
10059
10242
  variant: action.variant,
10060
10243
  onSelect: action.onClick,
10061
- onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _246 => _246(action)]),
10062
- onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _247 => _247()])
10244
+ onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _257 => _257(action)]),
10245
+ onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _258 => _258()])
10063
10246
  })),
10064
10247
  agentSlug,
10065
10248
  rows: 4,
@@ -10112,9 +10295,9 @@ function GuideWelcome({
10112
10295
  props: action.iconProps,
10113
10296
  accent: _nullishCoalesce(_nullishCoalesce(action.accent, () => ( accentFromIdentityIcon(icon))), () => ( "cyan"))
10114
10297
  },
10115
- onSelect: () => _optionalChain([onQuickAction, 'optionalCall', _248 => _248(action)]),
10116
- onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _249 => _249(action)]),
10117
- onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _250 => _250()])
10298
+ onSelect: () => _optionalChain([onQuickAction, 'optionalCall', _259 => _259(action)]),
10299
+ onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _260 => _260(action)]),
10300
+ onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _261 => _261()])
10118
10301
  })),
10119
10302
  [quickActions, icon, onQuickAction, onQuickActionHover, onQuickActionHoverEnd]
10120
10303
  );
@@ -10131,7 +10314,7 @@ function GuideWelcome({
10131
10314
  icon && (icon.name || icon.url) ? (
10132
10315
  // Agent-mode identity glyph (chat-config Identity tab). Sized to
10133
10316
  // match the default Mingo mark (48px).
10134
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.EntityIcon, { icon: { name: icon.name, url: icon.url, props: icon.props }, size: 48 })
10317
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.EntityIcon, { icon: { name: icon.name, url: icon.url, props: icon.props }, size: 48 })
10135
10318
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10136
10319
  _chunkLLSUVPQCcjs.MingoIcon,
10137
10320
  {
@@ -10323,7 +10506,7 @@ function MingoArchiveList({
10323
10506
  if (!sentinel || !hasMore || typeof IntersectionObserver === "undefined") return void 0;
10324
10507
  const observer = new IntersectionObserver(
10325
10508
  ([entry]) => {
10326
- if (_optionalChain([entry, 'optionalAccess', _251 => _251.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _252 => _252.current, 'optionalCall', _253 => _253()]);
10509
+ if (_optionalChain([entry, 'optionalAccess', _262 => _262.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _263 => _263.current, 'optionalCall', _264 => _264()]);
10327
10510
  },
10328
10511
  { rootMargin: "120px", threshold: 0.1 }
10329
10512
  );
@@ -10342,7 +10525,7 @@ function MingoArchiveList({
10342
10525
  ChatListItem,
10343
10526
  {
10344
10527
  title: dialog.title || "Untitled Chat",
10345
- onClick: () => _optionalChain([onSelectDialog, 'optionalCall', _254 => _254(dialog.id)]),
10528
+ onClick: () => _optionalChain([onSelectDialog, 'optionalCall', _265 => _265(dialog.id)]),
10346
10529
  trailing: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
10347
10530
  dialog.timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkKT3U3ZRPcjs.formatRelativeTime.call(void 0, dialog.timestamp) }),
10348
10531
  dialog.owner && (dialog.owner.name || dialog.owner.avatarUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -10481,7 +10664,7 @@ function ChatHeaderSearchField({
10481
10664
  const finishCollapse = _react.useCallback.call(void 0, () => {
10482
10665
  if (collapsedRef.current) return;
10483
10666
  collapsedRef.current = true;
10484
- _optionalChain([onCollapse, 'optionalCall', _255 => _255()]);
10667
+ _optionalChain([onCollapse, 'optionalCall', _266 => _266()]);
10485
10668
  }, [onCollapse]);
10486
10669
  const beginCollapse = _react.useCallback.call(void 0, () => {
10487
10670
  setExiting(true);
@@ -10562,7 +10745,7 @@ var STATUS_GLYPHS = {
10562
10745
  approval: { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { className: "text-ods-accent" }), label: "Waiting for approval" }
10563
10746
  };
10564
10747
  function statusFor(dialog, statusOf) {
10565
- return _nullishCoalesce(_optionalChain([statusOf, 'optionalCall', _256 => _256(dialog)]), () => ( ((_nullishCoalesce(dialog.unreadMessagesCount, () => ( 0))) > 0 ? "unread" : void 0)));
10748
+ return _nullishCoalesce(_optionalChain([statusOf, 'optionalCall', _267 => _267(dialog)]), () => ( ((_nullishCoalesce(dialog.unreadMessagesCount, () => ( 0))) > 0 ? "unread" : void 0)));
10566
10749
  }
10567
10750
  function MingoChatRail({
10568
10751
  dialogs,
@@ -10591,8 +10774,8 @@ function MingoChatRail({
10591
10774
  onExpand,
10592
10775
  className
10593
10776
  }) {
10594
- const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess', _257 => _257.trim, 'call', _258 => _258()]));
10595
- const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _259 => _259.trim, 'call', _260 => _260()]);
10777
+ const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess', _268 => _268.trim, 'call', _269 => _269()]));
10778
+ const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _270 => _270.trim, 'call', _271 => _271()]);
10596
10779
  const items = [];
10597
10780
  if (onNewChat) items.push({ id: "new", label: "Start New Chat", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ChatPlusIcon, {}), onClick: onNewChat });
10598
10781
  if (onOpenArchive) {
@@ -10649,7 +10832,7 @@ function MingoChatRail({
10649
10832
  if (!sentinel || !hasMore || typeof IntersectionObserver === "undefined") return void 0;
10650
10833
  const observer = new IntersectionObserver(
10651
10834
  ([entry]) => {
10652
- if (_optionalChain([entry, 'optionalAccess', _261 => _261.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _262 => _262.current, 'optionalCall', _263 => _263()]);
10835
+ if (_optionalChain([entry, 'optionalAccess', _272 => _272.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _273 => _273.current, 'optionalCall', _274 => _274()]);
10653
10836
  },
10654
10837
  { rootMargin: "120px", threshold: 0.1 }
10655
10838
  );
@@ -10772,7 +10955,7 @@ function MingoChatRailRow({ dialog, active, status, onSelect, menuItems }) {
10772
10955
  {
10773
10956
  active,
10774
10957
  title,
10775
- onClick: () => _optionalChain([onSelect, 'optionalCall', _264 => _264(dialog.id)]),
10958
+ onClick: () => _optionalChain([onSelect, 'optionalCall', _275 => _275(dialog.id)]),
10776
10959
  className: _chunk3ATAYP36cjs.cn.call(void 0, hasMenu && "pr-10"),
10777
10960
  trailing: glyph ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10778
10961
  "span",
@@ -10906,7 +11089,7 @@ function MingoHistoryRail({
10906
11089
  onRetry,
10907
11090
  className
10908
11091
  }) {
10909
- const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _265 => _265.trim, 'call', _266 => _266()]);
11092
+ const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _276 => _276.trim, 'call', _277 => _277()]);
10910
11093
  const hasList = dialogs.length > 0 || hasSearch;
10911
11094
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
10912
11095
  "div",
@@ -10995,8 +11178,8 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
10995
11178
  const save = () => {
10996
11179
  if (canSave) onSave(name.trim());
10997
11180
  };
10998
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDC4RTYWKcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
10999
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDC4RTYWKcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDC4RTYWKcjs.ModalTitle, { children: "Rename Chat" }) }),
11181
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRZQGIWK3cjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
11182
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRZQGIWK3cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRZQGIWK3cjs.ModalTitle, { children: "Rename Chat" }) }),
11000
11183
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xxs)]", children: [
11001
11184
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { htmlFor: "rename-chat-input", className: "text-ods-text-primary text-h4", children: "Chat Name" }),
11002
11185
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -11013,27 +11196,27 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
11013
11196
  }
11014
11197
  )
11015
11198
  ] }),
11016
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDC4RTYWKcjs.ModalFooter, { children: [
11199
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRZQGIWK3cjs.ModalFooter, { children: [
11017
11200
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onClose, className: cancelBtn, children: "Cancel" }),
11018
11201
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: save, disabled: !canSave, className: saveBtn, children: "Save" })
11019
11202
  ] })
11020
11203
  ] });
11021
11204
  }
11022
11205
  function ArchiveChatModal({ isOpen, onClose, onConfirm }) {
11023
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDC4RTYWKcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
11024
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDC4RTYWKcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDC4RTYWKcjs.ModalTitle, { children: "Archive Chat" }) }),
11206
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRZQGIWK3cjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
11207
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRZQGIWK3cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRZQGIWK3cjs.ModalTitle, { children: "Archive Chat" }) }),
11025
11208
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full text-ods-text-primary text-h4", children: "This chat will be hidden from your current chats." }),
11026
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDC4RTYWKcjs.ModalFooter, { children: [
11209
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRZQGIWK3cjs.ModalFooter, { children: [
11027
11210
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onClose, className: cancelBtn, children: "Cancel" }),
11028
11211
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onConfirm, className: dangerBtn, children: "Archive Chat" })
11029
11212
  ] })
11030
11213
  ] });
11031
11214
  }
11032
11215
  function UnarchiveChatModal({ isOpen, onClose, onConfirm }) {
11033
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDC4RTYWKcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
11034
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDC4RTYWKcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDC4RTYWKcjs.ModalTitle, { children: "Unarchive Chat" }) }),
11216
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRZQGIWK3cjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
11217
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRZQGIWK3cjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRZQGIWK3cjs.ModalTitle, { children: "Unarchive Chat" }) }),
11035
11218
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full text-ods-text-primary text-h4", children: "This chat will be moved back to your current chats." }),
11036
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDC4RTYWKcjs.ModalFooter, { children: [
11219
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRZQGIWK3cjs.ModalFooter, { children: [
11037
11220
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onClose, className: cancelBtn, children: "Cancel" }),
11038
11221
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onConfirm, className: saveBtn, children: "Unarchive Chat" })
11039
11222
  ] })
@@ -11055,7 +11238,7 @@ function ChatDialogModals({
11055
11238
  RenameChatModal,
11056
11239
  {
11057
11240
  isOpen: renameTarget != null,
11058
- initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _267 => _267.title]), () => ( "")),
11241
+ initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _278 => _278.title]), () => ( "")),
11059
11242
  onClose: () => setRenameTarget(null),
11060
11243
  onSave: onConfirmRename
11061
11244
  }
@@ -11272,7 +11455,7 @@ function ChatAttachmentAddButton({
11272
11455
  const canAddMore = slotsAvailable > 0 && !disabled;
11273
11456
  const handlePick = () => {
11274
11457
  if (!canAddMore) return;
11275
- _optionalChain([fileInputRef, 'access', _268 => _268.current, 'optionalAccess', _269 => _269.click, 'call', _270 => _270()]);
11458
+ _optionalChain([fileInputRef, 'access', _279 => _279.current, 'optionalAccess', _280 => _280.click, 'call', _281 => _281()]);
11276
11459
  };
11277
11460
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
11278
11461
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -11435,7 +11618,7 @@ function ChatContextMemoryBar({
11435
11618
  _react.useEffect.call(void 0, () => {
11436
11619
  if (!open) return void 0;
11437
11620
  const onOutside = (e) => {
11438
- if (_optionalChain([rootRef, 'access', _271 => _271.current, 'optionalAccess', _272 => _272.contains, 'call', _273 => _273(e.target)])) return;
11621
+ if (_optionalChain([rootRef, 'access', _282 => _282.current, 'optionalAccess', _283 => _283.contains, 'call', _284 => _284(e.target)])) return;
11439
11622
  setOpen(false);
11440
11623
  };
11441
11624
  document.addEventListener("mousedown", onOutside, true);
@@ -11618,7 +11801,7 @@ var ModelDisplay = _react2.default.forwardRef(
11618
11801
  }, ref) => {
11619
11802
  const icon = getProviderIcon(provider);
11620
11803
  const name = displayName || modelName;
11621
- const isV2 = useChatAppearance() === _chunkDC4RTYWKcjs.CHAT_APPEARANCE.V2;
11804
+ const isV2 = useChatAppearance() === _chunkRZQGIWK3cjs.CHAT_APPEARANCE.V2;
11622
11805
  const formatCount = (count) => isV2 ? count.toLocaleString("en-US") : formatTokenCount(count);
11623
11806
  const inline = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunk3ATAYP36cjs.cn.call(void 0, "flex items-center gap-1 text-ods-text-secondary", "text-h6", className), ...props, children: [
11624
11807
  icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex items-center justify-center", children: icon }),
@@ -11738,7 +11921,7 @@ function ChatComposer({
11738
11921
  const locked = lock != null;
11739
11922
  const selected = _nullishCoalesce(selectedContextItems, () => ( []));
11740
11923
  const memory = _nullishCoalesce(contextMemoryItems, () => ( []));
11741
- const entityTypes = _optionalChain([contextPicker, 'optionalAccess', _274 => _274.entityTypes]);
11924
+ const entityTypes = _optionalChain([contextPicker, 'optionalAccess', _285 => _285.entityTypes]);
11742
11925
  const iconByType = _react.useMemo.call(void 0, () => {
11743
11926
  const map = /* @__PURE__ */ new Map();
11744
11927
  for (const t of _nullishCoalesce(entityTypes, () => ( []))) map.set(t.type, t.icon);
@@ -11746,7 +11929,7 @@ function ChatComposer({
11746
11929
  }, [entityTypes]);
11747
11930
  const resolveContextIcon = _react.useCallback.call(void 0, (item) => iconByType.get(item.type), [iconByType]);
11748
11931
  const inputNode = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11749
- _chunkDC4RTYWKcjs.ChatInput,
11932
+ _chunkRZQGIWK3cjs.ChatInput,
11750
11933
  {
11751
11934
  ref: inputRef,
11752
11935
  onSend,
@@ -11754,7 +11937,7 @@ function ChatComposer({
11754
11937
  sending,
11755
11938
  placeholder,
11756
11939
  disabled: locked,
11757
- disabledPlaceholder: _optionalChain([lock, 'optionalAccess', _275 => _275.placeholder]),
11940
+ disabledPlaceholder: _optionalChain([lock, 'optionalAccess', _286 => _286.placeholder]),
11758
11941
  previewText,
11759
11942
  fullWidth: true,
11760
11943
  className: "px-0",
@@ -11767,7 +11950,7 @@ function ChatComposer({
11767
11950
  startIcon: contextEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11768
11951
  ChatComposerPlusMenu,
11769
11952
  {
11770
- onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall', _276 => _276()]) : _optionalChain([onOpenContextPicker, 'optionalCall', _277 => _277()]),
11953
+ onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall', _287 => _287()]) : _optionalChain([onOpenContextPicker, 'optionalCall', _288 => _288()]),
11771
11954
  open: contextPickerOpen,
11772
11955
  disabled: attachmentsDisabled || locked,
11773
11956
  dropdown: contextPicker ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -11776,8 +11959,8 @@ function ChatComposer({
11776
11959
  open: contextPickerOpen,
11777
11960
  config: contextPicker,
11778
11961
  selectedItems: selected,
11779
- onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall', _278 => _278(item)]),
11780
- onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall', _279 => _279()]),
11962
+ onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall', _289 => _289(item)]),
11963
+ onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall', _290 => _290()]),
11781
11964
  mentionQuery
11782
11965
  }
11783
11966
  ) : void 0
@@ -11968,8 +12151,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
11968
12151
  var DialogListItem = _react.forwardRef.call(void 0,
11969
12152
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
11970
12153
  const handleClick = (e) => {
11971
- _optionalChain([onDialogSelect, 'optionalCall', _280 => _280(dialog.id)]);
11972
- _optionalChain([onClick, 'optionalCall', _281 => _281(e)]);
12154
+ _optionalChain([onDialogSelect, 'optionalCall', _291 => _291(dialog.id)]);
12155
+ _optionalChain([onClick, 'optionalCall', _292 => _292(e)]);
11973
12156
  };
11974
12157
  const formatTimestamp = (timestamp) => {
11975
12158
  return _chunkF5BPGWGTcjs.formatDateWithTimezone.call(void 0, timestamp, _chunkF5BPGWGTcjs.VIEWER_TIMEZONE, "numericDateTime24h");
@@ -12042,7 +12225,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
12042
12225
  (entries) => {
12043
12226
  const [entry] = entries;
12044
12227
  if (entry.isIntersecting && !isFetchingRef.current) {
12045
- _optionalChain([onLoadMoreRef, 'access', _282 => _282.current, 'optionalCall', _283 => _283()]);
12228
+ _optionalChain([onLoadMoreRef, 'access', _293 => _293.current, 'optionalCall', _294 => _294()]);
12046
12229
  }
12047
12230
  },
12048
12231
  { root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
@@ -12257,7 +12440,7 @@ function OnboardingCarousel({
12257
12440
  " of ",
12258
12441
  steps.length,
12259
12442
  ": ",
12260
- _optionalChain([steps, 'access', _284 => _284[index], 'optionalAccess', _285 => _285.title])
12443
+ _optionalChain([steps, 'access', _295 => _295[index], 'optionalAccess', _296 => _296.title])
12261
12444
  ] }),
12262
12445
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", role: "group", "aria-label": "Choose step", children: steps.map((step, i) => {
12263
12446
  const isCurrent = i === index;
@@ -12357,12 +12540,12 @@ function resolveExternalNavigation(args) {
12357
12540
 
12358
12541
  // src/components/chat/utils/execute-navigation.ts
12359
12542
  function isForeignOriginHref(href) {
12360
- return /^https?:\/\//i.test(href) && !_chunkETYLOZOBcjs.isSameOriginAbsoluteHref.call(void 0, href);
12543
+ return /^https?:\/\//i.test(href) && !_chunkRFUOIQSGcjs.isSameOriginAbsoluteHref.call(void 0, href);
12361
12544
  }
12362
12545
  function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
12363
- const isNewTab = runtime ? _chunkETYLOZOBcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
12546
+ const isNewTab = runtime ? _chunkRFUOIQSGcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
12364
12547
  if (isNewTab) {
12365
- if (_optionalChain([runtime, 'optionalAccess', _286 => _286.navigation, 'access', _287 => _287.openExternal])) runtime.navigation.openExternal(href);
12548
+ if (_optionalChain([runtime, 'optionalAccess', _297 => _297.navigation, 'access', _298 => _298.openExternal])) runtime.navigation.openExternal(href);
12366
12549
  else window.open(href, "_blank", NEW_TAB_FEATURES);
12367
12550
  return;
12368
12551
  }
@@ -12370,7 +12553,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
12370
12553
  if (target.includes("#") && _chunkGQ7JJUITcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkGQ7JJUITcjs.STICKY_HEADER_OFFSET_PX })) {
12371
12554
  return;
12372
12555
  }
12373
- const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _288 => _288.navigation, 'access', _289 => _289.navigate, 'optionalCall', _290 => _290({ href, path, targetPlatform })]), () => ( false));
12556
+ const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _299 => _299.navigation, 'access', _300 => _300.navigate, 'optionalCall', _301 => _301({ href, path, targetPlatform })]), () => ( false));
12374
12557
  if (!handled) {
12375
12558
  if (fallbackNavigate) fallbackNavigate(target);
12376
12559
  else window.location.assign(target);
@@ -12418,9 +12601,9 @@ function useNavLinkViaRuntime({
12418
12601
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
12419
12602
  const panel = useChatPanel();
12420
12603
  const resolvedHref = resolveHrefForRuntime(href, runtime);
12421
- const isNewTab = _chunkETYLOZOBcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
12604
+ const isNewTab = _chunkRFUOIQSGcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
12422
12605
  const onClick = (e) => {
12423
- _optionalChain([onClickProp, 'optionalCall', _291 => _291(e)]);
12606
+ _optionalChain([onClickProp, 'optionalCall', _302 => _302(e)]);
12424
12607
  if (e.defaultPrevented) return;
12425
12608
  const handled = executeNavigation({
12426
12609
  event: e,
@@ -12430,9 +12613,9 @@ function useNavLinkViaRuntime({
12430
12613
  targetPlatform,
12431
12614
  fallbackNavigate: router.push
12432
12615
  });
12433
- if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _292 => _292.closeChat])) panel.closeChat();
12616
+ if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _303 => _303.closeChat])) panel.closeChat();
12434
12617
  };
12435
- const attrs = _chunkETYLOZOBcjs.newTabAnchorAttrs.call(void 0, isNewTab);
12618
+ const attrs = _chunkRFUOIQSGcjs.newTabAnchorAttrs.call(void 0, isNewTab);
12436
12619
  return {
12437
12620
  href: resolvedHref,
12438
12621
  ...attrs,
@@ -12514,11 +12697,11 @@ var DEFAULT_CAPTIONS_PATH = "/api/captions";
12514
12697
  function getCaptionsUrl(entityType, entityId, srtContent, options) {
12515
12698
  if (!srtContent) return void 0;
12516
12699
  const hash = `${srtContent.length}-${srtContent.slice(0, 8).replace(/\s/g, "")}`;
12517
- const variant = _optionalChain([options, 'optionalAccess', _293 => _293.variant]) ? `&variant=${options.variant}` : "";
12700
+ const variant = _optionalChain([options, 'optionalAccess', _304 => _304.variant]) ? `&variant=${options.variant}` : "";
12518
12701
  return `${DEFAULT_CAPTIONS_PATH}/${entityType}/${entityId}?v=${hash}${variant}`;
12519
12702
  }
12520
12703
  function resolveCaptionsBase(endpoints) {
12521
- return _optionalChain([endpoints, 'optionalAccess', _294 => _294.captionsUrlPrefix]) || DEFAULT_CAPTIONS_PATH;
12704
+ return _optionalChain([endpoints, 'optionalAccess', _305 => _305.captionsUrlPrefix]) || DEFAULT_CAPTIONS_PATH;
12522
12705
  }
12523
12706
  function rebaseCaptionsUrl(endpoints, url) {
12524
12707
  if (!url || !url.startsWith(`${DEFAULT_CAPTIONS_PATH}/`)) return url;
@@ -12607,7 +12790,7 @@ TabsContent.displayName = TabsPrimitive.Content.displayName;
12607
12790
  // src/components/features/use-captions.ts
12608
12791
 
12609
12792
  function useCaptions() {
12610
- const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess', _295 => _295.endpoints]), () => ( null));
12793
+ const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess', _306 => _306.endpoints]), () => ( null));
12611
12794
  return _react.useMemo.call(void 0,
12612
12795
  () => ({
12613
12796
  forEntity: (entityType, entity) => getEntityCaptionUrls(endpoints, entityType, entity),
@@ -12636,7 +12819,7 @@ function UserDisplay({
12636
12819
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12637
12820
  _chunkF5BPGWGTcjs.SquareAvatar,
12638
12821
  {
12639
- src: avatarUrl ? _chunkETYLOZOBcjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
12822
+ src: avatarUrl ? _chunkRFUOIQSGcjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
12640
12823
  fallback: name,
12641
12824
  alt: name,
12642
12825
  sizePx: size,
@@ -12882,9 +13065,9 @@ function CardsStrip(props) {
12882
13065
  const p = hoverPointerRef.current;
12883
13066
  if (!p.inside) return;
12884
13067
  const el = typeof document !== "undefined" ? document.elementFromPoint(p.x, p.y) : null;
12885
- const cardEl = _optionalChain([el, 'optionalAccess', _296 => _296.closest, 'optionalCall', _297 => _297("[data-strip-card-key]")]);
12886
- const scoped = cardEl && _optionalChain([scrollerRef, 'access', _298 => _298.current, 'optionalAccess', _299 => _299.contains, 'call', _300 => _300(cardEl)]) ? cardEl : null;
12887
- const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess', _301 => _301.getAttribute, 'call', _302 => _302("data-strip-card-key")]), () => ( null));
13068
+ const cardEl = _optionalChain([el, 'optionalAccess', _307 => _307.closest, 'optionalCall', _308 => _308("[data-strip-card-key]")]);
13069
+ const scoped = cardEl && _optionalChain([scrollerRef, 'access', _309 => _309.current, 'optionalAccess', _310 => _310.contains, 'call', _311 => _311(cardEl)]) ? cardEl : null;
13070
+ const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess', _312 => _312.getAttribute, 'call', _313 => _313("data-strip-card-key")]), () => ( null));
12888
13071
  const current = activeKeyRef.current;
12889
13072
  if (key === current) return;
12890
13073
  if (current !== null) deactivate(current);
@@ -12922,7 +13105,7 @@ function CardsStrip(props) {
12922
13105
  }, [syncHoverToPointer]);
12923
13106
  const seamBuffer = _react.useCallback.call(void 0, () => {
12924
13107
  const half = singleCopyWidthRef.current;
12925
- const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _303 => _303.current, 'optionalAccess', _304 => _304.clientWidth]), () => ( 0));
13108
+ const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _314 => _314.current, 'optionalAccess', _315 => _315.clientWidth]), () => ( 0));
12926
13109
  return Math.max(0, Math.min(200, half / 4, half - viewport - TRACK_GAP_PX - 1));
12927
13110
  }, []);
12928
13111
  const mirror = _react.useCallback.call(void 0,
@@ -12946,7 +13129,7 @@ function CardsStrip(props) {
12946
13129
  const scroller = scrollerRef.current;
12947
13130
  if (scroller) scroller.scrollLeft = mirror(pos);
12948
13131
  },
12949
- readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access', _305 => _305.current, 'optionalAccess', _306 => _306.scrollLeft]), () => ( 0))),
13132
+ readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access', _316 => _316.current, 'optionalAccess', _317 => _317.scrollLeft]), () => ( 0))),
12950
13133
  onAfterFrame: syncHoverIfScrolled
12951
13134
  });
12952
13135
  const [mountedIdx, setMountedIdx] = _react.useState.call(void 0, () => /* @__PURE__ */ new Set());
@@ -12975,7 +13158,7 @@ function CardsStrip(props) {
12975
13158
  return next;
12976
13159
  });
12977
13160
  },
12978
- { rootMargin: _chunkAECTRMGQcjs.NEAR_VIEWPORT_ROOT_MARGIN }
13161
+ { rootMargin: _chunk7GRPR7XAcjs.NEAR_VIEWPORT_ROOT_MARGIN }
12979
13162
  );
12980
13163
  cardObserverRef.current = io;
12981
13164
  cardElIdxRef.current.forEach((_idx, el) => {
@@ -12994,11 +13177,11 @@ function CardsStrip(props) {
12994
13177
  fn = (el) => {
12995
13178
  if (!el) return void 0;
12996
13179
  cardElIdxRef.current.set(el, idx);
12997
- _optionalChain([cardObserverRef, 'access', _307 => _307.current, 'optionalAccess', _308 => _308.observe, 'call', _309 => _309(el)]);
13180
+ _optionalChain([cardObserverRef, 'access', _318 => _318.current, 'optionalAccess', _319 => _319.observe, 'call', _320 => _320(el)]);
12998
13181
  return () => {
12999
13182
  cardElIdxRef.current.delete(el);
13000
13183
  cardElNearRef.current.delete(el);
13001
- _optionalChain([cardObserverRef, 'access', _310 => _310.current, 'optionalAccess', _311 => _311.unobserve, 'call', _312 => _312(el)]);
13184
+ _optionalChain([cardObserverRef, 'access', _321 => _321.current, 'optionalAccess', _322 => _322.unobserve, 'call', _323 => _323(el)]);
13002
13185
  };
13003
13186
  };
13004
13187
  cardRefFns.set(idx, fn);
@@ -13017,7 +13200,7 @@ function CardsStrip(props) {
13017
13200
  const track = trackRef.current;
13018
13201
  if (!scroller || !track) return;
13019
13202
  const firstCard = track.firstElementChild;
13020
- const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess', _313 => _313.offsetWidth]), () => ( 320))) + TRACK_GAP_PX;
13203
+ const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess', _324 => _324.offsetWidth]), () => ( 320))) + TRACK_GAP_PX;
13021
13204
  chevronSuppressUntilRef.current = performance.now() + CHEVRON_SUPPRESS_MS;
13022
13205
  if (marqueeActiveRef.current) {
13023
13206
  glideBy((reverse ? -dir : dir) * step);
@@ -13078,11 +13261,11 @@ function CardsStrip(props) {
13078
13261
  {
13079
13262
  ref: (node) => {
13080
13263
  wrapperRef.current = node;
13081
- _optionalChain([rootRef, 'optionalCall', _314 => _314(node)]);
13264
+ _optionalChain([rootRef, 'optionalCall', _325 => _325(node)]);
13082
13265
  },
13083
13266
  className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full min-w-0 flex-col gap-6", className),
13084
13267
  children: [
13085
- showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkETYLOZOBcjs.SECTION_HEADING_CLASS} break-words`, children: _chunkETYLOZOBcjs.accentSentenceMarks.call(void 0, title) }),
13268
+ showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkRFUOIQSGcjs.SECTION_HEADING_CLASS} break-words`, children: _chunkRFUOIQSGcjs.accentSentenceMarks.call(void 0, title) }),
13086
13269
  headerSlot,
13087
13270
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative", style: bled ? { marginLeft: -insets.left, marginRight: -insets.right } : void 0, children: [
13088
13271
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -13233,7 +13416,7 @@ function groupByAspectRatio(items, getAspectRatio) {
13233
13416
 
13234
13417
  function VideoBitesStrip({
13235
13418
  bites,
13236
- title = _chunkETYLOZOBcjs.DEFAULT_VIDEO_BITES_TITLE,
13419
+ title = _chunkRFUOIQSGcjs.DEFAULT_VIDEO_BITES_TITLE,
13237
13420
  showTitle = true,
13238
13421
  filterPublished = true,
13239
13422
  profile = null,
@@ -13246,14 +13429,14 @@ function VideoBitesStrip({
13246
13429
  cardHeightMobile = 300,
13247
13430
  showChevrons = true,
13248
13431
  onBiteNavigate,
13249
- sortComparator = _chunkETYLOZOBcjs.sortBitesByCreatedAtDesc,
13432
+ sortComparator = _chunkRFUOIQSGcjs.sortBitesByCreatedAtDesc,
13250
13433
  className
13251
13434
  }) {
13252
13435
  const items = _react.useMemo.call(void 0, () => {
13253
13436
  const filtered = filterPublished ? bites.filter((b) => b.published) : [...bites];
13254
13437
  return filtered.sort(sortComparator);
13255
13438
  }, [bites, filterPublished, sortComparator]);
13256
- const warmup = _chunkETYLOZOBcjs.useVideoWarmup.call(void 0, { videoUrl: _optionalChain([items, 'access', _315 => _315[0], 'optionalAccess', _316 => _316.url]) || null });
13439
+ const warmup = _chunkRFUOIQSGcjs.useVideoWarmup.call(void 0, { videoUrl: _optionalChain([items, 'access', _326 => _326[0], 'optionalAccess', _327 => _327.url]) || null });
13257
13440
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13258
13441
  CardsStrip,
13259
13442
  {
@@ -13320,8 +13503,8 @@ function VideoBiteCard({
13320
13503
  const controlled = active !== void 0;
13321
13504
  const [selfActive, setSelfActive] = _react.useState.call(void 0, false);
13322
13505
  const isActive = controlled ? !!active : selfActive;
13323
- const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _317 => _317(key)]) : setSelfActive(true);
13324
- const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _318 => _318(key)]) : setSelfActive(false);
13506
+ const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _328 => _328(key)]) : setSelfActive(true);
13507
+ const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _329 => _329(key)]) : setSelfActive(false);
13325
13508
  const titleInputRef = _react.useRef.call(void 0, null);
13326
13509
  _chunkULWVKHSIcjs.useIsomorphicLayoutEffect.call(void 0, () => {
13327
13510
  const el = titleInputRef.current;
@@ -13331,7 +13514,7 @@ function VideoBiteCard({
13331
13514
  });
13332
13515
  const navigate = () => {
13333
13516
  if (bite.onNavigate) bite.onNavigate();
13334
- else _optionalChain([onBiteNavigate, 'optionalCall', _319 => _319(bite, index)]);
13517
+ else _optionalChain([onBiteNavigate, 'optionalCall', _330 => _330(bite, index)]);
13335
13518
  };
13336
13519
  const handlePointerEnter = () => {
13337
13520
  if (!isTouch) activate();
@@ -13356,9 +13539,9 @@ function VideoBiteCard({
13356
13539
  placeholder: "Title (optional)",
13357
13540
  "aria-label": "Bite title",
13358
13541
  rows: 1,
13359
- onChange: (e) => _optionalChain([onTitleChange, 'optionalCall', _320 => _320(e.target.value)]),
13542
+ onChange: (e) => _optionalChain([onTitleChange, 'optionalCall', _331 => _331(e.target.value)]),
13360
13543
  ref: titleInputRef,
13361
- onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall', _321 => _321(e.target.value)]),
13544
+ onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall', _332 => _332(e.target.value)]),
13362
13545
  onClick: (e) => e.stopPropagation(),
13363
13546
  className: _chunk3ATAYP36cjs.cn.call(void 0,
13364
13547
  titleClass,
@@ -13400,7 +13583,7 @@ function VideoBiteCard({
13400
13583
  style: { aspectRatio: cssAspect, ...height !== void 0 ? { height, maxWidth: STRIP_CELL_MAX_WIDTH } : {} },
13401
13584
  children: [
13402
13585
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13403
- _chunkETYLOZOBcjs.VideoHoverPreviewSurface,
13586
+ _chunkRFUOIQSGcjs.VideoHoverPreviewSurface,
13404
13587
  {
13405
13588
  url: bite.url,
13406
13589
  posterUrl: bite.thumbnail_url,
@@ -13435,7 +13618,7 @@ function VideoBiteCard({
13435
13618
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13436
13619
  "div",
13437
13620
  {
13438
- ref: (node) => _optionalChain([rootRef, 'optionalCall', _322 => _322(node)]),
13621
+ ref: (node) => _optionalChain([rootRef, 'optionalCall', _333 => _333(node)]),
13439
13622
  "aria-hidden": isClone || void 0,
13440
13623
  "data-strip-card-key": key,
13441
13624
  className: _chunk3ATAYP36cjs.cn.call(void 0,
@@ -13471,7 +13654,7 @@ function EntityVideoSection({
13471
13654
  title = "Video",
13472
13655
  videoSummary,
13473
13656
  videoBites,
13474
- bitesTitle = _chunkETYLOZOBcjs.DEFAULT_VIDEO_BITES_TITLE,
13657
+ bitesTitle = _chunkRFUOIQSGcjs.DEFAULT_VIDEO_BITES_TITLE,
13475
13658
  filterPublishedBites = true,
13476
13659
  bitesProfile = null,
13477
13660
  bitesHref,
@@ -13490,8 +13673,8 @@ function EntityVideoSection({
13490
13673
  const hasHighlight = !!highlightVideoUrl;
13491
13674
  const hasVideo = hasFullVideo || hasHighlight;
13492
13675
  const derivedCaptions = captionsEntity ? captions.forEntityId(captionsEntity.type, captionsEntity.id) : null;
13493
- const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _323 => _323.captionsUrl])));
13494
- const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _324 => _324.highlightCaptionsUrl])));
13676
+ const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _334 => _334.captionsUrl])));
13677
+ const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _335 => _335.highlightCaptionsUrl])));
13495
13678
  if (!hasVideo && !videoSummary && (!videoBites || videoBites.length === 0)) {
13496
13679
  return null;
13497
13680
  }
@@ -13518,7 +13701,7 @@ function EntityVideoSection({
13518
13701
  )
13519
13702
  ] }),
13520
13703
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "full-video", className: "mt-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13521
- _chunkETYLOZOBcjs.Video,
13704
+ _chunkRFUOIQSGcjs.Video,
13522
13705
  {
13523
13706
  kind: fullVideoKind,
13524
13707
  url: fullVideoUrl,
@@ -13531,7 +13714,7 @@ function EntityVideoSection({
13531
13714
  }
13532
13715
  ) }),
13533
13716
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "highlights", className: "mt-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13534
- _chunkETYLOZOBcjs.Video,
13717
+ _chunkRFUOIQSGcjs.Video,
13535
13718
  {
13536
13719
  url: highlightVideoUrl,
13537
13720
  poster: highlightVideoThumbnail,
@@ -13540,7 +13723,7 @@ function EntityVideoSection({
13540
13723
  }
13541
13724
  ) })
13542
13725
  ] }) : fullVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13543
- _chunkETYLOZOBcjs.Video,
13726
+ _chunkRFUOIQSGcjs.Video,
13544
13727
  {
13545
13728
  kind: fullVideoKind,
13546
13729
  url: fullVideoUrl,
@@ -13552,7 +13735,7 @@ function EntityVideoSection({
13552
13735
  priority
13553
13736
  }
13554
13737
  ) : highlightVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13555
- _chunkETYLOZOBcjs.Video,
13738
+ _chunkRFUOIQSGcjs.Video,
13556
13739
  {
13557
13740
  url: highlightVideoUrl,
13558
13741
  poster: highlightVideoThumbnail,
@@ -13562,7 +13745,7 @@ function EntityVideoSection({
13562
13745
  }
13563
13746
  ) : null),
13564
13747
  videoSummary && MarkdownRenderer && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-col gap-6", children: [
13565
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkETYLOZOBcjs.SECTION_HEADING_CLASS} break-words`, children: "Summary" }),
13748
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkRFUOIQSGcjs.SECTION_HEADING_CLASS} break-words`, children: "Summary" }),
13566
13749
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden break-words text-ods-text-primary text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: videoSummary }) })
13567
13750
  ] }),
13568
13751
  videoBites && videoBites.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -13752,7 +13935,7 @@ var MediaSkeleton = {
13752
13935
  className,
13753
13936
  ...props
13754
13937
  }) => {
13755
- const sizeClasses = {
13938
+ const sizeClasses2 = {
13756
13939
  sm: "h-8 w-8",
13757
13940
  md: "h-12 w-12",
13758
13941
  lg: "h-16 w-16"
@@ -13761,7 +13944,7 @@ var MediaSkeleton = {
13761
13944
  UnifiedSkeleton,
13762
13945
  {
13763
13946
  variant: "circular",
13764
- className: _chunk3ATAYP36cjs.cn.call(void 0, sizeClasses[size], className),
13947
+ className: _chunk3ATAYP36cjs.cn.call(void 0, sizeClasses2[size], className),
13765
13948
  "aria-label": "Loading profile image",
13766
13949
  ...props
13767
13950
  }
@@ -13788,7 +13971,7 @@ var MediaSkeleton = {
13788
13971
  className,
13789
13972
  ...props
13790
13973
  }) => {
13791
- const sizeClasses = {
13974
+ const sizeClasses2 = {
13792
13975
  sm: "h-4 w-4",
13793
13976
  md: "h-6 w-6",
13794
13977
  lg: "h-8 w-8"
@@ -13797,7 +13980,7 @@ var MediaSkeleton = {
13797
13980
  UnifiedSkeleton,
13798
13981
  {
13799
13982
  variant: "default",
13800
- className: _chunk3ATAYP36cjs.cn.call(void 0, sizeClasses[size], className),
13983
+ className: _chunk3ATAYP36cjs.cn.call(void 0, sizeClasses2[size], className),
13801
13984
  "aria-label": "Loading icon",
13802
13985
  ...props
13803
13986
  }
@@ -13809,7 +13992,7 @@ var MediaSkeleton = {
13809
13992
 
13810
13993
  function designDocPeople(doc) {
13811
13994
  const people = [];
13812
- if (_optionalChain([doc, 'access', _325 => _325.author, 'optionalAccess', _326 => _326.full_name]))
13995
+ if (_optionalChain([doc, 'access', _336 => _336.author, 'optionalAccess', _337 => _337.full_name]))
13813
13996
  people.push({
13814
13997
  key: `dri-${_nullishCoalesce(doc.author.id, () => ( doc.author.full_name))}`,
13815
13998
  name: doc.author.full_name,
@@ -13822,14 +14005,14 @@ function designDocPeople(doc) {
13822
14005
  return people;
13823
14006
  }
13824
14007
  function designDocMetaLine(doc) {
13825
- return [_optionalChain([doc, 'access', _327 => _327.author, 'optionalAccess', _328 => _328.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${_chunkETYLOZOBcjs.formatDateShort.call(void 0, doc.updated_at)}`].filter(Boolean).join(" \xB7 ");
14008
+ return [_optionalChain([doc, 'access', _338 => _338.author, 'optionalAccess', _339 => _339.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${_chunkRFUOIQSGcjs.formatDateShort.call(void 0, doc.updated_at)}`].filter(Boolean).join(" \xB7 ");
13826
14009
  }
13827
14010
  function DesignDocCardSkeleton() {
13828
14011
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13829
14012
  "div",
13830
14013
  {
13831
14014
  className: _chunk3ATAYP36cjs.cn.call(void 0,
13832
- _chunkETYLOZOBcjs.CONTENT_CARD_SKELETON_FRAME_CLASS,
14015
+ _chunkRFUOIQSGcjs.CONTENT_CARD_SKELETON_FRAME_CLASS,
13833
14016
  "flex h-full flex-col gap-[var(--spacing-system-mf)] p-[var(--spacing-system-lf)]"
13834
14017
  ),
13835
14018
  role: "status",
@@ -13859,7 +14042,7 @@ function DesignDocCardSkeleton() {
13859
14042
  function DesignDocCard({ doc, href, target, rel, className }) {
13860
14043
  const readiness = DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)];
13861
14044
  const people = designDocPeople(doc);
13862
- const link = _chunkETYLOZOBcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
14045
+ const link = _chunkRFUOIQSGcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
13863
14046
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
13864
14047
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[16px]", children: [
13865
14048
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
@@ -13867,7 +14050,7 @@ function DesignDocCard({ doc, href, target, rel, className }) {
13867
14050
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[20px] items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h5", children: designDocMetaLine(doc) }) })
13868
14051
  ] }),
13869
14052
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13870
- _chunkETYLOZOBcjs.StatusBadge,
14053
+ _chunkRFUOIQSGcjs.StatusBadge,
13871
14054
  {
13872
14055
  text: readiness.label,
13873
14056
  colorScheme: readiness.scheme,
@@ -13877,16 +14060,16 @@ function DesignDocCard({ doc, href, target, rel, className }) {
13877
14060
  }
13878
14061
  )
13879
14062
  ] }),
13880
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.StatusBadge, { text: readiness.label, colorScheme: readiness.scheme, variant: "button", singleLine: true }) }),
14063
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.StatusBadge, { text: readiness.label, colorScheme: readiness.scheme, variant: "button", singleLine: true }) }),
13881
14064
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[72px] items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "line-clamp-3 text-ods-text-secondary text-h4", children: doc.summary || "" }) }),
13882
14065
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
13883
14066
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-2", children: [
13884
14067
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: formatCompletionLabelWithBlockers(doc.completion) }),
13885
- people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPSVSEN4Jcjs.AvatarStack, { size: "xs", people, className: "shrink-0" }) : null
14068
+ people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIMTY3GRRcjs.AvatarStack, { size: "xs", people, className: "shrink-0" }) : null
13886
14069
  ] })
13887
14070
  ] });
13888
14071
  const outer = _chunk3ATAYP36cjs.cn.call(void 0,
13889
- _chunkETYLOZOBcjs.CONTENT_CARD_FRAME_CLASS,
14072
+ _chunkRFUOIQSGcjs.CONTENT_CARD_FRAME_CLASS,
13890
14073
  "flex h-full flex-col gap-[var(--spacing-system-mf)] p-[var(--spacing-system-lf)]",
13891
14074
  className
13892
14075
  );
@@ -14030,26 +14213,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
14030
14213
  metaParts.push(
14031
14214
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14032
14215
  );
14033
- const href = _chunkETYLOZOBcjs.safeHref.call(void 0, item.url);
14216
+ const href = _chunkRFUOIQSGcjs.safeHref.call(void 0, item.url);
14034
14217
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14035
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
14036
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TEXT_COL, children: [
14037
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
14218
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
14219
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
14220
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
14038
14221
  reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
14039
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TITLE, children: primaryText })
14222
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE, children: primaryText })
14040
14223
  ] }),
14041
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14224
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14042
14225
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14043
14226
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
14044
14227
  ] }, i)) }) }),
14045
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_SUMMARY, children: _chunkETYLOZOBcjs.COMPACT_CARD_ROW_FILLER }) })
14228
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SUMMARY, children: _chunkRFUOIQSGcjs.COMPACT_CARD_ROW_FILLER }) })
14046
14229
  ] }),
14047
14230
  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
14048
14231
  ] });
14049
14232
  if (anchorProps) {
14050
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14233
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14051
14234
  }
14052
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14235
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14053
14236
  }
14054
14237
  function GitHubActivityCardSkeleton({
14055
14238
  variant = "compact",
@@ -14066,12 +14249,12 @@ function GitHubActivityCardSkeleton({
14066
14249
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14067
14250
  ] });
14068
14251
  }
14069
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14070
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14071
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TEXT_COL, children: [
14072
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14073
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14074
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_SUMMARY, children: _chunkETYLOZOBcjs.COMPACT_CARD_ROW_FILLER }) })
14252
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14253
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14254
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
14255
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14256
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14257
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SUMMARY, children: _chunkRFUOIQSGcjs.COMPACT_CARD_ROW_FILLER }) })
14075
14258
  ] }),
14076
14259
  /* @__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" }) })
14077
14260
  ] });
@@ -14121,23 +14304,23 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
14121
14304
  metaParts.push(
14122
14305
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14123
14306
  );
14124
- const href = _chunkETYLOZOBcjs.safeHref.call(void 0, item.url);
14307
+ const href = _chunkRFUOIQSGcjs.safeHref.call(void 0, item.url);
14125
14308
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14126
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.SlackIcon, { className: "h-5 w-5" }) }),
14127
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TEXT_COL, children: [
14128
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TITLE, children: item.title }) }),
14129
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkETYLOZOBcjs.COMPACT_CARD_ROW_FILLER }) }),
14130
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14309
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.SlackIcon, { className: "h-5 w-5" }) }),
14310
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
14311
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE, children: item.title }) }),
14312
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkRFUOIQSGcjs.COMPACT_CARD_ROW_FILLER }) }),
14313
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14131
14314
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14132
14315
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
14133
- ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_SUMMARY, children: _chunkETYLOZOBcjs.COMPACT_CARD_ROW_FILLER }) }) })
14316
+ ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SUMMARY, children: _chunkRFUOIQSGcjs.COMPACT_CARD_ROW_FILLER }) }) })
14134
14317
  ] }),
14135
14318
  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
14136
14319
  ] });
14137
14320
  if (anchorProps) {
14138
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14321
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14139
14322
  }
14140
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14323
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14141
14324
  }
14142
14325
  function SlackMessageCardSkeleton({
14143
14326
  variant = "compact",
@@ -14152,12 +14335,12 @@ function SlackMessageCardSkeleton({
14152
14335
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14153
14336
  ] });
14154
14337
  }
14155
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14156
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14157
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TEXT_COL, children: [
14158
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14159
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
14160
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14338
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14339
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14340
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
14341
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14342
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
14343
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14161
14344
  ] }),
14162
14345
  /* @__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" }) })
14163
14346
  ] });
@@ -14193,7 +14376,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14193
14376
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
14194
14377
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "max-w-[260px] shrink-0 truncate text-ods-text-primary text-h6", children: item.title }),
14195
14378
  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,
14196
- statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
14379
+ statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
14197
14380
  dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-24 shrink-0 text-right text-ods-text-secondary text-h6", children: dateText }) : null
14198
14381
  ] });
14199
14382
  }
@@ -14207,13 +14390,13 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14207
14390
  metaParts.push(
14208
14391
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14209
14392
  );
14210
- const href = _chunkETYLOZOBcjs.safeHref.call(void 0, item.url);
14393
+ const href = _chunkRFUOIQSGcjs.safeHref.call(void 0, item.url);
14211
14394
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14212
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TEXT_COL, children: [
14395
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
14213
14396
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14214
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14397
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14215
14398
  priorityText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14216
- _chunkETYLOZOBcjs.StatusBadge,
14399
+ _chunkRFUOIQSGcjs.StatusBadge,
14217
14400
  {
14218
14401
  text: priorityText,
14219
14402
  variant: "button",
@@ -14222,7 +14405,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14222
14405
  }
14223
14406
  ) : null,
14224
14407
  statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14225
- _chunkETYLOZOBcjs.StatusBadge,
14408
+ _chunkRFUOIQSGcjs.StatusBadge,
14226
14409
  {
14227
14410
  text: statusText,
14228
14411
  variant: "button",
@@ -14236,7 +14419,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14236
14419
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
14237
14420
  ] }) : null,
14238
14421
  /* @__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." }) }) }),
14239
- metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14422
+ metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14240
14423
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14241
14424
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
14242
14425
  ] }, i)) }) }) : null
@@ -14244,9 +14427,9 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14244
14427
  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
14245
14428
  ] });
14246
14429
  if (anchorProps) {
14247
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14430
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14248
14431
  }
14249
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14432
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14250
14433
  }
14251
14434
  function HubspotTicketCardSkeleton({
14252
14435
  variant = "compact",
@@ -14260,8 +14443,8 @@ function HubspotTicketCardSkeleton({
14260
14443
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14261
14444
  ] });
14262
14445
  }
14263
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14264
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TEXT_COL, children: [
14446
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14447
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
14265
14448
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14266
14449
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14267
14450
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
@@ -14274,7 +14457,7 @@ function HubspotTicketCardSkeleton({
14274
14457
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
14275
14458
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
14276
14459
  ] }),
14277
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14460
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14278
14461
  ] }),
14279
14462
  /* @__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" }) })
14280
14463
  ] });
@@ -14285,10 +14468,10 @@ function HubspotTicketCardSkeleton({
14285
14468
 
14286
14469
  function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
14287
14470
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14288
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TEXT_COL, children: [
14471
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
14289
14472
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14290
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14291
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
14473
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14474
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
14292
14475
  ] }),
14293
14476
  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: [
14294
14477
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
@@ -14296,16 +14479,16 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
14296
14479
  ] }) : null,
14297
14480
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-ods-text-secondary text-h6", children: item.preview }) }) : null
14298
14481
  ] }),
14299
- _optionalChain([anchorProps, 'optionalAccess', _329 => _329.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
14482
+ _optionalChain([anchorProps, 'optionalAccess', _340 => _340.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
14300
14483
  ] });
14301
14484
  if (!anchorProps) {
14302
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14485
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14303
14486
  }
14304
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14487
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14305
14488
  }
14306
14489
  function DataRoomDocCardSkeleton({ className }) {
14307
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14308
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TEXT_COL, children: [
14490
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14491
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
14309
14492
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
14310
14493
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14311
14494
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
@@ -14324,31 +14507,31 @@ function DataRoomDocCardSkeleton({ className }) {
14324
14507
 
14325
14508
 
14326
14509
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
14327
- const goalsCount = _optionalChain([campaign, 'access', _330 => _330.goals, 'optionalAccess', _331 => _331.length]) || 0;
14510
+ const goalsCount = _optionalChain([campaign, 'access', _341 => _341.goals, 'optionalAccess', _342 => _342.length]) || 0;
14328
14511
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14329
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
14330
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TEXT_COL, children: [
14331
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
14332
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_SUBTITLE, children: [
14333
- campaign.start_date ? _chunkETYLOZOBcjs.formatDateShort.call(void 0, campaign.start_date) : null,
14512
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
14513
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
14514
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
14515
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SUBTITLE, children: [
14516
+ campaign.start_date ? _chunkRFUOIQSGcjs.formatDateShort.call(void 0, campaign.start_date) : null,
14334
14517
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
14335
14518
  "Marketing campaign"
14336
14519
  ].filter(Boolean).join(" \xB7 ") }) }),
14337
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkETYLOZOBcjs.COMPACT_CARD_ROW_FILLER }) })
14520
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkRFUOIQSGcjs.COMPACT_CARD_ROW_FILLER }) })
14338
14521
  ] })
14339
14522
  ] });
14340
14523
  if (anchorProps) {
14341
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
14524
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
14342
14525
  }
14343
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
14526
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
14344
14527
  }
14345
14528
  function CampaignCardAdminSkeleton({ className }) {
14346
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14347
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14348
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TEXT_COL, children: [
14349
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
14350
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14351
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
14529
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14530
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14531
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
14532
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
14533
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14534
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
14352
14535
  ] })
14353
14536
  ] });
14354
14537
  }
@@ -14357,14 +14540,14 @@ function CampaignCardAdminSkeleton({ className }) {
14357
14540
 
14358
14541
 
14359
14542
  function GenericEntityCard({ item, className, anchorProps }) {
14360
- const href = _chunkETYLOZOBcjs.safeHref.call(void 0, item.url);
14543
+ const href = _chunkRFUOIQSGcjs.safeHref.call(void 0, item.url);
14361
14544
  const dateText = _chunkF5BPGWGTcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14362
14545
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14363
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TEXT_COL, children: [
14546
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
14364
14547
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14365
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14548
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14366
14549
  item.badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14367
- _chunkETYLOZOBcjs.StatusBadge,
14550
+ _chunkRFUOIQSGcjs.StatusBadge,
14368
14551
  {
14369
14552
  text: item.badge.text,
14370
14553
  variant: "button",
@@ -14382,18 +14565,18 @@ function GenericEntityCard({ item, className, anchorProps }) {
14382
14565
  ] }),
14383
14566
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-medium text-ods-text-primary", children: f.value })
14384
14567
  ] }, i)) }) : null,
14385
- dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
14568
+ dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
14386
14569
  ] }),
14387
14570
  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
14388
14571
  ] });
14389
14572
  if (anchorProps) {
14390
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14573
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14391
14574
  }
14392
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14575
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14393
14576
  }
14394
14577
  function GenericEntityCardSkeleton({ className }) {
14395
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14396
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TEXT_COL, children: [
14578
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14579
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
14397
14580
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
14398
14581
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14399
14582
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
@@ -14409,6 +14592,110 @@ function GenericEntityCardSkeleton({ className }) {
14409
14592
  ] });
14410
14593
  }
14411
14594
 
14595
+ // src/utils/url-fix.ts
14596
+ function fixUrlDoubleSlashes(url) {
14597
+ if (!url) return url;
14598
+ const protocolMatch = url.match(/^(https?:\/\/)/);
14599
+ if (protocolMatch) {
14600
+ const protocol = protocolMatch[1];
14601
+ const rest = url.substring(protocol.length);
14602
+ const fixedRest = rest.replace(/\/+/g, "/");
14603
+ return protocol + fixedRest;
14604
+ }
14605
+ return url.replace(/\/+/g, "/");
14606
+ }
14607
+ function fixSupabaseStorageUrl(url) {
14608
+ if (!url) return url;
14609
+ const SUPABASE_STORAGE_SEGMENT = "/storage/v1/object/public/";
14610
+ if (url.includes(SUPABASE_STORAGE_SEGMENT)) {
14611
+ return fixUrlDoubleSlashes(url);
14612
+ }
14613
+ return url;
14614
+ }
14615
+
14616
+ // src/utils/vendor-media-stub.ts
14617
+ function getVendorLogo(vendor) {
14618
+ if (vendor.logo_url) {
14619
+ return fixSupabaseStorageUrl(vendor.logo_url);
14620
+ }
14621
+ if (vendor.logo) {
14622
+ return fixSupabaseStorageUrl(vendor.logo);
14623
+ }
14624
+ const logoMedia = _optionalChain([vendor, 'access', _343 => _343.vendor_media, 'optionalAccess', _344 => _344.find, 'call', _345 => _345((m) => m.media_type === "logo")]);
14625
+ if (_optionalChain([logoMedia, 'optionalAccess', _346 => _346.media_url])) {
14626
+ return fixSupabaseStorageUrl(logoMedia.media_url);
14627
+ }
14628
+ return null;
14629
+ }
14630
+
14631
+ // src/components/vendor-icon.tsx
14632
+
14633
+ var sizeClasses = {
14634
+ xs: "w-6 h-6",
14635
+ sm: "w-8 h-8",
14636
+ md: "w-10 h-10",
14637
+ lg: "w-12 h-12",
14638
+ l: "w-14 h-14",
14639
+ xl: "w-16 h-16"
14640
+ };
14641
+ var imageSizeMap = {
14642
+ xs: { width: 16, height: 16 },
14643
+ sm: { width: 20, height: 20 },
14644
+ md: { width: 32, height: 32 },
14645
+ lg: { width: 40, height: 40 },
14646
+ l: { width: 38, height: 38 },
14647
+ xl: { width: 40, height: 40 }
14648
+ };
14649
+ var tilePxMap = {
14650
+ xs: 24,
14651
+ sm: 32,
14652
+ md: 40,
14653
+ lg: 48,
14654
+ l: 56,
14655
+ xl: 64
14656
+ };
14657
+ var backgroundClasses = {
14658
+ dark: "bg-ods-bg border border-ods-border",
14659
+ light: "bg-ods-card border border-ods-border",
14660
+ white: "bg-white border border-[#E5E5E5]"
14661
+ };
14662
+ function VendorIcon({
14663
+ vendor,
14664
+ size = "md",
14665
+ className = "",
14666
+ showBackground = true,
14667
+ backgroundStyle = "dark"
14668
+ }) {
14669
+ const logoUrl = getVendorLogo(vendor);
14670
+ const { width, height } = showBackground ? imageSizeMap[size] : { width: tilePxMap[size], height: tilePxMap[size] };
14671
+ const containerClasses = _chunk3ATAYP36cjs.cn.call(void 0,
14672
+ sizeClasses[size],
14673
+ "flex flex-shrink-0 items-center justify-center rounded-lg",
14674
+ showBackground && backgroundClasses[backgroundStyle],
14675
+ !showBackground && "overflow-hidden",
14676
+ className
14677
+ );
14678
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: containerClasses, children: logoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14679
+ _chunkMGHIV4L6cjs.next_image_default,
14680
+ {
14681
+ src: _chunkRFUOIQSGcjs.getProxiedImageUrl2.call(void 0, logoUrl) || logoUrl,
14682
+ alt: `${vendor.title} logo`,
14683
+ width,
14684
+ height,
14685
+ className: _chunk3ATAYP36cjs.cn.call(void 0, "object-contain", showBackground ? "p-1" : "h-full w-full")
14686
+ }
14687
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14688
+ "div",
14689
+ {
14690
+ className: _chunk3ATAYP36cjs.cn.call(void 0,
14691
+ "flex items-center justify-center uppercase text-h6",
14692
+ backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
14693
+ ),
14694
+ children: _optionalChain([vendor, 'access', _347 => _347.title, 'optionalAccess', _348 => _348.substring, 'call', _349 => _349(0, 2)]) || "??"
14695
+ }
14696
+ ) });
14697
+ }
14698
+
14412
14699
  // src/components/chat/hooks/use-chat-card-item.ts
14413
14700
 
14414
14701
  function useChatCardItem(type, id) {
@@ -14421,8 +14708,8 @@ function useChatCardItem(type, id) {
14421
14708
  const res = await _chunkULWVKHSIcjs.embedAuthedFetch.call(void 0, url);
14422
14709
  if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
14423
14710
  const data = await res.json();
14424
- const items = _chunkETYLOZOBcjs.extractCardItems.call(void 0, type, data);
14425
- const match = items.find((it) => _chunkETYLOZOBcjs.extractItemId.call(void 0, type, it) === id);
14711
+ const items = _chunkRFUOIQSGcjs.extractCardItems.call(void 0, type, data);
14712
+ const match = items.find((it) => _chunkRFUOIQSGcjs.extractItemId.call(void 0, type, it) === id);
14426
14713
  return _nullishCoalesce(match, () => ( null));
14427
14714
  },
14428
14715
  enabled: !!url && id.length > 0,
@@ -14597,7 +14884,7 @@ function pickFetchedCardHref({
14597
14884
  itemHref,
14598
14885
  allowComposed
14599
14886
  }) {
14600
- if (_optionalChain([composed, 'optionalAccess', _332 => _332.hostOverride])) {
14887
+ if (_optionalChain([composed, 'optionalAccess', _350 => _350.hostOverride])) {
14601
14888
  return { source: "hostOverride", href: composed.href, targetPlatform: composed.targetPlatform };
14602
14889
  }
14603
14890
  if (itemHref) return { source: "item", href: itemHref };
@@ -14613,7 +14900,7 @@ function resolveFetchedCardHref({
14613
14900
  composeContentUrl
14614
14901
  }) {
14615
14902
  if (!composeContentUrl || !contentRefType || !id) return null;
14616
- const canonicalType = _chunkETYLOZOBcjs.canonicalContentRefType.call(void 0, contentRefType);
14903
+ const canonicalType = _chunkRFUOIQSGcjs.canonicalContentRefType.call(void 0, contentRefType);
14617
14904
  return composeContentUrl({
14618
14905
  // The card registry keys some entries by the legacy rail vocabulary
14619
14906
  // (`blog_post_existing`) because that is what `buildListUrl` expects.
@@ -14643,7 +14930,7 @@ function sourceRowCtxFromRuntime(runtime, surface = {}) {
14643
14930
  }
14644
14931
  function pickSourceIcon(sourceRepo, documentType) {
14645
14932
  const iconName = sourceRepo ? getSourceIconName(sourceRepo) : void 0;
14646
- const icon = iconName ? _chunkPSVSEN4Jcjs.getIconComponent.call(void 0, iconName) : _lucidereact.FileText;
14933
+ const icon = iconName ? _chunkIMTY3GRRcjs.getIconComponent.call(void 0, iconName) : _lucidereact.FileText;
14647
14934
  const iconLabel = _nullishCoalesce(documentType, () => ( "Source"));
14648
14935
  return { icon, iconLabel };
14649
14936
  }
@@ -14659,20 +14946,20 @@ function resolveSourceRowCTA(row, ctx = {}) {
14659
14946
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
14660
14947
  const safePath = sanitizePath(row.path);
14661
14948
  if (safePath) {
14662
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _333 => _333.docPlatformTargets, 'optionalAccess', _334 => _334[row.documentType]]) : void 0;
14949
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _351 => _351.docPlatformTargets, 'optionalAccess', _352 => _352[row.documentType]]) : void 0;
14663
14950
  if (docTarget) {
14664
14951
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
14665
14952
  const base = `${getPlatformUrl(docTarget.platform)}${seg ? `/${seg}` : ""}/`;
14666
- href = _nullishCoalesce(_chunkETYLOZOBcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14953
+ href = _nullishCoalesce(_chunkRFUOIQSGcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14667
14954
  targetPlatform = docTarget.platform;
14668
14955
  } else if (ctx.chipBasePlatform) {
14669
14956
  const base = `${getPlatformUrl(ctx.chipBasePlatform)}/knowledge-base/`;
14670
- href = _nullishCoalesce(_chunkETYLOZOBcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14957
+ href = _nullishCoalesce(_chunkRFUOIQSGcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14671
14958
  targetPlatform = ctx.chipBasePlatform;
14672
14959
  } else if (ctx.baseRoute) {
14673
14960
  const synthetic = `https://_internal_.local${ctx.baseRoute.startsWith("/") ? ctx.baseRoute : "/" + ctx.baseRoute}/`;
14674
14961
  const absolute = new URL(safePath, synthetic).toString();
14675
- href = _nullishCoalesce(_chunkETYLOZOBcjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
14962
+ href = _nullishCoalesce(_chunkRFUOIQSGcjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
14676
14963
  targetPlatform = _nullishCoalesce(ctx.currentPlatform, () => ( null));
14677
14964
  }
14678
14965
  }
@@ -14681,15 +14968,15 @@ function resolveSourceRowCTA(row, ctx = {}) {
14681
14968
  // Canonical vocabulary only — a rail-vocab alias would miss the host's
14682
14969
  // `hostedTypes` / `overrides` and fall through to the seam's default
14683
14970
  // `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
14684
- type: _chunkETYLOZOBcjs.canonicalContentRefType.call(void 0, row.documentType),
14971
+ type: _chunkRFUOIQSGcjs.canonicalContentRefType.call(void 0, row.documentType),
14685
14972
  identifier: idValue,
14686
14973
  externalUrl: row.externalUrl,
14687
14974
  targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
14688
14975
  });
14689
- href = composed.href ? _nullishCoalesce(_chunkETYLOZOBcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
14976
+ href = composed.href ? _nullishCoalesce(_chunkRFUOIQSGcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
14690
14977
  targetPlatform = composed.targetPlatform;
14691
14978
  } else if (row.externalUrl) {
14692
- href = _nullishCoalesce(_chunkETYLOZOBcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
14979
+ href = _nullishCoalesce(_chunkRFUOIQSGcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
14693
14980
  targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
14694
14981
  }
14695
14982
  const documentType = row.documentType;
@@ -14728,7 +15015,7 @@ function resolveCardDestination({
14728
15015
  composeContentUrl,
14729
15016
  resolveHref = (href) => href
14730
15017
  }) {
14731
- const refPath = typeof _optionalChain([chatRef, 'access', _335 => _335.metadata, 'optionalAccess', _336 => _336.path]) === "string" && chatRef.metadata.path ? chatRef.metadata.path : null;
15018
+ const refPath = typeof _optionalChain([chatRef, 'access', _353 => _353.metadata, 'optionalAccess', _354 => _354.path]) === "string" && chatRef.metadata.path ? chatRef.metadata.path : null;
14732
15019
  const path = _nullishCoalesce(refPath, () => ( (item ? readFetchedCardPath(item) : null)));
14733
15020
  const cta = resolveSourceRowCTA(
14734
15021
  {
@@ -14745,7 +15032,7 @@ function resolveCardDestination({
14745
15032
  const rowUrl = cta.href ? resolveHref(cta.href) : _nullishCoalesce(chatRef.url, () => ( null));
14746
15033
  const rowPlatform = _nullishCoalesce(_nullishCoalesce(cta.targetPlatform, () => ( chatRef.targetPlatform)), () => ( null));
14747
15034
  if (rowUrl) return { url: rowUrl, targetPlatform: rowPlatform, path, source: "row" };
14748
- if (_optionalChain([entry, 'optionalAccess', _337 => _337.contentRefType]) && item) {
15035
+ if (_optionalChain([entry, 'optionalAccess', _355 => _355.contentRefType]) && item) {
14749
15036
  const choice = pickFetchedCardHref({
14750
15037
  composed: resolveFetchedCardHref({
14751
15038
  contentRefType: entry.contentRefType,
@@ -14753,10 +15040,10 @@ function resolveCardDestination({
14753
15040
  item,
14754
15041
  composeContentUrl
14755
15042
  }),
14756
- itemHref: _nullishCoalesce(_optionalChain([entry, 'access', _338 => _338.fallbackHref, 'optionalCall', _339 => _339(item)]), () => ( null)),
15043
+ itemHref: _nullishCoalesce(_optionalChain([entry, 'access', _356 => _356.fallbackHref, 'optionalCall', _357 => _357(item)]), () => ( null)),
14757
15044
  allowComposed: !entry.noComposedHref
14758
15045
  });
14759
- const url = choice ? _nullishCoalesce(_chunkETYLOZOBcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
15046
+ const url = choice ? _nullishCoalesce(_chunkRFUOIQSGcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
14760
15047
  if (choice && url) {
14761
15048
  return { url, targetPlatform: _nullishCoalesce(choice.targetPlatform, () => ( rowPlatform)), path, source: choice.source };
14762
15049
  }
@@ -14769,11 +15056,11 @@ function resolveCardDestination({
14769
15056
 
14770
15057
  function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
14771
15058
  const label = entityLabel || "Item";
14772
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
14773
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkETYLOZOBcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
14774
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TEXT_COL, children: [
14775
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkETYLOZOBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkETYLOZOBcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
14776
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkETYLOZOBcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
15059
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
15060
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
15061
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TEXT_COL, children: [
15062
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkRFUOIQSGcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
15063
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkRFUOIQSGcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
14777
15064
  label,
14778
15065
  " deleted",
14779
15066
  recoveryNote ? ` \xB7 ${recoveryNote}` : ""
@@ -14828,7 +15115,7 @@ function GitHubChatCard({
14828
15115
  description,
14829
15116
  icon: githubKindIcon(kind),
14830
15117
  status,
14831
- anchorProps: _chunkETYLOZOBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15118
+ anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14832
15119
  menuGroups: cardMenuGroups(chatRef.url, discuss),
14833
15120
  menuAriaLabel: "Activity actions"
14834
15121
  }
@@ -14847,8 +15134,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
14847
15134
  if (href) {
14848
15135
  items.push({
14849
15136
  id: "open-details",
14850
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _340 => _340.label]), () => ( "Open Details")),
14851
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _341 => _341.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.EyeIcon, { size: 20 }))),
15137
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _358 => _358.label]), () => ( "Open Details")),
15138
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _359 => _359.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.EyeIcon, { size: 20 }))),
14852
15139
  // Main row → open the entity (same tab, soft Link nav).
14853
15140
  href,
14854
15141
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -14908,18 +15195,18 @@ function itemVideoMetadata(item) {
14908
15195
  for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
14909
15196
  return void 0;
14910
15197
  };
14911
- const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _342 => _342.metadata]), () => ( {}));
15198
+ const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _360 => _360.metadata]), () => ( {}));
14912
15199
  const out = {};
14913
- const videoUrl = pick2(m.videoUrl, _optionalChain([item, 'optionalAccess', _343 => _343.custom_video_url]), _optionalChain([item, 'optionalAccess', _344 => _344.main_video_url]));
14914
- const youtubeUrl = pick2(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _345 => _345.youtube_url]), _optionalChain([item, 'optionalAccess', _346 => _346.testimonial_video_url]));
14915
- const highlightVideoUrl = pick2(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _347 => _347.highlight_video_url]));
15200
+ const videoUrl = pick2(m.videoUrl, _optionalChain([item, 'optionalAccess', _361 => _361.custom_video_url]), _optionalChain([item, 'optionalAccess', _362 => _362.main_video_url]));
15201
+ const youtubeUrl = pick2(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _363 => _363.youtube_url]), _optionalChain([item, 'optionalAccess', _364 => _364.testimonial_video_url]));
15202
+ const highlightVideoUrl = pick2(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _365 => _365.highlight_video_url]));
14916
15203
  const videoPoster = pick2(
14917
15204
  m.videoPoster,
14918
- _optionalChain([item, 'optionalAccess', _348 => _348.main_video_thumbnail]),
14919
- _optionalChain([item, 'optionalAccess', _349 => _349.highlight_video_thumbnail]),
14920
- _optionalChain([item, 'optionalAccess', _350 => _350.featured_image])
15205
+ _optionalChain([item, 'optionalAccess', _366 => _366.main_video_thumbnail]),
15206
+ _optionalChain([item, 'optionalAccess', _367 => _367.highlight_video_thumbnail]),
15207
+ _optionalChain([item, 'optionalAccess', _368 => _368.featured_image])
14921
15208
  );
14922
- const highlightVideoPoster = pick2(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _351 => _351.highlight_video_thumbnail]));
15209
+ const highlightVideoPoster = pick2(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _369 => _369.highlight_video_thumbnail]));
14923
15210
  if (videoUrl) out.videoUrl = videoUrl;
14924
15211
  if (youtubeUrl) out.youtubeUrl = youtubeUrl;
14925
15212
  if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
@@ -14949,15 +15236,15 @@ function fetchedItemDisplayRef(item, chatRef) {
14949
15236
  }
14950
15237
  function fetchedFaqDisplayRef(item, chatRef) {
14951
15238
  const it = item;
14952
- const answer = typeof _optionalChain([it, 'optionalAccess', _352 => _352.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
15239
+ const answer = typeof _optionalChain([it, 'optionalAccess', _370 => _370.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
14953
15240
  return {
14954
15241
  type: "faq",
14955
15242
  id: chatRef.id,
14956
15243
  sourceRepo: chatRef.sourceRepo,
14957
- title: typeof _optionalChain([it, 'optionalAccess', _353 => _353.question]) === "string" && it.question ? it.question : chatRef.id,
15244
+ title: typeof _optionalChain([it, 'optionalAccess', _371 => _371.question]) === "string" && it.question ? it.question : chatRef.id,
14958
15245
  url: _nullishCoalesce(chatRef.url, () => ( null)),
14959
15246
  ...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
14960
- metadata: typeof _optionalChain([it, 'optionalAccess', _354 => _354.section]) === "string" && it.section ? { section: it.section } : {}
15247
+ metadata: typeof _optionalChain([it, 'optionalAccess', _372 => _372.section]) === "string" && it.section ? { section: it.section } : {}
14961
15248
  };
14962
15249
  }
14963
15250
  function HubspotTicketChatCard({
@@ -14965,8 +15252,8 @@ function HubspotTicketChatCard({
14965
15252
  isNewTab,
14966
15253
  discuss
14967
15254
  }) {
14968
- const status = typeof _optionalChain([chatRef, 'access', _355 => _355.metadata, 'optionalAccess', _356 => _356.status]) === "string" ? chatRef.metadata.status : void 0;
14969
- const statusLabel = typeof _optionalChain([chatRef, 'access', _357 => _357.metadata, 'optionalAccess', _358 => _358.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
15255
+ const status = typeof _optionalChain([chatRef, 'access', _373 => _373.metadata, 'optionalAccess', _374 => _374.status]) === "string" ? chatRef.metadata.status : void 0;
15256
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _375 => _375.metadata, 'optionalAccess', _376 => _376.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
14970
15257
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
14971
15258
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14972
15259
  MingoInfoCard,
@@ -14975,7 +15262,7 @@ function HubspotTicketChatCard({
14975
15262
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
14976
15263
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TagIcon, { size: 24 }),
14977
15264
  status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
14978
- anchorProps: _chunkETYLOZOBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15265
+ anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14979
15266
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
14980
15267
  label: "Open Ticket Details",
14981
15268
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TagIcon, { size: 20 })
@@ -14989,7 +15276,7 @@ function FaqChatCard({
14989
15276
  isNewTab,
14990
15277
  discuss
14991
15278
  }) {
14992
- const section = typeof _optionalChain([chatRef, 'access', _359 => _359.metadata, 'optionalAccess', _360 => _360.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
15279
+ const section = typeof _optionalChain([chatRef, 'access', _377 => _377.metadata, 'optionalAccess', _378 => _378.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
14993
15280
  const statusLabel = section && section.length > 0 ? section : "FAQ";
14994
15281
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14995
15282
  MingoInfoCard,
@@ -14998,7 +15285,7 @@ function FaqChatCard({
14998
15285
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
14999
15286
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.QuestionCircleIcon, { size: 24 }),
15000
15287
  status: { label: statusLabel, variant: "grey" },
15001
- anchorProps: _chunkETYLOZOBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15288
+ anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15002
15289
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15003
15290
  menuAriaLabel: "FAQ actions"
15004
15291
  }
@@ -15009,7 +15296,7 @@ function SlackChatCard({
15009
15296
  isNewTab,
15010
15297
  discuss
15011
15298
  }) {
15012
- const channelName = typeof _optionalChain([chatRef, 'access', _361 => _361.metadata, 'optionalAccess', _362 => _362.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
15299
+ const channelName = typeof _optionalChain([chatRef, 'access', _379 => _379.metadata, 'optionalAccess', _380 => _380.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
15013
15300
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
15014
15301
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
15015
15302
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -15018,7 +15305,7 @@ function SlackChatCard({
15018
15305
  title,
15019
15306
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15020
15307
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.SlackLogoGreyIcon, { size: 24 }),
15021
- anchorProps: _chunkETYLOZOBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15308
+ anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15022
15309
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15023
15310
  menuAriaLabel: "Message actions"
15024
15311
  }
@@ -15036,7 +15323,7 @@ function GlyphChatCard({
15036
15323
  title: chatRef.title,
15037
15324
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15038
15325
  icon,
15039
- anchorProps: _chunkETYLOZOBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15326
+ anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15040
15327
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15041
15328
  menuAriaLabel: "Card actions"
15042
15329
  }
@@ -15052,22 +15339,22 @@ function TrustCenterChatCard({
15052
15339
  isNewTab,
15053
15340
  discuss
15054
15341
  }) {
15055
- const raw = _optionalChain([item, 'optionalAccess', _363 => _363.frameworks]);
15342
+ const raw = _optionalChain([item, 'optionalAccess', _381 => _381.frameworks]);
15056
15343
  const frameworks = Array.isArray(raw) ? raw : [];
15057
- const summary = _chunkETYLOZOBcjs.trustFrameworksSummary.call(void 0, frameworks);
15344
+ const summary = _chunkRFUOIQSGcjs.trustFrameworksSummary.call(void 0, frameworks);
15058
15345
  const leadFramework = frameworks[0];
15059
15346
  const lead = leadFramework ? {
15060
- label: _chunkETYLOZOBcjs.trustFrameworkBadge.call(void 0, leadFramework),
15061
- color: _chunkETYLOZOBcjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
15347
+ label: _chunkRFUOIQSGcjs.trustFrameworkBadge.call(void 0, leadFramework),
15348
+ color: _chunkRFUOIQSGcjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
15062
15349
  } : void 0;
15063
15350
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15064
15351
  MingoInfoCard,
15065
15352
  {
15066
- title: _chunkETYLOZOBcjs.TRUST_CENTER_TITLE,
15067
- description: summary || _chunkETYLOZOBcjs.TRUST_CENTER_TAGLINE,
15353
+ title: _chunkRFUOIQSGcjs.TRUST_CENTER_TITLE,
15354
+ description: summary || _chunkRFUOIQSGcjs.TRUST_CENTER_TAGLINE,
15068
15355
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { size: 24 }),
15069
15356
  status: lead ? { label: lead.label, variant: TRUST_STATUS_TAG_VARIANT[lead.color] } : void 0,
15070
- anchorProps: _chunkETYLOZOBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15357
+ anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15071
15358
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
15072
15359
  label: "View trust center",
15073
15360
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { size: 20 })
@@ -15089,7 +15376,7 @@ function DataRoomDocChatCard({
15089
15376
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15090
15377
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.FileContentIcon, { size: 24 }),
15091
15378
  status: { label: badgeText, variant: "grey" },
15092
- anchorProps: _chunkETYLOZOBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15379
+ anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15093
15380
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15094
15381
  menuAriaLabel: "Document actions"
15095
15382
  }
@@ -15101,14 +15388,14 @@ function GenericFinancialChatCard({
15101
15388
  isNewTab,
15102
15389
  discuss
15103
15390
  }) {
15104
- const subtitle = typeof _optionalChain([chatRef, 'access', _364 => _364.metadata, 'optionalAccess', _365 => _365.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
15391
+ const subtitle = typeof _optionalChain([chatRef, 'access', _382 => _382.metadata, 'optionalAccess', _383 => _383.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
15105
15392
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15106
15393
  MingoInfoCard,
15107
15394
  {
15108
15395
  title: chatRef.title,
15109
15396
  description: subtitle,
15110
15397
  icon,
15111
- anchorProps: _chunkETYLOZOBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15398
+ anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15112
15399
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15113
15400
  menuAriaLabel: "Document actions"
15114
15401
  }
@@ -15170,12 +15457,12 @@ function ProductReleaseChatCard({
15170
15457
  discuss
15171
15458
  }) {
15172
15459
  const releaseProps = buildProps(item);
15173
- const status = _optionalChain([item, 'optionalAccess', _366 => _366.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
15460
+ const status = _optionalChain([item, 'optionalAccess', _384 => _384.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
15174
15461
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15175
15462
  EntityMingoCard,
15176
15463
  {
15177
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _367 => _367.title]), () => ( "")),
15178
- description: _optionalChain([item, 'optionalAccess', _368 => _368.summary]) || releaseProps.formattedDate || void 0,
15464
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _385 => _385.title]), () => ( "")),
15465
+ description: _optionalChain([item, 'optionalAccess', _386 => _386.summary]) || releaseProps.formattedDate || void 0,
15179
15466
  cover: releaseProps.coverImage || void 0,
15180
15467
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Rocket02Icon, { size: 24 }),
15181
15468
  status,
@@ -15192,17 +15479,17 @@ function CampaignChatCard({
15192
15479
  isNewTab,
15193
15480
  discuss
15194
15481
  }) {
15195
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _369 => _369.goals])) ? item.goals.length : 0;
15482
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _387 => _387.goals])) ? item.goals.length : 0;
15196
15483
  const meta = [
15197
- _optionalChain([item, 'optionalAccess', _370 => _370.start_date]) ? _chunkETYLOZOBcjs.formatDateShort.call(void 0, item.start_date) : null,
15484
+ _optionalChain([item, 'optionalAccess', _388 => _388.start_date]) ? _chunkRFUOIQSGcjs.formatDateShort.call(void 0, item.start_date) : null,
15198
15485
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
15199
15486
  "Marketing campaign"
15200
15487
  ].filter(Boolean).join(" \xB7 ");
15201
15488
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15202
15489
  EntityMingoCard,
15203
15490
  {
15204
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _371 => _371.name]), () => ( "")),
15205
- description: meta || _optionalChain([item, 'optionalAccess', _372 => _372.description]) || void 0,
15491
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _389 => _389.name]), () => ( "")),
15492
+ description: meta || _optionalChain([item, 'optionalAccess', _390 => _390.description]) || void 0,
15206
15493
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Megaphone01Icon, { size: 24 }),
15207
15494
  chatRef,
15208
15495
  isNewTab,
@@ -15233,7 +15520,7 @@ function EntityMingoCard({
15233
15520
  imageAlt: typeof title === "string" ? title : void 0,
15234
15521
  icon: fallbackIcon,
15235
15522
  status,
15236
- anchorProps: _chunkETYLOZOBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15523
+ anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15237
15524
  menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
15238
15525
  menuAriaLabel
15239
15526
  }
@@ -15245,7 +15532,7 @@ function entityCover(image, ogPlaceholder) {
15245
15532
  function statusPill(status) {
15246
15533
  const s = typeof status === "string" ? status.trim() : "";
15247
15534
  if (!s) return void 0;
15248
- const scheme = _chunkETYLOZOBcjs.getStatusColorScheme.call(void 0, s);
15535
+ const scheme = _chunkRFUOIQSGcjs.getStatusColorScheme.call(void 0, s);
15249
15536
  const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
15250
15537
  return { label: s, variant };
15251
15538
  }
@@ -15257,14 +15544,14 @@ function BlogChatCard({
15257
15544
  hasEmbeddedVideo,
15258
15545
  discuss
15259
15546
  }) {
15260
- 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;
15547
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _391 => _391.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _392 => _392.categories, 'access', _393 => _393.find, 'call', _394 => _394((c) => _optionalChain([c, 'optionalAccess', _395 => _395.name])), 'optionalAccess', _396 => _396.name]), () => ( void 0)) : void 0;
15261
15548
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
15262
15549
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15263
15550
  EntityMingoCard,
15264
15551
  {
15265
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _379 => _379.title]), () => ( "")),
15266
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _380 => _380.summary]), () => ( void 0)),
15267
- cover: entityCover(_optionalChain([item, 'optionalAccess', _381 => _381.featured_image]), ogPlaceholder),
15552
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _397 => _397.title]), () => ( "")),
15553
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _398 => _398.summary]), () => ( void 0)),
15554
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _399 => _399.featured_image]), ogPlaceholder),
15268
15555
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.NewspaperIcon, { size: 24 }),
15269
15556
  status,
15270
15557
  chatRef,
@@ -15281,13 +15568,13 @@ function CaseStudyChatCard({
15281
15568
  ogPlaceholder,
15282
15569
  discuss
15283
15570
  }) {
15284
- 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 ");
15571
+ const meta = [_optionalChain([item, 'optionalAccess', _400 => _400.msp, 'optionalAccess', _401 => _401.name]), _optionalChain([item, 'optionalAccess', _402 => _402.user, 'optionalAccess', _403 => _403.full_name])].filter(Boolean).join(" \xB7 ");
15285
15572
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15286
15573
  EntityMingoCard,
15287
15574
  {
15288
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _386 => _386.title]), () => ( "")),
15289
- description: _optionalChain([item, 'optionalAccess', _387 => _387.summary]) || meta || void 0,
15290
- cover: entityCover(_optionalChain([item, 'optionalAccess', _388 => _388.featured_image]), ogPlaceholder),
15575
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _404 => _404.title]), () => ( "")),
15576
+ description: _optionalChain([item, 'optionalAccess', _405 => _405.summary]) || meta || void 0,
15577
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _406 => _406.featured_image]), ogPlaceholder),
15291
15578
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TrophyIcon, { size: 24 }),
15292
15579
  status: { label: "Case study", variant: "grey" },
15293
15580
  chatRef,
@@ -15304,13 +15591,13 @@ function CustomerInterviewChatCard({
15304
15591
  ogPlaceholder,
15305
15592
  discuss
15306
15593
  }) {
15307
- 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 ");
15594
+ const meta = [_optionalChain([item, 'optionalAccess', _407 => _407.user, 'optionalAccess', _408 => _408.full_name]), _optionalChain([item, 'optionalAccess', _409 => _409.msp, 'optionalAccess', _410 => _410.name])].filter(Boolean).join(" \xB7 ");
15308
15595
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15309
15596
  EntityMingoCard,
15310
15597
  {
15311
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _393 => _393.title]), () => ( "")),
15312
- description: _optionalChain([item, 'optionalAccess', _394 => _394.video_summary]) || meta || void 0,
15313
- cover: entityCover(_optionalChain([item, 'optionalAccess', _395 => _395.featured_image]), ogPlaceholder),
15598
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _411 => _411.title]), () => ( "")),
15599
+ description: _optionalChain([item, 'optionalAccess', _412 => _412.video_summary]) || meta || void 0,
15600
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _413 => _413.featured_image]), ogPlaceholder),
15314
15601
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.MicrophoneIcon, { size: 24 }),
15315
15602
  status: { label: "Interview", variant: "grey" },
15316
15603
  chatRef,
@@ -15327,16 +15614,16 @@ function DesignDocChatCard({
15327
15614
  discuss
15328
15615
  }) {
15329
15616
  const displayRef = fetchedItemDisplayRef(item, chatRef);
15330
- const doc = _optionalChain([item, 'optionalAccess', _396 => _396.doc]);
15617
+ const doc = _optionalChain([item, 'optionalAccess', _414 => _414.doc]);
15331
15618
  const readiness = doc ? DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)] : null;
15332
15619
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15333
15620
  MingoInfoCard,
15334
15621
  {
15335
- title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _397 => _397.title]), () => ( displayRef.title)),
15622
+ title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _415 => _415.title]), () => ( displayRef.title)),
15336
15623
  description: doc ? [designDocMetaLine(doc), formatCompletionLabel(doc.completion)].join(" \xB7 ") : _nullishCoalesce(displayRef.preview, () => ( void 0)),
15337
15624
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.FileContentIcon, { size: 24 }),
15338
15625
  status: readiness ? { label: readiness.label, variant: readiness.scheme === "success" ? "success" : "grey" } : { label: "Design doc", variant: "grey" },
15339
- anchorProps: _chunkETYLOZOBcjs.buildAnchorProps.call(void 0, displayRef.url, isNewTab),
15626
+ anchorProps: _chunkRFUOIQSGcjs.buildAnchorProps.call(void 0, displayRef.url, isNewTab),
15340
15627
  menuGroups: cardMenuGroups(displayRef.url, discuss),
15341
15628
  menuAriaLabel: "Design doc actions"
15342
15629
  }
@@ -15349,13 +15636,13 @@ function InvestorUpdateChatCard({
15349
15636
  ogPlaceholder,
15350
15637
  discuss
15351
15638
  }) {
15352
- const title = _optionalChain([item, 'optionalAccess', _398 => _398.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _399 => _399.update_number]), () => ( "?"))}`;
15639
+ const title = _optionalChain([item, 'optionalAccess', _416 => _416.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _417 => _417.update_number]), () => ( "?"))}`;
15353
15640
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15354
15641
  EntityMingoCard,
15355
15642
  {
15356
15643
  title,
15357
- description: _optionalChain([item, 'optionalAccess', _400 => _400.strategic_update]) || _optionalChain([item, 'optionalAccess', _401 => _401.content]) || _chunkETYLOZOBcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _402 => _402.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _403 => _403.period_end]), () => ( null))) || void 0,
15358
- cover: entityCover(_optionalChain([item, 'optionalAccess', _404 => _404.featured_image]), ogPlaceholder),
15644
+ description: _optionalChain([item, 'optionalAccess', _418 => _418.strategic_update]) || _optionalChain([item, 'optionalAccess', _419 => _419.content]) || _chunkRFUOIQSGcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _420 => _420.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.period_end]), () => ( null))) || void 0,
15645
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _422 => _422.featured_image]), ogPlaceholder),
15359
15646
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.PresentationLineIcon, { size: 24 }),
15360
15647
  status: { label: "Investor update", variant: "grey" },
15361
15648
  chatRef,
@@ -15372,12 +15659,12 @@ function OnboardingGuideChatCard({
15372
15659
  ogPlaceholder,
15373
15660
  discuss
15374
15661
  }) {
15375
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _405 => _405.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _406 => _406.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _407 => _407.og_image_url]), ogPlaceholder)));
15662
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _423 => _423.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _424 => _424.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _425 => _425.og_image_url]), ogPlaceholder)));
15376
15663
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15377
15664
  EntityMingoCard,
15378
15665
  {
15379
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _408 => _408.title]), () => ( "")),
15380
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _409 => _409.summary]), () => ( _optionalChain([item, 'optionalAccess', _410 => _410.description]))), () => ( void 0)),
15666
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _426 => _426.title]), () => ( "")),
15667
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _427 => _427.summary]), () => ( _optionalChain([item, 'optionalAccess', _428 => _428.description]))), () => ( void 0)),
15381
15668
  cover,
15382
15669
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CompassIcon, { size: 24 }),
15383
15670
  status: { label: "Guide", variant: "grey" },
@@ -15398,13 +15685,13 @@ function ProgramChatCard({
15398
15685
  discuss
15399
15686
  }) {
15400
15687
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.MicrophoneIcon, { size: 24 });
15401
- const { line: meta } = _chunkETYLOZOBcjs.programMetaLine.call(void 0, _nullishCoalesce(item, () => ( {})), configKey, _chunkETYLOZOBcjs.programMetaFormatters.call(void 0, _chunkETYLOZOBcjs.PROGRAM_META_RENDERERS));
15688
+ const { line: meta } = _chunkRFUOIQSGcjs.programMetaLine.call(void 0, _nullishCoalesce(item, () => ( {})), configKey, _chunkRFUOIQSGcjs.programMetaFormatters.call(void 0, _chunkRFUOIQSGcjs.PROGRAM_META_RENDERERS));
15402
15689
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15403
15690
  EntityMingoCard,
15404
15691
  {
15405
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _411 => _411.title]), () => ( "")),
15406
- description: meta || _optionalChain([item, 'optionalAccess', _412 => _412.description]) || void 0,
15407
- cover: entityCover(_optionalChain([item, 'optionalAccess', _413 => _413.cover_url]), ogPlaceholder),
15692
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _429 => _429.title]), () => ( "")),
15693
+ description: meta || _optionalChain([item, 'optionalAccess', _430 => _430.description]) || void 0,
15694
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _431 => _431.cover_url]), ogPlaceholder),
15408
15695
  fallbackIcon: icon,
15409
15696
  status: { label, variant: "grey" },
15410
15697
  chatRef,
@@ -15421,10 +15708,10 @@ function RoadmapChatCard({
15421
15708
  cardType,
15422
15709
  discuss
15423
15710
  }) {
15424
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _414 => _414.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
15425
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _415 => _415.customItemId]) != null;
15711
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _432 => _432.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
15712
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _433 => _433.customItemId]) != null;
15426
15713
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.MapIcon, { size: 24 });
15427
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _416 => _416.customItemId]), className: "size-6" }) : logoUrl ? (
15714
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _434 => _434.customItemId]), className: "size-6" }) : logoUrl ? (
15428
15715
  // Contained (not full-bleed) so the integration logo keeps its aspect
15429
15716
  // ratio inside the bordered icon box — matches RoadmapCard.
15430
15717
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGHIV4L6cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
@@ -15435,10 +15722,10 @@ function RoadmapChatCard({
15435
15722
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15436
15723
  EntityMingoCard,
15437
15724
  {
15438
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _417 => _417.title]), () => ( "")),
15439
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _418 => _418.description]), () => ( void 0)),
15725
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _435 => _435.title]), () => ( "")),
15726
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _436 => _436.description]), () => ( void 0)),
15440
15727
  fallbackIcon: icon,
15441
- status: statusPill(_optionalChain([item, 'optionalAccess', _419 => _419.status])),
15728
+ status: statusPill(_optionalChain([item, 'optionalAccess', _437 => _437.status])),
15442
15729
  chatRef,
15443
15730
  isNewTab,
15444
15731
  discuss,
@@ -15454,7 +15741,7 @@ function refHydratedEntry(docType, label, renderRef) {
15454
15741
  bareInline: true,
15455
15742
  contentRefType: docType,
15456
15743
  noComposedHref: true,
15457
- fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _420 => _420.url]), () => ( null)),
15744
+ fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _438 => _438.url]), () => ( null)),
15458
15745
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
15459
15746
  render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
15460
15747
  };
@@ -15485,6 +15772,17 @@ function financialRegistryEntries() {
15485
15772
  ))
15486
15773
  );
15487
15774
  }
15775
+ function refText(ref, key) {
15776
+ const value = _optionalChain([ref, 'optionalAccess', _439 => _439[key]]);
15777
+ return typeof value === "string" && value.length > 0 ? value : null;
15778
+ }
15779
+ function VendorGlyph({ title, logoUrl }) {
15780
+ if (!logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.EntityIcon, { icon: { name: SOURCE_ICON_NAMES.vendors }, size: 24 });
15781
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorIcon, { vendor: { title, logo_url: logoUrl }, size: "xs", showBackground: false });
15782
+ }
15783
+ function SitePageGlyph({ iconName }) {
15784
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.EntityIcon, { icon: { name: _nullishCoalesce(iconName, () => ( SOURCE_ICON_NAMES["website-pages"])) }, size: 24 });
15785
+ }
15488
15786
  var GITHUB_CARD_CONFIGS = {
15489
15787
  github_commit: { label: "GitHub commit", kind: "commit" },
15490
15788
  github_commit_public: { label: "GitHub commit (public)", kind: "commit" },
@@ -15493,7 +15791,7 @@ var GITHUB_CARD_CONFIGS = {
15493
15791
  github_pr_review: { label: "GitHub review", kind: "pr_review" },
15494
15792
  github_pr_review_public: { label: "GitHub review (public)", kind: "pr_review" }
15495
15793
  };
15496
- var OpenFrameGlyph = _chunkPSVSEN4Jcjs.resolveIcon.call(void 0, "openframe");
15794
+ var OpenFrameGlyph = _chunkIMTY3GRRcjs.resolveIcon.call(void 0, "openframe");
15497
15795
  var REF_GLYPH_CARD_CONFIGS = {
15498
15796
  openframe_tenant: { label: "OpenFrame tenant", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OpenFrameGlyph, { size: 24 }) },
15499
15797
  prospect_call: { label: "Prospect call", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CallIcon, { size: 24 }), media: true },
@@ -15514,7 +15812,12 @@ var REF_GLYPH_CARD_CONFIGS = {
15514
15812
  code_impact: { label: "Change impact", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CodingPullRequestIcon, { size: 24 }) },
15515
15813
  // A change set: pull requests across repositories declared as one change, with the ClickUp tasks and design
15516
15814
  // docs its pull requests are attached to. ONE card for it wherever a set is shown (chat, a design doc's page).
15517
- change_set: { label: "Change set", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CodingMergeIcon, { size: 24 }) }
15815
+ change_set: { label: "Change set", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CodingMergeIcon, { size: 24 }) },
15816
+ // A page of the public website (pricing, product, legal, and every page the navigation lists), read live
15817
+ // from the data the page shows. A glyph card: a page has no cover of its own, and the card opens the page.
15818
+ site_page: { label: "Website page", icon: (ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SitePageGlyph, { iconName: refText(ref, "icon_name") }) },
15819
+ // A vendor (product) of the OpenMSP directory. A glyph card; it opens the vendor's page there.
15820
+ vendor: { label: "Vendor", icon: (ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorGlyph, { title: _nullishCoalesce(_optionalChain([ref, 'optionalAccess', _440 => _440.title]), () => ( "")), logoUrl: refText(ref, "logo_url") }) }
15518
15821
  };
15519
15822
  function refGlyphRegistryEntries() {
15520
15823
  return registryEntries(
@@ -15528,25 +15831,33 @@ function refGlyphRegistryEntries() {
15528
15831
  title: displayRef.title,
15529
15832
  description: _nullishCoalesce(displayRef.preview, () => ( void 0)),
15530
15833
  cover: entityCover(
15531
- _optionalChain([displayRef, 'access', _421 => _421.metadata, 'optionalAccess', _422 => _422.videoPoster]),
15532
- _nullishCoalesce(_optionalChain([opts, 'access', _423 => _423.extras, 'optionalAccess', _424 => _424.buildOgPlaceholderUrl, 'optionalCall', _425 => _425(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
15834
+ _optionalChain([displayRef, 'access', _441 => _441.metadata, 'optionalAccess', _442 => _442.videoPoster]),
15835
+ _nullishCoalesce(_optionalChain([opts, 'access', _443 => _443.extras, 'optionalAccess', _444 => _444.buildOgPlaceholderUrl, 'optionalCall', _445 => _445(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
15533
15836
  ),
15534
- fallbackIcon: cfg.icon(),
15837
+ fallbackIcon: cfg.icon(displayRef),
15535
15838
  status: { label: cfg.label, variant: "grey" },
15536
15839
  chatRef: displayRef,
15537
15840
  isNewTab: opts.isNewTab,
15538
15841
  discuss: opts.discuss,
15539
15842
  menuAriaLabel: `${cfg.label} actions`
15540
15843
  }
15541
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, GlyphChatCard, { chatRef: displayRef, icon: cfg.icon(), isNewTab: opts.isNewTab, discuss: opts.discuss })
15844
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15845
+ GlyphChatCard,
15846
+ {
15847
+ chatRef: displayRef,
15848
+ icon: cfg.icon(displayRef),
15849
+ isNewTab: opts.isNewTab,
15850
+ discuss: opts.discuss
15851
+ }
15852
+ )
15542
15853
  )
15543
15854
  );
15544
15855
  }
15545
15856
  function fetchedEmployeeEntryDisplayRef(item, chatRef) {
15546
15857
  const it = item;
15547
- const title = typeof _optionalChain([it, 'optionalAccess', _426 => _426.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
15548
- const author = typeof _optionalChain([it, 'optionalAccess', _427 => _427.author, 'optionalAccess', _428 => _428.full_name]) === "string" ? it.author.full_name.trim() : "";
15549
- const summary = typeof _optionalChain([it, 'optionalAccess', _429 => _429.summary]) === "string" ? it.summary.trim() : "";
15858
+ const title = typeof _optionalChain([it, 'optionalAccess', _446 => _446.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
15859
+ const author = typeof _optionalChain([it, 'optionalAccess', _447 => _447.author, 'optionalAccess', _448 => _448.full_name]) === "string" ? it.author.full_name.trim() : "";
15860
+ const summary = typeof _optionalChain([it, 'optionalAccess', _449 => _449.summary]) === "string" ? it.summary.trim() : "";
15550
15861
  const preview = [author, summary].filter((x) => x.length > 0).join(" \xB7 ");
15551
15862
  return { ...chatRef, title, preview: preview.length > 0 ? preview : chatRef.preview };
15552
15863
  }
@@ -15588,7 +15899,7 @@ function programRegistryEntries() {
15588
15899
  label: cfg.label,
15589
15900
  contentRefType: cfg.contentRefType,
15590
15901
  bareInline: true,
15591
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.ProgramCardSkeleton, { size: "sm" }),
15902
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.ProgramCardSkeleton, { size: "sm" }),
15592
15903
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15593
15904
  ProgramChatCard,
15594
15905
  {
@@ -15598,7 +15909,7 @@ function programRegistryEntries() {
15598
15909
  discuss: opts.discuss,
15599
15910
  configKey: cfg.configKey,
15600
15911
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
15601
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _430 => _430.extras, 'optionalAccess', _431 => _431.buildOgPlaceholderUrl, 'optionalCall', _432 => _432(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _433 => _433.title]), () => ( "")))]), () => ( null))
15912
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _450 => _450.extras, 'optionalAccess', _451 => _451.buildOgPlaceholderUrl, 'optionalCall', _452 => _452(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _453 => _453.title]), () => ( "")))]), () => ( null))
15602
15913
  }
15603
15914
  )
15604
15915
  }));
@@ -15619,7 +15930,7 @@ var ROADMAP_CARD_CONFIGS = {
15619
15930
  // The card's destination IS the ClickUp deep link, derived from the
15620
15931
  // task id post-fetch (the refs frame used to carry it).
15621
15932
  noComposedHref: true,
15622
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _434 => _434.id]) != null ? clickupTaskUrl(String(item.id)) : null
15933
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _454 => _454.id]) != null ? clickupTaskUrl(String(item.id)) : null
15623
15934
  }
15624
15935
  };
15625
15936
  function roadmapRegistryEntries() {
@@ -15629,7 +15940,7 @@ function roadmapRegistryEntries() {
15629
15940
  bareInline: true,
15630
15941
  ...cfg.noComposedHref ? { noComposedHref: true } : {},
15631
15942
  ...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
15632
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.RoadmapCardSkeleton, { size: "sm" }),
15943
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.RoadmapCardSkeleton, { size: "sm" }),
15633
15944
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15634
15945
  RoadmapChatCard,
15635
15946
  {
@@ -15661,8 +15972,8 @@ var CHAT_CARD_REGISTRY = {
15661
15972
  DeletedDataCard,
15662
15973
  {
15663
15974
  title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
15664
- entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _435 => _435.metadata, 'optionalAccess', _436 => _436.entity_label]), () => ( null)),
15665
- recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _437 => _437.metadata, 'optionalAccess', _438 => _438.recovery_note]), () => ( null))
15975
+ entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _455 => _455.metadata, 'optionalAccess', _456 => _456.entity_label]), () => ( null)),
15976
+ recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _457 => _457.metadata, 'optionalAccess', _458 => _458.recovery_note]), () => ( null))
15666
15977
  }
15667
15978
  )
15668
15979
  },
@@ -15679,7 +15990,7 @@ var CHAT_CARD_REGISTRY = {
15679
15990
  bareInline: true,
15680
15991
  contentRefType: "faq",
15681
15992
  noComposedHref: true,
15682
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _439 => _439.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
15993
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _459 => _459.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
15683
15994
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
15684
15995
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
15685
15996
  },
@@ -15687,12 +15998,12 @@ var CHAT_CARD_REGISTRY = {
15687
15998
  // projection route; `extractCardItems` turns its object payload into the
15688
15999
  // single matched row. Destination is the public page unless the host
15689
16000
  // re-homes the type (`composeContentUrl` override).
15690
- [_chunkETYLOZOBcjs.TRUST_CENTER_DOCUMENT_TYPE]: {
16001
+ [_chunkRFUOIQSGcjs.TRUST_CENTER_DOCUMENT_TYPE]: {
15691
16002
  label: "Trust center",
15692
16003
  bareInline: true,
15693
- contentRefType: _chunkETYLOZOBcjs.TRUST_CENTER_DOCUMENT_TYPE,
16004
+ contentRefType: _chunkRFUOIQSGcjs.TRUST_CENTER_DOCUMENT_TYPE,
15694
16005
  noComposedHref: true,
15695
- fallbackHref: () => _chunkETYLOZOBcjs.TRUST_CENTER_PAGE_PATH,
16006
+ fallbackHref: () => _chunkRFUOIQSGcjs.TRUST_CENTER_PAGE_PATH,
15696
16007
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
15697
16008
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
15698
16009
  },
@@ -15718,7 +16029,7 @@ var CHAT_CARD_REGISTRY = {
15718
16029
  label: "Blog post",
15719
16030
  contentRefType: "blog_post_existing",
15720
16031
  bareInline: true,
15721
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.BlogCardSkeleton, { size: "sm" }),
16032
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.BlogCardSkeleton, { size: "sm" }),
15722
16033
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15723
16034
  BlogChatCard,
15724
16035
  {
@@ -15726,8 +16037,8 @@ var CHAT_CARD_REGISTRY = {
15726
16037
  chatRef,
15727
16038
  isNewTab: opts.isNewTab,
15728
16039
  discuss: opts.discuss,
15729
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _440 => _440.extras, 'optionalAccess', _441 => _441.buildOgPlaceholderUrl, 'optionalCall', _442 => _442(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _443 => _443.title]), () => ( "")))]), () => ( null)),
15730
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _444 => _444.metadata, 'optionalAccess', _445 => _445.hasEmbeddedVideo]) === true
16040
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _460 => _460.extras, 'optionalAccess', _461 => _461.buildOgPlaceholderUrl, 'optionalCall', _462 => _462(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _463 => _463.title]), () => ( "")))]), () => ( null)),
16041
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _464 => _464.metadata, 'optionalAccess', _465 => _465.hasEmbeddedVideo]) === true
15731
16042
  }
15732
16043
  )
15733
16044
  },
@@ -15735,7 +16046,7 @@ var CHAT_CARD_REGISTRY = {
15735
16046
  label: "Case study",
15736
16047
  contentRefType: "case_study",
15737
16048
  bareInline: true,
15738
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.CaseStudyCardSkeleton, { size: "sm" }),
16049
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.CaseStudyCardSkeleton, { size: "sm" }),
15739
16050
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15740
16051
  CaseStudyChatCard,
15741
16052
  {
@@ -15743,7 +16054,7 @@ var CHAT_CARD_REGISTRY = {
15743
16054
  chatRef,
15744
16055
  isNewTab: opts.isNewTab,
15745
16056
  discuss: opts.discuss,
15746
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _446 => _446.extras, 'optionalAccess', _447 => _447.buildOgPlaceholderUrl, 'optionalCall', _448 => _448(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _449 => _449.title]), () => ( "")))]), () => ( null))
16057
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _466 => _466.extras, 'optionalAccess', _467 => _467.buildOgPlaceholderUrl, 'optionalCall', _468 => _468(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _469 => _469.title]), () => ( "")))]), () => ( null))
15747
16058
  }
15748
16059
  )
15749
16060
  },
@@ -15752,7 +16063,7 @@ var CHAT_CARD_REGISTRY = {
15752
16063
  contentRefType: "design_doc",
15753
16064
  bareInline: true,
15754
16065
  noComposedHref: true,
15755
- fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _450 => _450.url]), () => ( null)),
16066
+ fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _470 => _470.url]), () => ( null)),
15756
16067
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
15757
16068
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesignDocChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
15758
16069
  },
@@ -15760,7 +16071,7 @@ var CHAT_CARD_REGISTRY = {
15760
16071
  label: "Customer interview",
15761
16072
  contentRefType: "customer_interview",
15762
16073
  bareInline: true,
15763
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.CustomerInterviewCardSkeleton, { size: "sm" }),
16074
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.CustomerInterviewCardSkeleton, { size: "sm" }),
15764
16075
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15765
16076
  CustomerInterviewChatCard,
15766
16077
  {
@@ -15768,7 +16079,7 @@ var CHAT_CARD_REGISTRY = {
15768
16079
  chatRef,
15769
16080
  isNewTab: opts.isNewTab,
15770
16081
  discuss: opts.discuss,
15771
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _451 => _451.extras, 'optionalAccess', _452 => _452.buildOgPlaceholderUrl, 'optionalCall', _453 => _453(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _454 => _454.title]), () => ( "")))]), () => ( null))
16082
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _471 => _471.extras, 'optionalAccess', _472 => _472.buildOgPlaceholderUrl, 'optionalCall', _473 => _473(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _474 => _474.title]), () => ( "")))]), () => ( null))
15772
16083
  }
15773
16084
  )
15774
16085
  },
@@ -15776,9 +16087,9 @@ var CHAT_CARD_REGISTRY = {
15776
16087
  label: "Product release",
15777
16088
  contentRefType: "product_release",
15778
16089
  bareInline: true,
15779
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.ProductReleaseCardSkeleton, { size: "sm" }),
16090
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.ProductReleaseCardSkeleton, { size: "sm" }),
15780
16091
  render: (item, chatRef, opts) => {
15781
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _455 => _455.extras, 'optionalAccess', _456 => _456.buildProductReleaseCardProps]), () => ( _chunkETYLOZOBcjs.defaultBuildProductReleaseCardProps));
16092
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _475 => _475.extras, 'optionalAccess', _476 => _476.buildProductReleaseCardProps]), () => ( _chunkRFUOIQSGcjs.defaultBuildProductReleaseCardProps));
15782
16093
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15783
16094
  ProductReleaseChatCard,
15784
16095
  {
@@ -15796,7 +16107,7 @@ var CHAT_CARD_REGISTRY = {
15796
16107
  label: "Investor update",
15797
16108
  contentRefType: "investor_update",
15798
16109
  bareInline: true,
15799
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.InvestorUpdateCardSkeleton, { size: "sm" }),
16110
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.InvestorUpdateCardSkeleton, { size: "sm" }),
15800
16111
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15801
16112
  InvestorUpdateChatCard,
15802
16113
  {
@@ -15804,7 +16115,7 @@ var CHAT_CARD_REGISTRY = {
15804
16115
  chatRef,
15805
16116
  isNewTab: opts.isNewTab,
15806
16117
  discuss: opts.discuss,
15807
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _457 => _457.extras, 'optionalAccess', _458 => _458.buildOgPlaceholderUrl, 'optionalCall', _459 => _459(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _460 => _460.title]), () => ( "")))]), () => ( null))
16118
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _477 => _477.extras, 'optionalAccess', _478 => _478.buildOgPlaceholderUrl, 'optionalCall', _479 => _479(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _480 => _480.title]), () => ( "")))]), () => ( null))
15808
16119
  }
15809
16120
  )
15810
16121
  },
@@ -15814,7 +16125,7 @@ var CHAT_CARD_REGISTRY = {
15814
16125
  bareInline: true,
15815
16126
  // "Display" affordance (verbatim guide body) instead of "Ask".
15816
16127
  displayAction: true,
15817
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.OnboardingGuideCardSkeleton, { size: "sm" }),
16128
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.OnboardingGuideCardSkeleton, { size: "sm" }),
15818
16129
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15819
16130
  OnboardingGuideChatCard,
15820
16131
  {
@@ -15822,7 +16133,7 @@ var CHAT_CARD_REGISTRY = {
15822
16133
  chatRef,
15823
16134
  isNewTab: opts.isNewTab,
15824
16135
  discuss: opts.discuss,
15825
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _461 => _461.extras, 'optionalAccess', _462 => _462.buildOgPlaceholderUrl, 'optionalCall', _463 => _463(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _464 => _464.title]), () => ( "")))]), () => ( null))
16136
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _481 => _481.extras, 'optionalAccess', _482 => _482.buildOgPlaceholderUrl, 'optionalCall', _483 => _483(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _484 => _484.title]), () => ( "")))]), () => ( null))
15826
16137
  }
15827
16138
  )
15828
16139
  },
@@ -15833,13 +16144,13 @@ var CHAT_CARD_REGISTRY = {
15833
16144
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
15834
16145
  // No public viewer — synthesize the hub-internal admin URL post-fetch
15835
16146
  // so the wrapper + isNewTab computation see the actual destination.
15836
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _465 => _465.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
16147
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _485 => _485.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
15837
16148
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
15838
16149
  },
15839
16150
  ...roadmapRegistryEntries()
15840
16151
  };
15841
16152
  function chatCardLabel(docType) {
15842
- return _optionalChain([CHAT_CARD_REGISTRY, 'access', _466 => _466[docType], 'optionalAccess', _467 => _467.label]);
16153
+ return _optionalChain([CHAT_CARD_REGISTRY, 'access', _486 => _486[docType], 'optionalAccess', _487 => _487.label]);
15843
16154
  }
15844
16155
  function ChatCardNavWrap({
15845
16156
  href,
@@ -15855,13 +16166,13 @@ function ChatCardNavWrap({
15855
16166
  if (!href) return;
15856
16167
  const targetEl = e.target;
15857
16168
  const host = e.currentTarget;
15858
- if (!_optionalChain([host, 'optionalAccess', _468 => _468.contains, 'call', _469 => _469(targetEl)])) return;
15859
- if (_optionalChain([targetEl, 'optionalAccess', _470 => _470.closest, 'optionalCall', _471 => _471("button")])) return;
15860
- if (!_optionalChain([targetEl, 'optionalAccess', _472 => _472.closest, 'optionalCall', _473 => _473("a")])) return;
16169
+ if (!_optionalChain([host, 'optionalAccess', _488 => _488.contains, 'call', _489 => _489(targetEl)])) return;
16170
+ if (_optionalChain([targetEl, 'optionalAccess', _490 => _490.closest, 'optionalCall', _491 => _491("button")])) return;
16171
+ if (!_optionalChain([targetEl, 'optionalAccess', _492 => _492.closest, 'optionalCall', _493 => _493("a")])) return;
15861
16172
  const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
15862
16173
  if (!handled) return;
15863
16174
  e.stopPropagation();
15864
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _474 => _474.closeChat])) panel.closeChat();
16175
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _494 => _494.closeChat])) panel.closeChat();
15865
16176
  };
15866
16177
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
15867
16178
  }
@@ -15877,7 +16188,7 @@ function ChatCardLoader({
15877
16188
  const entry = CHAT_CARD_REGISTRY[chatRef.type];
15878
16189
  const fetchEntry = entry && entry.contentRefType ? entry : null;
15879
16190
  const { item, isLoading, isError, isFetched } = useChatCardItem(
15880
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _475 => _475.contentRefType]), () => ( "")),
16191
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _495 => _495.contentRefType]), () => ( "")),
15881
16192
  fetchEntry ? chatRef.id : ""
15882
16193
  );
15883
16194
  if (!entry) return null;
@@ -15898,7 +16209,7 @@ function ChatCardLoader({
15898
16209
  };
15899
16210
  const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
15900
16211
  const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
15901
- const isNewTab = _chunkETYLOZOBcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
16212
+ const isNewTab = _chunkRFUOIQSGcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
15902
16213
  const useDisplay = !!entry.displayAction && !!onDisplay;
15903
16214
  const discussFn = useDisplay ? onDisplay : onDiscuss;
15904
16215
  const discuss = discussFn ? {
@@ -15921,7 +16232,7 @@ function ChatCardLoader({
15921
16232
  isNewTab,
15922
16233
  discuss
15923
16234
  };
15924
- const path = typeof _optionalChain([finalChatRef, 'access', _476 => _476.metadata, 'optionalAccess', _477 => _477.path]) === "string" ? finalChatRef.metadata.path : null;
16235
+ const path = typeof _optionalChain([finalChatRef, 'access', _496 => _496.metadata, 'optionalAccess', _497 => _497.path]) === "string" ? finalChatRef.metadata.path : null;
15925
16236
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15926
16237
  ChatCardNavWrap,
15927
16238
  {
@@ -15945,7 +16256,7 @@ function ChatCardLoader({
15945
16256
  if (!fetchEntry) {
15946
16257
  return finish(entry.render(void 0, finalChatRef, renderOpts));
15947
16258
  }
15948
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _478 => _478.skeleton, 'optionalCall', _479 => _479()]), () => ( null)) });
16259
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _498 => _498.skeleton, 'optionalCall', _499 => _499()]), () => ( null)) });
15949
16260
  if (!item) {
15950
16261
  if (isError) {
15951
16262
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
@@ -16034,12 +16345,12 @@ function makeBatchDedupKey(item) {
16034
16345
  return `${item.messageType}:${seq}:${type}:${text2}:${integratedToolType}:${toolFunction}:${approvalRequestId}`;
16035
16346
  }
16036
16347
  function getChatTypeMessageType(chatType) {
16037
- return chatType === _chunkDC4RTYWKcjs.CHAT_TYPE.ADMIN ? "admin-message" : "message";
16348
+ return chatType === _chunkRZQGIWK3cjs.CHAT_TYPE.ADMIN ? "admin-message" : "message";
16038
16349
  }
16039
16350
  function useChunkCatchup({
16040
16351
  dialogId,
16041
16352
  onChunkReceived,
16042
- chatTypes = [_chunkDC4RTYWKcjs.CHAT_TYPE.CLIENT],
16353
+ chatTypes = [_chunkRZQGIWK3cjs.CHAT_TYPE.CLIENT],
16043
16354
  fetchChunks
16044
16355
  }) {
16045
16356
  const processedSequenceKeys = _react.useRef.call(void 0, /* @__PURE__ */ new Set());
@@ -16253,7 +16564,7 @@ function useChunkCatchup({
16253
16564
  if (catchupRun.current === run) {
16254
16565
  if (currentDialogId !== dialogIdRef.current) {
16255
16566
  catchupRun.current = null;
16256
- if (_optionalChain([pendingCatchupRef, 'access', _480 => _480.current, 'optionalAccess', _481 => _481.dialogId]) === currentDialogId) {
16567
+ if (_optionalChain([pendingCatchupRef, 'access', _500 => _500.current, 'optionalAccess', _501 => _501.dialogId]) === currentDialogId) {
16257
16568
  pendingCatchupRef.current = null;
16258
16569
  }
16259
16570
  } else {
@@ -16264,7 +16575,7 @@ function useChunkCatchup({
16264
16575
  if (pending.dialogId === currentDialogId) {
16265
16576
  rearmForQueuedCatchup();
16266
16577
  try {
16267
- await _optionalChain([catchUpChunksRef, 'access', _482 => _482.current, 'optionalCall', _483 => _483(pending.fromSequenceId)]);
16578
+ await _optionalChain([catchUpChunksRef, 'access', _502 => _502.current, 'optionalCall', _503 => _503(pending.fromSequenceId)]);
16268
16579
  } catch (rerunError) {
16269
16580
  console.error("Queued catch-up re-run failed:", rerunError);
16270
16581
  }
@@ -16331,7 +16642,7 @@ function useChunkCatchup({
16331
16642
 
16332
16643
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
16333
16644
  function prefersReducedMotion() {
16334
- return typeof window !== "undefined" && _optionalChain([window, 'access', _484 => _484.matchMedia, 'optionalCall', _485 => _485("(prefers-reduced-motion: reduce)"), 'access', _486 => _486.matches]) === true;
16645
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _504 => _504.matchMedia, 'optionalCall', _505 => _505("(prefers-reduced-motion: reduce)"), 'access', _506 => _506.matches]) === true;
16335
16646
  }
16336
16647
  function useScriptedStream(frames, resetKey, enabled = true) {
16337
16648
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -16342,7 +16653,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
16342
16653
  setIndex(0);
16343
16654
  }
16344
16655
  _react.useEffect.call(void 0, () => {
16345
- const mq = _optionalChain([window, 'access', _487 => _487.matchMedia, 'optionalCall', _488 => _488("(prefers-reduced-motion: reduce)")]);
16656
+ const mq = _optionalChain([window, 'access', _507 => _507.matchMedia, 'optionalCall', _508 => _508("(prefers-reduced-motion: reduce)")]);
16346
16657
  const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
16347
16658
  sync();
16348
16659
  if (!mq) return void 0;
@@ -16485,7 +16796,7 @@ function useJetStreamDialogSubscription({
16485
16796
  const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
16486
16797
  conn: sharedConn,
16487
16798
  wsUrl,
16488
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _489 => _489.current, 'optionalCall', _490 => _490()]),
16799
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _509 => _509.current, 'optionalCall', _510 => _510()]),
16489
16800
  backoff: reconnectionBackoffRef.current,
16490
16801
  getFreshUrl: () => getNatsWsUrlRef.current(),
16491
16802
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -16500,7 +16811,7 @@ function useJetStreamDialogSubscription({
16500
16811
  setReconnectionCount((c) => c + 1);
16501
16812
  }
16502
16813
  hadConnectionBeforeRef.current = true;
16503
- _optionalChain([onConnectRef, 'access', _491 => _491.current, 'optionalCall', _492 => _492()]);
16814
+ _optionalChain([onConnectRef, 'access', _511 => _511.current, 'optionalCall', _512 => _512()]);
16504
16815
  }
16505
16816
  if (status === "error") {
16506
16817
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -16510,7 +16821,7 @@ function useJetStreamDialogSubscription({
16510
16821
  setIsConnected(false);
16511
16822
  setIsSubscribed(false);
16512
16823
  tearDownSubscription();
16513
- _optionalChain([onDisconnectRef, 'access', _493 => _493.current, 'optionalCall', _494 => _494()]);
16824
+ _optionalChain([onDisconnectRef, 'access', _513 => _513.current, 'optionalCall', _514 => _514()]);
16514
16825
  }
16515
16826
  }
16516
16827
  });
@@ -16636,7 +16947,7 @@ function useJetStreamDialogSubscription({
16636
16947
  }
16637
16948
  subscriptionRef.current = handle;
16638
16949
  setIsSubscribed(true);
16639
- _optionalChain([onSubscribedRef, 'access', _495 => _495.current, 'optionalCall', _496 => _496()]);
16950
+ _optionalChain([onSubscribedRef, 'access', _515 => _515.current, 'optionalCall', _516 => _516()]);
16640
16951
  } catch (e31) {
16641
16952
  if (!cancelled) {
16642
16953
  setIsSubscribed(false);
@@ -16752,20 +17063,20 @@ function useNatsDialogSubscription({
16752
17063
  const tearDownSubscriptions = () => {
16753
17064
  subscriptionRefs.current.forEach((sub) => {
16754
17065
  try {
16755
- _optionalChain([sub, 'optionalAccess', _497 => _497.unsubscribe, 'call', _498 => _498()]);
17066
+ _optionalChain([sub, 'optionalAccess', _517 => _517.unsubscribe, 'call', _518 => _518()]);
16756
17067
  } catch (e33) {
16757
17068
  }
16758
17069
  });
16759
17070
  subscriptionRefs.current.clear();
16760
17071
  lastSubscribedDialogIdRef.current = null;
16761
- _optionalChain([abortControllerRef, 'access', _499 => _499.current, 'optionalAccess', _500 => _500.abort, 'call', _501 => _501()]);
17072
+ _optionalChain([abortControllerRef, 'access', _519 => _519.current, 'optionalAccess', _520 => _520.abort, 'call', _521 => _521()]);
16762
17073
  abortControllerRef.current = null;
16763
17074
  };
16764
17075
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
16765
17076
  const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
16766
17077
  conn: sharedConn,
16767
17078
  wsUrl,
16768
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _502 => _502.current, 'optionalCall', _503 => _503()]),
17079
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _522 => _522.current, 'optionalCall', _523 => _523()]),
16769
17080
  backoff: reconnectionBackoffRef.current,
16770
17081
  getFreshUrl: () => getNatsWsUrlRef.current(),
16771
17082
  shouldRetryOn: isDisconnectStatus,
@@ -16776,7 +17087,7 @@ function useNatsDialogSubscription({
16776
17087
  setReconnectionCount((c) => c + 1);
16777
17088
  }
16778
17089
  hadConnectionBeforeRef.current = true;
16779
- _optionalChain([onConnectRef, 'access', _504 => _504.current, 'optionalCall', _505 => _505()]);
17090
+ _optionalChain([onConnectRef, 'access', _524 => _524.current, 'optionalCall', _525 => _525()]);
16780
17091
  }
16781
17092
  if (status === "error") {
16782
17093
  console.warn("[NATS] protocol error:", evt.data);
@@ -16786,7 +17097,7 @@ function useNatsDialogSubscription({
16786
17097
  setIsConnected(false);
16787
17098
  setIsSubscribed(false);
16788
17099
  tearDownSubscriptions();
16789
- _optionalChain([onDisconnectRef, 'access', _506 => _506.current, 'optionalCall', _507 => _507()]);
17100
+ _optionalChain([onDisconnectRef, 'access', _526 => _526.current, 'optionalCall', _527 => _527()]);
16790
17101
  }
16791
17102
  }
16792
17103
  });
@@ -16817,13 +17128,13 @@ function useNatsDialogSubscription({
16817
17128
  setIsSubscribed(false);
16818
17129
  subscriptionRefs.current.forEach((sub) => {
16819
17130
  try {
16820
- _optionalChain([sub, 'optionalAccess', _508 => _508.unsubscribe, 'call', _509 => _509()]);
17131
+ _optionalChain([sub, 'optionalAccess', _528 => _528.unsubscribe, 'call', _529 => _529()]);
16821
17132
  } catch (e34) {
16822
17133
  }
16823
17134
  });
16824
17135
  subscriptionRefs.current.clear();
16825
17136
  lastSubscribedDialogIdRef.current = null;
16826
- _optionalChain([abortControllerRef, 'access', _510 => _510.current, 'optionalAccess', _511 => _511.abort, 'call', _512 => _512()]);
17137
+ _optionalChain([abortControllerRef, 'access', _530 => _530.current, 'optionalAccess', _531 => _531.abort, 'call', _532 => _532()]);
16827
17138
  abortControllerRef.current = null;
16828
17139
  }
16829
17140
  return void 0;
@@ -16835,12 +17146,12 @@ function useNatsDialogSubscription({
16835
17146
  if (subscriptionRefs.current.size > 0) {
16836
17147
  subscriptionRefs.current.forEach((sub) => {
16837
17148
  try {
16838
- _optionalChain([sub, 'optionalAccess', _513 => _513.unsubscribe, 'call', _514 => _514()]);
17149
+ _optionalChain([sub, 'optionalAccess', _533 => _533.unsubscribe, 'call', _534 => _534()]);
16839
17150
  } catch (e35) {
16840
17151
  }
16841
17152
  });
16842
17153
  subscriptionRefs.current.clear();
16843
- _optionalChain([abortControllerRef, 'access', _515 => _515.current, 'optionalAccess', _516 => _516.abort, 'call', _517 => _517()]);
17154
+ _optionalChain([abortControllerRef, 'access', _535 => _535.current, 'optionalAccess', _536 => _536.abort, 'call', _537 => _537()]);
16844
17155
  }
16845
17156
  abortControllerRef.current = new AbortController();
16846
17157
  const abort = abortControllerRef.current;
@@ -16870,7 +17181,7 @@ function useNatsDialogSubscription({
16870
17181
  });
16871
17182
  lastSubscribedDialogIdRef.current = dialogId;
16872
17183
  setIsSubscribed(true);
16873
- _optionalChain([onSubscribedRef, 'access', _518 => _518.current, 'optionalCall', _519 => _519()]);
17184
+ _optionalChain([onSubscribedRef, 'access', _538 => _538.current, 'optionalCall', _539 => _539()]);
16874
17185
  };
16875
17186
  if (isConnectedRef.current) {
16876
17187
  createSubscriptions();
@@ -16881,7 +17192,7 @@ function useNatsDialogSubscription({
16881
17192
  abort.abort();
16882
17193
  subscriptions.forEach((sub) => {
16883
17194
  try {
16884
- _optionalChain([sub, 'optionalAccess', _520 => _520.unsubscribe, 'call', _521 => _521()]);
17195
+ _optionalChain([sub, 'optionalAccess', _540 => _540.unsubscribe, 'call', _541 => _541()]);
16885
17196
  } catch (e37) {
16886
17197
  }
16887
17198
  });
@@ -16920,7 +17231,7 @@ function useNatsDialogSubscription({
16920
17231
  });
16921
17232
  lastSubscribedDialogIdRef.current = currentDialogId;
16922
17233
  setIsSubscribed(true);
16923
- _optionalChain([onSubscribedRef, 'access', _522 => _522.current, 'optionalCall', _523 => _523()]);
17234
+ _optionalChain([onSubscribedRef, 'access', _542 => _542.current, 'optionalCall', _543 => _543()]);
16924
17235
  } else if (subscriptionRefs.current.size > 0) {
16925
17236
  setIsSubscribed(true);
16926
17237
  }
@@ -16928,10 +17239,10 @@ function useNatsDialogSubscription({
16928
17239
  return { isConnected, isSubscribed, reconnectionCount };
16929
17240
  }
16930
17241
  function buildNatsWsUrl(apiBaseUrl, options) {
16931
- const path = _optionalChain([options, 'optionalAccess', _524 => _524.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
17242
+ const path = _optionalChain([options, 'optionalAccess', _544 => _544.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
16932
17243
  const u = new URL(path, apiBaseUrl);
16933
17244
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
16934
- if (_optionalChain([options, 'optionalAccess', _525 => _525.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _526 => _526.token])) {
17245
+ if (_optionalChain([options, 'optionalAccess', _545 => _545.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _546 => _546.token])) {
16935
17246
  u.searchParams.set("authorization", options.token);
16936
17247
  }
16937
17248
  return u.toString();
@@ -16949,7 +17260,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
16949
17260
  const data = await res.json();
16950
17261
  return _nullishCoalesce(data.commands, () => ( []));
16951
17262
  } catch (err) {
16952
- if (_optionalChain([err, 'optionalAccess', _527 => _527.name]) === "AbortError") throw err;
17263
+ if (_optionalChain([err, 'optionalAccess', _547 => _547.name]) === "AbortError") throw err;
16953
17264
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
16954
17265
  return [];
16955
17266
  }
@@ -16957,8 +17268,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
16957
17268
  var NO_COMMANDS = [];
16958
17269
  function useSlashCommands(prefix, commandsUrl) {
16959
17270
  const [answered, setAnswered] = _react.useState.call(void 0, null);
16960
- const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _528 => _528.prefix]) === prefix ? answered.commands : NO_COMMANDS;
16961
- const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _529 => _529.prefix]) !== prefix;
17271
+ const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _548 => _548.prefix]) === prefix ? answered.commands : NO_COMMANDS;
17272
+ const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _549 => _549.prefix]) !== prefix;
16962
17273
  _react.useEffect.call(void 0, () => {
16963
17274
  if (prefix == null) return void 0;
16964
17275
  let cancelled = false;
@@ -16968,7 +17279,7 @@ function useSlashCommands(prefix, commandsUrl) {
16968
17279
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
16969
17280
  if (!cancelled) setAnswered({ prefix, commands: next });
16970
17281
  } catch (err) {
16971
- if (!cancelled && _optionalChain([err, 'optionalAccess', _530 => _530.name]) !== "AbortError") {
17282
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _550 => _550.name]) !== "AbortError") {
16972
17283
  console.warn("[use-slash-commands] fetch failed:", err);
16973
17284
  setAnswered({ prefix, commands: NO_COMMANDS });
16974
17285
  }
@@ -16991,7 +17302,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
16991
17302
  const query = _reactquery.useQuery.call(void 0, {
16992
17303
  queryKey: ["chat-slash-commands", commandsUrl],
16993
17304
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
16994
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _531 => _531.enabled]), () => ( true)),
17305
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _551 => _551.enabled]), () => ( true)),
16995
17306
  staleTime: Infinity,
16996
17307
  gcTime: Infinity,
16997
17308
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -17030,21 +17341,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
17030
17341
  }
17031
17342
  const data = await res.json();
17032
17343
  return {
17033
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _532 => _532.name]), () => ( null)),
17034
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _533 => _533.icon]), () => ( null)),
17035
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _534 => _534.greeting]), () => ( null)),
17036
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _535 => _535.enabledRagTableIds]), () => ( [])),
17037
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _536 => _536.quickActions]), () => ( [])),
17038
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _537 => _537.suggestedQueries]), () => ( []))
17344
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _552 => _552.name]), () => ( null)),
17345
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _553 => _553.icon]), () => ( null)),
17346
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _554 => _554.greeting]), () => ( null)),
17347
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _555 => _555.enabledRagTableIds]), () => ( [])),
17348
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _556 => _556.quickActions]), () => ( [])),
17349
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _557 => _557.suggestedQueries]), () => ( []))
17039
17350
  };
17040
17351
  } catch (err) {
17041
- if (_optionalChain([err, 'optionalAccess', _538 => _538.name]) === "AbortError") throw err;
17352
+ if (_optionalChain([err, 'optionalAccess', _558 => _558.name]) === "AbortError") throw err;
17042
17353
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
17043
17354
  return EMPTY_STATE_FALLBACK;
17044
17355
  }
17045
17356
  }
17046
17357
  function useEmptyStateConfig(emptyStateUrl, options) {
17047
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _539 => _539.enabled]), () => ( true))) && !!emptyStateUrl;
17358
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _559 => _559.enabled]), () => ( true))) && !!emptyStateUrl;
17048
17359
  const query = _reactquery.useQuery.call(void 0, {
17049
17360
  queryKey: ["chat-empty-state", emptyStateUrl],
17050
17361
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -17073,7 +17384,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
17073
17384
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
17074
17385
  function uploadWithProgress(url, file, token, onProgress, signal) {
17075
17386
  return new Promise((resolve, reject) => {
17076
- if (_optionalChain([signal, 'optionalAccess', _540 => _540.aborted])) {
17387
+ if (_optionalChain([signal, 'optionalAccess', _560 => _560.aborted])) {
17077
17388
  reject(new Error("Upload cancelled"));
17078
17389
  return;
17079
17390
  }
@@ -17115,7 +17426,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
17115
17426
  const handleSignalAbort = () => {
17116
17427
  xhr.abort();
17117
17428
  };
17118
- _optionalChain([signal, 'optionalAccess', _541 => _541.addEventListener, 'call', _542 => _542("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
17429
+ _optionalChain([signal, 'optionalAccess', _561 => _561.addEventListener, 'call', _562 => _562("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
17119
17430
  xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
17120
17431
  xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
17121
17432
  xhr.addEventListener("error", handleError, { signal: listeners.signal });
@@ -17159,10 +17470,10 @@ function useChatAttachments() {
17159
17470
  try {
17160
17471
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
17161
17472
  } catch (err) {
17162
- if (_optionalChain([ctrl, 'optionalAccess', _543 => _543.signal, 'access', _544 => _544.aborted])) return;
17473
+ if (_optionalChain([ctrl, 'optionalAccess', _563 => _563.signal, 'access', _564 => _564.aborted])) return;
17163
17474
  throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
17164
17475
  }
17165
- if (_optionalChain([ctrl, 'optionalAccess', _545 => _545.signal, 'access', _546 => _546.aborted])) return;
17476
+ if (_optionalChain([ctrl, 'optionalAccess', _565 => _565.signal, 'access', _566 => _566.aborted])) return;
17166
17477
  if (!sniffed) {
17167
17478
  throw new Error("Unrecognized file format");
17168
17479
  }
@@ -17176,7 +17487,7 @@ function useChatAttachments() {
17176
17487
  const urlResp = await _chunkULWVKHSIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
17177
17488
  method: "POST",
17178
17489
  headers: { "Content-Type": "application/json" },
17179
- signal: _optionalChain([ctrl, 'optionalAccess', _547 => _547.signal]),
17490
+ signal: _optionalChain([ctrl, 'optionalAccess', _567 => _567.signal]),
17180
17491
  body: JSON.stringify({
17181
17492
  fileName: att.file.name,
17182
17493
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -17205,9 +17516,9 @@ function useChatAttachments() {
17205
17516
  (pct) => {
17206
17517
  updateOne(att.id, { progress: pct });
17207
17518
  },
17208
- _optionalChain([ctrl, 'optionalAccess', _548 => _548.signal])
17519
+ _optionalChain([ctrl, 'optionalAccess', _568 => _568.signal])
17209
17520
  );
17210
- if (_optionalChain([ctrl, 'optionalAccess', _549 => _549.signal, 'access', _550 => _550.aborted])) return;
17521
+ if (_optionalChain([ctrl, 'optionalAccess', _569 => _569.signal, 'access', _570 => _570.aborted])) return;
17211
17522
  updateOne(att.id, {
17212
17523
  status: "ready",
17213
17524
  progress: 100,
@@ -17215,7 +17526,7 @@ function useChatAttachments() {
17215
17526
  viewToken: mintData.viewToken
17216
17527
  });
17217
17528
  } catch (err) {
17218
- if (_optionalChain([ctrl, 'optionalAccess', _551 => _551.signal, 'access', _552 => _552.aborted])) return;
17529
+ if (_optionalChain([ctrl, 'optionalAccess', _571 => _571.signal, 'access', _572 => _572.aborted])) return;
17219
17530
  const message = err instanceof Error ? err.message : String(err);
17220
17531
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
17221
17532
  } finally {
@@ -17337,7 +17648,7 @@ function useChatAttachmentImageGallery() {
17337
17648
  return () => root.removeEventListener("click", onClick);
17338
17649
  }, [viewUrlPrefix]);
17339
17650
  const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17340
- _chunkETYLOZOBcjs.ImageGalleryModal,
17651
+ _chunkRFUOIQSGcjs.ImageGalleryModal,
17341
17652
  {
17342
17653
  images: state.images,
17343
17654
  isOpen: state.isOpen,
@@ -17364,11 +17675,11 @@ var ANON_DEFAULTS = {
17364
17675
  function useResolveChatIdentity(enabled) {
17365
17676
  const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
17366
17677
  const url = runtime.endpoints.identityUrl;
17367
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _553 => _553.email]), () => ( null));
17678
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _573 => _573.email]), () => ( null));
17368
17679
  const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
17369
17680
  const [resolved, setResolved] = _react.useState.call(void 0, null);
17370
- const data = _optionalChain([resolved, 'optionalAccess', _554 => _554.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
17371
- const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _555 => _555.key]) !== requestKey;
17681
+ const data = _optionalChain([resolved, 'optionalAccess', _574 => _574.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
17682
+ const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _575 => _575.key]) !== requestKey;
17372
17683
  _react.useEffect.call(void 0, () => {
17373
17684
  if (requestKey === null) return void 0;
17374
17685
  let cancelled = false;
@@ -17515,7 +17826,7 @@ function useChat({
17515
17826
  onMessagesChangeRef.current = onMessagesChange;
17516
17827
  });
17517
17828
  _react.useEffect.call(void 0, () => {
17518
- _optionalChain([onMessagesChangeRef, 'access', _556 => _556.current, 'optionalCall', _557 => _557(messages)]);
17829
+ _optionalChain([onMessagesChangeRef, 'access', _576 => _576.current, 'optionalCall', _577 => _577(messages)]);
17519
17830
  }, [messages]);
17520
17831
  const {
17521
17832
  streamMessage,
@@ -17552,7 +17863,7 @@ function useChat({
17552
17863
  name: "You",
17553
17864
  content: text2,
17554
17865
  timestamp: /* @__PURE__ */ new Date(),
17555
- ..._optionalChain([options, 'optionalAccess', _558 => _558.hidden]) ? { hidden: true } : {}
17866
+ ..._optionalChain([options, 'optionalAccess', _578 => _578.hidden]) ? { hidden: true } : {}
17556
17867
  };
17557
17868
  addMessage(userMessage);
17558
17869
  setIsTyping(true);
@@ -17766,7 +18077,7 @@ function buildConfirmToolBody(request) {
17766
18077
  async function readServerErrorMessage(response) {
17767
18078
  try {
17768
18079
  const body = await response.json();
17769
- if (typeof _optionalChain([body, 'optionalAccess', _559 => _559.error]) === "string" && body.error.length > 0) return body.error;
18080
+ if (typeof _optionalChain([body, 'optionalAccess', _579 => _579.error]) === "string" && body.error.length > 0) return body.error;
17770
18081
  } catch (e39) {
17771
18082
  }
17772
18083
  return null;
@@ -18077,7 +18388,7 @@ function nullableText(value) {
18077
18388
  }
18078
18389
  function httpsUrl(value) {
18079
18390
  const candidate = text(value);
18080
- if (!candidate || _chunkETYLOZOBcjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
18391
+ if (!candidate || _chunkRFUOIQSGcjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
18081
18392
  try {
18082
18393
  return new URL(candidate).protocol === "https:" ? candidate : void 0;
18083
18394
  } catch (e43) {
@@ -18094,7 +18405,7 @@ function youtubeVideoId(value) {
18094
18405
  const hostname = parsed.hostname.toLowerCase();
18095
18406
  const isYoutubeHost = hostname === "youtu.be" || hostname === "youtube.com" || hostname.endsWith(".youtube.com");
18096
18407
  if (!isYoutubeHost) return void 0;
18097
- const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access', _560 => _560.exec, 'call', _561 => _561(parsed.pathname), 'optionalAccess', _562 => _562[1]]);
18408
+ const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access', _580 => _580.exec, 'call', _581 => _581(parsed.pathname), 'optionalAccess', _582 => _582[1]]);
18098
18409
  const id = _nullishCoalesce(_nullishCoalesce(fromPath, () => ( parsed.searchParams.get("v"))), () => ( void 0));
18099
18410
  return id && YOUTUBE_ID.test(id) ? id : void 0;
18100
18411
  }
@@ -18213,11 +18524,11 @@ function cards(value, decodedSources) {
18213
18524
  {
18214
18525
  type,
18215
18526
  id,
18216
- title: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _563 => _563.name]), () => ( id)),
18217
- url: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _564 => _564.externalUrl]), () => ( null)),
18218
- ..._optionalChain([source, 'optionalAccess', _565 => _565.sourceRepo]) ? { sourceRepo: source.sourceRepo } : {},
18219
- ..._optionalChain([source, 'optionalAccess', _566 => _566.targetPlatform]) !== void 0 ? { targetPlatform: source.targetPlatform } : {},
18220
- ..._optionalChain([source, 'optionalAccess', _567 => _567.path]) ? { metadata: { path: source.path } } : {}
18527
+ title: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _583 => _583.name]), () => ( id)),
18528
+ url: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _584 => _584.externalUrl]), () => ( null)),
18529
+ ..._optionalChain([source, 'optionalAccess', _585 => _585.sourceRepo]) ? { sourceRepo: source.sourceRepo } : {},
18530
+ ..._optionalChain([source, 'optionalAccess', _586 => _586.targetPlatform]) !== void 0 ? { targetPlatform: source.targetPlatform } : {},
18531
+ ..._optionalChain([source, 'optionalAccess', _587 => _587.path]) ? { metadata: { path: source.path } } : {}
18221
18532
  }
18222
18533
  ];
18223
18534
  });
@@ -18253,11 +18564,11 @@ function attachmentsEvent(record) {
18253
18564
  }
18254
18565
  function mergeSourceMetadata(previous, event) {
18255
18566
  const byIndex = /* @__PURE__ */ new Map();
18256
- for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _568 => _568.sources]), () => ( [])), ..._nullishCoalesce(event.sources, () => ( []))]) {
18567
+ for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _588 => _588.sources]), () => ( [])), ..._nullishCoalesce(event.sources, () => ( []))]) {
18257
18568
  if (!byIndex.has(source.index)) byIndex.set(source.index, source);
18258
18569
  }
18259
18570
  const byIdentity = /* @__PURE__ */ new Map();
18260
- for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _569 => _569.refs]), () => ( [])), ..._nullishCoalesce(event.refs, () => ( []))]) {
18571
+ for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _589 => _589.refs]), () => ( [])), ..._nullishCoalesce(event.refs, () => ( []))]) {
18261
18572
  const identity = `${ref.type}:${ref.id}`;
18262
18573
  if (!byIdentity.has(identity)) byIdentity.set(identity, ref);
18263
18574
  }
@@ -18343,9 +18654,9 @@ function appendToTrailingAssistant(prev, segments) {
18343
18654
  for (const seg of segments) {
18344
18655
  const tail = merged[merged.length - 1];
18345
18656
  const key = upsertKey(seg);
18346
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _570 => _570.type]) === "text") {
18657
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _590 => _590.type]) === "text") {
18347
18658
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
18348
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _571 => _571.type]) === "thinking") {
18659
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _591 => _591.type]) === "thinking") {
18349
18660
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
18350
18661
  } else if (key) {
18351
18662
  let idx = merged.findIndex((m) => upsertKey(m) === key);
@@ -18386,7 +18697,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
18386
18697
  }
18387
18698
  if (s.type !== "approval_batch") return s;
18388
18699
  const isAnchor = s.data.approvalRequestId === requestId;
18389
- const hasRow = _optionalChain([s, 'access', _572 => _572.data, 'access', _573 => _573.toolCalls, 'optionalAccess', _574 => _574.some, 'call', _575 => _575((c) => c.toolExecutionRequestId === requestId)]);
18700
+ const hasRow = _optionalChain([s, 'access', _592 => _592.data, 'access', _593 => _593.toolCalls, 'optionalAccess', _594 => _594.some, 'call', _595 => _595((c) => c.toolExecutionRequestId === requestId)]);
18390
18701
  if (!isAnchor && !hasRow) return s;
18391
18702
  const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
18392
18703
  const nextExecutions = hasRow ? {
@@ -18408,8 +18719,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
18408
18719
  };
18409
18720
  }
18410
18721
  function nextBatchExecution(prevExec, toolData) {
18411
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _576 => _576.status]) === "done") return null;
18412
- return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _577 => _577.result]), success: _optionalChain([prevExec, 'optionalAccess', _578 => _578.success]) };
18722
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _596 => _596.status]) === "done") return null;
18723
+ return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _597 => _597.result]), success: _optionalChain([prevExec, 'optionalAccess', _598 => _598.success]) };
18413
18724
  }
18414
18725
  function withBatchExecution(seg, execId, state) {
18415
18726
  return {
@@ -18426,11 +18737,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
18426
18737
  }
18427
18738
  function projectBatchRowFailureToMessages(prev, rowRequestId) {
18428
18739
  return mapSegments(prev, (s) => {
18429
- if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _579 => _579.data, 'access', _580 => _580.toolCalls, 'optionalAccess', _581 => _581.some, 'call', _582 => _582((c) => c.toolExecutionRequestId === rowRequestId)])) {
18740
+ if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _599 => _599.data, 'access', _600 => _600.toolCalls, 'optionalAccess', _601 => _601.some, 'call', _602 => _602((c) => c.toolExecutionRequestId === rowRequestId)])) {
18430
18741
  return s;
18431
18742
  }
18432
- const existing = _optionalChain([s, 'access', _583 => _583.data, 'access', _584 => _584.executions, 'optionalAccess', _585 => _585[rowRequestId]]);
18433
- if (_optionalChain([existing, 'optionalAccess', _586 => _586.status]) === "done") return s;
18743
+ const existing = _optionalChain([s, 'access', _603 => _603.data, 'access', _604 => _604.executions, 'optionalAccess', _605 => _605[rowRequestId]]);
18744
+ if (_optionalChain([existing, 'optionalAccess', _606 => _606.status]) === "done") return s;
18434
18745
  return withBatchExecution(s, rowRequestId, { status: "done", success: false });
18435
18746
  });
18436
18747
  }
@@ -18466,7 +18777,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
18466
18777
  for (let j = message.segments.length - 1; j >= 0; j--) {
18467
18778
  const seg = message.segments[j];
18468
18779
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
18469
- const prevExec = _optionalChain([seg, 'access', _587 => _587.data, 'access', _588 => _588.executions, 'optionalAccess', _589 => _589[execId]]);
18780
+ const prevExec = _optionalChain([seg, 'access', _607 => _607.data, 'access', _608 => _608.executions, 'optionalAccess', _609 => _609[execId]]);
18470
18781
  const nextExec = nextBatchExecution(prevExec, toolData);
18471
18782
  if (nextExec === null) return prev;
18472
18783
  if (sameExecutionState(prevExec, nextExec)) return prev;
@@ -18639,9 +18950,9 @@ var MessageSegmentAccumulator = class {
18639
18950
  type: "tool_execution",
18640
18951
  data: {
18641
18952
  ...toolData,
18642
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _590 => _590.data, 'access', _591 => _591.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _592 => _592.toolTitle]))),
18643
- toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _593 => _593.data, 'access', _594 => _594.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _595 => _595.toolExplanation]))),
18644
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _596 => _596.parameters])
18953
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _610 => _610.data, 'access', _611 => _611.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _612 => _612.toolTitle]))),
18954
+ toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _613 => _613.data, 'access', _614 => _614.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _615 => _615.toolExplanation]))),
18955
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _616 => _616.parameters])
18645
18956
  }
18646
18957
  };
18647
18958
  if (existingIndex !== -1) {
@@ -18665,7 +18976,7 @@ var MessageSegmentAccumulator = class {
18665
18976
  if (seg.type !== "approval_batch") return seg;
18666
18977
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
18667
18978
  if (!hasCall) return seg;
18668
- const prev = _optionalChain([seg, 'access', _597 => _597.data, 'access', _598 => _598.executions, 'optionalAccess', _599 => _599[execId]]);
18979
+ const prev = _optionalChain([seg, 'access', _617 => _617.data, 'access', _618 => _618.executions, 'optionalAccess', _619 => _619[execId]]);
18669
18980
  const next = nextBatchExecution(prev, toolData);
18670
18981
  matched = true;
18671
18982
  if (next === null) return seg;
@@ -18799,8 +19110,8 @@ var MessageSegmentAccumulator = class {
18799
19110
  requestId,
18800
19111
  {
18801
19112
  ...pendingApproval,
18802
- command: _optionalChain([pendingApproval, 'optionalAccess', _600 => _600.command]) || "",
18803
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _601 => _601.approvalType]) || approvalType
19113
+ command: _optionalChain([pendingApproval, 'optionalAccess', _620 => _620.command]) || "",
19114
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _621 => _621.approvalType]) || approvalType
18804
19115
  },
18805
19116
  status
18806
19117
  );
@@ -18825,9 +19136,9 @@ var MessageSegmentAccumulator = class {
18825
19136
  type: "escalation_offer",
18826
19137
  // The resolved chunk carries no text/origin — a redelivered offer must
18827
19138
  // not blank the card the PENDING chunk already painted.
18828
- data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess', _602 => _602.data, 'access', _603 => _603.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _604 => _604.data, 'access', _605 => _605.origin]))) },
19139
+ data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess', _622 => _622.data, 'access', _623 => _623.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _624 => _624.data, 'access', _625 => _625.origin]))) },
18829
19140
  status,
18830
- resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _606 => _606.resolvedByName]))),
19141
+ resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _626 => _626.resolvedByName]))),
18831
19142
  onApprove: this.callbacks.onEscalationApprove,
18832
19143
  onReject: this.callbacks.onEscalationReject
18833
19144
  };
@@ -19147,7 +19458,7 @@ function createChatStreamReducer(options = {}) {
19147
19458
  let stateCache = null;
19148
19459
  function invalidate() {
19149
19460
  stateCache = null;
19150
- _optionalChain([onChange, 'optionalCall', _607 => _607()]);
19461
+ _optionalChain([onChange, 'optionalCall', _627 => _627()]);
19151
19462
  }
19152
19463
  function getState() {
19153
19464
  if (!stateCache) {
@@ -19165,7 +19476,7 @@ function createChatStreamReducer(options = {}) {
19165
19476
  return stateCache;
19166
19477
  }
19167
19478
  function emit(name, ...args) {
19168
- _optionalChain([onEffect, 'optionalCall', _608 => _608({ name, args })]);
19479
+ _optionalChain([onEffect, 'optionalCall', _628 => _628({ name, args })]);
19169
19480
  }
19170
19481
  function setMessagesInternal(next) {
19171
19482
  if (next !== messages) {
@@ -19208,12 +19519,12 @@ function createChatStreamReducer(options = {}) {
19208
19519
  return stampTrailingAssistantSourceMetadata(stampTrailingAssistantSeq(next, seq));
19209
19520
  }
19210
19521
  function applySegmentsToState(segments, meta) {
19211
- const seq = _optionalChain([meta, 'optionalAccess', _609 => _609.streamSeq]);
19212
- if (_optionalChain([meta, 'optionalAccess', _610 => _610.append]) && meta.isCompacting) {
19522
+ const seq = _optionalChain([meta, 'optionalAccess', _629 => _629.streamSeq]);
19523
+ if (_optionalChain([meta, 'optionalAccess', _630 => _630.append]) && meta.isCompacting) {
19213
19524
  setMessagesInternal(commitTrailingAssistant(upsertTrailingCompaction(messages, segments), seq));
19214
19525
  return;
19215
19526
  }
19216
- if (_optionalChain([meta, 'optionalAccess', _611 => _611.append])) {
19527
+ if (_optionalChain([meta, 'optionalAccess', _631 => _631.append])) {
19217
19528
  setMessagesInternal(commitTrailingAssistant(appendToTrailingAssistant(messages, segments), seq));
19218
19529
  return;
19219
19530
  }
@@ -19225,7 +19536,7 @@ function createChatStreamReducer(options = {}) {
19225
19536
  adoptTrailingAssistant = false;
19226
19537
  const last = messages[messages.length - 1];
19227
19538
  if (!last || last.role !== "assistant" || adoptTail) return;
19228
- const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _612 => _612.segments, 'optionalAccess', _613 => _613.length]), () => ( 0))) > 0 || last.content !== "";
19539
+ const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _632 => _632.segments, 'optionalAccess', _633 => _633.length]), () => ( 0))) > 0 || last.content !== "";
19229
19540
  if (!hasContent) return;
19230
19541
  setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
19231
19542
  }
@@ -19444,13 +19755,13 @@ function createChatStreamReducer(options = {}) {
19444
19755
  const summary = required ? _chunkKT3U3ZRPcjs.getCommandText.call(void 0, required) : `Batch of ${toolCalls.length} tool calls`;
19445
19756
  pendingEscalated.set(requestId, {
19446
19757
  command: summary,
19447
- explanation: _optionalChain([required, 'optionalAccess', _614 => _614.toolExplanation]),
19758
+ explanation: _optionalChain([required, 'optionalAccess', _634 => _634.toolExplanation]),
19448
19759
  approvalType,
19449
19760
  toolCalls
19450
19761
  });
19451
19762
  emit("onEscalatedApproval", requestId, {
19452
19763
  command: summary,
19453
- explanation: _optionalChain([required, 'optionalAccess', _615 => _615.toolExplanation]),
19764
+ explanation: _optionalChain([required, 'optionalAccess', _635 => _635.toolExplanation]),
19454
19765
  approvalType
19455
19766
  });
19456
19767
  break;
@@ -19838,7 +20149,7 @@ function createChatStreamReducer(options = {}) {
19838
20149
  const resolveBatch = (status, confirm) => async () => {
19839
20150
  setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
19840
20151
  for (const id of ids) {
19841
- const ok = await _optionalChain([confirm, 'optionalCall', _616 => _616(id)]);
20152
+ const ok = await _optionalChain([confirm, 'optionalCall', _636 => _636(id)]);
19842
20153
  if (ok === false) {
19843
20154
  setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
19844
20155
  }
@@ -19974,8 +20285,8 @@ function createChatStreamReducer(options = {}) {
19974
20285
  }
19975
20286
  }
19976
20287
  }
19977
- hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _617 => _617.resumed]), () => ( messages.length > 0)));
19978
- if (_optionalChain([extras, 'optionalAccess', _618 => _618.agentBusy])) agentBusyState();
20288
+ hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _637 => _637.resumed]), () => ( messages.length > 0)));
20289
+ if (_optionalChain([extras, 'optionalAccess', _638 => _638.agentBusy])) agentBusyState();
19979
20290
  invalidate();
19980
20291
  }
19981
20292
  return {
@@ -20062,7 +20373,7 @@ function createChatStreamReducer(options = {}) {
20062
20373
  },
20063
20374
  endSseTurn() {
20064
20375
  const last = messages[messages.length - 1];
20065
- if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _619 => _619.segments, 'optionalAccess', _620 => _620.length]), () => ( 0))) === 0 && last.content === "") {
20376
+ if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _639 => _639.segments, 'optionalAccess', _640 => _640.length]), () => ( 0))) === 0 && last.content === "") {
20066
20377
  messages = messages.slice(0, -1);
20067
20378
  }
20068
20379
  sseCurrentText = "";
@@ -20216,10 +20527,10 @@ function createChatDialogStore(options = {}) {
20216
20527
  if (onEvict) {
20217
20528
  const sep = key.indexOf(KEY_SEP);
20218
20529
  onEvict(key.slice(0, sep), key.slice(sep + 1), {
20219
- messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _621 => _621.state, 'access', _622 => _622.messages]), () => ( EMPTY_STATE.messages)),
20220
- approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _623 => _623.state, 'access', _624 => _624.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
20221
- lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _625 => _625.getLastAppliedSeq, 'call', _626 => _626()]), () => ( Number.NEGATIVE_INFINITY)),
20222
- pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _627 => _627.getPendingEchoes, 'call', _628 => _628()]), () => ( EMPTY_PENDING_ECHOES))
20530
+ messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _641 => _641.state, 'access', _642 => _642.messages]), () => ( EMPTY_STATE.messages)),
20531
+ approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _643 => _643.state, 'access', _644 => _644.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
20532
+ lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _645 => _645.getLastAppliedSeq, 'call', _646 => _646()]), () => ( Number.NEGATIVE_INFINITY)),
20533
+ pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _647 => _647.getPendingEchoes, 'call', _648 => _648()]), () => ( EMPTY_PENDING_ECHOES))
20223
20534
  });
20224
20535
  }
20225
20536
  }
@@ -20229,12 +20540,12 @@ function createChatDialogStore(options = {}) {
20229
20540
  const key = keyOf(dialogId, side);
20230
20541
  let reducer = reducers.get(key);
20231
20542
  if (!reducer) {
20232
- const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _629 => _629(dialogId, side)]), () => ( {}));
20543
+ const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _649 => _649(dialogId, side)]), () => ( {}));
20233
20544
  const userOnChange = base.onChange;
20234
20545
  reducer = createChatStreamReducer({
20235
20546
  ...base,
20236
20547
  onChange: () => {
20237
- _optionalChain([userOnChange, 'optionalCall', _630 => _630()]);
20548
+ _optionalChain([userOnChange, 'optionalCall', _650 => _650()]);
20238
20549
  notify();
20239
20550
  }
20240
20551
  });
@@ -20279,7 +20590,7 @@ function createChatDialogStore(options = {}) {
20279
20590
  };
20280
20591
  }
20281
20592
  function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
20282
- return _nullishCoalesce(_optionalChain([reducers, 'access', _631 => _631.get, 'call', _632 => _632(keyOf(dialogId, side)), 'optionalAccess', _633 => _633.state]), () => ( EMPTY_STATE));
20593
+ return _nullishCoalesce(_optionalChain([reducers, 'access', _651 => _651.get, 'call', _652 => _652(keyOf(dialogId, side)), 'optionalAccess', _653 => _653.state]), () => ( EMPTY_STATE));
20283
20594
  }
20284
20595
  function getServerSnapshot2() {
20285
20596
  return EMPTY_STATE;
@@ -20371,7 +20682,7 @@ function createDeltaBatcher({
20371
20682
  pending = [];
20372
20683
  const key = pendingKey;
20373
20684
  for (const delta of batch) applyOne(delta, key);
20374
- _optionalChain([onFlushed, 'optionalCall', _634 => _634(batch.length)]);
20685
+ _optionalChain([onFlushed, 'optionalCall', _654 => _654(batch.length)]);
20375
20686
  }
20376
20687
  function schedule() {
20377
20688
  if (raf !== null || timer !== null) return;
@@ -20395,7 +20706,7 @@ function createDeltaBatcher({
20395
20706
  }
20396
20707
  if (!isDeltaEvent(event)) return false;
20397
20708
  const tail = pending[pending.length - 1];
20398
- const seqAdvances = _optionalChain([tail, 'optionalAccess', _635 => _635.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
20709
+ const seqAdvances = _optionalChain([tail, 'optionalAccess', _655 => _655.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
20399
20710
  if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
20400
20711
  pending[pending.length - 1] = {
20401
20712
  ...tail,
@@ -20426,7 +20737,7 @@ function useChatStreamReducer({
20426
20737
  side = DEFAULT_DIALOG_SIDE,
20427
20738
  createReducerOptions
20428
20739
  }) {
20429
- const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _636 => _636()]), () => ( {})));
20740
+ const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _656 => _656()]), () => ( {})));
20430
20741
  const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
20431
20742
  const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
20432
20743
  const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
@@ -20465,7 +20776,7 @@ var STORAGE_KEY = "conversation";
20465
20776
  var namespaceFor = (source) => {
20466
20777
  const base = `mingo-chat-${source}`;
20467
20778
  const auth = _chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, );
20468
- return _optionalChain([auth, 'optionalAccess', _637 => _637.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
20779
+ return _optionalChain([auth, 'optionalAccess', _657 => _657.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
20469
20780
  };
20470
20781
  function createChatConversationStorage(source) {
20471
20782
  return _chunkULWVKHSIcjs.createLocalStorageAdapter.call(void 0, {
@@ -20596,7 +20907,7 @@ function useChatHistoryHydration({
20596
20907
  if (cancelled) return;
20597
20908
  if (rows.length === 0) {
20598
20909
  const found = isRecord(body) ? body.found : void 0;
20599
- if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall', _638 => _638(conversationId)]);
20910
+ if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall', _658 => _658(conversationId)]);
20600
20911
  return;
20601
20912
  }
20602
20913
  const hydrated = [];
@@ -20740,7 +21051,7 @@ function useManagedDialogList({
20740
21051
  try {
20741
21052
  await deleteDialogCallback(id);
20742
21053
  removeLocal(id);
20743
- _optionalChain([onDialogRemovedRef, 'access', _639 => _639.current, 'optionalCall', _640 => _640(id, "deleted")]);
21054
+ _optionalChain([onDialogRemovedRef, 'access', _659 => _659.current, 'optionalCall', _660 => _660(id, "deleted")]);
20744
21055
  } catch (err) {
20745
21056
  console.error(`${logTag} deleteDialog failed:`, err);
20746
21057
  throw err;
@@ -20751,7 +21062,7 @@ function useManagedDialogList({
20751
21062
  const renameDialog = _react.useCallback.call(void 0,
20752
21063
  async (id, title) => {
20753
21064
  if (!renameDialogCallback) return;
20754
- const previous = _optionalChain([dialogsRef, 'access', _641 => _641.current, 'access', _642 => _642.find, 'call', _643 => _643((d) => d.id === id), 'optionalAccess', _644 => _644.title]);
21065
+ const previous = _optionalChain([dialogsRef, 'access', _661 => _661.current, 'access', _662 => _662.find, 'call', _663 => _663((d) => d.id === id), 'optionalAccess', _664 => _664.title]);
20755
21066
  setDialogs((prev) => prev.map((d) => d.id === id ? { ...d, title } : d));
20756
21067
  try {
20757
21068
  await renameDialogCallback(id, title);
@@ -20770,7 +21081,7 @@ function useManagedDialogList({
20770
21081
  try {
20771
21082
  await archiveDialogCallback(id);
20772
21083
  removeLocal(id);
20773
- _optionalChain([onDialogRemovedRef, 'access', _645 => _645.current, 'optionalCall', _646 => _646(id, "archived")]);
21084
+ _optionalChain([onDialogRemovedRef, 'access', _665 => _665.current, 'optionalCall', _666 => _666(id, "archived")]);
20774
21085
  } catch (err) {
20775
21086
  console.error(`${logTag} archiveDialog failed:`, err);
20776
21087
  throw err;
@@ -20862,7 +21173,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20862
21173
  const { active = true } = runtimeOptions;
20863
21174
  const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
20864
21175
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
20865
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _647 => _647.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
21176
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _667 => _667.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
20866
21177
  const sendMessageRef = _react.useRef.call(void 0,
20867
21178
  () => Promise.resolve(true)
20868
21179
  );
@@ -20898,7 +21209,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20898
21209
  if (!restoredConversationRef.current) {
20899
21210
  restoredConversationRef.current = true;
20900
21211
  pruneStaleChatConversationStorage(source);
20901
- conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _648 => _648.load, 'call', _649 => _649(), 'optionalAccess', _650 => _650.conversationId]), () => ( null));
21212
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _668 => _668.load, 'call', _669 => _669(), 'optionalAccess', _670 => _670.conversationId]), () => ( null));
20902
21213
  }
20903
21214
  const [conversationId, setConversationId] = _react.useState.call(void 0, () => conversationIdRef.current);
20904
21215
  const commitConversationId = _react.useCallback.call(void 0,
@@ -20989,7 +21300,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20989
21300
  const abortControllerRef = _react.useRef.call(void 0, null);
20990
21301
  const switchConversation = _react.useCallback.call(void 0,
20991
21302
  (id) => {
20992
- _optionalChain([abortControllerRef, 'access', _651 => _651.current, 'optionalAccess', _652 => _652.abort, 'call', _653 => _653()]);
21303
+ _optionalChain([abortControllerRef, 'access', _671 => _671.current, 'optionalAccess', _672 => _672.abort, 'call', _673 => _673()]);
20993
21304
  flushDeltas();
20994
21305
  mutate((r) => r.reset());
20995
21306
  hydrationSendCountRef.current = 0;
@@ -21026,8 +21337,8 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21026
21337
  } = useManagedDialogList({
21027
21338
  autoLoad: active,
21028
21339
  fetchDialogs: fetchActiveDialogs,
21029
- renameDialog: _optionalChain([conversationsApi, 'optionalAccess', _654 => _654.renameDialog]),
21030
- archiveDialog: _optionalChain([conversationsApi, 'optionalAccess', _655 => _655.archiveDialog]),
21340
+ renameDialog: _optionalChain([conversationsApi, 'optionalAccess', _674 => _674.renameDialog]),
21341
+ archiveDialog: _optionalChain([conversationsApi, 'optionalAccess', _675 => _675.archiveDialog]),
21031
21342
  pageSize: 20,
21032
21343
  search: conversationsApi ? dialogSearch : void 0,
21033
21344
  logTag: "[useSseChatAdapter]",
@@ -21091,7 +21402,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21091
21402
  const serverMessage = await readServerErrorMessage(response);
21092
21403
  throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
21093
21404
  }
21094
- const reader = _optionalChain([response, 'access', _656 => _656.body, 'optionalAccess', _657 => _657.getReader, 'call', _658 => _658()]);
21405
+ const reader = _optionalChain([response, 'access', _676 => _676.body, 'optionalAccess', _677 => _677.getReader, 'call', _678 => _678()]);
21095
21406
  if (!reader) throw new Error("No response body");
21096
21407
  const frameDecoder = createSseFrameDecoder();
21097
21408
  let finished = false;
@@ -21120,7 +21431,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21120
21431
  }
21121
21432
  return true;
21122
21433
  } catch (err) {
21123
- if (_optionalChain([err, 'optionalAccess', _659 => _659.name]) === "AbortError" || ctrl.signal.aborted) {
21434
+ if (_optionalChain([err, 'optionalAccess', _679 => _679.name]) === "AbortError" || ctrl.signal.aborted) {
21124
21435
  return true;
21125
21436
  }
21126
21437
  flushDeltas();
@@ -21156,7 +21467,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21156
21467
  );
21157
21468
  sendMessageRef.current = sendMessage;
21158
21469
  const stopMessage = _react.useCallback.call(void 0, () => {
21159
- _optionalChain([abortControllerRef, 'access', _660 => _660.current, 'optionalAccess', _661 => _661.abort, 'call', _662 => _662()]);
21470
+ _optionalChain([abortControllerRef, 'access', _680 => _680.current, 'optionalAccess', _681 => _681.abort, 'call', _682 => _682()]);
21160
21471
  flushDeltas();
21161
21472
  mutate((r) => r.setPhase("idle"));
21162
21473
  }, [mutate, flushDeltas]);
@@ -21192,7 +21503,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21192
21503
  let sendIdx = -1;
21193
21504
  return state.messages.map((m) => {
21194
21505
  const segments = m.segments;
21195
- const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _663 => _663.filter, 'call', _664 => _664((s) => s.type === "text"), 'access', _665 => _665.map, 'call', _666 => _666((s) => s.text), 'access', _667 => _667.join, 'call', _668 => _668("")]), () => ( ""));
21506
+ const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _683 => _683.filter, 'call', _684 => _684((s) => s.type === "text"), 'access', _685 => _685.map, 'call', _686 => _686((s) => s.text), 'access', _687 => _687.join, 'call', _688 => _688("")]), () => ( ""));
21196
21507
  let sources2;
21197
21508
  let scrollAnchor;
21198
21509
  if (m.role === "user" && !m.hidden) {
@@ -21201,7 +21512,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21201
21512
  if (m.role === "assistant") {
21202
21513
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
21203
21514
  sources2 = sourcesMap.get(lookupIdx);
21204
- scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _669 => _669.get, 'call', _670 => _670(lookupIdx), 'optionalAccess', _671 => _671.scrollAnchor]), () => ( void 0));
21515
+ scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _689 => _689.get, 'call', _690 => _690(lookupIdx), 'optionalAccess', _691 => _691.scrollAnchor]), () => ( void 0));
21205
21516
  }
21206
21517
  return {
21207
21518
  id: m.id,
@@ -21228,7 +21539,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21228
21539
  );
21229
21540
  return;
21230
21541
  }
21231
- const refSlug = typeof _optionalChain([reference, 'access', _672 => _672.metadata, 'optionalAccess', _673 => _673.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
21542
+ const refSlug = typeof _optionalChain([reference, 'access', _692 => _692.metadata, 'optionalAccess', _693 => _693.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
21232
21543
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
21233
21544
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
21234
21545
  const text2 = `/${cmdId} display "${escaped}"`;
@@ -21276,18 +21587,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21276
21587
  /** True while the mount-time rebuild from the server transcript runs. */
21277
21588
  isHydratingHistory,
21278
21589
  /** Provider key for the lib's `<ModelDisplay>` icon. */
21279
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _674 => _674.provider]), () => ( null)),
21280
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _675 => _675.modelLabel]), () => ( null)),
21281
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _676 => _676.contextWindowMaxTokens]), () => ( null)),
21590
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _694 => _694.provider]), () => ( null)),
21591
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _695 => _695.modelLabel]), () => ( null)),
21592
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _696 => _696.contextWindowMaxTokens]), () => ( null)),
21282
21593
  /** Input tokens (known after server's message_start frame; null until). */
21283
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _677 => _677.inputTokens]), () => ( null)),
21594
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _697 => _697.inputTokens]), () => ( null)),
21284
21595
  /** Output tokens (known only after server's trailing usage frame). */
21285
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _678 => _678.outputTokens]), () => ( null)),
21596
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _698 => _698.outputTokens]), () => ( null)),
21286
21597
  /** Cache hit % (read / total-input × 100). null during streaming. */
21287
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _679 => _679.cacheHitRatePct]), () => ( null)),
21598
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _699 => _699.cacheHitRatePct]), () => ( null)),
21288
21599
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
21289
21600
  * token counts). null until the trailing usage frame lands. */
21290
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _680 => _680.breakdown]), () => ( null)),
21601
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _700 => _700.breakdown]), () => ( null)),
21291
21602
  // ─── Dialog management ───────────────────────────────────────────────
21292
21603
  // With `chatConversationsUrl` the server transcript store IS the dialog
21293
21604
  // list (shared `useManagedDialogList`); selecting a row re-hydrates through
@@ -21543,7 +21854,7 @@ function decodeNatsChunk(chunk) {
21543
21854
  userId: typeof data.userId === "string" ? data.userId : void 0,
21544
21855
  // Wire shape carries no label; fall back to the id (parity with
21545
21856
  // the history path in `process-historical-messages.ts`).
21546
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _681 => _681.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _682 => _682.id]) === "string").map((it) => ({
21857
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _701 => _701.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _702 => _702.id]) === "string").map((it) => ({
21547
21858
  type: it.type,
21548
21859
  id: it.id,
21549
21860
  label: it.id
@@ -21634,7 +21945,7 @@ function extractIncompleteMessageState(lastMessage) {
21634
21945
  }
21635
21946
  break;
21636
21947
  case "approval_batch": {
21637
- const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _683 => _683.data, 'access', _684 => _684.executions, 'optionalAccess', _685 => _685[c.toolExecutionRequestId], 'optionalAccess', _686 => _686.status]) === "done");
21948
+ const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _703 => _703.data, 'access', _704 => _704.executions, 'optionalAccess', _705 => _705[c.toolExecutionRequestId], 'optionalAccess', _706 => _706.status]) === "done");
21638
21949
  if (segment.status !== "rejected" && !allDone) {
21639
21950
  hasIncompleteState = true;
21640
21951
  }
@@ -21696,11 +22007,11 @@ function extractIncompleteMessageState(lastMessage) {
21696
22007
  function extractIncompleteTailState(messages) {
21697
22008
  if (!messages || messages.length === 0) return void 0;
21698
22009
  let start = messages.length;
21699
- while (start > 0 && _optionalChain([messages, 'access', _687 => _687[start - 1], 'optionalAccess', _688 => _688.role]) === "assistant") start -= 1;
22010
+ while (start > 0 && _optionalChain([messages, 'access', _707 => _707[start - 1], 'optionalAccess', _708 => _708.role]) === "assistant") start -= 1;
21700
22011
  if (start === messages.length) return void 0;
21701
22012
  const segments = [];
21702
22013
  for (let i = start; i < messages.length; i += 1) {
21703
- const content = _optionalChain([messages, 'access', _689 => _689[i], 'optionalAccess', _690 => _690.content]);
22014
+ const content = _optionalChain([messages, 'access', _709 => _709[i], 'optionalAccess', _710 => _710.content]);
21704
22015
  if (Array.isArray(content)) segments.push(...content);
21705
22016
  }
21706
22017
  if (segments.length === 0) return void 0;
@@ -21713,15 +22024,15 @@ function extractIncompleteTailState(messages) {
21713
22024
 
21714
22025
  // src/components/chat/utils/process-historical-messages.ts
21715
22026
  function getOwnerDisplayName(owner) {
21716
- if (_optionalChain([owner, 'optionalAccess', _691 => _691.type]) === _chunkDC4RTYWKcjs.OWNER_TYPE.ADMIN && owner.user) {
22027
+ if (_optionalChain([owner, 'optionalAccess', _711 => _711.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.ADMIN && owner.user) {
21717
22028
  const { firstName, lastName } = owner.user;
21718
22029
  const name = [firstName, lastName].filter(Boolean).join(" ");
21719
22030
  if (name) return name;
21720
22031
  }
21721
- return _optionalChain([owner, 'optionalAccess', _692 => _692.type]) === _chunkDC4RTYWKcjs.OWNER_TYPE.ADMIN ? "Admin" : "You";
22032
+ return _optionalChain([owner, 'optionalAccess', _712 => _712.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.ADMIN ? "Admin" : "You";
21722
22033
  }
21723
22034
  function getOwnerAvatar(owner) {
21724
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _693 => _693.user, 'optionalAccess', _694 => _694.image, 'optionalAccess', _695 => _695.imageUrl]), () => ( void 0));
22035
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _713 => _713.user, 'optionalAccess', _714 => _714.image, 'optionalAccess', _715 => _715.imageUrl]), () => ( void 0));
21725
22036
  }
21726
22037
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
21727
22038
  messageDataArray.forEach((data) => {
@@ -21913,7 +22224,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21913
22224
  event.offerId,
21914
22225
  event.text,
21915
22226
  event.origin,
21916
- _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _696 => _696[event.offerId]]), () => ( "pending"))
22227
+ _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _716 => _716[event.offerId]]), () => ( "pending"))
21917
22228
  );
21918
22229
  break;
21919
22230
  case "ticket-escalated":
@@ -21947,7 +22258,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21947
22258
  );
21948
22259
  break;
21949
22260
  case "escalation-offer-resolved":
21950
- _optionalChain([offerResolutions, 'optionalAccess', _697 => _697.set, 'call', _698 => _698(event.offerId, {
22261
+ _optionalChain([offerResolutions, 'optionalAccess', _717 => _717.set, 'call', _718 => _718(event.offerId, {
21951
22262
  status: event.status,
21952
22263
  resolvedByName: event.resolvedByName
21953
22264
  })]);
@@ -22011,7 +22322,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22011
22322
  }
22012
22323
  }
22013
22324
  } else {
22014
- _optionalChain([escalatedApprovals, 'optionalAccess', _699 => _699.set, 'call', _700 => _700(event.requestId, {
22325
+ _optionalChain([escalatedApprovals, 'optionalAccess', _719 => _719.set, 'call', _720 => _720(event.requestId, {
22015
22326
  command: event.command || "",
22016
22327
  explanation: event.explanation,
22017
22328
  approvalType,
@@ -22026,8 +22337,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22026
22337
  const existingStatus = approvalStatuses[requestId];
22027
22338
  const status = existingStatus || event.status;
22028
22339
  const resolvedByName = event.resolvedByName;
22029
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _701 => _701.get, 'call', _702 => _702(requestId)]);
22030
- if (_optionalChain([escalatedData, 'optionalAccess', _703 => _703.toolCalls]) && escalatedData.toolCalls.length > 0) {
22340
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _721 => _721.get, 'call', _722 => _722(requestId)]);
22341
+ if (_optionalChain([escalatedData, 'optionalAccess', _723 => _723.toolCalls]) && escalatedData.toolCalls.length > 0) {
22031
22342
  if (batchApprovalsEnabled) {
22032
22343
  accumulator.addApprovalBatch(
22033
22344
  requestId,
@@ -22049,7 +22360,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22049
22360
  );
22050
22361
  }
22051
22362
  }
22052
- _optionalChain([escalatedApprovals, 'optionalAccess', _704 => _704.delete, 'call', _705 => _705(requestId)]);
22363
+ _optionalChain([escalatedApprovals, 'optionalAccess', _724 => _724.delete, 'call', _725 => _725(requestId)]);
22053
22364
  break;
22054
22365
  }
22055
22366
  if (escalatedData) {
@@ -22058,7 +22369,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22058
22369
  explanation: escalatedData.explanation,
22059
22370
  approvalType: escalatedData.approvalType
22060
22371
  });
22061
- _optionalChain([escalatedApprovals, 'optionalAccess', _706 => _706.delete, 'call', _707 => _707(requestId)]);
22372
+ _optionalChain([escalatedApprovals, 'optionalAccess', _726 => _726.delete, 'call', _727 => _727(requestId)]);
22062
22373
  }
22063
22374
  const before = accumulator.getSegments();
22064
22375
  const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
@@ -22150,14 +22461,14 @@ function processHistoricalMessages(messages, options = {}) {
22150
22461
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
22151
22462
  return;
22152
22463
  }
22153
- const isUserMessage = _optionalChain([msg, 'access', _708 => _708.owner, 'optionalAccess', _709 => _709.type]) === _chunkDC4RTYWKcjs.OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _710 => _710.owner, 'optionalAccess', _711 => _711.type]) === _chunkDC4RTYWKcjs.OWNER_TYPE.ADMIN;
22464
+ const isUserMessage = _optionalChain([msg, 'access', _728 => _728.owner, 'optionalAccess', _729 => _729.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _730 => _730.owner, 'optionalAccess', _731 => _731.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.ADMIN;
22154
22465
  if (isUserMessage) {
22155
22466
  flushAssistantMessage();
22156
- const userAuthorType = _optionalChain([msg, 'access', _712 => _712.owner, 'optionalAccess', _713 => _713.type]) === _chunkDC4RTYWKcjs.OWNER_TYPE.ADMIN ? "admin" : "user";
22467
+ const userAuthorType = _optionalChain([msg, 'access', _732 => _732.owner, 'optionalAccess', _733 => _733.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.ADMIN ? "admin" : "user";
22157
22468
  messageDataArray.forEach((data) => {
22158
22469
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
22159
22470
  const rawContext = data.contextItems;
22160
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _714 => _714.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _715 => _715.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
22471
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _734 => _734.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _735 => _735.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
22161
22472
  processedMessages.push({
22162
22473
  id: msg.id,
22163
22474
  role: "user",
@@ -22204,7 +22515,7 @@ function processHistoricalMessages(messages, options = {}) {
22204
22515
  });
22205
22516
  const nextMsg = messages[index + 1];
22206
22517
  const isLastMessage = index === messages.length - 1;
22207
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _716 => _716.owner, 'optionalAccess', _717 => _717.type]) === _chunkDC4RTYWKcjs.OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _718 => _718.owner, 'optionalAccess', _719 => _719.type]) === _chunkDC4RTYWKcjs.OWNER_TYPE.ADMIN);
22518
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _736 => _736.owner, 'optionalAccess', _737 => _737.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _738 => _738.owner, 'optionalAccess', _739 => _739.type]) === _chunkRZQGIWK3cjs.OWNER_TYPE.ADMIN);
22208
22519
  if (isLastMessage || nextIsFromUser) {
22209
22520
  flushAssistantMessage();
22210
22521
  }
@@ -22587,7 +22898,7 @@ function useNatsChatAdapter(config, options = {}) {
22587
22898
  const connectionState = !active || !dialogId ? "connected" : connectedForDialog === dialogId ? "connected" : "connecting";
22588
22899
  const sendMessage = _react.useCallback.call(void 0,
22589
22900
  async (text2, sendOptions) => {
22590
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _720 => _720.hidden]), () => ( false));
22901
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _740 => _740.hidden]), () => ( false));
22591
22902
  mutate((r) => r.pushOptimisticSend(text2, hidden));
22592
22903
  await publishUserMessage(text2, { hidden, dialogId });
22593
22904
  },
@@ -22680,11 +22991,11 @@ function useNatsChatAdapter(config, options = {}) {
22680
22991
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
22681
22992
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
22682
22993
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
22683
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _721 => _721.provider]), () => ( modelProvider)), () => ( null)),
22684
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _722 => _722.modelLabel]), () => ( modelLabel)), () => ( null)),
22685
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _723 => _723.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _724 => _724.contextWindowMaxTokens]))), () => ( null)),
22686
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _725 => _725.inputTokensSize]), () => ( null)),
22687
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _726 => _726.outputTokensSize]), () => ( null)),
22994
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _741 => _741.provider]), () => ( modelProvider)), () => ( null)),
22995
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _742 => _742.modelLabel]), () => ( modelLabel)), () => ( null)),
22996
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _743 => _743.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _744 => _744.contextWindowMaxTokens]))), () => ( null)),
22997
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _745 => _745.inputTokensSize]), () => ( null)),
22998
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _746 => _746.outputTokensSize]), () => ( null)),
22688
22999
  currentCacheHitRatePct: null,
22689
23000
  currentUsageBreakdown: null,
22690
23001
  // Dialog management
@@ -22806,7 +23117,7 @@ function useUnifiedChat(options) {
22806
23117
  []
22807
23118
  );
22808
23119
  const displayRefForward = _react.useCallback.call(void 0,
22809
- (ref) => _optionalChain([activeStateRef, 'access', _727 => _727.current, 'access', _728 => _728.displayRef, 'optionalCall', _729 => _729(ref)]),
23120
+ (ref) => _optionalChain([activeStateRef, 'access', _747 => _747.current, 'access', _748 => _748.displayRef, 'optionalCall', _749 => _749(ref)]),
22810
23121
  []
22811
23122
  );
22812
23123
  const displayRef = activeState.displayRef ? displayRefForward : void 0;
@@ -22816,7 +23127,7 @@ function useUnifiedChat(options) {
22816
23127
  const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
22817
23128
  const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
22818
23129
  const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
22819
- const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _730 => _730.current, 'access', _731 => _731.setDialogScope, 'optionalCall', _732 => _732(scope)]), []);
23130
+ const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _750 => _750.current, 'access', _751 => _751.setDialogScope, 'optionalCall', _752 => _752(scope)]), []);
22820
23131
  const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
22821
23132
  const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
22822
23133
  const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
@@ -22926,19 +23237,19 @@ function turnRequestKeys(content) {
22926
23237
  if (!Array.isArray(content)) return keys;
22927
23238
  for (const seg of content) {
22928
23239
  if (seg.type === "tool_execution") {
22929
- const id = _optionalChain([seg, 'access', _733 => _733.data, 'optionalAccess', _734 => _734.toolExecutionRequestId]);
23240
+ const id = _optionalChain([seg, 'access', _753 => _753.data, 'optionalAccess', _754 => _754.toolExecutionRequestId]);
22930
23241
  if (id) keys.add(id);
22931
23242
  } else if (seg.type === "approval_request") {
22932
- const id = _optionalChain([seg, 'access', _735 => _735.data, 'optionalAccess', _736 => _736.requestId]);
23243
+ const id = _optionalChain([seg, 'access', _755 => _755.data, 'optionalAccess', _756 => _756.requestId]);
22933
23244
  if (id) keys.add(id);
22934
23245
  } else if (seg.type === "escalation_offer") {
22935
- const id = _optionalChain([seg, 'access', _737 => _737.data, 'optionalAccess', _738 => _738.offerId]);
23246
+ const id = _optionalChain([seg, 'access', _757 => _757.data, 'optionalAccess', _758 => _758.offerId]);
22936
23247
  if (id) keys.add(id);
22937
23248
  } else if (seg.type === "approval_batch") {
22938
23249
  const data = seg.data;
22939
- if (_optionalChain([data, 'optionalAccess', _739 => _739.approvalRequestId])) keys.add(data.approvalRequestId);
22940
- for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _740 => _740.toolCalls]), () => ( []))) {
22941
- if (_optionalChain([call, 'optionalAccess', _741 => _741.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
23250
+ if (_optionalChain([data, 'optionalAccess', _759 => _759.approvalRequestId])) keys.add(data.approvalRequestId);
23251
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _760 => _760.toolCalls]), () => ( []))) {
23252
+ if (_optionalChain([call, 'optionalAccess', _761 => _761.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
22942
23253
  }
22943
23254
  }
22944
23255
  }
@@ -23023,18 +23334,18 @@ function mergeHistoryWithRealtime(input) {
23023
23334
  }
23024
23335
  }
23025
23336
  const trailing = processedHistory[processedHistory.length - 1];
23026
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _742 => _742.role]) === "assistant" ? trailing : null;
23027
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _743 => _743.content, 'access', _744 => _744.find, 'call', _745 => _745((s) => s.type === "approval_batch"), 'optionalAccess', _746 => _746.data, 'optionalAccess', _747 => _747.approvalRequestId]), () => ( null)) : null;
23337
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _762 => _762.role]) === "assistant" ? trailing : null;
23338
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _763 => _763.content, 'access', _764 => _764.find, 'call', _765 => _765((s) => s.type === "approval_batch"), 'optionalAccess', _766 => _766.data, 'optionalAccess', _767 => _767.approvalRequestId]), () => ( null)) : null;
23028
23339
  let processedToUse = processedHistory;
23029
23340
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
23030
23341
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
23031
23342
  if (historyBatchId) {
23032
23343
  const batchTwins = existingMessages.filter(
23033
- (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _748 => _748.data, 'optionalAccess', _749 => _749.approvalRequestId]) === historyBatchId)
23344
+ (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _768 => _768.data, 'optionalAccess', _769 => _769.approvalRequestId]) === historyBatchId)
23034
23345
  );
23035
23346
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
23036
23347
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
23037
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _750 => _750.content])) ? historyTrailingAssistant.content.length : 0;
23348
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _770 => _770.content])) ? historyTrailingAssistant.content.length : 0;
23038
23349
  const realtimeSize = existingWithSameBatch.content.length;
23039
23350
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
23040
23351
  processedToUse = processedHistory.slice(0, -1);
@@ -23067,9 +23378,9 @@ function mergeHistoryWithRealtime(input) {
23067
23378
  const trailingAssistantText = lastProcessed && lastProcessed.role === "assistant" ? assistantAnswerText(lastProcessed.content) : "";
23068
23379
  const windowSignals = collectTwinSignals(processedToUse);
23069
23380
  const seenUserSyntheticByContent = /* @__PURE__ */ new Map();
23070
- const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _751 => _751.has, 'call', _752 => _752(m.id)]), () => ( false)));
23381
+ const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _771 => _771.has, 'call', _772 => _772(m.id)]), () => ( false)));
23071
23382
  const firstWindowIndex = existingMessages.findIndex(isInWindow);
23072
- const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _753 => _753.timestamp, 'optionalAccess', _754 => _754.getTime, 'call', _755 => _755()]), () => ( 0))) <= historyFetchedAt;
23383
+ const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _773 => _773.timestamp, 'optionalAccess', _774 => _774.getTime, 'call', _775 => _775()]), () => ( 0))) <= historyFetchedAt;
23073
23384
  let lastOlderPersistedIndex = -1;
23074
23385
  if (firstWindowIndex < 0) {
23075
23386
  for (const [index, m] of existingMessages.entries()) {
@@ -23087,7 +23398,7 @@ function mergeHistoryWithRealtime(input) {
23087
23398
  } else if (pm.role === "assistant") {
23088
23399
  windowHasUnstampedAssistant = true;
23089
23400
  }
23090
- const time = _optionalChain([pm, 'access', _756 => _756.timestamp, 'optionalAccess', _757 => _757.getTime, 'call', _758 => _758()]);
23401
+ const time = _optionalChain([pm, 'access', _776 => _776.timestamp, 'optionalAccess', _777 => _777.getTime, 'call', _778 => _778()]);
23091
23402
  if (typeof time === "number" && time < windowMinTime) windowMinTime = time;
23092
23403
  }
23093
23404
  const threadHasClientMintedRow = existingMessages.some((m) => isClientMintedId(m.id));
@@ -23105,14 +23416,14 @@ function mergeHistoryWithRealtime(input) {
23105
23416
  const verdict = twinVerdict(windowSignals, m);
23106
23417
  return verdict === "unknown" ? !seqCanMislead(m) : verdict === "distinct";
23107
23418
  }
23108
- const time = _optionalChain([m, 'access', _759 => _759.timestamp, 'optionalAccess', _760 => _760.getTime, 'call', _761 => _761()]);
23419
+ const time = _optionalChain([m, 'access', _779 => _779.timestamp, 'optionalAccess', _780 => _780.getTime, 'call', _781 => _781()]);
23109
23420
  if (typeof time !== "number" || time > historyFetchedAt) return false;
23110
23421
  if (!Number.isFinite(windowMinTime) || time >= windowMinTime) return false;
23111
23422
  return twinVerdict(windowSignals, m) === "distinct";
23112
23423
  };
23113
23424
  const keepRealtime = (m) => {
23114
23425
  if (m.role === "user" && isOptimisticId(m.id) && typeof m.content === "string") {
23115
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _762 => _762.timestamp, 'optionalAccess', _763 => _763.getTime, 'call', _764 => _764()]), () => ( 0))) <= historyFetchedAt;
23426
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _782 => _782.timestamp, 'optionalAccess', _783 => _783.getTime, 'call', _784 => _784()]), () => ( 0))) <= historyFetchedAt;
23116
23427
  return !(canBeInSnapshot && windowSignals.userContents.has(userTwinKey(m)));
23117
23428
  }
23118
23429
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -23137,7 +23448,7 @@ function mergeHistoryWithRealtime(input) {
23137
23448
  } else if (typeof m.streamSeq === "number") {
23138
23449
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
23139
23450
  } else {
23140
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _765 => _765.timestamp, 'optionalAccess', _766 => _766.getTime, 'call', _767 => _767()]), () => ( 0))) <= historyFetchedAt;
23451
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _785 => _785.timestamp, 'optionalAccess', _786 => _786.getTime, 'call', _787 => _787()]), () => ( 0))) <= historyFetchedAt;
23141
23452
  }
23142
23453
  if (covered) return false;
23143
23454
  }
@@ -23232,7 +23543,7 @@ function normalizeHistoricalMessageData(md) {
23232
23543
  function isHistoricalUserTurn(m) {
23233
23544
  return !!m.owner;
23234
23545
  }
23235
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _768 => _768.type]) === "TEXT" && typeof d.text === "string";
23546
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _788 => _788.type]) === "TEXT" && typeof d.text === "string";
23236
23547
  var THINK_MS = 550;
23237
23548
  var TOKEN_MS = 55;
23238
23549
  var USER_MS = 480;
@@ -23329,8 +23640,8 @@ function useResizablePanelSize({
23329
23640
  }) : null,
23330
23641
  [enabled, storageKey]
23331
23642
  );
23332
- const [held, setChosen] = _react.useState.call(void 0, () => ({ storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _769 => _769.load, 'call', _770 => _770(), 'optionalAccess', _771 => _771.size]), () => ( null)) }));
23333
- const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _772 => _772.load, 'call', _773 => _773(), 'optionalAccess', _774 => _774.size]), () => ( null)) };
23643
+ const [held, setChosen] = _react.useState.call(void 0, () => ({ storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _789 => _789.load, 'call', _790 => _790(), 'optionalAccess', _791 => _791.size]), () => ( null)) }));
23644
+ const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _792 => _792.load, 'call', _793 => _793(), 'optionalAccess', _794 => _794.size]), () => ( null)) };
23334
23645
  if (chosen !== held) setChosen(chosen);
23335
23646
  const chosenSize = chosen.size;
23336
23647
  const clampSize = _react.useCallback.call(void 0,
@@ -23346,7 +23657,7 @@ function useResizablePanelSize({
23346
23657
  (next) => {
23347
23658
  const nextSize = Math.round(clampSize(next));
23348
23659
  setChosen({ storage, size: nextSize });
23349
- _optionalChain([storage, 'optionalAccess', _775 => _775.save, 'call', _776 => _776({ size: nextSize })]);
23660
+ _optionalChain([storage, 'optionalAccess', _795 => _795.save, 'call', _796 => _796({ size: nextSize })]);
23350
23661
  },
23351
23662
  [clampSize, storage]
23352
23663
  );
@@ -23936,7 +24247,7 @@ function useChatDialogManager({
23936
24247
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
23937
24248
  if (restoreTarget) {
23938
24249
  try {
23939
- await _optionalChain([unarchiveDialog, 'optionalCall', _777 => _777(restoreTarget.id)]);
24250
+ await _optionalChain([unarchiveDialog, 'optionalCall', _797 => _797(restoreTarget.id)]);
23940
24251
  } catch (err) {
23941
24252
  console.error("[useChatDialogManager] unarchive failed:", err);
23942
24253
  return;
@@ -23947,7 +24258,7 @@ function useChatDialogManager({
23947
24258
  setRestoreTarget(null);
23948
24259
  }, [restoreTarget, unarchiveDialog]);
23949
24260
  const hostDialog = hostActiveDialog != null && hostActiveDialog.id === activeDialogId ? hostActiveDialog : void 0;
23950
- const isViewingArchived = viewingArchivedId != null && viewingArchivedId === activeDialogId || _optionalChain([hostDialog, 'optionalAccess', _778 => _778.archived]) === true;
24261
+ const isViewingArchived = viewingArchivedId != null && viewingArchivedId === activeDialogId || _optionalChain([hostDialog, 'optionalAccess', _798 => _798.archived]) === true;
23951
24262
  const handleBack = _react.useCallback.call(void 0, () => {
23952
24263
  const wasArchived = isViewingArchived;
23953
24264
  setViewingArchivedId(null);
@@ -24194,7 +24505,7 @@ function SourceChip({
24194
24505
  const Icon = cta.icon;
24195
24506
  const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
24196
24507
  const chipClass = chatChipClass({ tone: "secondary" });
24197
- const decideTab = (href, targetPlatform) => _chunkETYLOZOBcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
24508
+ const decideTab = (href, targetPlatform) => _chunkRFUOIQSGcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
24198
24509
  if (src.items && src.items.length > 0) {
24199
24510
  const dropdownItems = src.items.map((item) => {
24200
24511
  const itemCta = resolveSourceRowCTA(
@@ -24287,7 +24598,7 @@ function SourceChip({
24287
24598
  "a",
24288
24599
  {
24289
24600
  href: resolvedHref,
24290
- ..._chunkETYLOZOBcjs.newTabAnchorAttrs.call(void 0, isNewTab),
24601
+ ..._chunkRFUOIQSGcjs.newTabAnchorAttrs.call(void 0, isNewTab),
24291
24602
  onClick: buildClickHandler(resolvedHref, null, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
24292
24603
  className: chipClass,
24293
24604
  children: chipBody(src.name)
@@ -24303,7 +24614,7 @@ function SourceChip({
24303
24614
  "a",
24304
24615
  {
24305
24616
  href: resolvedHref,
24306
- ..._chunkETYLOZOBcjs.newTabAnchorAttrs.call(void 0, isNewTab),
24617
+ ..._chunkRFUOIQSGcjs.newTabAnchorAttrs.call(void 0, isNewTab),
24307
24618
  onClick: buildClickHandler(resolvedHref, src.path, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
24308
24619
  className: chipClass,
24309
24620
  title: displayName,
@@ -24415,7 +24726,7 @@ function EmbeddableChatInner({
24415
24726
  defaultActiveMode,
24416
24727
  shell = "drawer",
24417
24728
  closable = true,
24418
- appearance = _chunkDC4RTYWKcjs.CHAT_APPEARANCE.CLASSIC,
24729
+ appearance = _chunkRZQGIWK3cjs.CHAT_APPEARANCE.CLASSIC,
24419
24730
  onCollapse,
24420
24731
  collapseTo = "list",
24421
24732
  onExpand,
@@ -24433,7 +24744,7 @@ function EmbeddableChatInner({
24433
24744
  handleRef
24434
24745
  }) {
24435
24746
  const shellLess = shell !== "drawer";
24436
- const isV2 = appearance === _chunkDC4RTYWKcjs.CHAT_APPEARANCE.V2;
24747
+ const isV2 = appearance === _chunkRZQGIWK3cjs.CHAT_APPEARANCE.V2;
24437
24748
  const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
24438
24749
  const source = _nullishCoalesce(runtime.source, () => ( ""));
24439
24750
  const commandsUrl = runtime.endpoints.commandsUrl;
@@ -24495,7 +24806,7 @@ function EmbeddableChatInner({
24495
24806
  resolveSourceIcon: (sourceId) => {
24496
24807
  const iconName = getSourceIconName(sourceId);
24497
24808
  if (!iconName) return void 0;
24498
- return { Icon: _chunkPSVSEN4Jcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }), label: sourceId };
24809
+ return { Icon: _chunkIMTY3GRRcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }), label: sourceId };
24499
24810
  },
24500
24811
  onAction: (cmd, actionId) => {
24501
24812
  dispatchSlashCommandAction(actionId, cmd.id, chatInputRef);
@@ -24503,7 +24814,7 @@ function EmbeddableChatInner({
24503
24814
  }),
24504
24815
  [commandsUrl]
24505
24816
  );
24506
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _779 => _779.name, 'optionalAccess', _780 => _780.trim, 'call', _781 => _781()]) || [_optionalChain([identityUser, 'optionalAccess', _782 => _782.firstName]), _optionalChain([identityUser, 'optionalAccess', _783 => _783.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _784 => _784.trim, 'call', _785 => _785()]) || void 0;
24817
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _799 => _799.name, 'optionalAccess', _800 => _800.trim, 'call', _801 => _801()]) || [_optionalChain([identityUser, 'optionalAccess', _802 => _802.firstName]), _optionalChain([identityUser, 'optionalAccess', _803 => _803.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _804 => _804.trim, 'call', _805 => _805()]) || void 0;
24507
24818
  const effectiveModes = _react.useMemo.call(void 0, () => {
24508
24819
  if (modes) return modes;
24509
24820
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -24518,7 +24829,7 @@ function EmbeddableChatInner({
24518
24829
  if (controlledActiveMode === void 0) {
24519
24830
  setUncontrolledActiveMode(next);
24520
24831
  }
24521
- _optionalChain([onActiveModeChange, 'optionalCall', _786 => _786(next)]);
24832
+ _optionalChain([onActiveModeChange, 'optionalCall', _806 => _806(next)]);
24522
24833
  },
24523
24834
  [controlledActiveMode, onActiveModeChange]
24524
24835
  );
@@ -24545,7 +24856,7 @@ function EmbeddableChatInner({
24545
24856
  );
24546
24857
  const effectiveAssistantName = emptyStateConfig.name;
24547
24858
  const effectiveAssistantIcon = emptyStateConfig.icon;
24548
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _787 => _787.title]) === "string" ? guideWelcome.title : null)));
24859
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _807 => _807.title]) === "string" ? guideWelcome.title : null)));
24549
24860
  const {
24550
24861
  messages: rawMessages,
24551
24862
  isLoading: chatLoading,
@@ -24602,8 +24913,8 @@ function EmbeddableChatInner({
24602
24913
  const mingoCaps = _react.useMemo.call(void 0,
24603
24914
  () => ({
24604
24915
  ...dialogCapabilities,
24605
- canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _788 => _788.canRename]), () => ( false)),
24606
- canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _789 => _789.canArchive]), () => ( false))
24916
+ canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _808 => _808.canRename]), () => ( false)),
24917
+ canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _809 => _809.canArchive]), () => ( false))
24607
24918
  }),
24608
24919
  [dialogCapabilities]
24609
24920
  );
@@ -24618,7 +24929,7 @@ function EmbeddableChatInner({
24618
24929
  void sendMessage(guidePendingPrompt).catch((err) => {
24619
24930
  console.error("[EmbeddableChat] guide launcher prompt failed:", err);
24620
24931
  });
24621
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _790 => _790()]);
24932
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _810 => _810()]);
24622
24933
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
24623
24934
  const {
24624
24935
  attachments: stagedAttachments,
@@ -24629,7 +24940,7 @@ function EmbeddableChatInner({
24629
24940
  clear: clearAttachments
24630
24941
  } = useChatAttachments();
24631
24942
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
24632
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _791 => _791.maxItems]), () => ( 10));
24943
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _811 => _811.maxItems]), () => ( 10));
24633
24944
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
24634
24945
  const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
24635
24946
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -24658,10 +24969,10 @@ function EmbeddableChatInner({
24658
24969
  }, [composerKey, clearAttachments]);
24659
24970
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
24660
24971
  const m = /* @__PURE__ */ new Map();
24661
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _792 => _792.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
24972
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _812 => _812.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
24662
24973
  return m;
24663
- }, [_optionalChain([contextPicker, 'optionalAccess', _793 => _793.entityTypes])]);
24664
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _794 => _794.entityTypes]);
24974
+ }, [_optionalChain([contextPicker, 'optionalAccess', _813 => _813.entityTypes])]);
24975
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _814 => _814.entityTypes]);
24665
24976
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
24666
24977
  const byType = /* @__PURE__ */ new Map();
24667
24978
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -24673,7 +24984,7 @@ function EmbeddableChatInner({
24673
24984
  if (mentionActiveRef.current) {
24674
24985
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
24675
24986
  if (contextItems.length >= contextMaxItems) return;
24676
- _optionalChain([chatInputRef, 'access', _795 => _795.current, 'optionalAccess', _796 => _796.commitMention, 'call', _797 => _797(mentionTokenOf(key, mentionMarkerByType), {
24987
+ _optionalChain([chatInputRef, 'access', _815 => _815.current, 'optionalAccess', _816 => _816.commitMention, 'call', _817 => _817(mentionTokenOf(key, mentionMarkerByType), {
24677
24988
  label: item.label,
24678
24989
  icon: resolveContextIcon(item)
24679
24990
  })]);
@@ -24696,9 +25007,9 @@ function EmbeddableChatInner({
24696
25007
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
24697
25008
  if (mentionKeysRef.current.has(key)) {
24698
25009
  mentionKeysRef.current.delete(key);
24699
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _798 => _798.current, 'optionalAccess', _799 => _799.getValue, 'call', _800 => _800()]), () => ( ""));
25010
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _818 => _818.current, 'optionalAccess', _819 => _819.getValue, 'call', _820 => _820()]), () => ( ""));
24700
25011
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
24701
- _optionalChain([chatInputRef, 'access', _801 => _801.current, 'optionalAccess', _802 => _802.setValue, 'call', _803 => _803(next)]);
25012
+ _optionalChain([chatInputRef, 'access', _821 => _821.current, 'optionalAccess', _822 => _822.setValue, 'call', _823 => _823(next)]);
24702
25013
  }
24703
25014
  },
24704
25015
  [mentionMarkerByType]
@@ -24720,7 +25031,7 @@ function EmbeddableChatInner({
24720
25031
  }, []);
24721
25032
  const closeContextPicker = _react.useCallback.call(void 0, () => {
24722
25033
  if (mentionActiveRef.current) {
24723
- _optionalChain([chatInputRef, 'access', _804 => _804.current, 'optionalAccess', _805 => _805.removeMentionTrigger, 'call', _806 => _806()]);
25034
+ _optionalChain([chatInputRef, 'access', _824 => _824.current, 'optionalAccess', _825 => _825.removeMentionTrigger, 'call', _826 => _826()]);
24724
25035
  }
24725
25036
  setContextPickerOpen(false);
24726
25037
  setMentionQuery(null);
@@ -24753,12 +25064,12 @@ function EmbeddableChatInner({
24753
25064
  [askAbout, displayRef, resolvedBaseRoute, chipBasePlatform, extras]
24754
25065
  );
24755
25066
  const mingoAssistantIcon = _react.useMemo.call(void 0,
24756
- () => effectiveAssistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.MingoIcon, { className: "h-6 w-6", cornerColor: "var(--ods-flamingo-cyan-base)" }),
25067
+ () => effectiveAssistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.MingoIcon, { className: "h-6 w-6", cornerColor: "var(--ods-flamingo-cyan-base)" }),
24757
25068
  [effectiveAssistantIcon]
24758
25069
  );
24759
25070
  const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
24760
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _807 => _807.firstName]), _optionalChain([identityUser, 'optionalAccess', _808 => _808.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _809 => _809.name, 'optionalAccess', _810 => _810.trim, 'call', _811 => _811()]) || void 0 : void 0;
24761
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _812 => _812.avatarUrl, 'optionalAccess', _813 => _813.trim, 'call', _814 => _814()]) || void 0 : void 0;
25071
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _827 => _827.firstName]), _optionalChain([identityUser, 'optionalAccess', _828 => _828.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _829 => _829.name, 'optionalAccess', _830 => _830.trim, 'call', _831 => _831()]) || void 0 : void 0;
25072
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _832 => _832.avatarUrl, 'optionalAccess', _833 => _833.trim, 'call', _834 => _834()]) || void 0 : void 0;
24762
25073
  const messages = _react.useMemo.call(void 0, () => {
24763
25074
  const options = { userName: guideUserName, userAvatar: guideUserAvatar, timestampCache };
24764
25075
  const mapped = rawMessages.map((m) => mapHostMessage(m, options));
@@ -24961,7 +25272,7 @@ function EmbeddableChatInner({
24961
25272
  _react.useEffect.call(void 0, () => {
24962
25273
  if (!panelBoundary || typeof ResizeObserver === "undefined") return void 0;
24963
25274
  const ro = new ResizeObserver((entries) => {
24964
- const w = _optionalChain([entries, 'access', _815 => _815[0], 'optionalAccess', _816 => _816.contentRect, 'optionalAccess', _817 => _817.width]);
25275
+ const w = _optionalChain([entries, 'access', _835 => _835[0], 'optionalAccess', _836 => _836.contentRect, 'optionalAccess', _837 => _837.width]);
24965
25276
  if (typeof w === "number") setCanSplit(w >= splitMinWidth);
24966
25277
  });
24967
25278
  ro.observe(panelBoundary);
@@ -25007,18 +25318,18 @@ function EmbeddableChatInner({
25007
25318
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen && !emptyListSkipped;
25008
25319
  const headerShowBack = hasConversation || guideCanReturnToMingo;
25009
25320
  const freshConversationTitle = isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "New Chat";
25010
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _818 => _818.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
25321
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _838 => _838.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
25011
25322
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
25012
25323
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
25013
25324
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
25014
25325
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
25015
25326
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
25016
- const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _819 => _819.onCopyLink, 'optionalCall', _820 => _820(activeDialog)]) : void 0;
25017
- const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access', _821 => _821.compactDialog, 'optionalCall', _822 => _822(activeDialog)]) : void 0;
25327
+ const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _839 => _839.onCopyLink, 'optionalCall', _840 => _840(activeDialog)]) : void 0;
25328
+ const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access', _841 => _841.compactDialog, 'optionalCall', _842 => _842(activeDialog)]) : void 0;
25018
25329
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
25019
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _823 => _823.owner]) : void 0;
25020
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _824 => _824.name, 'optionalAccess', _825 => _825.trim, 'call', _826 => _826()]) || headerUserName;
25021
- const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _827 => _827.avatarUrl, 'optionalAccess', _828 => _828.trim, 'call', _829 => _829()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _830 => _830.avatarUrl, 'optionalAccess', _831 => _831.trim, 'call', _832 => _832()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _833 => _833.trim, 'call', _834 => _834()]) || void 0;
25330
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _843 => _843.owner]) : void 0;
25331
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _844 => _844.name, 'optionalAccess', _845 => _845.trim, 'call', _846 => _846()]) || headerUserName;
25332
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _847 => _847.avatarUrl, 'optionalAccess', _848 => _848.trim, 'call', _849 => _849()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _850 => _850.avatarUrl, 'optionalAccess', _851 => _851.trim, 'call', _852 => _852()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _853 => _853.trim, 'call', _854 => _854()]) || void 0;
25022
25333
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
25023
25334
  const handleNewChat = _react.useCallback.call(void 0, () => {
25024
25335
  resetToNewChat();
@@ -25397,7 +25708,7 @@ function EmbeddableChatInner({
25397
25708
  onNewChat: () => setComposeOpen(true),
25398
25709
  onExpand: onExpand && (() => {
25399
25710
  const last = lastDialogIdRef.current;
25400
- const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access', _835 => _835[0], 'optionalAccess', _836 => _836.id]);
25711
+ const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access', _855 => _855[0], 'optionalAccess', _856 => _856.id]);
25401
25712
  if (archiveOpen) closeArchive();
25402
25713
  if (target) handleSelectDialog(target);
25403
25714
  else handleNewChat();
@@ -25504,9 +25815,9 @@ function EmbeddableChatInner({
25504
25815
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
25505
25816
  subtitleLoading: emptyStateLoading,
25506
25817
  ...guideWelcome,
25507
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _837 => _837.title]))),
25508
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _838 => _838.icon]))),
25509
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _839 => _839.quickActions]), () => ( guideSuggestedActions)),
25818
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _857 => _857.title]))),
25819
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _858 => _858.icon]))),
25820
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _859 => _859.quickActions]), () => ( guideSuggestedActions)),
25510
25821
  onQuickAction: (action) => {
25511
25822
  setQuickActionPreview(null);
25512
25823
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -25525,7 +25836,7 @@ function EmbeddableChatInner({
25525
25836
  `chip-skeleton-${i}`
25526
25837
  )),
25527
25838
  chipCommands.map((cmd) => {
25528
- const Icon = _chunkPSVSEN4Jcjs.resolveIcon.call(void 0, cmd.iconName);
25839
+ const Icon = _chunkIMTY3GRRcjs.resolveIcon.call(void 0, cmd.iconName);
25529
25840
  const cmdId = cmd.id;
25530
25841
  const label = _nullishCoalesce(cmd.label, () => ( `/${cmdId}`));
25531
25842
  const cardActions = cmd.actions.map((action) => ({
@@ -25534,7 +25845,7 @@ function EmbeddableChatInner({
25534
25845
  onClick: () => dispatchSlashCommandAction(action.id, cmdId, chatInputRef)
25535
25846
  }));
25536
25847
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25537
- _chunkDC4RTYWKcjs.MingoOnboardingCard,
25848
+ _chunkRZQGIWK3cjs.MingoOnboardingCard,
25538
25849
  {
25539
25850
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 16 }),
25540
25851
  title: label,
@@ -25581,8 +25892,8 @@ function EmbeddableChatInner({
25581
25892
  selectedContextItems: contextItems,
25582
25893
  onToggleContextItem: toggleContextItem,
25583
25894
  onRemoveContextItem: removeContextItem,
25584
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _840 => _840.items]),
25585
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _841 => _841.onRemove]),
25895
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _860 => _860.items]),
25896
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _861 => _861.onRemove]),
25586
25897
  contextPickerOpen,
25587
25898
  onOpenContextPicker: openContextPicker,
25588
25899
  onCloseContextPicker: closeContextPicker,
@@ -25795,7 +26106,7 @@ var GROUPS = [
25795
26106
  }
25796
26107
  ];
25797
26108
  function maskKey(key) {
25798
- const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _842 => _842.exec, 'call', _843 => _843(key), 'optionalAccess', _844 => _844[0]]), () => ( ""));
26109
+ const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _862 => _862.exec, 'call', _863 => _863(key), 'optionalAccess', _864 => _864[0]]), () => ( ""));
25799
26110
  return key.length - prefix.length <= 8 ? `${prefix}\u2022\u2022\u2022\u2022` : `${prefix}\u2026${key.slice(-4)}`;
25800
26111
  }
25801
26112
  function HeaderName({ children }) {
@@ -25832,8 +26143,8 @@ function ProxyCredentialsForm({ description, saved }) {
25832
26143
  const errors = _react.useMemo.call(void 0, () => {
25833
26144
  const out = {};
25834
26145
  for (const { field } of _chunkULWVKHSIcjs.EMBED_PROXY_OPTIONAL_HEADERS) {
25835
- const value = _optionalChain([optional, 'access', _845 => _845[field], 'optionalAccess', _846 => _846.trim, 'call', _847 => _847()]);
25836
- const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _848 => _848[field], 'access', _849 => _849.validate, 'optionalCall', _850 => _850(value)]) : null;
26146
+ const value = _optionalChain([optional, 'access', _865 => _865[field], 'optionalAccess', _866 => _866.trim, 'call', _867 => _867()]);
26147
+ const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _868 => _868[field], 'access', _869 => _869.validate, 'optionalCall', _870 => _870(value)]) : null;
25837
26148
  if (message) out[field] = message;
25838
26149
  }
25839
26150
  return out;
@@ -25845,12 +26156,12 @@ function ProxyCredentialsForm({ description, saved }) {
25845
26156
  ...keyForPreview ? [["Authorization", `Bearer ${keyForPreview}`]] : [],
25846
26157
  ...email.trim() ? [["X-Chat-Act-As", email.trim().toLowerCase()]] : [],
25847
26158
  ..._chunkULWVKHSIcjs.EMBED_PROXY_OPTIONAL_HEADERS.flatMap(({ field, header }) => {
25848
- const value = _optionalChain([optional, 'access', _851 => _851[field], 'optionalAccess', _852 => _852.trim, 'call', _853 => _853()]);
26159
+ const value = _optionalChain([optional, 'access', _871 => _871[field], 'optionalAccess', _872 => _872.trim, 'call', _873 => _873()]);
25849
26160
  return value ? [[header, value]] : [];
25850
26161
  })
25851
26162
  ];
25852
26163
  const save = () => {
25853
- const key = secret.trim() || _optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _854 => _854.secret]);
26164
+ const key = secret.trim() || _optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _874 => _874.secret]);
25854
26165
  const actAs = email.trim().toLowerCase();
25855
26166
  if (!key || !actAs || hasErrors) {
25856
26167
  setStatus(hasErrors ? "Fix the highlighted fields first." : "API key and act-as email are required.");
@@ -25872,13 +26183,13 @@ function ProxyCredentialsForm({ description, saved }) {
25872
26183
  setStatus("Cleared. Requests use the session again.");
25873
26184
  };
25874
26185
  const setField = (field, value) => setOptional((prev) => ({ ...prev, [field]: value }));
25875
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkETYLOZOBcjs.CardContent, { className: "space-y-[var(--spacing-system-lf)] p-[var(--spacing-system-mf)]", children: [
26186
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRFUOIQSGcjs.CardContent, { className: "space-y-[var(--spacing-system-lf)] p-[var(--spacing-system-mf)]", children: [
25876
26187
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { className: "flex flex-col gap-[var(--spacing-system-sf)] sm:flex-row sm:items-start sm:justify-between", children: [
25877
26188
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
25878
26189
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h3", children: "Proxy credentials" }),
25879
26190
  description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: description })
25880
26191
  ] }),
25881
- activeEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkETYLOZOBcjs.StatusBadge, { singleLine: true, colorScheme: "success", text: `Active: ${activeEmail}` }) })
26192
+ activeEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFUOIQSGcjs.StatusBadge, { singleLine: true, colorScheme: "success", text: `Active: ${activeEmail}` }) })
25882
26193
  ] }),
25883
26194
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25884
26195
  Section,
@@ -26444,4 +26755,16 @@ function ProxyCredentialsForm({ description, saved }) {
26444
26755
 
26445
26756
 
26446
26757
 
26447
- exports.InfoHint = InfoHint; exports.Field = Field; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.useResizablePanelSize = useResizablePanelSize; exports.PanelResizeHandle = PanelResizeHandle; 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.FullscreenSwitchController = FullscreenSwitchController; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.HoverDropdown = HoverDropdown; exports.ChatAppearanceContext = ChatAppearanceContext; exports.useChatAppearance = useChatAppearance; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; 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.SystemEventMessage = SystemEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; 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.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.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.getPlatformProductionUrl = getPlatformProductionUrl; exports.getPlatformUrl = getPlatformUrl; exports.getDeploymentUrl = getDeploymentUrl; exports.isLocalUrl = isLocalUrl; exports.getRequestOrigin = getRequestOrigin; exports.resolveRedirectTarget = resolveRedirectTarget; exports.getAllPlatformBaseDomains = getAllPlatformBaseDomains; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.DESIGN_DOC_READINESS = DESIGN_DOC_READINESS; exports.DESIGN_DOC_READINESS_DISPLAY = DESIGN_DOC_READINESS_DISPLAY; exports.designDocReadiness = designDocReadiness; exports.formatCompletionLabel = formatCompletionLabel; exports.formatCompletionLabelWithBlockers = formatCompletionLabelWithBlockers; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; 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.DOC_TABLE_TYPES = DOC_TABLE_TYPES; exports.groupsByTable = groupsByTable; exports.recordCountLabel = recordCountLabel; exports.buildGroupedSource = buildGroupedSource; exports.groupSourcesByTable = groupSourcesByTable; exports.formatCitationIndices = formatCitationIndices; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; 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.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.clickupTaskUrl = clickupTaskUrl; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.ENTITY_QUOTES_TITLE = ENTITY_QUOTES_TITLE; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.openInNewTab = openInNewTab; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.normalizeSchedulingSlug = normalizeSchedulingSlug; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.copyrightLine = copyrightLine; exports.isValidPathPattern = isValidPathPattern; exports.matchesPathPattern = matchesPathPattern; exports.pathMatchesAny = pathMatchesAny; exports.ASK_AI_OPEN_EVENT = ASK_AI_OPEN_EVENT; exports.openAskAi = openAskAi; exports.MingoAiButton = MingoAiButton; exports.AskPrompts = AskPrompts; exports.AskCard = AskCard; 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.ChatListEmptyState = ChatListEmptyState; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.ChatNavSidebar = ChatNavSidebar; exports.ChatListItem = ChatListItem; exports.MingoArchiveList = MingoArchiveList; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.MingoChatHeader = MingoChatHeader; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.MingoChatRail = MingoChatRail; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatPanelHeader = ChatPanelHeader; 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.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; 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.useNavLinkViaRuntime = useNavLinkViaRuntime; 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.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; 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.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.designDocPeople = designDocPeople; exports.designDocMetaLine = designDocMetaLine; exports.DesignDocCardSkeleton = DesignDocCardSkeleton; exports.DesignDocCard = DesignDocCard; 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.useChatCardItem = useChatCardItem; exports.readFetchedCardTitle = readFetchedCardTitle; exports.readFetchedCardPath = readFetchedCardPath; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.resolveCardDestination = resolveCardDestination; exports.chatCardLabel = chatCardLabel; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.EMPTY_DIALOG_CAPABILITIES = EMPTY_DIALOG_CAPABILITIES; 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.approvalDisplaysInline = approvalDisplaysInline; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; 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.createChatConversationsApi = createChatConversationsApi; exports.buildDiscussPrompt = buildDiscussPrompt; exports.useManagedDialogList = useManagedDialogList; 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.useStableShallow = useStableShallow; 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.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.MINGO_V2_RAIL_WIDTH = MINGO_V2_RAIL_WIDTH; exports.MINGO_V2_SPLIT_WIDTH = MINGO_V2_SPLIT_WIDTH; exports.EmbeddableChat = EmbeddableChat; exports.ProxyCredentialsPanel = ProxyCredentialsPanel;
26758
+
26759
+
26760
+
26761
+
26762
+
26763
+
26764
+
26765
+
26766
+
26767
+
26768
+
26769
+
26770
+ exports.InfoHint = InfoHint; exports.Field = Field; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.useResizablePanelSize = useResizablePanelSize; exports.PanelResizeHandle = PanelResizeHandle; 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.FullscreenSwitchController = FullscreenSwitchController; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.HoverDropdown = HoverDropdown; exports.ChatAppearanceContext = ChatAppearanceContext; exports.useChatAppearance = useChatAppearance; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; 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.SystemEventMessage = SystemEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; 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.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.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.getPlatformProductionUrl = getPlatformProductionUrl; exports.getPlatformUrl = getPlatformUrl; exports.getDeploymentUrl = getDeploymentUrl; exports.isLocalUrl = isLocalUrl; exports.getRequestOrigin = getRequestOrigin; exports.resolveRedirectTarget = resolveRedirectTarget; exports.getAllPlatformBaseDomains = getAllPlatformBaseDomains; exports.TRIAL_DAYS = TRIAL_DAYS; exports.TRIAL_LABELS = TRIAL_LABELS; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.DESIGN_DOC_READINESS = DESIGN_DOC_READINESS; exports.DESIGN_DOC_READINESS_DISPLAY = DESIGN_DOC_READINESS_DISPLAY; exports.designDocReadiness = designDocReadiness; exports.formatCompletionLabel = formatCompletionLabel; exports.formatCompletionLabelWithBlockers = formatCompletionLabelWithBlockers; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; 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.DOC_TABLE_TYPES = DOC_TABLE_TYPES; exports.groupsByTable = groupsByTable; exports.recordCountLabel = recordCountLabel; exports.buildGroupedSource = buildGroupedSource; exports.groupSourcesByTable = groupSourcesByTable; exports.formatCitationIndices = formatCitationIndices; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; 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.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.clickupTaskUrl = clickupTaskUrl; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.ENTITY_QUOTES_TITLE = ENTITY_QUOTES_TITLE; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.openInNewTab = openInNewTab; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.normalizeSchedulingSlug = normalizeSchedulingSlug; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.copyrightLine = copyrightLine; exports.isValidPathPattern = isValidPathPattern; exports.matchesPathPattern = matchesPathPattern; exports.pathMatchesAny = pathMatchesAny; exports.ASK_AI_OPEN_EVENT = ASK_AI_OPEN_EVENT; exports.openAskAi = openAskAi; exports.MingoAiButton = MingoAiButton; exports.AskPrompts = AskPrompts; exports.AskCard = AskCard; exports.ASK_PROMPTS_DEFAULT_COUNT = ASK_PROMPTS_DEFAULT_COUNT; exports.buildAskPromptsUrl = buildAskPromptsUrl; exports.assistantAvailable = assistantAvailable; exports.useAskPrompts = useAskPrompts; exports.useAssistantOpen = useAssistantOpen; exports.useShownAskPrompts = useShownAskPrompts; exports.useShownAskPromptIds = useShownAskPromptIds; exports.AssistantAskPrompts = AssistantAskPrompts; 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.ChatListEmptyState = ChatListEmptyState; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.ChatNavSidebar = ChatNavSidebar; exports.ChatListItem = ChatListItem; exports.MingoArchiveList = MingoArchiveList; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.MingoChatHeader = MingoChatHeader; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.MingoChatRail = MingoChatRail; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatPanelHeader = ChatPanelHeader; 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.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; 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.useNavLinkViaRuntime = useNavLinkViaRuntime; 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.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; 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.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.designDocPeople = designDocPeople; exports.designDocMetaLine = designDocMetaLine; exports.DesignDocCardSkeleton = DesignDocCardSkeleton; exports.DesignDocCard = DesignDocCard; 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.getVendorLogo = getVendorLogo; exports.VendorIcon = VendorIcon; exports.useChatCardItem = useChatCardItem; exports.readFetchedCardTitle = readFetchedCardTitle; exports.readFetchedCardPath = readFetchedCardPath; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.resolveCardDestination = resolveCardDestination; exports.chatCardLabel = chatCardLabel; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.EMPTY_DIALOG_CAPABILITIES = EMPTY_DIALOG_CAPABILITIES; 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.approvalDisplaysInline = approvalDisplaysInline; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; 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.createChatConversationsApi = createChatConversationsApi; exports.buildDiscussPrompt = buildDiscussPrompt; exports.useManagedDialogList = useManagedDialogList; 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.useStableShallow = useStableShallow; 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.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.MINGO_V2_RAIL_WIDTH = MINGO_V2_RAIL_WIDTH; exports.MINGO_V2_SPLIT_WIDTH = MINGO_V2_SPLIT_WIDTH; exports.EmbeddableChat = EmbeddableChat; exports.ProxyCredentialsPanel = ProxyCredentialsPanel;