@flamingo-stack/openframe-frontend-core 0.0.723 → 0.0.725

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 (118) hide show
  1. package/dist/{chunk-2VOPQJNR.js → chunk-2MMZTACD.js} +2 -2
  2. package/dist/{chunk-OHC2MPUO.cjs → chunk-2SO3OJFY.cjs} +35 -35
  3. package/dist/{chunk-YQOJOW2Z.cjs → chunk-2VOZ37BL.cjs} +64 -64
  4. package/dist/{chunk-WSMOTZRJ.cjs → chunk-4ZZ4TNCY.cjs} +11 -11
  5. package/dist/{chunk-YUSA7IPD.js → chunk-5FVWDDX6.js} +3 -3
  6. package/dist/{chunk-PKS2QQJU.js → chunk-6EFNWQRY.js} +2 -1
  7. package/dist/{chunk-NESUUHPV.cjs → chunk-772242QR.cjs} +76 -76
  8. package/dist/{chunk-3RIKO2O2.cjs → chunk-7V5KFBY2.cjs} +31 -31
  9. package/dist/{chunk-MWLVYYRX.cjs → chunk-AI3CLDZO.cjs} +2580 -2120
  10. package/dist/{chunk-YGIUWQEN.js → chunk-ASHRHL4W.js} +7 -7
  11. package/dist/{chunk-A7JPMNHF.js → chunk-ASIXPRHV.js} +6 -6
  12. package/dist/{chunk-7JXCLUU7.js → chunk-AX4F35C2.js} +2 -2
  13. package/dist/{chunk-TDSLKKX7.cjs → chunk-B7234BE2.cjs} +16 -16
  14. package/dist/{chunk-SBCJFJ6Q.js → chunk-F56GNKX2.js} +4 -4
  15. package/dist/{chunk-VIFVSFYY.js → chunk-F77J34W2.js} +1 -1
  16. package/dist/{chunk-JENNI7XU.cjs → chunk-HEQ4GPYE.cjs} +5 -4
  17. package/dist/{chunk-LV6UJD2K.cjs → chunk-IITB5TJR.cjs} +10 -2
  18. package/dist/{chunk-WVA7SCLY.js → chunk-IOTAUWWF.js} +1 -1
  19. package/dist/{chunk-OVG6MV3X.js → chunk-JAKG6BY7.js} +6 -6
  20. package/dist/{chunk-F6JAGSKV.js → chunk-JVHP7Y4S.js} +5 -5
  21. package/dist/{chunk-WY4SLTMZ.js → chunk-JXJFUGJY.js} +1 -1
  22. package/dist/{chunk-GYUFKNOQ.cjs → chunk-KLCOSY7B.cjs} +4 -4
  23. package/dist/{chunk-P7MDECYI.cjs → chunk-KNLRL63O.cjs} +41 -41
  24. package/dist/{chunk-VGXAZEQP.cjs → chunk-LR6DJY4Z.cjs} +17 -17
  25. package/dist/{chunk-KSADTFNZ.cjs → chunk-LYQYLPPV.cjs} +32 -32
  26. package/dist/{chunk-QBXEF7D5.js → chunk-MGTZ2BKY.js} +4 -4
  27. package/dist/{chunk-IIBTYCEN.js → chunk-MLFS5G3V.js} +89 -14
  28. package/dist/{chunk-GRDJR2Q7.js → chunk-MSPXMSMY.js} +1 -1
  29. package/dist/{chunk-FDWYBJYD.cjs → chunk-NJV3LIDE.cjs} +3 -3
  30. package/dist/{chunk-JL7AHSFE.js → chunk-OBMWSUBK.js} +6 -6
  31. package/dist/{chunk-N4VCU6XP.js → chunk-PUADVXJD.js} +1 -1
  32. package/dist/{chunk-KY4WQYYG.cjs → chunk-QV4GO3GW.cjs} +19 -19
  33. package/dist/{chunk-OWRD2GZU.cjs → chunk-RU6BTELI.cjs} +687 -612
  34. package/dist/{chunk-Y5H3M7OM.cjs → chunk-SE4O4HCD.cjs} +23 -23
  35. package/dist/{chunk-2MC4DRSC.cjs → chunk-SEVKFMKR.cjs} +3 -3
  36. package/dist/{chunk-UYMTAFHG.js → chunk-TU5LEF6A.js} +1 -1
  37. package/dist/{chunk-NFABAOMD.cjs → chunk-U6LRRG2E.cjs} +15 -15
  38. package/dist/{chunk-G6YNPBWV.js → chunk-W2DXHR2R.js} +3045 -2585
  39. package/dist/{chunk-KSZRALRL.cjs → chunk-YPEILGVZ.cjs} +3 -3
  40. package/dist/{chunk-EWED6ISQ.js → chunk-YQDKVGKO.js} +9 -1
  41. package/dist/{chunk-6QTGLBJH.cjs → chunk-ZSXZE4FJ.cjs} +3 -3
  42. package/dist/{chunk-XTG7W75B.js → chunk-ZZRUKEN2.js} +4 -4
  43. package/dist/{cloud-tenants-3TVX7U23.cjs → cloud-tenants-SMULXU54.cjs} +7 -7
  44. package/dist/{cloud-tenants-N6KV2T7X.js → cloud-tenants-US63E2HV.js} +6 -6
  45. package/dist/components/case-studies/index.cjs +20 -20
  46. package/dist/components/case-studies/index.js +7 -7
  47. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  48. package/dist/components/chat/index.cjs +5 -5
  49. package/dist/components/chat/index.js +4 -4
  50. package/dist/components/chat/utils/icon-library.d.ts +2 -0
  51. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  52. package/dist/components/contact/index.cjs +8 -8
  53. package/dist/components/contact/index.js +7 -7
  54. package/dist/components/docs/index.cjs +11 -11
  55. package/dist/components/docs/index.js +10 -10
  56. package/dist/components/embeds/index.cjs +8 -8
  57. package/dist/components/embeds/index.js +7 -7
  58. package/dist/components/faq/index.cjs +8 -8
  59. package/dist/components/faq/index.js +7 -7
  60. package/dist/components/features/index.cjs +23 -7
  61. package/dist/components/features/index.d.ts +1 -0
  62. package/dist/components/features/index.d.ts.map +1 -1
  63. package/dist/components/features/index.js +22 -6
  64. package/dist/components/features/model-token-rates.d.ts +179 -0
  65. package/dist/components/features/model-token-rates.d.ts.map +1 -0
  66. package/dist/components/help-center-pages/index.cjs +106 -106
  67. package/dist/components/help-center-pages/index.js +18 -18
  68. package/dist/components/index.cjs +71 -55
  69. package/dist/components/index.js +34 -18
  70. package/dist/components/meeting-scheduler/index.cjs +32 -32
  71. package/dist/components/meeting-scheduler/index.js +6 -6
  72. package/dist/components/navigation/index.cjs +10 -10
  73. package/dist/components/navigation/index.js +9 -9
  74. package/dist/components/onboarding-guides/index.cjs +10 -10
  75. package/dist/components/onboarding-guides/index.js +9 -9
  76. package/dist/components/product-demo/index.cjs +7 -7
  77. package/dist/components/product-demo/index.js +7 -7
  78. package/dist/components/related-content/index.cjs +4 -4
  79. package/dist/components/related-content/index.js +3 -3
  80. package/dist/components/tickets/index.cjs +11 -11
  81. package/dist/components/tickets/index.js +10 -10
  82. package/dist/components/ui/index.cjs +7 -7
  83. package/dist/components/ui/index.js +6 -6
  84. package/dist/{devices-MAALZ7DX.cjs → devices-6ZURNFRB.cjs} +8 -8
  85. package/dist/{devices-275UZZUS.js → devices-JWHGWKLK.js} +6 -6
  86. package/dist/index.cjs +45 -11
  87. package/dist/index.js +44 -10
  88. package/dist/{knowledge-YMMULPPK.cjs → knowledge-CY66JZ54.cjs} +8 -8
  89. package/dist/{knowledge-THXC2KC3.js → knowledge-TEDPLCFX.js} +6 -6
  90. package/dist/{logs-IBUKQOHS.cjs → logs-MO357RE7.cjs} +15 -15
  91. package/dist/{logs-GM2XBHYT.js → logs-S46THPPD.js} +6 -6
  92. package/dist/{policies-NKMRK6RR.js → policies-BUXT7DKF.js} +6 -6
  93. package/dist/{policies-J5GJXD6G.cjs → policies-GSH4K5YP.cjs} +11 -11
  94. package/dist/{remote-session-Z2YCUPHU.cjs → remote-session-CSX6ESSG.cjs} +5 -5
  95. package/dist/{remote-session-WCLR47RN.js → remote-session-ZBCWD5A5.js} +3 -3
  96. package/dist/{software-update-JHC4T4SE.cjs → software-update-2ETT35NM.cjs} +11 -11
  97. package/dist/{software-update-EKKMKDWI.js → software-update-YKS6KLX2.js} +6 -6
  98. package/dist/utils/ai-providers.d.ts +29 -0
  99. package/dist/utils/ai-providers.d.ts.map +1 -0
  100. package/dist/utils/index.cjs +76 -2
  101. package/dist/utils/index.d.ts +2 -0
  102. package/dist/utils/index.d.ts.map +1 -1
  103. package/dist/utils/index.js +68 -3
  104. package/dist/utils/list-url.d.ts.map +1 -1
  105. package/dist/utils/model-token-rates.d.ts +55 -0
  106. package/dist/utils/model-token-rates.d.ts.map +1 -0
  107. package/dist/utils/source-icons.d.ts.map +1 -1
  108. package/package.json +1 -1
  109. package/src/components/chat/entity-cards/dispatch.tsx +3 -0
  110. package/src/components/chat/utils/icon-library.tsx +14 -3
  111. package/src/components/chat/utils/source-row-cta.ts +3 -3
  112. package/src/components/features/index.ts +1 -0
  113. package/src/components/features/model-token-rates.tsx +696 -0
  114. package/src/utils/ai-providers.ts +46 -0
  115. package/src/utils/index.ts +2 -0
  116. package/src/utils/list-url.ts +1 -0
  117. package/src/utils/model-token-rates.ts +103 -0
  118. package/src/utils/source-icons.ts +3 -0
@@ -34,7 +34,7 @@ var _chunkEWPR7662cjs = require('./chunk-EWPR7662.cjs');
34
34
 
35
35
 
36
36
 
37
- var _chunkFDWYBJYDcjs = require('./chunk-FDWYBJYD.cjs');
37
+ var _chunkNJV3LIDEcjs = require('./chunk-NJV3LIDE.cjs');
38
38
 
39
39
 
40
40
 
@@ -140,15 +140,14 @@ var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
140
140
 
141
141
 
142
142
 
143
- var _chunkJENNI7XUcjs = require('./chunk-JENNI7XU.cjs');
143
+ var _chunkHEQ4GPYEcjs = require('./chunk-HEQ4GPYE.cjs');
144
144
 
145
145
 
146
146
  var _chunkAL2GUHAJcjs = require('./chunk-AL2GUHAJ.cjs');
147
147
 
148
148
 
149
149
 
150
-
151
- var _chunkLV6UJD2Kcjs = require('./chunk-LV6UJD2K.cjs');
150
+ var _chunkIITB5TJRcjs = require('./chunk-IITB5TJR.cjs');
152
151
 
153
152
 
154
153
 
@@ -314,7 +313,7 @@ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
314
313
 
315
314
  // src/components/chat/chat-appearance-context.tsx
316
315
 
317
- var ChatAppearanceContext = _react.createContext.call(void 0, _chunkFDWYBJYDcjs.CHAT_APPEARANCE.CLASSIC);
316
+ var ChatAppearanceContext = _react.createContext.call(void 0, _chunkNJV3LIDEcjs.CHAT_APPEARANCE.CLASSIC);
318
317
  function useChatAppearance() {
319
318
  return _react.useContext.call(void 0, ChatAppearanceContext);
320
319
  }
@@ -352,7 +351,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
352
351
  ...props
353
352
  }, ref) => {
354
353
  const [isProcessing, setIsProcessing] = _react.useState.call(void 0, false);
355
- const isV2 = useChatAppearance() === _chunkFDWYBJYDcjs.CHAT_APPEARANCE.V2;
354
+ const isV2 = useChatAppearance() === _chunkNJV3LIDEcjs.CHAT_APPEARANCE.V2;
356
355
  const handleApprove = async () => {
357
356
  setIsProcessing(true);
358
357
  try {
@@ -487,7 +486,7 @@ EscalationOfferMessage.displayName = "EscalationOfferMessage";
487
486
 
488
487
  var AiAssistantInfo = _react.forwardRef.call(void 0,
489
488
  ({ className, icon, leading, title, body, timestamp, ...props }, ref) => {
490
- const isV2 = useChatAppearance() === _chunkFDWYBJYDcjs.CHAT_APPEARANCE.V2;
489
+ const isV2 = useChatAppearance() === _chunkNJV3LIDEcjs.CHAT_APPEARANCE.V2;
491
490
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
492
491
  "div",
493
492
  {
@@ -503,7 +502,7 @@ var AiAssistantInfo = _react.forwardRef.call(void 0,
503
502
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
504
503
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start", children: [
505
504
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 truncate text-ods-text-primary text-h4", title, children: title }),
506
- timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-right text-ods-text-secondary text-h6", children: _chunkFDWYBJYDcjs.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: _chunkNJV3LIDEcjs.formatTime.call(void 0, timestamp) })
507
506
  ] }),
508
507
  body != null && body !== "" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full break-words text-ods-text-secondary text-h4", children: body })
509
508
  ] })
@@ -3411,7 +3410,7 @@ var ErrorMessageDisplay = _react.forwardRef.call(void 0,
3411
3410
  const [expanded, setExpanded] = _react.useState.call(void 0, false);
3412
3411
  const { innerRef, containerStyle } = _chunkHP4UUBJCcjs.useCollapsible.call(void 0, { expanded });
3413
3412
  const hasDetails = Boolean(details);
3414
- const isV2 = useChatAppearance() === _chunkFDWYBJYDcjs.CHAT_APPEARANCE.V2;
3413
+ const isV2 = useChatAppearance() === _chunkNJV3LIDEcjs.CHAT_APPEARANCE.V2;
3415
3414
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3416
3415
  "div",
3417
3416
  {
@@ -4453,8 +4452,8 @@ ToolExecutionDisplay.displayName = "ToolExecutionDisplay";
4453
4452
  var MENTION_MARKER_REGEX = /(^|[^\w@])@[a-zA-Z]+:([A-Za-z0-9_.+/=-]*[A-Za-z0-9_+/=])/g;
4454
4453
  var CARD_MARKER_REGEX = createCardMarkerScanner();
4455
4454
  function formatMessageTimestamp(timestamp) {
4456
- const time = _chunkFDWYBJYDcjs.formatTime.call(void 0, timestamp);
4457
- return _chunkHP4UUBJCcjs.isToday.call(void 0, timestamp) ? time : `${_chunkFDWYBJYDcjs.formatDate.call(void 0, timestamp)} ${time}`;
4455
+ const time = _chunkNJV3LIDEcjs.formatTime.call(void 0, timestamp);
4456
+ return _chunkHP4UUBJCcjs.isToday.call(void 0, timestamp) ? time : `${_chunkNJV3LIDEcjs.formatDate.call(void 0, timestamp)} ${time}`;
4458
4457
  }
4459
4458
  function normalizeContent(content) {
4460
4459
  if (typeof content === "string") {
@@ -4508,7 +4507,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
4508
4507
  const isError = role === "error";
4509
4508
  const inheritedAppearance = useChatAppearance();
4510
4509
  const appearance = _nullishCoalesce(appearanceProp, () => ( inheritedAppearance));
4511
- const isV2 = appearance === _chunkFDWYBJYDcjs.CHAT_APPEARANCE.V2;
4510
+ const isV2 = appearance === _chunkNJV3LIDEcjs.CHAT_APPEARANCE.V2;
4512
4511
  const authorType = _nullishCoalesce(authorTypeProp, () => ( (isUser ? "user" : assistantType === "mingo" ? "mingo" : "fae")));
4513
4512
  const hasMarkerSupport = !!renderEntityCard;
4514
4513
  const segments = _react.useMemo.call(void 0, () => normalizeContent(content), [content]);
@@ -4924,23 +4923,23 @@ function ChatMessageListSkeleton({
4924
4923
  // src/components/chat/cycling-phrase.tsx
4925
4924
 
4926
4925
 
4927
- function CyclingPhrase({ words, className, charMs = 60, holdMs = 4500 }) {
4926
+ function CyclingPhrase({ words: words2, className, charMs = 60, holdMs = 4500 }) {
4928
4927
  const [wordIndex, setWordIndex] = _react.useState.call(void 0, 0);
4929
4928
  const [text2, setText] = _react.useState.call(void 0, "");
4930
4929
  const [cursor, setCursor] = _react.useState.call(void 0, 0);
4931
- const target = _nullishCoalesce(words[wordIndex], () => ( ""));
4932
- const holding = words.length > 0 && cursor >= Math.max(text2.length, target.length);
4930
+ const target = _nullishCoalesce(words2[wordIndex], () => ( ""));
4931
+ const holding = words2.length > 0 && cursor >= Math.max(text2.length, target.length);
4933
4932
  const shownText = holding ? target : text2;
4934
4933
  const placeholder = _react.useMemo.call(void 0,
4935
- () => words.reduce((longest, w) => w.length > longest.length ? w : longest, ""),
4936
- [words]
4934
+ () => words2.reduce((longest, w) => w.length > longest.length ? w : longest, ""),
4935
+ [words2]
4937
4936
  );
4938
4937
  _react.useEffect.call(void 0, () => {
4939
- if (words.length === 0) return void 0;
4938
+ if (words2.length === 0) return void 0;
4940
4939
  let timeoutId;
4941
4940
  if (holding) {
4942
4941
  timeoutId = setTimeout(() => {
4943
- setWordIndex((i) => (i + 1) % words.length);
4942
+ setWordIndex((i) => (i + 1) % words2.length);
4944
4943
  setCursor(0);
4945
4944
  setText(target);
4946
4945
  }, holdMs);
@@ -4956,8 +4955,8 @@ function CyclingPhrase({ words, className, charMs = 60, holdMs = 4500 }) {
4956
4955
  setCursor((c) => c + 1);
4957
4956
  }, charMs);
4958
4957
  return () => clearTimeout(timeoutId);
4959
- }, [wordIndex, cursor, text2, holding, target, words, charMs, holdMs]);
4960
- if (words.length === 0) return null;
4958
+ }, [wordIndex, cursor, text2, holding, target, words2, charMs, holdMs]);
4959
+ if (words2.length === 0) return null;
4961
4960
  const before = shownText.slice(0, cursor);
4962
4961
  const after = shownText.slice(cursor);
4963
4962
  const cursorBlock = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -5032,7 +5031,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5032
5031
  contentClassName,
5033
5032
  assistantType,
5034
5033
  approvalVariant,
5035
- appearance = _chunkFDWYBJYDcjs.CHAT_APPEARANCE.CLASSIC,
5034
+ appearance = _chunkNJV3LIDEcjs.CHAT_APPEARANCE.CLASSIC,
5036
5035
  assistantIcon,
5037
5036
  pendingApprovals,
5038
5037
  hasNextPage,
@@ -5531,7 +5530,7 @@ ChatMessageList.displayName = "ChatMessageList";
5531
5530
  // src/components/chat/hooks/use-proxied-image-url.ts
5532
5531
  function useProxiedImageUrl(url) {
5533
5532
  const r = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
5534
- return _nullishCoalesce(_chunkJENNI7XUcjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
5533
+ return _nullishCoalesce(_chunkHEQ4GPYEcjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
5535
5534
  proxyPrefix: r.endpoints.imageProxyUrlPrefix,
5536
5535
  skipDomains: r.endpoints.imageProxySkipDomains,
5537
5536
  directHttps: true
@@ -5608,7 +5607,7 @@ function renderQuickActionIcon(icon) {
5608
5607
  if (!spec.name && !spec.url) return void 0;
5609
5608
  const accentClass = spec.accent ? ACCENT_CLASS[spec.accent] : void 0;
5610
5609
  const props = spec.accent && !accentClass ? { color: spec.accent, ..._nullishCoalesce(spec.props, () => ( {})) } : spec.props;
5611
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.EntityIcon, { icon: { name: spec.name, url: spec.url, props }, size: _nullishCoalesce(spec.size, () => ( 16)), className: accentClass });
5610
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.EntityIcon, { icon: { name: spec.name, url: spec.url, props }, size: _nullishCoalesce(spec.size, () => ( 16)), className: accentClass });
5612
5611
  }
5613
5612
  function composeChipLabel(label, lozenge) {
5614
5613
  if (!lozenge) return label;
@@ -5912,6 +5911,67 @@ if (_orderIdx("flamingo") > _orderIdx("flamingo-teaser") || _orderIdx("flamingo"
5912
5911
  );
5913
5912
  }
5914
5913
 
5914
+ // src/utils/ai-providers.ts
5915
+ var AI_PROVIDERS = {
5916
+ ANTHROPIC: { label: "Anthropic", icon: "anthropic-logo-grey" },
5917
+ OPENAI: { label: "OpenAI", icon: "openai-logo-grey" },
5918
+ GOOGLE_GEMINI: { label: "Google Gemini", icon: "gemini-logo-grey" }
5919
+ };
5920
+ var words = (key) => key.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean);
5921
+ function aiProvider(key, stated) {
5922
+ const known = AI_PROVIDERS[key];
5923
+ const parts = words(key);
5924
+ return {
5925
+ label: _optionalChain([stated, 'optionalAccess', _137 => _137.label]) || _optionalChain([known, 'optionalAccess', _138 => _138.label]) || parts.map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ") || key,
5926
+ icon: _optionalChain([stated, 'optionalAccess', _139 => _139.icon]) || _optionalChain([known, 'optionalAccess', _140 => _140.icon]) || `${parts.join("-")}-logo-grey`
5927
+ };
5928
+ }
5929
+
5930
+ // src/utils/model-token-rates.ts
5931
+ var TOKEN_RATE_EMPTY = "\u2014";
5932
+ function formatTokenRate(value) {
5933
+ if (value == null || !Number.isFinite(value) || value <= 0) return TOKEN_RATE_EMPTY;
5934
+ const rounded = value >= 0.1 ? Number(value.toFixed(2)) : Number(value.toPrecision(2));
5935
+ return `${rounded}\xD7`;
5936
+ }
5937
+ function tokenCost(tokens, tokenPrice) {
5938
+ if (!tokenPrice || !(tokenPrice.tokens > 0) || !(tokenPrice.price > 0) || !(tokens >= 0)) return null;
5939
+ return tokens / tokenPrice.tokens * tokenPrice.price;
5940
+ }
5941
+ var TOKEN_AMOUNT_UNITS = [
5942
+ { size: 1e9, suffix: "B" },
5943
+ { size: 1e6, suffix: "M" },
5944
+ { size: 1e3, suffix: "K" }
5945
+ ];
5946
+ function formatTokenAmount(tokens) {
5947
+ if (tokens == null || !Number.isFinite(tokens) || tokens < 0) return TOKEN_RATE_EMPTY;
5948
+ const whole = Math.round(tokens);
5949
+ if (whole < 1e3) return String(whole);
5950
+ for (const [index, unit] of TOKEN_AMOUNT_UNITS.entries()) {
5951
+ if (whole < unit.size) continue;
5952
+ const figure = Number((whole / unit.size).toPrecision(3));
5953
+ const larger = TOKEN_AMOUNT_UNITS[index - 1];
5954
+ return figure >= 1e3 && larger ? `1${larger.suffix}` : `${figure}${unit.suffix}`;
5955
+ }
5956
+ return String(whole);
5957
+ }
5958
+ function tokensForBalance(balance, rate) {
5959
+ if (rate == null || !Number.isFinite(rate) || rate <= 0 || !(balance > 0)) return null;
5960
+ return balance / rate;
5961
+ }
5962
+ function tokenRateProviderLabel(providerType, stated) {
5963
+ return aiProvider(providerType, { label: stated }).label;
5964
+ }
5965
+ function groupTokenRatesByProvider(rates) {
5966
+ const groups = /* @__PURE__ */ new Map();
5967
+ for (const rate of rates) {
5968
+ const group = groups.get(rate.providerType);
5969
+ if (group) group.push(rate);
5970
+ else groups.set(rate.providerType, [rate]);
5971
+ }
5972
+ return [...groups].map(([providerType, grouped]) => ({ providerType, rates: grouped }));
5973
+ }
5974
+
5915
5975
  // src/utils/trial.ts
5916
5976
  var TRIAL_DAYS = 14;
5917
5977
  var TRIAL_LABELS = {
@@ -6280,7 +6340,7 @@ function getShellIcon(shellType) {
6280
6340
  if (!shellType) return void 0;
6281
6341
  const normalized = shellType.toUpperCase();
6282
6342
  const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
6283
- return _optionalChain([shellDef, 'optionalAccess', _137 => _137.icon]);
6343
+ return _optionalChain([shellDef, 'optionalAccess', _141 => _141.icon]);
6284
6344
  }
6285
6345
 
6286
6346
  // src/utils/video-bite-id.ts
@@ -6382,7 +6442,7 @@ function getOSIcon(osType) {
6382
6442
  const normalized = normalizeOSType(osType);
6383
6443
  if (!normalized) return void 0;
6384
6444
  const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
6385
- return _optionalChain([osTypeDef, 'optionalAccess', _138 => _138.icon]);
6445
+ return _optionalChain([osTypeDef, 'optionalAccess', _142 => _142.icon]);
6386
6446
  }
6387
6447
  function getOSTypeDefinition(osType) {
6388
6448
  if (!osType) return void 0;
@@ -6392,7 +6452,7 @@ function getOSTypeDefinition(osType) {
6392
6452
  }
6393
6453
  function getOSPlatformId(osType) {
6394
6454
  const osTypeDef = getOSTypeDefinition(osType);
6395
- return _optionalChain([osTypeDef, 'optionalAccess', _139 => _139.platformId]);
6455
+ return _optionalChain([osTypeDef, 'optionalAccess', _143 => _143.platformId]);
6396
6456
  }
6397
6457
  function isOSPlatform(deviceOS, targetPlatform) {
6398
6458
  if (!deviceOS || !targetPlatform) return false;
@@ -6555,7 +6615,7 @@ function getCountryByName(name) {
6555
6615
  }
6556
6616
  function getFlagFromCountryName(countryName) {
6557
6617
  const country = getCountryByName(countryName);
6558
- return _optionalChain([country, 'optionalAccess', _140 => _140.flag]);
6618
+ return _optionalChain([country, 'optionalAccess', _144 => _144.flag]);
6559
6619
  }
6560
6620
  function validatePhoneNumber(phoneNumber, countryCode) {
6561
6621
  if (!phoneNumber.trim()) return true;
@@ -6664,10 +6724,10 @@ var GENERIC_EMAIL_DOMAINS = [
6664
6724
  ];
6665
6725
  function extractDomainFromEmail(email) {
6666
6726
  if (!email || !email.includes("@")) return null;
6667
- return _optionalChain([email, 'access', _141 => _141.split, 'call', _142 => _142("@"), 'access', _143 => _143[1], 'optionalAccess', _144 => _144.toLowerCase, 'call', _145 => _145()]) || null;
6727
+ return _optionalChain([email, 'access', _145 => _145.split, 'call', _146 => _146("@"), 'access', _147 => _147[1], 'optionalAccess', _148 => _148.toLowerCase, 'call', _149 => _149()]) || null;
6668
6728
  }
6669
6729
  function normalizeDomain(domain) {
6670
- return _optionalChain([domain, 'optionalAccess', _146 => _146.toLowerCase, 'call', _147 => _147(), 'access', _148 => _148.replace, 'call', _149 => _149(/^https?:\/\//, ""), 'access', _150 => _150.replace, 'call', _151 => _151(/^www\./, ""), 'access', _152 => _152.split, 'call', _153 => _153("/"), 'access', _154 => _154[0], 'access', _155 => _155.trim, 'call', _156 => _156()]) || "";
6730
+ return _optionalChain([domain, 'optionalAccess', _150 => _150.toLowerCase, 'call', _151 => _151(), 'access', _152 => _152.replace, 'call', _153 => _153(/^https?:\/\//, ""), 'access', _154 => _154.replace, 'call', _155 => _155(/^www\./, ""), 'access', _156 => _156.split, 'call', _157 => _157("/"), 'access', _158 => _158[0], 'access', _159 => _159.trim, 'call', _160 => _160()]) || "";
6671
6731
  }
6672
6732
  function isGenericDomain(domain) {
6673
6733
  const normalized = normalizeDomain(domain);
@@ -6814,6 +6874,7 @@ var SOURCE_ICON_NAMES = {
6814
6874
  "trust-center": "shield-check",
6815
6875
  // The public website's own pages (live source): the site's own mark, as a glyph in the slot's colour
6816
6876
  "website-pages": "flamingo-logo-grey",
6877
+ "openframe-pricing": "money-bill-dollar",
6817
6878
  // The OpenMSP vendor directory: the icon the site menu's "Tool directory" entry draws (it reads this one)
6818
6879
  vendors: "package-search",
6819
6880
  // Financials
@@ -6879,6 +6940,7 @@ var SOURCE_LABELS_BY_TABLE = {
6879
6940
  // Trust
6880
6941
  "trust-center": "Trust Center",
6881
6942
  "website-pages": "Website",
6943
+ "openframe-pricing": "OpenFrame pricing",
6882
6944
  vendors: "Vendor Directory",
6883
6945
  // Financials
6884
6946
  "investor-updates": "Investor Updates",
@@ -6948,6 +7010,7 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
6948
7010
  // Trust
6949
7011
  trust_center: "trust-center",
6950
7012
  site_page: "website-pages",
7013
+ openframe_price: "openframe-pricing",
6951
7014
  vendor: "vendors",
6952
7015
  // Financials
6953
7016
  investor_update: "investor-updates",
@@ -7011,13 +7074,13 @@ function recordCountLabel(count) {
7011
7074
  }
7012
7075
  function buildGroupedSource(spec) {
7013
7076
  const first = spec.rows[0];
7014
- const externalUrl = _nullishCoalesce(spec.externalUrl, () => ( _optionalChain([first, 'optionalAccess', _157 => _157.externalUrl])));
7015
- const targetPlatform = spec.targetPlatform !== void 0 ? spec.targetPlatform : _optionalChain([first, 'optionalAccess', _158 => _158.targetPlatform]);
7077
+ const externalUrl = _nullishCoalesce(spec.externalUrl, () => ( _optionalChain([first, 'optionalAccess', _161 => _161.externalUrl])));
7078
+ const targetPlatform = spec.targetPlatform !== void 0 ? spec.targetPlatform : _optionalChain([first, 'optionalAccess', _162 => _162.targetPlatform]);
7016
7079
  return {
7017
7080
  index: spec.index,
7018
7081
  name: `${getSourceLabel(spec.sourceRepo)} ${recordCountLabel(spec.rows.length)}`,
7019
- path: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _159 => _159.path]), () => ( "")),
7020
- documentType: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _160 => _160.documentType]), () => ( "")),
7082
+ path: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _163 => _163.path]), () => ( "")),
7083
+ documentType: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _164 => _164.documentType]), () => ( "")),
7021
7084
  ...externalUrl ? { externalUrl } : {},
7022
7085
  targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)),
7023
7086
  sourceRepo: spec.sourceRepo,
@@ -7086,7 +7149,7 @@ function groupSourcesByTable(sources2) {
7086
7149
  index: source.index,
7087
7150
  sourceRepo: source.sourceRepo,
7088
7151
  rows: uniqueRows(members.flatMap(rowsOf)),
7089
- ..._optionalChain([serverChip, 'optionalAccess', _161 => _161.externalUrl]) ? { externalUrl: serverChip.externalUrl } : {},
7152
+ ..._optionalChain([serverChip, 'optionalAccess', _165 => _165.externalUrl]) ? { externalUrl: serverChip.externalUrl } : {},
7090
7153
  ...serverChip && serverChip.targetPlatform !== void 0 ? { targetPlatform: serverChip.targetPlatform } : {}
7091
7154
  })
7092
7155
  );
@@ -7148,7 +7211,7 @@ function createSseSubscription(options) {
7148
7211
  if (connected === next) return;
7149
7212
  connected = next;
7150
7213
  try {
7151
- _optionalChain([onConnectedChange, 'optionalCall', _162 => _162(next)]);
7214
+ _optionalChain([onConnectedChange, 'optionalCall', _166 => _166(next)]);
7152
7215
  } catch (err) {
7153
7216
  console.error("[sse-subscription] onConnectedChange threw:", err);
7154
7217
  }
@@ -7164,7 +7227,7 @@ function createSseSubscription(options) {
7164
7227
  if (status !== "open") {
7165
7228
  confirmTimerId = clearLifecycleTimer(confirmTimerId);
7166
7229
  }
7167
- _optionalChain([onStatusChange, 'optionalCall', _163 => _163(status)]);
7230
+ _optionalChain([onStatusChange, 'optionalCall', _167 => _167(status)]);
7168
7231
  };
7169
7232
  const internalReconnect = (delayMs) => {
7170
7233
  failedDelayTimerId = clearLifecycleTimer(failedDelayTimerId);
@@ -7178,7 +7241,7 @@ function createSseSubscription(options) {
7178
7241
  }, delayMs);
7179
7242
  };
7180
7243
  const handleServerStatus = (data) => {
7181
- const status = _optionalChain([data, 'optionalAccess', _164 => _164.status]);
7244
+ const status = _optionalChain([data, 'optionalAccess', _168 => _168.status]);
7182
7245
  if (status === "subscribed") {
7183
7246
  confirmTimerId = clearLifecycleTimer(confirmTimerId);
7184
7247
  serverGraceTimerId = clearLifecycleTimer(serverGraceTimerId);
@@ -7219,7 +7282,7 @@ function createSseSubscription(options) {
7219
7282
  const armSilenceTimer = () => {
7220
7283
  if (silenceTimerId) clearTimeout(silenceTimerId);
7221
7284
  silenceTimerId = setTimeout(() => {
7222
- _optionalChain([abortController, 'optionalAccess', _165 => _165.abort, 'call', _166 => _166()]);
7285
+ _optionalChain([abortController, 'optionalAccess', _169 => _169.abort, 'call', _170 => _170()]);
7223
7286
  }, silenceTimeoutMs);
7224
7287
  };
7225
7288
  const scheduleReconnect = (delayMs) => {
@@ -7372,7 +7435,7 @@ function createSseSubscription(options) {
7372
7435
  generation += 1;
7373
7436
  clearTimers();
7374
7437
  attempt = 0;
7375
- _optionalChain([abortController, 'optionalAccess', _167 => _167.abort, 'call', _168 => _168()]);
7438
+ _optionalChain([abortController, 'optionalAccess', _171 => _171.abort, 'call', _172 => _172()]);
7376
7439
  void connect();
7377
7440
  }
7378
7441
  const suspend = () => {
@@ -7380,7 +7443,7 @@ function createSseSubscription(options) {
7380
7443
  suspended = true;
7381
7444
  generation += 1;
7382
7445
  clearTimers();
7383
- _optionalChain([abortController, 'optionalAccess', _169 => _169.abort, 'call', _170 => _170()]);
7446
+ _optionalChain([abortController, 'optionalAccess', _173 => _173.abort, 'call', _174 => _174()]);
7384
7447
  setStatus("suspended");
7385
7448
  };
7386
7449
  const retryIfStalled = () => {
@@ -7425,15 +7488,15 @@ function createSseSubscription(options) {
7425
7488
  generation += 1;
7426
7489
  clearTimers();
7427
7490
  hiddenGraceTimerId = clearLifecycleTimer(hiddenGraceTimerId);
7428
- _optionalChain([abortController, 'optionalAccess', _171 => _171.abort, 'call', _172 => _172()]);
7491
+ _optionalChain([abortController, 'optionalAccess', _175 => _175.abort, 'call', _176 => _176()]);
7429
7492
  if (listenersActive) {
7430
7493
  document.removeEventListener("visibilitychange", onVisibilityChange);
7431
7494
  window.removeEventListener("online", onOnline);
7432
7495
  window.removeEventListener("focus", retryIfStalled);
7433
7496
  }
7434
- _optionalChain([unsubscribeCredentials, 'optionalCall', _173 => _173()]);
7497
+ _optionalChain([unsubscribeCredentials, 'optionalCall', _177 => _177()]);
7435
7498
  setConnected(false);
7436
- _optionalChain([onStatusChange, 'optionalCall', _174 => _174("closed")]);
7499
+ _optionalChain([onStatusChange, 'optionalCall', _178 => _178("closed")]);
7437
7500
  },
7438
7501
  reconnectNow: () => {
7439
7502
  if (closed) return;
@@ -7445,7 +7508,7 @@ function createSseSubscription(options) {
7445
7508
 
7446
7509
  // src/utils/sse-decision-frame.ts
7447
7510
  async function readLeadingDecisionFrame(response) {
7448
- const reader = _optionalChain([response, 'access', _175 => _175.body, 'optionalAccess', _176 => _176.getReader, 'call', _177 => _177()]);
7511
+ const reader = _optionalChain([response, 'access', _179 => _179.body, 'optionalAccess', _180 => _180.getReader, 'call', _181 => _181()]);
7449
7512
  if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
7450
7513
  const decoder = new TextDecoder();
7451
7514
  let buffer = "";
@@ -7470,8 +7533,8 @@ async function readLeadingDecisionFrame(response) {
7470
7533
  throw new Error(`readLeadingDecisionFrame: leading JSON parse failed: ${err.message}`);
7471
7534
  }
7472
7535
  const obj = parsed;
7473
- if (_optionalChain([obj, 'optionalAccess', _178 => _178.kind]) !== "decision_resolved") {
7474
- throw new Error(`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _179 => _179.kind]))}`);
7536
+ if (_optionalChain([obj, 'optionalAccess', _182 => _182.kind]) !== "decision_resolved") {
7537
+ throw new Error(`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _183 => _183.kind]))}`);
7475
7538
  }
7476
7539
  frame = normalizeDecisionFrame(obj);
7477
7540
  buffer = buffer.slice(nullIdx + 1);
@@ -7533,7 +7596,7 @@ function formatChatAttachmentMarkdownForBubble(att, viewUrlPrefix) {
7533
7596
 
7534
7597
  [Attached: ${safeName}](${url})`;
7535
7598
  }
7536
- var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkJENNI7XUcjs.escapeRegExp.call(void 0, CHAT_ATTACHMENT_VIEW_URL_PREFIX);
7599
+ var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkHEQ4GPYEcjs.escapeRegExp.call(void 0, CHAT_ATTACHMENT_VIEW_URL_PREFIX);
7537
7600
  var CHAT_ATTACHMENT_MARKDOWN_PATTERN = new RegExp(
7538
7601
  `^\\s*!?\\[[^\\]]*\\]\\(${CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED}[^)]+\\)\\s*$`,
7539
7602
  "gm"
@@ -7557,7 +7620,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
7557
7620
  function buildAutoContinuationDirective(toolName, opts = {}) {
7558
7621
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
7559
7622
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
7560
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _180 => _180.status, 'optionalAccess', _181 => _181.toUpperCase, 'call', _182 => _182()]) === "CLOSED";
7623
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _184 => _184.status, 'optionalAccess', _185 => _185.toUpperCase, 'call', _186 => _186()]) === "CLOSED";
7561
7624
  if (toolName === "create_ticket") {
7562
7625
  return `${AUTO_CONTINUATION_DIRECTIVE_PREFIX} The user just approved create_ticket${ticketRef}. Per ticket-protocol \xA71a, ask 2-4 SHORT, issue-specific diagnostic follow-up questions tailored to the symptom they reported in their original message. When they answer, propose an update_ticket with content_addendum carrying a clean Q&A digest. Do NOT call any tool in this turn \u2014 just write the questions as prose.`;
7563
7626
  }
@@ -7619,7 +7682,7 @@ function formatSingularLookupInvocation(cmdId, value) {
7619
7682
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
7620
7683
  }
7621
7684
  function extractEntityIdFilter(override, expectedTableId) {
7622
- const f = _optionalChain([override, 'optionalAccess', _183 => _183.entityIdFilter]);
7685
+ const f = _optionalChain([override, 'optionalAccess', _187 => _187.entityIdFilter]);
7623
7686
  if (!f) return null;
7624
7687
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
7625
7688
  const id = typeof f.id === "string" ? f.id : "";
@@ -7890,12 +7953,12 @@ var FullscreenSwitchController = class {
7890
7953
  if (fullscreenElementOf(doc)) {
7891
7954
  if (doc.exitFullscreen) doc.exitFullscreen().catch(() => {
7892
7955
  });
7893
- else _optionalChain([doc, 'access', _184 => _184.webkitExitFullscreen, 'optionalCall', _185 => _185()]);
7956
+ else _optionalChain([doc, 'access', _188 => _188.webkitExitFullscreen, 'optionalCall', _189 => _189()]);
7894
7957
  } else {
7895
- const el = _nullishCoalesce(_optionalChain([this, 'access', _186 => _186.opts, 'access', _187 => _187.target, 'optionalCall', _188 => _188()]), () => ( document.documentElement));
7958
+ const el = _nullishCoalesce(_optionalChain([this, 'access', _190 => _190.opts, 'access', _191 => _191.target, 'optionalCall', _192 => _192()]), () => ( document.documentElement));
7896
7959
  if (el.requestFullscreen) el.requestFullscreen({ navigationUI: "hide" }).catch(() => {
7897
7960
  });
7898
- else _optionalChain([el, 'access', _189 => _189.webkitRequestFullscreen, 'optionalCall', _190 => _190()]);
7961
+ else _optionalChain([el, 'access', _193 => _193.webkitRequestFullscreen, 'optionalCall', _194 => _194()]);
7899
7962
  }
7900
7963
  };
7901
7964
  /** Raise the mask + start tracking. Idempotent — safe from the pre-emptive
@@ -7910,7 +7973,7 @@ var FullscreenSwitchController = class {
7910
7973
  window.clearTimeout(this.quietTimer);
7911
7974
  window.clearTimeout(this.capTimer);
7912
7975
  window.removeEventListener("resize", this.onResize);
7913
- _optionalChain([this, 'access', _191 => _191.opts, 'access', _192 => _192.onGeometryPulse, 'optionalCall', _193 => _193()]);
7976
+ _optionalChain([this, 'access', _195 => _195.opts, 'access', _196 => _196.onGeometryPulse, 'optionalCall', _197 => _197()]);
7914
7977
  if (this.opts.switchingClass) document.documentElement.classList.remove(this.opts.switchingClass);
7915
7978
  };
7916
7979
  this.armQuiet = () => {
@@ -7918,7 +7981,7 @@ var FullscreenSwitchController = class {
7918
7981
  this.quietTimer = window.setTimeout(this.endSwitch, _nullishCoalesce(this.opts.quietMs, () => ( DEFAULT_QUIET_MS)));
7919
7982
  };
7920
7983
  this.onResize = () => {
7921
- _optionalChain([this, 'access', _194 => _194.opts, 'access', _195 => _195.onGeometryPulse, 'optionalCall', _196 => _196()]);
7984
+ _optionalChain([this, 'access', _198 => _198.opts, 'access', _199 => _199.onGeometryPulse, 'optionalCall', _200 => _200()]);
7922
7985
  this.armQuiet();
7923
7986
  };
7924
7987
  /** Escape is the one exit path that skips toggle() — pre-mask on the
@@ -7930,7 +7993,7 @@ var FullscreenSwitchController = class {
7930
7993
  const fs = this.isFullscreen;
7931
7994
  if (this.opts.activeClass) document.documentElement.classList.toggle(this.opts.activeClass, fs);
7932
7995
  this.beginSwitch();
7933
- requestAnimationFrame(() => _optionalChain([this, 'access', _197 => _197.opts, 'access', _198 => _198.onGeometryPulse, 'optionalCall', _199 => _199()]));
7996
+ requestAnimationFrame(() => _optionalChain([this, 'access', _201 => _201.opts, 'access', _202 => _202.onGeometryPulse, 'optionalCall', _203 => _203()]));
7934
7997
  this.armQuiet();
7935
7998
  this.opts.onFullscreenChange(fs);
7936
7999
  };
@@ -7944,7 +8007,7 @@ var FullscreenSwitchController = class {
7944
8007
  }
7945
8008
  get isFullscreen() {
7946
8009
  const fs = fullscreenElementOf(document);
7947
- const target = _optionalChain([this, 'access', _200 => _200.opts, 'access', _201 => _201.target, 'optionalCall', _202 => _202()]);
8010
+ const target = _optionalChain([this, 'access', _204 => _204.opts, 'access', _205 => _205.target, 'optionalCall', _206 => _206()]);
7948
8011
  return target ? fs === target : Boolean(fs);
7949
8012
  }
7950
8013
  attach() {
@@ -7991,7 +8054,7 @@ function primaryPlatformOf(platforms) {
7991
8054
  if (!Array.isArray(platforms)) return null;
7992
8055
  for (const entry of platforms) {
7993
8056
  const row = entry;
7994
- const name = _nullishCoalesce(_nullishCoalesce(_optionalChain([row, 'optionalAccess', _203 => _203.platforms, 'optionalAccess', _204 => _204.name]), () => ( _optionalChain([row, 'optionalAccess', _205 => _205.platform_name]))), () => ( _optionalChain([row, 'optionalAccess', _206 => _206.name])));
8057
+ const name = _nullishCoalesce(_nullishCoalesce(_optionalChain([row, 'optionalAccess', _207 => _207.platforms, 'optionalAccess', _208 => _208.name]), () => ( _optionalChain([row, 'optionalAccess', _209 => _209.platform_name]))), () => ( _optionalChain([row, 'optionalAccess', _210 => _210.name])));
7995
8058
  if (typeof name === "string" && name.trim()) return name.trim();
7996
8059
  }
7997
8060
  return null;
@@ -8008,13 +8071,13 @@ function lastPathSegment(url) {
8008
8071
  function makeComposeContentUrl(opts) {
8009
8072
  const suffixes = _nullishCoalesce(opts.suffixes, () => ( DEFAULT_CONTENT_SUFFIXES));
8010
8073
  return ({ type: rawType, identifier, slug: slugHint, externalUrl, targetPlatform, platforms }) => {
8011
- const type = _chunkJENNI7XUcjs.canonicalContentRefType.call(void 0, rawType);
8074
+ const type = _chunkHEQ4GPYEcjs.canonicalContentRefType.call(void 0, rawType);
8012
8075
  const override = opts.overrides && Object.prototype.hasOwnProperty.call(opts.overrides, type) ? opts.overrides[type] : void 0;
8013
8076
  if (override) return { ...override(identifier), hostOverride: true };
8014
8077
  const seg = _nullishCoalesce((Object.prototype.hasOwnProperty.call(suffixes, type) ? suffixes[type] : void 0), () => ( type));
8015
8078
  if (opts.hostedTypes.has(type)) {
8016
8079
  const recovered = externalUrl ? lastPathSegment(externalUrl) : null;
8017
- const slug = recovered && recovered !== seg ? recovered : _optionalChain([slugHint, 'optionalAccess', _207 => _207.trim, 'call', _208 => _208()]) || identifier;
8080
+ const slug = recovered && recovered !== seg ? recovered : _optionalChain([slugHint, 'optionalAccess', _211 => _211.trim, 'call', _212 => _212()]) || identifier;
8018
8081
  return { href: `/${seg}/${slug}`, targetPlatform: null };
8019
8082
  }
8020
8083
  if (externalUrl) return { href: externalUrl, targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)) };
@@ -8022,7 +8085,7 @@ function makeComposeContentUrl(opts) {
8022
8085
  const owner = claimedOwner && byKey(claimedOwner) ? claimedOwner : null;
8023
8086
  const origin = owner ? getPlatformProductionUrl(owner) : opts.contentOrigin;
8024
8087
  return {
8025
- href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _209 => _209.trim, 'call', _210 => _210()]) || identifier}`,
8088
+ href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _213 => _213.trim, 'call', _214 => _214()]) || identifier}`,
8026
8089
  // Report the owner so `decideNewTab` can compare it against the current
8027
8090
  // app instead of falling back to an origin guess (which is unreliable in
8028
8091
  // dev, where every platform shares localhost). `null` whenever the href
@@ -8092,7 +8155,7 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
8092
8155
  const hasRootIndex = structure.some((node) => node.type === "file" && node.path === folderIndexFile);
8093
8156
  if (hasRootIndex) return null;
8094
8157
  const firstFolderWithReadme = structure.find((node) => node.type === "folder" && node.hasReadme && !!node.path);
8095
- return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _211 => _211.path]), () => ( null));
8158
+ return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _215 => _215.path]), () => ( null));
8096
8159
  }
8097
8160
 
8098
8161
  // src/utils/doc-path-utils.ts
@@ -8103,7 +8166,7 @@ function pathToNodeId(path) {
8103
8166
  return path.replace(/[/\s]/g, "-").toLowerCase();
8104
8167
  }
8105
8168
  function normalizeDocPath(segments, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
8106
- const lowerPath = (_optionalChain([segments, 'optionalAccess', _212 => _212.join, 'call', _213 => _213("/")]) || "").toLowerCase();
8169
+ const lowerPath = (_optionalChain([segments, 'optionalAccess', _216 => _216.join, 'call', _217 => _217("/")]) || "").toLowerCase();
8107
8170
  const lowerIndex = folderIndexFile.toLowerCase();
8108
8171
  const suffix = `/${lowerIndex}`;
8109
8172
  if (lowerPath.endsWith(suffix)) return lowerPath.slice(0, -suffix.length);
@@ -8461,7 +8524,7 @@ function isValidPathPattern(pattern) {
8461
8524
  return pattern.trim().length > 0 && compile(pattern.trim()) !== null;
8462
8525
  }
8463
8526
  function matchesPathPattern(pathname, pattern) {
8464
- return _nullishCoalesce(_optionalChain([compile, 'call', _214 => _214(pattern.trim()), 'optionalAccess', _215 => _215.test, 'call', _216 => _216(pathname)]), () => ( false));
8527
+ return _nullishCoalesce(_optionalChain([compile, 'call', _218 => _218(pattern.trim()), 'optionalAccess', _219 => _219.test, 'call', _220 => _220(pathname)]), () => ( false));
8465
8528
  }
8466
8529
  function pathMatchesAny(pathname, patterns) {
8467
8530
  return (_nullishCoalesce(patterns, () => ( []))).some((pattern) => matchesPathPattern(pathname, pattern));
@@ -8472,7 +8535,7 @@ function pathMatchesAny(pathname, patterns) {
8472
8535
  var MINGO_ACCENT = "var(--ods-flamingo-cyan-base)";
8473
8536
  var ASK_AI_OPEN_EVENT = "ask-ai:open";
8474
8537
  function openAskAi(source, options) {
8475
- const prompt = _optionalChain([options, 'optionalAccess', _217 => _217.prompt, 'optionalAccess', _218 => _218.trim, 'call', _219 => _219()]);
8538
+ const prompt = _optionalChain([options, 'optionalAccess', _221 => _221.prompt, 'optionalAccess', _222 => _222.trim, 'call', _223 => _223()]);
8476
8539
  const detail = prompt ? { source: _nullishCoalesce(source, () => ( "")), prompt } : { source: _nullishCoalesce(source, () => ( "")) };
8477
8540
  window.dispatchEvent(new CustomEvent(ASK_AI_OPEN_EVENT, { detail }));
8478
8541
  }
@@ -8491,10 +8554,10 @@ function MingoAiButton({
8491
8554
  const inPage = variant === "button";
8492
8555
  const commandKey = visitor.known && _chunkK2JUJ37Dcjs.usesCommandKey.call(void 0, visitor.os);
8493
8556
  const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
8494
- const label = _nullishCoalesce(labelProp, () => ( _optionalChain([assistant, 'optionalAccess', _220 => _220.name])));
8495
- const icon = _nullishCoalesce(iconProp, () => ( _optionalChain([assistant, 'optionalAccess', _221 => _221.icon])));
8496
- const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _222 => _222.open]);
8497
- const eventSource = _nullishCoalesce(source, () => ( _optionalChain([assistant, 'optionalAccess', _223 => _223.source])));
8557
+ const label = _nullishCoalesce(labelProp, () => ( _optionalChain([assistant, 'optionalAccess', _224 => _224.name])));
8558
+ const icon = _nullishCoalesce(iconProp, () => ( _optionalChain([assistant, 'optionalAccess', _225 => _225.icon])));
8559
+ const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _226 => _226.open]);
8560
+ const eventSource = _nullishCoalesce(source, () => ( _optionalChain([assistant, 'optionalAccess', _227 => _227.source])));
8498
8561
  const openRef = _react.useRef.call(void 0, () => void 0);
8499
8562
  _react.useEffect.call(void 0, () => {
8500
8563
  openRef.current = () => runtimeOpen ? runtimeOpen({}) : openAskAi(eventSource);
@@ -8525,7 +8588,7 @@ function MingoAiButton({
8525
8588
  onClick: (e) => {
8526
8589
  if (runtimeOpen) runtimeOpen({});
8527
8590
  else openAskAi(eventSource);
8528
- _optionalChain([onClick, 'optionalCall', _224 => _224(e)]);
8591
+ _optionalChain([onClick, 'optionalCall', _228 => _228(e)]);
8529
8592
  },
8530
8593
  className: _chunk3ATAYP36cjs.cn.call(void 0,
8531
8594
  "group/mingo flex shrink-0 justify-start focus-visible:ring-ods-accent",
@@ -8741,10 +8804,10 @@ function QuestionChips({
8741
8804
  const request = { prompt: _nullishCoalesce(prompt.prompt, () => ( prompt.label)) };
8742
8805
  if (onOpen) onOpen(request);
8743
8806
  else openAskAi(source, request);
8744
- _optionalChain([onAsk, 'optionalCall', _225 => _225(prompt)]);
8807
+ _optionalChain([onAsk, 'optionalCall', _229 => _229(prompt)]);
8745
8808
  }
8746
8809
  }
8747
- ) : null }, _nullishCoalesce(_optionalChain([prompt, 'optionalAccess', _226 => _226.id]), () => ( `slot-${slot}`)));
8810
+ ) : null }, _nullishCoalesce(_optionalChain([prompt, 'optionalAccess', _230 => _230.id]), () => ( `slot-${slot}`)));
8748
8811
  }) });
8749
8812
  }
8750
8813
  function AskPrompts({
@@ -8858,7 +8921,7 @@ function buildAskPromptsUrl(base, { count, topic, exclude = [] }) {
8858
8921
  return `${base}${base.includes("?") ? "&" : "?"}${params.toString()}`;
8859
8922
  }
8860
8923
  function assistantAvailable(assistant) {
8861
- return !!_optionalChain([assistant, 'optionalAccess', _227 => _227.available]);
8924
+ return !!_optionalChain([assistant, 'optionalAccess', _231 => _231.available]);
8862
8925
  }
8863
8926
  function useAskPrompts({
8864
8927
  topic,
@@ -8869,13 +8932,13 @@ function useAskPrompts({
8869
8932
  const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
8870
8933
  const base = assistantAvailable(assistant) ? assistant.askPromptsUrl : void 0;
8871
8934
  const url = base && enabled ? buildAskPromptsUrl(base, { count, topic, exclude }) : null;
8872
- const { data, isLoading } = _chunkJENNI7XUcjs.useSelfFetch.call(void 0, url);
8873
- return { prompts: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _228 => _228.prompts]), () => ( [])), isLoading: !!base && (!enabled || isLoading), supported: !!base };
8935
+ const { data, isLoading } = _chunkHEQ4GPYEcjs.useSelfFetch.call(void 0, url);
8936
+ return { prompts: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _232 => _232.prompts]), () => ( [])), isLoading: !!base && (!enabled || isLoading), supported: !!base };
8874
8937
  }
8875
8938
  function useAssistantOpen(topic, onOpen) {
8876
8939
  const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
8877
- const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _229 => _229.open]);
8878
- const source = _optionalChain([assistant, 'optionalAccess', _230 => _230.source]);
8940
+ const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _233 => _233.open]);
8941
+ const source = _optionalChain([assistant, 'optionalAccess', _234 => _234.source]);
8879
8942
  return _react.useCallback.call(void 0,
8880
8943
  (request) => {
8881
8944
  const full = { ...request, topic };
@@ -8917,7 +8980,7 @@ function createShownList() {
8917
8980
  }
8918
8981
  var shownLists = /* @__PURE__ */ new Map();
8919
8982
  function useShownList() {
8920
- const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess', _231 => _231.askPromptsUrl]), () => ( ""));
8983
+ const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess', _235 => _235.askPromptsUrl]), () => ( ""));
8921
8984
  let list = shownLists.get(scope);
8922
8985
  if (!list) {
8923
8986
  list = createShownList();
@@ -8969,7 +9032,7 @@ function AssistantAskPrompts({
8969
9032
  label: _nullishCoalesce(_nullishCoalesce(label, () => ( assistant.name)), () => ( void 0)),
8970
9033
  icon: assistant.icon,
8971
9034
  onOpen: open,
8972
- onAsk: (prompt) => _optionalChain([assistant, 'access', _232 => _232.onAsk, 'optionalCall', _233 => _233({ promptId: prompt.id, topic })]),
9035
+ onAsk: (prompt) => _optionalChain([assistant, 'access', _236 => _236.onAsk, 'optionalCall', _237 => _237({ promptId: prompt.id, topic })]),
8973
9036
  align,
8974
9037
  fadeColor,
8975
9038
  className
@@ -9138,7 +9201,7 @@ function MarqueeWall({
9138
9201
  if (!container || !copy) return;
9139
9202
  const size = axis === "y" ? copy.offsetHeight : copy.offsetWidth;
9140
9203
  copySizeRef.current = size;
9141
- const clone = _optionalChain([trackRef, 'access', _234 => _234.current, 'optionalAccess', _235 => _235.querySelector, 'call', _236 => _236('[data-marquee-copy="clone"]')]);
9204
+ const clone = _optionalChain([trackRef, 'access', _238 => _238.current, 'optionalAccess', _239 => _239.querySelector, 'call', _240 => _240('[data-marquee-copy="clone"]')]);
9142
9205
  wrapSizeRef.current = clone ? axis === "y" ? clone.offsetTop - copy.offsetTop : clone.offsetLeft - copy.offsetLeft : size + (typeof copyGap === "number" ? copyGap : 0);
9143
9206
  const avail = axis === "y" ? container.clientHeight : container.clientWidth;
9144
9207
  setOverflows(size > avail + 1);
@@ -9269,7 +9332,7 @@ function MarqueeWall({
9269
9332
  if (Math.abs(delta) > 3 && !dragMovedRef.current) {
9270
9333
  dragMovedRef.current = true;
9271
9334
  try {
9272
- _optionalChain([containerRef, 'access', _237 => _237.current, 'optionalAccess', _238 => _238.setPointerCapture, 'call', _239 => _239(e.pointerId)]);
9335
+ _optionalChain([containerRef, 'access', _241 => _241.current, 'optionalAccess', _242 => _242.setPointerCapture, 'call', _243 => _243(e.pointerId)]);
9273
9336
  } catch (e19) {
9274
9337
  }
9275
9338
  }
@@ -9286,7 +9349,7 @@ function MarqueeWall({
9286
9349
  dragSuppressUntilRef.current = performance.now() + DRAG_RESUME_MS;
9287
9350
  if (dragMovedRef.current) {
9288
9351
  try {
9289
- _optionalChain([containerRef, 'access', _240 => _240.current, 'optionalAccess', _241 => _241.releasePointerCapture, 'call', _242 => _242(e.pointerId)]);
9352
+ _optionalChain([containerRef, 'access', _244 => _244.current, 'optionalAccess', _245 => _245.releasePointerCapture, 'call', _246 => _246(e.pointerId)]);
9290
9353
  } catch (e20) {
9291
9354
  }
9292
9355
  }
@@ -9618,7 +9681,7 @@ var ChatTicketItem = _react.forwardRef.call(void 0,
9618
9681
  {
9619
9682
  ref,
9620
9683
  type: "button",
9621
- onClick: () => _optionalChain([onClick, 'optionalCall', _243 => _243(ticket.id)]),
9684
+ onClick: () => _optionalChain([onClick, 'optionalCall', _247 => _247(ticket.id)]),
9622
9685
  className: _chunk3ATAYP36cjs.cn.call(void 0,
9623
9686
  "flex h-20 w-full items-center gap-4 px-4",
9624
9687
  "border-b border-ods-border bg-ods-card",
@@ -9888,7 +9951,7 @@ function MingoChatHistoryRow({
9888
9951
  const unread = _nullishCoalesce(dialog.unreadMessagesCount, () => ( 0));
9889
9952
  const hasMenu = !!onRequestRename || !!onRequestArchive || !!onRequestCopyLink || !!onRequestCompact;
9890
9953
  const owner = dialog.owner;
9891
- const hasAvatar = !!(_optionalChain([owner, 'optionalAccess', _244 => _244.name]) || _optionalChain([owner, 'optionalAccess', _245 => _245.avatarUrl]));
9954
+ const hasAvatar = !!(_optionalChain([owner, 'optionalAccess', _248 => _248.name]) || _optionalChain([owner, 'optionalAccess', _249 => _249.avatarUrl]));
9892
9955
  const [menuOpen, setMenuOpen] = _react.useState.call(void 0, false);
9893
9956
  const menuItems = chatDialogMenuItems({
9894
9957
  onCopyLink: onRequestCopyLink && (() => onRequestCopyLink(dialog)),
@@ -9913,11 +9976,11 @@ function MingoChatHistoryRow({
9913
9976
  {
9914
9977
  role: "button",
9915
9978
  tabIndex: 0,
9916
- onClick: () => _optionalChain([onSelect, 'optionalCall', _246 => _246(dialog.id)]),
9979
+ onClick: () => _optionalChain([onSelect, 'optionalCall', _250 => _250(dialog.id)]),
9917
9980
  onKeyDown: (e) => {
9918
9981
  if (e.key === "Enter" || e.key === " ") {
9919
9982
  e.preventDefault();
9920
- _optionalChain([onSelect, 'optionalCall', _247 => _247(dialog.id)]);
9983
+ _optionalChain([onSelect, 'optionalCall', _251 => _251(dialog.id)]);
9921
9984
  }
9922
9985
  },
9923
9986
  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",
@@ -9984,8 +10047,8 @@ function MingoChatHistoryRow({
9984
10047
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9985
10048
  "span",
9986
10049
  {
9987
- onClick: () => _optionalChain([onSelect, 'optionalCall', _248 => _248(dialog.id)]),
9988
- title: _optionalChain([owner, 'optionalAccess', _249 => _249.name]) || void 0,
10050
+ onClick: () => _optionalChain([onSelect, 'optionalCall', _252 => _252(dialog.id)]),
10051
+ title: _optionalChain([owner, 'optionalAccess', _253 => _253.name]) || void 0,
9989
10052
  className: _chunk3ATAYP36cjs.cn.call(void 0,
9990
10053
  "absolute inset-0 flex cursor-pointer items-center justify-center transition-opacity",
9991
10054
  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")
@@ -9995,9 +10058,9 @@ function MingoChatHistoryRow({
9995
10058
  {
9996
10059
  variant: "round",
9997
10060
  sizePx: 24,
9998
- src: _optionalChain([owner, 'optionalAccess', _250 => _250.avatarUrl]) || void 0,
9999
- alt: _optionalChain([owner, 'optionalAccess', _251 => _251.name]) || void 0,
10000
- fallback: _optionalChain([owner, 'optionalAccess', _252 => _252.name]) || void 0,
10061
+ src: _optionalChain([owner, 'optionalAccess', _254 => _254.avatarUrl]) || void 0,
10062
+ alt: _optionalChain([owner, 'optionalAccess', _255 => _255.name]) || void 0,
10063
+ fallback: _optionalChain([owner, 'optionalAccess', _256 => _256.name]) || void 0,
10001
10064
  initialsClassName: "text-[10px] text-ods-text-secondary"
10002
10065
  }
10003
10066
  )
@@ -10049,7 +10112,7 @@ function MingoChatHistory({
10049
10112
  className
10050
10113
  }) {
10051
10114
  const groups = _react.useMemo.call(void 0, () => groupDialogs(dialogs), [dialogs]);
10052
- const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess', _253 => _253.trim, 'call', _254 => _254()]);
10115
+ const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess', _257 => _257.trim, 'call', _258 => _258()]);
10053
10116
  const { scrollRef, fadeTop, fadeBottom, update: updateFade } = useScrollFade();
10054
10117
  const sentinelRef = _react.useRef.call(void 0, null);
10055
10118
  const onLoadMoreRef = _react.useRef.call(void 0, onLoadMore);
@@ -10066,7 +10129,7 @@ function MingoChatHistory({
10066
10129
  const io = new IntersectionObserver(
10067
10130
  ([entry]) => {
10068
10131
  if (entry.isIntersecting && !isLoadingMoreRef.current) {
10069
- _optionalChain([onLoadMoreRef, 'access', _255 => _255.current, 'optionalCall', _256 => _256()]);
10132
+ _optionalChain([onLoadMoreRef, 'access', _259 => _259.current, 'optionalCall', _260 => _260()]);
10070
10133
  }
10071
10134
  },
10072
10135
  { root, rootMargin: "120px", threshold: 0.1 }
@@ -10251,8 +10314,8 @@ function MingoWelcome({
10251
10314
  icon: action.icon,
10252
10315
  variant: action.variant,
10253
10316
  onSelect: action.onClick,
10254
- onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _257 => _257(action)]),
10255
- onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _258 => _258()])
10317
+ onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _261 => _261(action)]),
10318
+ onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _262 => _262()])
10256
10319
  })),
10257
10320
  agentSlug,
10258
10321
  rows: 4,
@@ -10305,9 +10368,9 @@ function GuideWelcome({
10305
10368
  props: action.iconProps,
10306
10369
  accent: _nullishCoalesce(_nullishCoalesce(action.accent, () => ( accentFromIdentityIcon(icon))), () => ( "cyan"))
10307
10370
  },
10308
- onSelect: () => _optionalChain([onQuickAction, 'optionalCall', _259 => _259(action)]),
10309
- onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _260 => _260(action)]),
10310
- onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _261 => _261()])
10371
+ onSelect: () => _optionalChain([onQuickAction, 'optionalCall', _263 => _263(action)]),
10372
+ onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _264 => _264(action)]),
10373
+ onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _265 => _265()])
10311
10374
  })),
10312
10375
  [quickActions, icon, onQuickAction, onQuickActionHover, onQuickActionHoverEnd]
10313
10376
  );
@@ -10324,7 +10387,7 @@ function GuideWelcome({
10324
10387
  icon && (icon.name || icon.url) ? (
10325
10388
  // Agent-mode identity glyph (chat-config Identity tab). Sized to
10326
10389
  // match the default Mingo mark (48px).
10327
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.EntityIcon, { icon: { name: icon.name, url: icon.url, props: icon.props }, size: 48 })
10390
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.EntityIcon, { icon: { name: icon.name, url: icon.url, props: icon.props }, size: 48 })
10328
10391
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10329
10392
  _chunkLLSUVPQCcjs.MingoIcon,
10330
10393
  {
@@ -10516,7 +10579,7 @@ function MingoArchiveList({
10516
10579
  if (!sentinel || !hasMore || typeof IntersectionObserver === "undefined") return void 0;
10517
10580
  const observer = new IntersectionObserver(
10518
10581
  ([entry]) => {
10519
- if (_optionalChain([entry, 'optionalAccess', _262 => _262.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _263 => _263.current, 'optionalCall', _264 => _264()]);
10582
+ if (_optionalChain([entry, 'optionalAccess', _266 => _266.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _267 => _267.current, 'optionalCall', _268 => _268()]);
10520
10583
  },
10521
10584
  { rootMargin: "120px", threshold: 0.1 }
10522
10585
  );
@@ -10535,7 +10598,7 @@ function MingoArchiveList({
10535
10598
  ChatListItem,
10536
10599
  {
10537
10600
  title: dialog.title || "Untitled Chat",
10538
- onClick: () => _optionalChain([onSelectDialog, 'optionalCall', _265 => _265(dialog.id)]),
10601
+ onClick: () => _optionalChain([onSelectDialog, 'optionalCall', _269 => _269(dialog.id)]),
10539
10602
  trailing: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
10540
10603
  dialog.timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkHP4UUBJCcjs.formatRelativeTime.call(void 0, dialog.timestamp) }),
10541
10604
  dialog.owner && (dialog.owner.name || dialog.owner.avatarUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -10674,7 +10737,7 @@ function ChatHeaderSearchField({
10674
10737
  const finishCollapse = _react.useCallback.call(void 0, () => {
10675
10738
  if (collapsedRef.current) return;
10676
10739
  collapsedRef.current = true;
10677
- _optionalChain([onCollapse, 'optionalCall', _266 => _266()]);
10740
+ _optionalChain([onCollapse, 'optionalCall', _270 => _270()]);
10678
10741
  }, [onCollapse]);
10679
10742
  const beginCollapse = _react.useCallback.call(void 0, () => {
10680
10743
  setExiting(true);
@@ -10755,7 +10818,7 @@ var STATUS_GLYPHS = {
10755
10818
  approval: { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { className: "text-ods-accent" }), label: "Waiting for approval" }
10756
10819
  };
10757
10820
  function statusFor(dialog, statusOf) {
10758
- return _nullishCoalesce(_optionalChain([statusOf, 'optionalCall', _267 => _267(dialog)]), () => ( ((_nullishCoalesce(dialog.unreadMessagesCount, () => ( 0))) > 0 ? "unread" : void 0)));
10821
+ return _nullishCoalesce(_optionalChain([statusOf, 'optionalCall', _271 => _271(dialog)]), () => ( ((_nullishCoalesce(dialog.unreadMessagesCount, () => ( 0))) > 0 ? "unread" : void 0)));
10759
10822
  }
10760
10823
  function MingoChatRail({
10761
10824
  dialogs,
@@ -10784,8 +10847,8 @@ function MingoChatRail({
10784
10847
  onExpand,
10785
10848
  className
10786
10849
  }) {
10787
- const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess', _268 => _268.trim, 'call', _269 => _269()]));
10788
- const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _270 => _270.trim, 'call', _271 => _271()]);
10850
+ const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess', _272 => _272.trim, 'call', _273 => _273()]));
10851
+ const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _274 => _274.trim, 'call', _275 => _275()]);
10789
10852
  const items = [];
10790
10853
  if (onNewChat) items.push({ id: "new", label: "Start New Chat", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ChatPlusIcon, {}), onClick: onNewChat });
10791
10854
  if (onOpenArchive) {
@@ -10842,7 +10905,7 @@ function MingoChatRail({
10842
10905
  if (!sentinel || !hasMore || typeof IntersectionObserver === "undefined") return void 0;
10843
10906
  const observer = new IntersectionObserver(
10844
10907
  ([entry]) => {
10845
- if (_optionalChain([entry, 'optionalAccess', _272 => _272.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _273 => _273.current, 'optionalCall', _274 => _274()]);
10908
+ if (_optionalChain([entry, 'optionalAccess', _276 => _276.isIntersecting]) && !isLoadingMoreRef.current) _optionalChain([onLoadMoreRef, 'access', _277 => _277.current, 'optionalCall', _278 => _278()]);
10846
10909
  },
10847
10910
  { rootMargin: "120px", threshold: 0.1 }
10848
10911
  );
@@ -10965,7 +11028,7 @@ function MingoChatRailRow({ dialog, active, status, onSelect, menuItems }) {
10965
11028
  {
10966
11029
  active,
10967
11030
  title,
10968
- onClick: () => _optionalChain([onSelect, 'optionalCall', _275 => _275(dialog.id)]),
11031
+ onClick: () => _optionalChain([onSelect, 'optionalCall', _279 => _279(dialog.id)]),
10969
11032
  className: _chunk3ATAYP36cjs.cn.call(void 0, hasMenu && "pr-10"),
10970
11033
  trailing: glyph ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10971
11034
  "span",
@@ -11099,7 +11162,7 @@ function MingoHistoryRail({
11099
11162
  onRetry,
11100
11163
  className
11101
11164
  }) {
11102
- const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _276 => _276.trim, 'call', _277 => _277()]);
11165
+ const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _280 => _280.trim, 'call', _281 => _281()]);
11103
11166
  const hasList = dialogs.length > 0 || hasSearch;
11104
11167
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
11105
11168
  "div",
@@ -11188,8 +11251,8 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
11188
11251
  const save = () => {
11189
11252
  if (canSave) onSave(name.trim());
11190
11253
  };
11191
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFDWYBJYDcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
11192
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFDWYBJYDcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFDWYBJYDcjs.ModalTitle, { children: "Rename Chat" }) }),
11254
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNJV3LIDEcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
11255
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNJV3LIDEcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNJV3LIDEcjs.ModalTitle, { children: "Rename Chat" }) }),
11193
11256
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xxs)]", children: [
11194
11257
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { htmlFor: "rename-chat-input", className: "text-ods-text-primary text-h4", children: "Chat Name" }),
11195
11258
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -11206,27 +11269,27 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
11206
11269
  }
11207
11270
  )
11208
11271
  ] }),
11209
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFDWYBJYDcjs.ModalFooter, { children: [
11272
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNJV3LIDEcjs.ModalFooter, { children: [
11210
11273
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onClose, className: cancelBtn, children: "Cancel" }),
11211
11274
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: save, disabled: !canSave, className: saveBtn, children: "Save" })
11212
11275
  ] })
11213
11276
  ] });
11214
11277
  }
11215
11278
  function ArchiveChatModal({ isOpen, onClose, onConfirm }) {
11216
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFDWYBJYDcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
11217
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFDWYBJYDcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFDWYBJYDcjs.ModalTitle, { children: "Archive Chat" }) }),
11279
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNJV3LIDEcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
11280
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNJV3LIDEcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNJV3LIDEcjs.ModalTitle, { children: "Archive Chat" }) }),
11218
11281
  /* @__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." }),
11219
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFDWYBJYDcjs.ModalFooter, { children: [
11282
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNJV3LIDEcjs.ModalFooter, { children: [
11220
11283
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onClose, className: cancelBtn, children: "Cancel" }),
11221
11284
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onConfirm, className: dangerBtn, children: "Archive Chat" })
11222
11285
  ] })
11223
11286
  ] });
11224
11287
  }
11225
11288
  function UnarchiveChatModal({ isOpen, onClose, onConfirm }) {
11226
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFDWYBJYDcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
11227
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFDWYBJYDcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFDWYBJYDcjs.ModalTitle, { children: "Unarchive Chat" }) }),
11289
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNJV3LIDEcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
11290
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNJV3LIDEcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNJV3LIDEcjs.ModalTitle, { children: "Unarchive Chat" }) }),
11228
11291
  /* @__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." }),
11229
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFDWYBJYDcjs.ModalFooter, { children: [
11292
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNJV3LIDEcjs.ModalFooter, { children: [
11230
11293
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onClose, className: cancelBtn, children: "Cancel" }),
11231
11294
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: onConfirm, className: saveBtn, children: "Unarchive Chat" })
11232
11295
  ] })
@@ -11248,7 +11311,7 @@ function ChatDialogModals({
11248
11311
  RenameChatModal,
11249
11312
  {
11250
11313
  isOpen: renameTarget != null,
11251
- initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _278 => _278.title]), () => ( "")),
11314
+ initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _282 => _282.title]), () => ( "")),
11252
11315
  onClose: () => setRenameTarget(null),
11253
11316
  onSave: onConfirmRename
11254
11317
  }
@@ -11465,7 +11528,7 @@ function ChatAttachmentAddButton({
11465
11528
  const canAddMore = slotsAvailable > 0 && !disabled;
11466
11529
  const handlePick = () => {
11467
11530
  if (!canAddMore) return;
11468
- _optionalChain([fileInputRef, 'access', _279 => _279.current, 'optionalAccess', _280 => _280.click, 'call', _281 => _281()]);
11531
+ _optionalChain([fileInputRef, 'access', _283 => _283.current, 'optionalAccess', _284 => _284.click, 'call', _285 => _285()]);
11469
11532
  };
11470
11533
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
11471
11534
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -11628,7 +11691,7 @@ function ChatContextMemoryBar({
11628
11691
  _react.useEffect.call(void 0, () => {
11629
11692
  if (!open) return void 0;
11630
11693
  const onOutside = (e) => {
11631
- if (_optionalChain([rootRef, 'access', _282 => _282.current, 'optionalAccess', _283 => _283.contains, 'call', _284 => _284(e.target)])) return;
11694
+ if (_optionalChain([rootRef, 'access', _286 => _286.current, 'optionalAccess', _287 => _287.contains, 'call', _288 => _288(e.target)])) return;
11632
11695
  setOpen(false);
11633
11696
  };
11634
11697
  document.addEventListener("mousedown", onOutside, true);
@@ -11811,7 +11874,7 @@ var ModelDisplay = _react2.default.forwardRef(
11811
11874
  }, ref) => {
11812
11875
  const icon = getProviderIcon(provider);
11813
11876
  const name = displayName || modelName;
11814
- const isV2 = useChatAppearance() === _chunkFDWYBJYDcjs.CHAT_APPEARANCE.V2;
11877
+ const isV2 = useChatAppearance() === _chunkNJV3LIDEcjs.CHAT_APPEARANCE.V2;
11815
11878
  const formatCount = (count) => isV2 ? count.toLocaleString("en-US") : formatTokenCount(count);
11816
11879
  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: [
11817
11880
  icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex items-center justify-center", children: icon }),
@@ -11931,7 +11994,7 @@ function ChatComposer({
11931
11994
  const locked = lock != null;
11932
11995
  const selected = _nullishCoalesce(selectedContextItems, () => ( []));
11933
11996
  const memory = _nullishCoalesce(contextMemoryItems, () => ( []));
11934
- const entityTypes = _optionalChain([contextPicker, 'optionalAccess', _285 => _285.entityTypes]);
11997
+ const entityTypes = _optionalChain([contextPicker, 'optionalAccess', _289 => _289.entityTypes]);
11935
11998
  const iconByType = _react.useMemo.call(void 0, () => {
11936
11999
  const map = /* @__PURE__ */ new Map();
11937
12000
  for (const t of _nullishCoalesce(entityTypes, () => ( []))) map.set(t.type, t.icon);
@@ -11939,7 +12002,7 @@ function ChatComposer({
11939
12002
  }, [entityTypes]);
11940
12003
  const resolveContextIcon = _react.useCallback.call(void 0, (item) => iconByType.get(item.type), [iconByType]);
11941
12004
  const inputNode = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11942
- _chunkFDWYBJYDcjs.ChatInput,
12005
+ _chunkNJV3LIDEcjs.ChatInput,
11943
12006
  {
11944
12007
  ref: inputRef,
11945
12008
  onSend,
@@ -11947,7 +12010,7 @@ function ChatComposer({
11947
12010
  sending,
11948
12011
  placeholder,
11949
12012
  disabled: locked,
11950
- disabledPlaceholder: _optionalChain([lock, 'optionalAccess', _286 => _286.placeholder]),
12013
+ disabledPlaceholder: _optionalChain([lock, 'optionalAccess', _290 => _290.placeholder]),
11951
12014
  previewText,
11952
12015
  fullWidth: true,
11953
12016
  className: "px-0",
@@ -11960,7 +12023,7 @@ function ChatComposer({
11960
12023
  startIcon: contextEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11961
12024
  ChatComposerPlusMenu,
11962
12025
  {
11963
- onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall', _287 => _287()]) : _optionalChain([onOpenContextPicker, 'optionalCall', _288 => _288()]),
12026
+ onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall', _291 => _291()]) : _optionalChain([onOpenContextPicker, 'optionalCall', _292 => _292()]),
11964
12027
  open: contextPickerOpen,
11965
12028
  disabled: attachmentsDisabled || locked,
11966
12029
  dropdown: contextPicker ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -11969,8 +12032,8 @@ function ChatComposer({
11969
12032
  open: contextPickerOpen,
11970
12033
  config: contextPicker,
11971
12034
  selectedItems: selected,
11972
- onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall', _289 => _289(item)]),
11973
- onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall', _290 => _290()]),
12035
+ onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall', _293 => _293(item)]),
12036
+ onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall', _294 => _294()]),
11974
12037
  mentionQuery
11975
12038
  }
11976
12039
  ) : void 0
@@ -12161,8 +12224,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
12161
12224
  var DialogListItem = _react.forwardRef.call(void 0,
12162
12225
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
12163
12226
  const handleClick = (e) => {
12164
- _optionalChain([onDialogSelect, 'optionalCall', _291 => _291(dialog.id)]);
12165
- _optionalChain([onClick, 'optionalCall', _292 => _292(e)]);
12227
+ _optionalChain([onDialogSelect, 'optionalCall', _295 => _295(dialog.id)]);
12228
+ _optionalChain([onClick, 'optionalCall', _296 => _296(e)]);
12166
12229
  };
12167
12230
  const formatTimestamp = (timestamp) => {
12168
12231
  return _chunkTKFTWM3Vcjs.formatDateWithTimezone.call(void 0, timestamp, _chunkTKFTWM3Vcjs.VIEWER_TIMEZONE, "numericDateTime24h");
@@ -12235,7 +12298,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
12235
12298
  (entries) => {
12236
12299
  const [entry] = entries;
12237
12300
  if (entry.isIntersecting && !isFetchingRef.current) {
12238
- _optionalChain([onLoadMoreRef, 'access', _293 => _293.current, 'optionalCall', _294 => _294()]);
12301
+ _optionalChain([onLoadMoreRef, 'access', _297 => _297.current, 'optionalCall', _298 => _298()]);
12239
12302
  }
12240
12303
  },
12241
12304
  { root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
@@ -12450,7 +12513,7 @@ function OnboardingCarousel({
12450
12513
  " of ",
12451
12514
  steps.length,
12452
12515
  ": ",
12453
- _optionalChain([steps, 'access', _295 => _295[index], 'optionalAccess', _296 => _296.title])
12516
+ _optionalChain([steps, 'access', _299 => _299[index], 'optionalAccess', _300 => _300.title])
12454
12517
  ] }),
12455
12518
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", role: "group", "aria-label": "Choose step", children: steps.map((step, i) => {
12456
12519
  const isCurrent = i === index;
@@ -12550,12 +12613,12 @@ function resolveExternalNavigation(args) {
12550
12613
 
12551
12614
  // src/components/chat/utils/execute-navigation.ts
12552
12615
  function isForeignOriginHref(href) {
12553
- return /^https?:\/\//i.test(href) && !_chunkJENNI7XUcjs.isSameOriginAbsoluteHref.call(void 0, href);
12616
+ return /^https?:\/\//i.test(href) && !_chunkHEQ4GPYEcjs.isSameOriginAbsoluteHref.call(void 0, href);
12554
12617
  }
12555
12618
  function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
12556
- const isNewTab = runtime ? _chunkJENNI7XUcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
12619
+ const isNewTab = runtime ? _chunkHEQ4GPYEcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
12557
12620
  if (isNewTab) {
12558
- if (_optionalChain([runtime, 'optionalAccess', _297 => _297.navigation, 'access', _298 => _298.openExternal])) runtime.navigation.openExternal(href);
12621
+ if (_optionalChain([runtime, 'optionalAccess', _301 => _301.navigation, 'access', _302 => _302.openExternal])) runtime.navigation.openExternal(href);
12559
12622
  else window.open(href, "_blank", NEW_TAB_FEATURES);
12560
12623
  return;
12561
12624
  }
@@ -12563,7 +12626,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
12563
12626
  if (target.includes("#") && _chunkK2JUJ37Dcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkK2JUJ37Dcjs.STICKY_HEADER_OFFSET_PX })) {
12564
12627
  return;
12565
12628
  }
12566
- const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _299 => _299.navigation, 'access', _300 => _300.navigate, 'optionalCall', _301 => _301({ href, path, targetPlatform })]), () => ( false));
12629
+ const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _303 => _303.navigation, 'access', _304 => _304.navigate, 'optionalCall', _305 => _305({ href, path, targetPlatform })]), () => ( false));
12567
12630
  if (!handled) {
12568
12631
  if (fallbackNavigate) fallbackNavigate(target);
12569
12632
  else window.location.assign(target);
@@ -12611,9 +12674,9 @@ function useNavLinkViaRuntime({
12611
12674
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
12612
12675
  const panel = useChatPanel();
12613
12676
  const resolvedHref = resolveHrefForRuntime(href, runtime);
12614
- const isNewTab = _chunkJENNI7XUcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
12677
+ const isNewTab = _chunkHEQ4GPYEcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
12615
12678
  const onClick = (e) => {
12616
- _optionalChain([onClickProp, 'optionalCall', _302 => _302(e)]);
12679
+ _optionalChain([onClickProp, 'optionalCall', _306 => _306(e)]);
12617
12680
  if (e.defaultPrevented) return;
12618
12681
  const handled = executeNavigation({
12619
12682
  event: e,
@@ -12623,9 +12686,9 @@ function useNavLinkViaRuntime({
12623
12686
  targetPlatform,
12624
12687
  fallbackNavigate: router.push
12625
12688
  });
12626
- if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _303 => _303.closeChat])) panel.closeChat();
12689
+ if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _307 => _307.closeChat])) panel.closeChat();
12627
12690
  };
12628
- const attrs = _chunkJENNI7XUcjs.newTabAnchorAttrs.call(void 0, isNewTab);
12691
+ const attrs = _chunkHEQ4GPYEcjs.newTabAnchorAttrs.call(void 0, isNewTab);
12629
12692
  return {
12630
12693
  href: resolvedHref,
12631
12694
  ...attrs,
@@ -12707,11 +12770,11 @@ var DEFAULT_CAPTIONS_PATH = "/api/captions";
12707
12770
  function getCaptionsUrl(entityType, entityId, srtContent, options) {
12708
12771
  if (!srtContent) return void 0;
12709
12772
  const hash = `${srtContent.length}-${srtContent.slice(0, 8).replace(/\s/g, "")}`;
12710
- const variant = _optionalChain([options, 'optionalAccess', _304 => _304.variant]) ? `&variant=${options.variant}` : "";
12773
+ const variant = _optionalChain([options, 'optionalAccess', _308 => _308.variant]) ? `&variant=${options.variant}` : "";
12711
12774
  return `${DEFAULT_CAPTIONS_PATH}/${entityType}/${entityId}?v=${hash}${variant}`;
12712
12775
  }
12713
12776
  function resolveCaptionsBase(endpoints) {
12714
- return _optionalChain([endpoints, 'optionalAccess', _305 => _305.captionsUrlPrefix]) || DEFAULT_CAPTIONS_PATH;
12777
+ return _optionalChain([endpoints, 'optionalAccess', _309 => _309.captionsUrlPrefix]) || DEFAULT_CAPTIONS_PATH;
12715
12778
  }
12716
12779
  function rebaseCaptionsUrl(endpoints, url) {
12717
12780
  if (!url || !url.startsWith(`${DEFAULT_CAPTIONS_PATH}/`)) return url;
@@ -12800,7 +12863,7 @@ TabsContent.displayName = TabsPrimitive.Content.displayName;
12800
12863
  // src/components/features/use-captions.ts
12801
12864
 
12802
12865
  function useCaptions() {
12803
- const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess', _306 => _306.endpoints]), () => ( null));
12866
+ const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess', _310 => _310.endpoints]), () => ( null));
12804
12867
  return _react.useMemo.call(void 0,
12805
12868
  () => ({
12806
12869
  forEntity: (entityType, entity) => getEntityCaptionUrls(endpoints, entityType, entity),
@@ -12829,7 +12892,7 @@ function UserDisplay({
12829
12892
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12830
12893
  _chunkTKFTWM3Vcjs.SquareAvatar,
12831
12894
  {
12832
- src: avatarUrl ? _chunkJENNI7XUcjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
12895
+ src: avatarUrl ? _chunkHEQ4GPYEcjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
12833
12896
  fallback: name,
12834
12897
  alt: name,
12835
12898
  sizePx: size,
@@ -13075,9 +13138,9 @@ function CardsStrip(props) {
13075
13138
  const p = hoverPointerRef.current;
13076
13139
  if (!p.inside) return;
13077
13140
  const el = typeof document !== "undefined" ? document.elementFromPoint(p.x, p.y) : null;
13078
- const cardEl = _optionalChain([el, 'optionalAccess', _307 => _307.closest, 'optionalCall', _308 => _308("[data-strip-card-key]")]);
13079
- const scoped = cardEl && _optionalChain([scrollerRef, 'access', _309 => _309.current, 'optionalAccess', _310 => _310.contains, 'call', _311 => _311(cardEl)]) ? cardEl : null;
13080
- const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess', _312 => _312.getAttribute, 'call', _313 => _313("data-strip-card-key")]), () => ( null));
13141
+ const cardEl = _optionalChain([el, 'optionalAccess', _311 => _311.closest, 'optionalCall', _312 => _312("[data-strip-card-key]")]);
13142
+ const scoped = cardEl && _optionalChain([scrollerRef, 'access', _313 => _313.current, 'optionalAccess', _314 => _314.contains, 'call', _315 => _315(cardEl)]) ? cardEl : null;
13143
+ const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess', _316 => _316.getAttribute, 'call', _317 => _317("data-strip-card-key")]), () => ( null));
13081
13144
  const current = activeKeyRef.current;
13082
13145
  if (key === current) return;
13083
13146
  if (current !== null) deactivate(current);
@@ -13115,7 +13178,7 @@ function CardsStrip(props) {
13115
13178
  }, [syncHoverToPointer]);
13116
13179
  const seamBuffer = _react.useCallback.call(void 0, () => {
13117
13180
  const half = singleCopyWidthRef.current;
13118
- const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _314 => _314.current, 'optionalAccess', _315 => _315.clientWidth]), () => ( 0));
13181
+ const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _318 => _318.current, 'optionalAccess', _319 => _319.clientWidth]), () => ( 0));
13119
13182
  return Math.max(0, Math.min(200, half / 4, half - viewport - TRACK_GAP_PX - 1));
13120
13183
  }, []);
13121
13184
  const mirror = _react.useCallback.call(void 0,
@@ -13139,7 +13202,7 @@ function CardsStrip(props) {
13139
13202
  const scroller = scrollerRef.current;
13140
13203
  if (scroller) scroller.scrollLeft = mirror(pos);
13141
13204
  },
13142
- readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access', _316 => _316.current, 'optionalAccess', _317 => _317.scrollLeft]), () => ( 0))),
13205
+ readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access', _320 => _320.current, 'optionalAccess', _321 => _321.scrollLeft]), () => ( 0))),
13143
13206
  onAfterFrame: syncHoverIfScrolled
13144
13207
  });
13145
13208
  const [mountedIdx, setMountedIdx] = _react.useState.call(void 0, () => /* @__PURE__ */ new Set());
@@ -13187,11 +13250,11 @@ function CardsStrip(props) {
13187
13250
  fn = (el) => {
13188
13251
  if (!el) return void 0;
13189
13252
  cardElIdxRef.current.set(el, idx);
13190
- _optionalChain([cardObserverRef, 'access', _318 => _318.current, 'optionalAccess', _319 => _319.observe, 'call', _320 => _320(el)]);
13253
+ _optionalChain([cardObserverRef, 'access', _322 => _322.current, 'optionalAccess', _323 => _323.observe, 'call', _324 => _324(el)]);
13191
13254
  return () => {
13192
13255
  cardElIdxRef.current.delete(el);
13193
13256
  cardElNearRef.current.delete(el);
13194
- _optionalChain([cardObserverRef, 'access', _321 => _321.current, 'optionalAccess', _322 => _322.unobserve, 'call', _323 => _323(el)]);
13257
+ _optionalChain([cardObserverRef, 'access', _325 => _325.current, 'optionalAccess', _326 => _326.unobserve, 'call', _327 => _327(el)]);
13195
13258
  };
13196
13259
  };
13197
13260
  cardRefFns.set(idx, fn);
@@ -13210,7 +13273,7 @@ function CardsStrip(props) {
13210
13273
  const track = trackRef.current;
13211
13274
  if (!scroller || !track) return;
13212
13275
  const firstCard = track.firstElementChild;
13213
- const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess', _324 => _324.offsetWidth]), () => ( 320))) + TRACK_GAP_PX;
13276
+ const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess', _328 => _328.offsetWidth]), () => ( 320))) + TRACK_GAP_PX;
13214
13277
  chevronSuppressUntilRef.current = performance.now() + CHEVRON_SUPPRESS_MS;
13215
13278
  if (marqueeActiveRef.current) {
13216
13279
  glideBy((reverse ? -dir : dir) * step);
@@ -13271,11 +13334,11 @@ function CardsStrip(props) {
13271
13334
  {
13272
13335
  ref: (node) => {
13273
13336
  wrapperRef.current = node;
13274
- _optionalChain([rootRef, 'optionalCall', _325 => _325(node)]);
13337
+ _optionalChain([rootRef, 'optionalCall', _329 => _329(node)]);
13275
13338
  },
13276
13339
  className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full min-w-0 flex-col gap-6", className),
13277
13340
  children: [
13278
- showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkJENNI7XUcjs.SECTION_HEADING_CLASS} break-words`, children: _chunkJENNI7XUcjs.accentSentenceMarks.call(void 0, title) }),
13341
+ showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkHEQ4GPYEcjs.SECTION_HEADING_CLASS} break-words`, children: _chunkHEQ4GPYEcjs.accentSentenceMarks.call(void 0, title) }),
13279
13342
  headerSlot,
13280
13343
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative", style: bled ? { marginLeft: -insets.left, marginRight: -insets.right } : void 0, children: [
13281
13344
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -13426,7 +13489,7 @@ function groupByAspectRatio(items, getAspectRatio) {
13426
13489
 
13427
13490
  function VideoBitesStrip({
13428
13491
  bites,
13429
- title = _chunkJENNI7XUcjs.DEFAULT_VIDEO_BITES_TITLE,
13492
+ title = _chunkHEQ4GPYEcjs.DEFAULT_VIDEO_BITES_TITLE,
13430
13493
  showTitle = true,
13431
13494
  filterPublished = true,
13432
13495
  profile = null,
@@ -13439,14 +13502,14 @@ function VideoBitesStrip({
13439
13502
  cardHeightMobile = 300,
13440
13503
  showChevrons = true,
13441
13504
  onBiteNavigate,
13442
- sortComparator = _chunkJENNI7XUcjs.sortBitesByCreatedAtDesc,
13505
+ sortComparator = _chunkHEQ4GPYEcjs.sortBitesByCreatedAtDesc,
13443
13506
  className
13444
13507
  }) {
13445
13508
  const items = _react.useMemo.call(void 0, () => {
13446
13509
  const filtered = filterPublished ? bites.filter((b) => b.published) : [...bites];
13447
13510
  return filtered.sort(sortComparator);
13448
13511
  }, [bites, filterPublished, sortComparator]);
13449
- const warmup = _chunkJENNI7XUcjs.useVideoWarmup.call(void 0, { videoUrl: _optionalChain([items, 'access', _326 => _326[0], 'optionalAccess', _327 => _327.url]) || null });
13512
+ const warmup = _chunkHEQ4GPYEcjs.useVideoWarmup.call(void 0, { videoUrl: _optionalChain([items, 'access', _330 => _330[0], 'optionalAccess', _331 => _331.url]) || null });
13450
13513
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13451
13514
  CardsStrip,
13452
13515
  {
@@ -13513,8 +13576,8 @@ function VideoBiteCard({
13513
13576
  const controlled = active !== void 0;
13514
13577
  const [selfActive, setSelfActive] = _react.useState.call(void 0, false);
13515
13578
  const isActive = controlled ? !!active : selfActive;
13516
- const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _328 => _328(key)]) : setSelfActive(true);
13517
- const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _329 => _329(key)]) : setSelfActive(false);
13579
+ const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _332 => _332(key)]) : setSelfActive(true);
13580
+ const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _333 => _333(key)]) : setSelfActive(false);
13518
13581
  const titleInputRef = _react.useRef.call(void 0, null);
13519
13582
  _chunkULWVKHSIcjs.useIsomorphicLayoutEffect.call(void 0, () => {
13520
13583
  const el = titleInputRef.current;
@@ -13524,7 +13587,7 @@ function VideoBiteCard({
13524
13587
  });
13525
13588
  const navigate = () => {
13526
13589
  if (bite.onNavigate) bite.onNavigate();
13527
- else _optionalChain([onBiteNavigate, 'optionalCall', _330 => _330(bite, index)]);
13590
+ else _optionalChain([onBiteNavigate, 'optionalCall', _334 => _334(bite, index)]);
13528
13591
  };
13529
13592
  const handlePointerEnter = () => {
13530
13593
  if (!isTouch) activate();
@@ -13549,9 +13612,9 @@ function VideoBiteCard({
13549
13612
  placeholder: "Title (optional)",
13550
13613
  "aria-label": "Bite title",
13551
13614
  rows: 1,
13552
- onChange: (e) => _optionalChain([onTitleChange, 'optionalCall', _331 => _331(e.target.value)]),
13615
+ onChange: (e) => _optionalChain([onTitleChange, 'optionalCall', _335 => _335(e.target.value)]),
13553
13616
  ref: titleInputRef,
13554
- onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall', _332 => _332(e.target.value)]),
13617
+ onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall', _336 => _336(e.target.value)]),
13555
13618
  onClick: (e) => e.stopPropagation(),
13556
13619
  className: _chunk3ATAYP36cjs.cn.call(void 0,
13557
13620
  titleClass,
@@ -13593,7 +13656,7 @@ function VideoBiteCard({
13593
13656
  style: { aspectRatio: cssAspect, ...height !== void 0 ? { height, maxWidth: STRIP_CELL_MAX_WIDTH } : {} },
13594
13657
  children: [
13595
13658
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13596
- _chunkJENNI7XUcjs.VideoHoverPreviewSurface,
13659
+ _chunkHEQ4GPYEcjs.VideoHoverPreviewSurface,
13597
13660
  {
13598
13661
  url: bite.url,
13599
13662
  posterUrl: bite.thumbnail_url,
@@ -13628,7 +13691,7 @@ function VideoBiteCard({
13628
13691
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13629
13692
  "div",
13630
13693
  {
13631
- ref: (node) => _optionalChain([rootRef, 'optionalCall', _333 => _333(node)]),
13694
+ ref: (node) => _optionalChain([rootRef, 'optionalCall', _337 => _337(node)]),
13632
13695
  "aria-hidden": isClone || void 0,
13633
13696
  "data-strip-card-key": key,
13634
13697
  className: _chunk3ATAYP36cjs.cn.call(void 0,
@@ -13664,7 +13727,7 @@ function EntityVideoSection({
13664
13727
  title = "Video",
13665
13728
  videoSummary,
13666
13729
  videoBites,
13667
- bitesTitle = _chunkJENNI7XUcjs.DEFAULT_VIDEO_BITES_TITLE,
13730
+ bitesTitle = _chunkHEQ4GPYEcjs.DEFAULT_VIDEO_BITES_TITLE,
13668
13731
  filterPublishedBites = true,
13669
13732
  bitesProfile = null,
13670
13733
  bitesHref,
@@ -13683,8 +13746,8 @@ function EntityVideoSection({
13683
13746
  const hasHighlight = !!highlightVideoUrl;
13684
13747
  const hasVideo = hasFullVideo || hasHighlight;
13685
13748
  const derivedCaptions = captionsEntity ? captions.forEntityId(captionsEntity.type, captionsEntity.id) : null;
13686
- const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _334 => _334.captionsUrl])));
13687
- const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _335 => _335.highlightCaptionsUrl])));
13749
+ const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _338 => _338.captionsUrl])));
13750
+ const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _339 => _339.highlightCaptionsUrl])));
13688
13751
  if (!hasVideo && !videoSummary && (!videoBites || videoBites.length === 0)) {
13689
13752
  return null;
13690
13753
  }
@@ -13711,7 +13774,7 @@ function EntityVideoSection({
13711
13774
  )
13712
13775
  ] }),
13713
13776
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "full-video", className: "mt-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13714
- _chunkJENNI7XUcjs.Video,
13777
+ _chunkHEQ4GPYEcjs.Video,
13715
13778
  {
13716
13779
  kind: fullVideoKind,
13717
13780
  url: fullVideoUrl,
@@ -13724,7 +13787,7 @@ function EntityVideoSection({
13724
13787
  }
13725
13788
  ) }),
13726
13789
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "highlights", className: "mt-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13727
- _chunkJENNI7XUcjs.Video,
13790
+ _chunkHEQ4GPYEcjs.Video,
13728
13791
  {
13729
13792
  url: highlightVideoUrl,
13730
13793
  poster: highlightVideoThumbnail,
@@ -13733,7 +13796,7 @@ function EntityVideoSection({
13733
13796
  }
13734
13797
  ) })
13735
13798
  ] }) : fullVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13736
- _chunkJENNI7XUcjs.Video,
13799
+ _chunkHEQ4GPYEcjs.Video,
13737
13800
  {
13738
13801
  kind: fullVideoKind,
13739
13802
  url: fullVideoUrl,
@@ -13745,7 +13808,7 @@ function EntityVideoSection({
13745
13808
  priority
13746
13809
  }
13747
13810
  ) : highlightVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13748
- _chunkJENNI7XUcjs.Video,
13811
+ _chunkHEQ4GPYEcjs.Video,
13749
13812
  {
13750
13813
  url: highlightVideoUrl,
13751
13814
  poster: highlightVideoThumbnail,
@@ -13755,7 +13818,7 @@ function EntityVideoSection({
13755
13818
  }
13756
13819
  ) : null),
13757
13820
  videoSummary && MarkdownRenderer && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-col gap-6", children: [
13758
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkJENNI7XUcjs.SECTION_HEADING_CLASS} break-words`, children: "Summary" }),
13821
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkHEQ4GPYEcjs.SECTION_HEADING_CLASS} break-words`, children: "Summary" }),
13759
13822
  /* @__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 }) })
13760
13823
  ] }),
13761
13824
  videoBites && videoBites.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -14002,7 +14065,7 @@ var MediaSkeleton = {
14002
14065
 
14003
14066
  function designDocPeople(doc) {
14004
14067
  const people = [];
14005
- if (_optionalChain([doc, 'access', _336 => _336.author, 'optionalAccess', _337 => _337.full_name]))
14068
+ if (_optionalChain([doc, 'access', _340 => _340.author, 'optionalAccess', _341 => _341.full_name]))
14006
14069
  people.push({
14007
14070
  key: `dri-${_nullishCoalesce(doc.author.id, () => ( doc.author.full_name))}`,
14008
14071
  name: doc.author.full_name,
@@ -14015,14 +14078,14 @@ function designDocPeople(doc) {
14015
14078
  return people;
14016
14079
  }
14017
14080
  function designDocMetaLine(doc) {
14018
- return [_optionalChain([doc, 'access', _338 => _338.author, 'optionalAccess', _339 => _339.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${_chunkJENNI7XUcjs.formatDateShort.call(void 0, doc.updated_at)}`].filter(Boolean).join(" \xB7 ");
14081
+ return [_optionalChain([doc, 'access', _342 => _342.author, 'optionalAccess', _343 => _343.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${_chunkHEQ4GPYEcjs.formatDateShort.call(void 0, doc.updated_at)}`].filter(Boolean).join(" \xB7 ");
14019
14082
  }
14020
14083
  function DesignDocCardSkeleton() {
14021
14084
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
14022
14085
  "div",
14023
14086
  {
14024
14087
  className: _chunk3ATAYP36cjs.cn.call(void 0,
14025
- _chunkJENNI7XUcjs.CONTENT_CARD_SKELETON_FRAME_CLASS,
14088
+ _chunkHEQ4GPYEcjs.CONTENT_CARD_SKELETON_FRAME_CLASS,
14026
14089
  "flex h-full flex-col gap-[var(--spacing-system-mf)] p-[var(--spacing-system-lf)]"
14027
14090
  ),
14028
14091
  role: "status",
@@ -14052,7 +14115,7 @@ function DesignDocCardSkeleton() {
14052
14115
  function DesignDocCard({ doc, href, target, rel, className }) {
14053
14116
  const readiness = DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)];
14054
14117
  const people = designDocPeople(doc);
14055
- const link = _chunkJENNI7XUcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
14118
+ const link = _chunkHEQ4GPYEcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
14056
14119
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14057
14120
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[16px]", children: [
14058
14121
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
@@ -14060,7 +14123,7 @@ function DesignDocCard({ doc, href, target, rel, className }) {
14060
14123
  /* @__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) }) })
14061
14124
  ] }),
14062
14125
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14063
- _chunkJENNI7XUcjs.StatusBadge,
14126
+ _chunkHEQ4GPYEcjs.StatusBadge,
14064
14127
  {
14065
14128
  text: readiness.label,
14066
14129
  colorScheme: readiness.scheme,
@@ -14070,16 +14133,16 @@ function DesignDocCard({ doc, href, target, rel, className }) {
14070
14133
  }
14071
14134
  )
14072
14135
  ] }),
14073
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.StatusBadge, { text: readiness.label, colorScheme: readiness.scheme, variant: "button", singleLine: true }) }),
14136
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.StatusBadge, { text: readiness.label, colorScheme: readiness.scheme, variant: "button", singleLine: true }) }),
14074
14137
  /* @__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 || "" }) }),
14075
14138
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
14076
14139
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-2", children: [
14077
14140
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: formatCompletionLabelWithBlockers(doc.completion) }),
14078
- people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLV6UJD2Kcjs.AvatarStack, { size: "xs", people, className: "shrink-0" }) : null
14141
+ people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIITB5TJRcjs.AvatarStack, { size: "xs", people, className: "shrink-0" }) : null
14079
14142
  ] })
14080
14143
  ] });
14081
14144
  const outer = _chunk3ATAYP36cjs.cn.call(void 0,
14082
- _chunkJENNI7XUcjs.CONTENT_CARD_FRAME_CLASS,
14145
+ _chunkHEQ4GPYEcjs.CONTENT_CARD_FRAME_CLASS,
14083
14146
  "flex h-full flex-col gap-[var(--spacing-system-mf)] p-[var(--spacing-system-lf)]",
14084
14147
  className
14085
14148
  );
@@ -14223,26 +14286,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
14223
14286
  metaParts.push(
14224
14287
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14225
14288
  );
14226
- const href = _chunkJENNI7XUcjs.safeHref.call(void 0, item.url);
14289
+ const href = _chunkHEQ4GPYEcjs.safeHref.call(void 0, item.url);
14227
14290
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14228
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
14229
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TEXT_COL, children: [
14230
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
14291
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
14292
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
14293
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
14231
14294
  reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
14232
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TITLE, children: primaryText })
14295
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE, children: primaryText })
14233
14296
  ] }),
14234
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14297
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14235
14298
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14236
14299
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
14237
14300
  ] }, i)) }) }),
14238
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_SUMMARY, children: _chunkJENNI7XUcjs.COMPACT_CARD_ROW_FILLER }) })
14301
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_SUMMARY, children: _chunkHEQ4GPYEcjs.COMPACT_CARD_ROW_FILLER }) })
14239
14302
  ] }),
14240
14303
  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
14241
14304
  ] });
14242
14305
  if (anchorProps) {
14243
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14306
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14244
14307
  }
14245
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14308
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14246
14309
  }
14247
14310
  function GitHubActivityCardSkeleton({
14248
14311
  variant = "compact",
@@ -14259,12 +14322,12 @@ function GitHubActivityCardSkeleton({
14259
14322
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14260
14323
  ] });
14261
14324
  }
14262
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14263
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14264
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TEXT_COL, children: [
14265
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14266
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14267
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_SUMMARY, children: _chunkJENNI7XUcjs.COMPACT_CARD_ROW_FILLER }) })
14325
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14326
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14327
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
14328
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14329
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14330
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_SUMMARY, children: _chunkHEQ4GPYEcjs.COMPACT_CARD_ROW_FILLER }) })
14268
14331
  ] }),
14269
14332
  /* @__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" }) })
14270
14333
  ] });
@@ -14314,23 +14377,23 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
14314
14377
  metaParts.push(
14315
14378
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14316
14379
  );
14317
- const href = _chunkJENNI7XUcjs.safeHref.call(void 0, item.url);
14380
+ const href = _chunkHEQ4GPYEcjs.safeHref.call(void 0, item.url);
14318
14381
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14319
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.SlackIcon, { className: "h-5 w-5" }) }),
14320
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TEXT_COL, children: [
14321
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TITLE, children: item.title }) }),
14322
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkJENNI7XUcjs.COMPACT_CARD_ROW_FILLER }) }),
14323
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14382
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.SlackIcon, { className: "h-5 w-5" }) }),
14383
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
14384
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE, children: item.title }) }),
14385
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkHEQ4GPYEcjs.COMPACT_CARD_ROW_FILLER }) }),
14386
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14324
14387
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14325
14388
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
14326
- ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_SUMMARY, children: _chunkJENNI7XUcjs.COMPACT_CARD_ROW_FILLER }) }) })
14389
+ ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_SUMMARY, children: _chunkHEQ4GPYEcjs.COMPACT_CARD_ROW_FILLER }) }) })
14327
14390
  ] }),
14328
14391
  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
14329
14392
  ] });
14330
14393
  if (anchorProps) {
14331
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14394
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14332
14395
  }
14333
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14396
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14334
14397
  }
14335
14398
  function SlackMessageCardSkeleton({
14336
14399
  variant = "compact",
@@ -14345,12 +14408,12 @@ function SlackMessageCardSkeleton({
14345
14408
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14346
14409
  ] });
14347
14410
  }
14348
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14349
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14350
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TEXT_COL, children: [
14351
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14352
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
14353
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14411
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14412
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14413
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
14414
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14415
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
14416
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14354
14417
  ] }),
14355
14418
  /* @__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" }) })
14356
14419
  ] });
@@ -14386,7 +14449,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14386
14449
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
14387
14450
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "max-w-[260px] shrink-0 truncate text-ods-text-primary text-h6", children: item.title }),
14388
14451
  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,
14389
- statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
14452
+ statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
14390
14453
  dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-24 shrink-0 text-right text-ods-text-secondary text-h6", children: dateText }) : null
14391
14454
  ] });
14392
14455
  }
@@ -14400,13 +14463,13 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14400
14463
  metaParts.push(
14401
14464
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14402
14465
  );
14403
- const href = _chunkJENNI7XUcjs.safeHref.call(void 0, item.url);
14466
+ const href = _chunkHEQ4GPYEcjs.safeHref.call(void 0, item.url);
14404
14467
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14405
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TEXT_COL, children: [
14468
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
14406
14469
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14407
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14470
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14408
14471
  priorityText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14409
- _chunkJENNI7XUcjs.StatusBadge,
14472
+ _chunkHEQ4GPYEcjs.StatusBadge,
14410
14473
  {
14411
14474
  text: priorityText,
14412
14475
  variant: "button",
@@ -14415,7 +14478,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14415
14478
  }
14416
14479
  ) : null,
14417
14480
  statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14418
- _chunkJENNI7XUcjs.StatusBadge,
14481
+ _chunkHEQ4GPYEcjs.StatusBadge,
14419
14482
  {
14420
14483
  text: statusText,
14421
14484
  variant: "button",
@@ -14429,7 +14492,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14429
14492
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
14430
14493
  ] }) : null,
14431
14494
  /* @__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." }) }) }),
14432
- metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14495
+ metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14433
14496
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14434
14497
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
14435
14498
  ] }, i)) }) }) : null
@@ -14437,9 +14500,9 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14437
14500
  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
14438
14501
  ] });
14439
14502
  if (anchorProps) {
14440
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14503
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14441
14504
  }
14442
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14505
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14443
14506
  }
14444
14507
  function HubspotTicketCardSkeleton({
14445
14508
  variant = "compact",
@@ -14453,8 +14516,8 @@ function HubspotTicketCardSkeleton({
14453
14516
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14454
14517
  ] });
14455
14518
  }
14456
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14457
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TEXT_COL, children: [
14519
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14520
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
14458
14521
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14459
14522
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14460
14523
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
@@ -14467,7 +14530,7 @@ function HubspotTicketCardSkeleton({
14467
14530
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
14468
14531
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
14469
14532
  ] }),
14470
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14533
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14471
14534
  ] }),
14472
14535
  /* @__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" }) })
14473
14536
  ] });
@@ -14478,10 +14541,10 @@ function HubspotTicketCardSkeleton({
14478
14541
 
14479
14542
  function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
14480
14543
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14481
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TEXT_COL, children: [
14544
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
14482
14545
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14483
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14484
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
14546
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14547
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
14485
14548
  ] }),
14486
14549
  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: [
14487
14550
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
@@ -14489,16 +14552,16 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
14489
14552
  ] }) : null,
14490
14553
  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
14491
14554
  ] }),
14492
- _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
14555
+ _optionalChain([anchorProps, 'optionalAccess', _344 => _344.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
14493
14556
  ] });
14494
14557
  if (!anchorProps) {
14495
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14558
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14496
14559
  }
14497
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14560
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14498
14561
  }
14499
14562
  function DataRoomDocCardSkeleton({ className }) {
14500
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14501
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TEXT_COL, children: [
14563
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14564
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
14502
14565
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
14503
14566
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14504
14567
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
@@ -14517,31 +14580,31 @@ function DataRoomDocCardSkeleton({ className }) {
14517
14580
 
14518
14581
 
14519
14582
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
14520
- const goalsCount = _optionalChain([campaign, 'access', _341 => _341.goals, 'optionalAccess', _342 => _342.length]) || 0;
14583
+ const goalsCount = _optionalChain([campaign, 'access', _345 => _345.goals, 'optionalAccess', _346 => _346.length]) || 0;
14521
14584
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14522
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
14523
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TEXT_COL, children: [
14524
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
14525
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_SUBTITLE, children: [
14526
- campaign.start_date ? _chunkJENNI7XUcjs.formatDateShort.call(void 0, campaign.start_date) : null,
14585
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
14586
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
14587
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
14588
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_SUBTITLE, children: [
14589
+ campaign.start_date ? _chunkHEQ4GPYEcjs.formatDateShort.call(void 0, campaign.start_date) : null,
14527
14590
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
14528
14591
  "Marketing campaign"
14529
14592
  ].filter(Boolean).join(" \xB7 ") }) }),
14530
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkJENNI7XUcjs.COMPACT_CARD_ROW_FILLER }) })
14593
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkHEQ4GPYEcjs.COMPACT_CARD_ROW_FILLER }) })
14531
14594
  ] })
14532
14595
  ] });
14533
14596
  if (anchorProps) {
14534
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
14597
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
14535
14598
  }
14536
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
14599
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
14537
14600
  }
14538
14601
  function CampaignCardAdminSkeleton({ className }) {
14539
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14540
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14541
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TEXT_COL, children: [
14542
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
14543
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14544
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
14602
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14603
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14604
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
14605
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
14606
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14607
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
14545
14608
  ] })
14546
14609
  ] });
14547
14610
  }
@@ -14550,14 +14613,14 @@ function CampaignCardAdminSkeleton({ className }) {
14550
14613
 
14551
14614
 
14552
14615
  function GenericEntityCard({ item, className, anchorProps }) {
14553
- const href = _chunkJENNI7XUcjs.safeHref.call(void 0, item.url);
14616
+ const href = _chunkHEQ4GPYEcjs.safeHref.call(void 0, item.url);
14554
14617
  const dateText = _chunkTKFTWM3Vcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14555
14618
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14556
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TEXT_COL, children: [
14619
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
14557
14620
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14558
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14621
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14559
14622
  item.badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14560
- _chunkJENNI7XUcjs.StatusBadge,
14623
+ _chunkHEQ4GPYEcjs.StatusBadge,
14561
14624
  {
14562
14625
  text: item.badge.text,
14563
14626
  variant: "button",
@@ -14575,18 +14638,18 @@ function GenericEntityCard({ item, className, anchorProps }) {
14575
14638
  ] }),
14576
14639
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-medium text-ods-text-primary", children: f.value })
14577
14640
  ] }, i)) }) : null,
14578
- dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
14641
+ dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
14579
14642
  ] }),
14580
14643
  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
14581
14644
  ] });
14582
14645
  if (anchorProps) {
14583
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14646
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14584
14647
  }
14585
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14648
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14586
14649
  }
14587
14650
  function GenericEntityCardSkeleton({ className }) {
14588
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14589
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TEXT_COL, children: [
14651
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14652
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
14590
14653
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
14591
14654
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14592
14655
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
@@ -14631,8 +14694,8 @@ function getVendorLogo(vendor) {
14631
14694
  if (vendor.logo) {
14632
14695
  return fixSupabaseStorageUrl(vendor.logo);
14633
14696
  }
14634
- const logoMedia = _optionalChain([vendor, 'access', _343 => _343.vendor_media, 'optionalAccess', _344 => _344.find, 'call', _345 => _345((m) => m.media_type === "logo")]);
14635
- if (_optionalChain([logoMedia, 'optionalAccess', _346 => _346.media_url])) {
14697
+ const logoMedia = _optionalChain([vendor, 'access', _347 => _347.vendor_media, 'optionalAccess', _348 => _348.find, 'call', _349 => _349((m) => m.media_type === "logo")]);
14698
+ if (_optionalChain([logoMedia, 'optionalAccess', _350 => _350.media_url])) {
14636
14699
  return fixSupabaseStorageUrl(logoMedia.media_url);
14637
14700
  }
14638
14701
  return null;
@@ -14688,7 +14751,7 @@ function VendorIcon({
14688
14751
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: containerClasses, children: logoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14689
14752
  _chunkMGHIV4L6cjs.next_image_default,
14690
14753
  {
14691
- src: _chunkJENNI7XUcjs.getProxiedImageUrl2.call(void 0, logoUrl) || logoUrl,
14754
+ src: _chunkHEQ4GPYEcjs.getProxiedImageUrl2.call(void 0, logoUrl) || logoUrl,
14692
14755
  alt: `${vendor.title} logo`,
14693
14756
  width,
14694
14757
  height,
@@ -14701,7 +14764,7 @@ function VendorIcon({
14701
14764
  "flex items-center justify-center uppercase text-h6",
14702
14765
  backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
14703
14766
  ),
14704
- children: _optionalChain([vendor, 'access', _347 => _347.title, 'optionalAccess', _348 => _348.substring, 'call', _349 => _349(0, 2)]) || "??"
14767
+ children: _optionalChain([vendor, 'access', _351 => _351.title, 'optionalAccess', _352 => _352.substring, 'call', _353 => _353(0, 2)]) || "??"
14705
14768
  }
14706
14769
  ) });
14707
14770
  }
@@ -14718,8 +14781,8 @@ function useChatCardItem(type, id) {
14718
14781
  const res = await _chunkULWVKHSIcjs.embedAuthedFetch.call(void 0, url);
14719
14782
  if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
14720
14783
  const data = await res.json();
14721
- const items = _chunkJENNI7XUcjs.extractCardItems.call(void 0, type, data);
14722
- const match = items.find((it) => _chunkJENNI7XUcjs.extractItemId.call(void 0, type, it) === id);
14784
+ const items = _chunkHEQ4GPYEcjs.extractCardItems.call(void 0, type, data);
14785
+ const match = items.find((it) => _chunkHEQ4GPYEcjs.extractItemId.call(void 0, type, it) === id);
14723
14786
  return _nullishCoalesce(match, () => ( null));
14724
14787
  },
14725
14788
  enabled: !!url && id.length > 0,
@@ -14894,7 +14957,7 @@ function pickFetchedCardHref({
14894
14957
  itemHref,
14895
14958
  allowComposed
14896
14959
  }) {
14897
- if (_optionalChain([composed, 'optionalAccess', _350 => _350.hostOverride])) {
14960
+ if (_optionalChain([composed, 'optionalAccess', _354 => _354.hostOverride])) {
14898
14961
  return { source: "hostOverride", href: composed.href, targetPlatform: composed.targetPlatform };
14899
14962
  }
14900
14963
  if (itemHref) return { source: "item", href: itemHref };
@@ -14910,7 +14973,7 @@ function resolveFetchedCardHref({
14910
14973
  composeContentUrl
14911
14974
  }) {
14912
14975
  if (!composeContentUrl || !contentRefType || !id) return null;
14913
- const canonicalType = _chunkJENNI7XUcjs.canonicalContentRefType.call(void 0, contentRefType);
14976
+ const canonicalType = _chunkHEQ4GPYEcjs.canonicalContentRefType.call(void 0, contentRefType);
14914
14977
  return composeContentUrl({
14915
14978
  // The card registry keys some entries by the legacy rail vocabulary
14916
14979
  // (`blog_post_existing`) because that is what `buildListUrl` expects.
@@ -14940,7 +15003,7 @@ function sourceRowCtxFromRuntime(runtime, surface = {}) {
14940
15003
  }
14941
15004
  function pickSourceIcon(sourceRepo, documentType) {
14942
15005
  const iconName = sourceRepo ? getSourceIconName(sourceRepo) : void 0;
14943
- const icon = iconName ? _chunkLV6UJD2Kcjs.getIconComponent.call(void 0, iconName) : _lucidereact.FileText;
15006
+ const icon = iconName ? _chunkIITB5TJRcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }) : _lucidereact.FileText;
14944
15007
  const iconLabel = _nullishCoalesce(documentType, () => ( "Source"));
14945
15008
  return { icon, iconLabel };
14946
15009
  }
@@ -14956,20 +15019,20 @@ function resolveSourceRowCTA(row, ctx = {}) {
14956
15019
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
14957
15020
  const safePath = sanitizePath(row.path);
14958
15021
  if (safePath) {
14959
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _351 => _351.docPlatformTargets, 'optionalAccess', _352 => _352[row.documentType]]) : void 0;
15022
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _355 => _355.docPlatformTargets, 'optionalAccess', _356 => _356[row.documentType]]) : void 0;
14960
15023
  if (docTarget) {
14961
15024
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
14962
15025
  const base = `${getPlatformUrl(docTarget.platform)}${seg ? `/${seg}` : ""}/`;
14963
- href = _nullishCoalesce(_chunkJENNI7XUcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
15026
+ href = _nullishCoalesce(_chunkHEQ4GPYEcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14964
15027
  targetPlatform = docTarget.platform;
14965
15028
  } else if (ctx.chipBasePlatform) {
14966
15029
  const base = `${getPlatformUrl(ctx.chipBasePlatform)}/knowledge-base/`;
14967
- href = _nullishCoalesce(_chunkJENNI7XUcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
15030
+ href = _nullishCoalesce(_chunkHEQ4GPYEcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14968
15031
  targetPlatform = ctx.chipBasePlatform;
14969
15032
  } else if (ctx.baseRoute) {
14970
15033
  const synthetic = `https://_internal_.local${ctx.baseRoute.startsWith("/") ? ctx.baseRoute : "/" + ctx.baseRoute}/`;
14971
15034
  const absolute = new URL(safePath, synthetic).toString();
14972
- href = _nullishCoalesce(_chunkJENNI7XUcjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
15035
+ href = _nullishCoalesce(_chunkHEQ4GPYEcjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
14973
15036
  targetPlatform = _nullishCoalesce(ctx.currentPlatform, () => ( null));
14974
15037
  }
14975
15038
  }
@@ -14978,15 +15041,15 @@ function resolveSourceRowCTA(row, ctx = {}) {
14978
15041
  // Canonical vocabulary only — a rail-vocab alias would miss the host's
14979
15042
  // `hostedTypes` / `overrides` and fall through to the seam's default
14980
15043
  // `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
14981
- type: _chunkJENNI7XUcjs.canonicalContentRefType.call(void 0, row.documentType),
15044
+ type: _chunkHEQ4GPYEcjs.canonicalContentRefType.call(void 0, row.documentType),
14982
15045
  identifier: idValue,
14983
15046
  externalUrl: row.externalUrl,
14984
15047
  targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
14985
15048
  });
14986
- href = composed.href ? _nullishCoalesce(_chunkJENNI7XUcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
15049
+ href = composed.href ? _nullishCoalesce(_chunkHEQ4GPYEcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
14987
15050
  targetPlatform = composed.targetPlatform;
14988
15051
  } else if (row.externalUrl) {
14989
- href = _nullishCoalesce(_chunkJENNI7XUcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
15052
+ href = _nullishCoalesce(_chunkHEQ4GPYEcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
14990
15053
  targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
14991
15054
  }
14992
15055
  const documentType = row.documentType;
@@ -15025,7 +15088,7 @@ function resolveCardDestination({
15025
15088
  composeContentUrl,
15026
15089
  resolveHref = (href) => href
15027
15090
  }) {
15028
- const refPath = typeof _optionalChain([chatRef, 'access', _353 => _353.metadata, 'optionalAccess', _354 => _354.path]) === "string" && chatRef.metadata.path ? chatRef.metadata.path : null;
15091
+ const refPath = typeof _optionalChain([chatRef, 'access', _357 => _357.metadata, 'optionalAccess', _358 => _358.path]) === "string" && chatRef.metadata.path ? chatRef.metadata.path : null;
15029
15092
  const path = _nullishCoalesce(refPath, () => ( (item ? readFetchedCardPath(item) : null)));
15030
15093
  const cta = resolveSourceRowCTA(
15031
15094
  {
@@ -15042,7 +15105,7 @@ function resolveCardDestination({
15042
15105
  const rowUrl = cta.href ? resolveHref(cta.href) : _nullishCoalesce(chatRef.url, () => ( null));
15043
15106
  const rowPlatform = _nullishCoalesce(_nullishCoalesce(cta.targetPlatform, () => ( chatRef.targetPlatform)), () => ( null));
15044
15107
  if (rowUrl) return { url: rowUrl, targetPlatform: rowPlatform, path, source: "row" };
15045
- if (_optionalChain([entry, 'optionalAccess', _355 => _355.contentRefType]) && item) {
15108
+ if (_optionalChain([entry, 'optionalAccess', _359 => _359.contentRefType]) && item) {
15046
15109
  const choice = pickFetchedCardHref({
15047
15110
  composed: resolveFetchedCardHref({
15048
15111
  contentRefType: entry.contentRefType,
@@ -15050,10 +15113,10 @@ function resolveCardDestination({
15050
15113
  item,
15051
15114
  composeContentUrl
15052
15115
  }),
15053
- itemHref: _nullishCoalesce(_optionalChain([entry, 'access', _356 => _356.fallbackHref, 'optionalCall', _357 => _357(item)]), () => ( null)),
15116
+ itemHref: _nullishCoalesce(_optionalChain([entry, 'access', _360 => _360.fallbackHref, 'optionalCall', _361 => _361(item)]), () => ( null)),
15054
15117
  allowComposed: !entry.noComposedHref
15055
15118
  });
15056
- const url = choice ? _nullishCoalesce(_chunkJENNI7XUcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
15119
+ const url = choice ? _nullishCoalesce(_chunkHEQ4GPYEcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
15057
15120
  if (choice && url) {
15058
15121
  return { url, targetPlatform: _nullishCoalesce(choice.targetPlatform, () => ( rowPlatform)), path, source: choice.source };
15059
15122
  }
@@ -15066,11 +15129,11 @@ function resolveCardDestination({
15066
15129
 
15067
15130
  function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
15068
15131
  const label = entityLabel || "Item";
15069
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
15070
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkJENNI7XUcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
15071
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TEXT_COL, children: [
15072
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkJENNI7XUcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkJENNI7XUcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
15073
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkJENNI7XUcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
15132
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
15133
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
15134
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TEXT_COL, children: [
15135
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkHEQ4GPYEcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
15136
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkHEQ4GPYEcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
15074
15137
  label,
15075
15138
  " deleted",
15076
15139
  recoveryNote ? ` \xB7 ${recoveryNote}` : ""
@@ -15125,7 +15188,7 @@ function GitHubChatCard({
15125
15188
  description,
15126
15189
  icon: githubKindIcon(kind),
15127
15190
  status,
15128
- anchorProps: _chunkJENNI7XUcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15191
+ anchorProps: _chunkHEQ4GPYEcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15129
15192
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15130
15193
  menuAriaLabel: "Activity actions"
15131
15194
  }
@@ -15144,8 +15207,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
15144
15207
  if (href) {
15145
15208
  items.push({
15146
15209
  id: "open-details",
15147
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _358 => _358.label]), () => ( "Open Details")),
15148
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _359 => _359.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.EyeIcon, { size: 20 }))),
15210
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _362 => _362.label]), () => ( "Open Details")),
15211
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _363 => _363.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.EyeIcon, { size: 20 }))),
15149
15212
  // Main row → open the entity (same tab, soft Link nav).
15150
15213
  href,
15151
15214
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -15205,18 +15268,18 @@ function itemVideoMetadata(item) {
15205
15268
  for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
15206
15269
  return void 0;
15207
15270
  };
15208
- const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _360 => _360.metadata]), () => ( {}));
15271
+ const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _364 => _364.metadata]), () => ( {}));
15209
15272
  const out = {};
15210
- const videoUrl = pick2(m.videoUrl, _optionalChain([item, 'optionalAccess', _361 => _361.custom_video_url]), _optionalChain([item, 'optionalAccess', _362 => _362.main_video_url]));
15211
- const youtubeUrl = pick2(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _363 => _363.youtube_url]), _optionalChain([item, 'optionalAccess', _364 => _364.testimonial_video_url]));
15212
- const highlightVideoUrl = pick2(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _365 => _365.highlight_video_url]));
15273
+ const videoUrl = pick2(m.videoUrl, _optionalChain([item, 'optionalAccess', _365 => _365.custom_video_url]), _optionalChain([item, 'optionalAccess', _366 => _366.main_video_url]));
15274
+ const youtubeUrl = pick2(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _367 => _367.youtube_url]), _optionalChain([item, 'optionalAccess', _368 => _368.testimonial_video_url]));
15275
+ const highlightVideoUrl = pick2(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _369 => _369.highlight_video_url]));
15213
15276
  const videoPoster = pick2(
15214
15277
  m.videoPoster,
15215
- _optionalChain([item, 'optionalAccess', _366 => _366.main_video_thumbnail]),
15216
- _optionalChain([item, 'optionalAccess', _367 => _367.highlight_video_thumbnail]),
15217
- _optionalChain([item, 'optionalAccess', _368 => _368.featured_image])
15278
+ _optionalChain([item, 'optionalAccess', _370 => _370.main_video_thumbnail]),
15279
+ _optionalChain([item, 'optionalAccess', _371 => _371.highlight_video_thumbnail]),
15280
+ _optionalChain([item, 'optionalAccess', _372 => _372.featured_image])
15218
15281
  );
15219
- const highlightVideoPoster = pick2(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _369 => _369.highlight_video_thumbnail]));
15282
+ const highlightVideoPoster = pick2(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _373 => _373.highlight_video_thumbnail]));
15220
15283
  if (videoUrl) out.videoUrl = videoUrl;
15221
15284
  if (youtubeUrl) out.youtubeUrl = youtubeUrl;
15222
15285
  if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
@@ -15246,15 +15309,15 @@ function fetchedItemDisplayRef(item, chatRef) {
15246
15309
  }
15247
15310
  function fetchedFaqDisplayRef(item, chatRef) {
15248
15311
  const it = item;
15249
- const answer = typeof _optionalChain([it, 'optionalAccess', _370 => _370.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
15312
+ const answer = typeof _optionalChain([it, 'optionalAccess', _374 => _374.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
15250
15313
  return {
15251
15314
  type: "faq",
15252
15315
  id: chatRef.id,
15253
15316
  sourceRepo: chatRef.sourceRepo,
15254
- title: typeof _optionalChain([it, 'optionalAccess', _371 => _371.question]) === "string" && it.question ? it.question : chatRef.id,
15317
+ title: typeof _optionalChain([it, 'optionalAccess', _375 => _375.question]) === "string" && it.question ? it.question : chatRef.id,
15255
15318
  url: _nullishCoalesce(chatRef.url, () => ( null)),
15256
15319
  ...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
15257
- metadata: typeof _optionalChain([it, 'optionalAccess', _372 => _372.section]) === "string" && it.section ? { section: it.section } : {}
15320
+ metadata: typeof _optionalChain([it, 'optionalAccess', _376 => _376.section]) === "string" && it.section ? { section: it.section } : {}
15258
15321
  };
15259
15322
  }
15260
15323
  function HubspotTicketChatCard({
@@ -15262,8 +15325,8 @@ function HubspotTicketChatCard({
15262
15325
  isNewTab,
15263
15326
  discuss
15264
15327
  }) {
15265
- const status = typeof _optionalChain([chatRef, 'access', _373 => _373.metadata, 'optionalAccess', _374 => _374.status]) === "string" ? chatRef.metadata.status : void 0;
15266
- const statusLabel = typeof _optionalChain([chatRef, 'access', _375 => _375.metadata, 'optionalAccess', _376 => _376.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
15328
+ const status = typeof _optionalChain([chatRef, 'access', _377 => _377.metadata, 'optionalAccess', _378 => _378.status]) === "string" ? chatRef.metadata.status : void 0;
15329
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _379 => _379.metadata, 'optionalAccess', _380 => _380.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
15267
15330
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
15268
15331
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15269
15332
  MingoInfoCard,
@@ -15272,7 +15335,7 @@ function HubspotTicketChatCard({
15272
15335
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15273
15336
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TagIcon, { size: 24 }),
15274
15337
  status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
15275
- anchorProps: _chunkJENNI7XUcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15338
+ anchorProps: _chunkHEQ4GPYEcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15276
15339
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
15277
15340
  label: "Open Ticket Details",
15278
15341
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TagIcon, { size: 20 })
@@ -15286,7 +15349,7 @@ function FaqChatCard({
15286
15349
  isNewTab,
15287
15350
  discuss
15288
15351
  }) {
15289
- const section = typeof _optionalChain([chatRef, 'access', _377 => _377.metadata, 'optionalAccess', _378 => _378.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
15352
+ const section = typeof _optionalChain([chatRef, 'access', _381 => _381.metadata, 'optionalAccess', _382 => _382.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
15290
15353
  const statusLabel = section && section.length > 0 ? section : "FAQ";
15291
15354
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15292
15355
  MingoInfoCard,
@@ -15295,7 +15358,7 @@ function FaqChatCard({
15295
15358
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15296
15359
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.QuestionCircleIcon, { size: 24 }),
15297
15360
  status: { label: statusLabel, variant: "grey" },
15298
- anchorProps: _chunkJENNI7XUcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15361
+ anchorProps: _chunkHEQ4GPYEcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15299
15362
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15300
15363
  menuAriaLabel: "FAQ actions"
15301
15364
  }
@@ -15306,7 +15369,7 @@ function SlackChatCard({
15306
15369
  isNewTab,
15307
15370
  discuss
15308
15371
  }) {
15309
- const channelName = typeof _optionalChain([chatRef, 'access', _379 => _379.metadata, 'optionalAccess', _380 => _380.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
15372
+ const channelName = typeof _optionalChain([chatRef, 'access', _383 => _383.metadata, 'optionalAccess', _384 => _384.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
15310
15373
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
15311
15374
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
15312
15375
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -15315,7 +15378,7 @@ function SlackChatCard({
15315
15378
  title,
15316
15379
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15317
15380
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.SlackLogoGreyIcon, { size: 24 }),
15318
- anchorProps: _chunkJENNI7XUcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15381
+ anchorProps: _chunkHEQ4GPYEcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15319
15382
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15320
15383
  menuAriaLabel: "Message actions"
15321
15384
  }
@@ -15333,7 +15396,7 @@ function GlyphChatCard({
15333
15396
  title: chatRef.title,
15334
15397
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15335
15398
  icon,
15336
- anchorProps: _chunkJENNI7XUcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15399
+ anchorProps: _chunkHEQ4GPYEcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15337
15400
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15338
15401
  menuAriaLabel: "Card actions"
15339
15402
  }
@@ -15349,22 +15412,22 @@ function TrustCenterChatCard({
15349
15412
  isNewTab,
15350
15413
  discuss
15351
15414
  }) {
15352
- const raw = _optionalChain([item, 'optionalAccess', _381 => _381.frameworks]);
15415
+ const raw = _optionalChain([item, 'optionalAccess', _385 => _385.frameworks]);
15353
15416
  const frameworks = Array.isArray(raw) ? raw : [];
15354
- const summary = _chunkJENNI7XUcjs.trustFrameworksSummary.call(void 0, frameworks);
15417
+ const summary = _chunkHEQ4GPYEcjs.trustFrameworksSummary.call(void 0, frameworks);
15355
15418
  const leadFramework = frameworks[0];
15356
15419
  const lead = leadFramework ? {
15357
- label: _chunkJENNI7XUcjs.trustFrameworkBadge.call(void 0, leadFramework),
15358
- color: _chunkJENNI7XUcjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
15420
+ label: _chunkHEQ4GPYEcjs.trustFrameworkBadge.call(void 0, leadFramework),
15421
+ color: _chunkHEQ4GPYEcjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
15359
15422
  } : void 0;
15360
15423
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15361
15424
  MingoInfoCard,
15362
15425
  {
15363
- title: _chunkJENNI7XUcjs.TRUST_CENTER_TITLE,
15364
- description: summary || _chunkJENNI7XUcjs.TRUST_CENTER_TAGLINE,
15426
+ title: _chunkHEQ4GPYEcjs.TRUST_CENTER_TITLE,
15427
+ description: summary || _chunkHEQ4GPYEcjs.TRUST_CENTER_TAGLINE,
15365
15428
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { size: 24 }),
15366
15429
  status: lead ? { label: lead.label, variant: TRUST_STATUS_TAG_VARIANT[lead.color] } : void 0,
15367
- anchorProps: _chunkJENNI7XUcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15430
+ anchorProps: _chunkHEQ4GPYEcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15368
15431
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
15369
15432
  label: "View trust center",
15370
15433
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ShieldCheckIcon, { size: 20 })
@@ -15386,7 +15449,7 @@ function DataRoomDocChatCard({
15386
15449
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15387
15450
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.FileContentIcon, { size: 24 }),
15388
15451
  status: { label: badgeText, variant: "grey" },
15389
- anchorProps: _chunkJENNI7XUcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15452
+ anchorProps: _chunkHEQ4GPYEcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15390
15453
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15391
15454
  menuAriaLabel: "Document actions"
15392
15455
  }
@@ -15398,14 +15461,14 @@ function GenericFinancialChatCard({
15398
15461
  isNewTab,
15399
15462
  discuss
15400
15463
  }) {
15401
- const subtitle = typeof _optionalChain([chatRef, 'access', _382 => _382.metadata, 'optionalAccess', _383 => _383.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
15464
+ const subtitle = typeof _optionalChain([chatRef, 'access', _386 => _386.metadata, 'optionalAccess', _387 => _387.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
15402
15465
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15403
15466
  MingoInfoCard,
15404
15467
  {
15405
15468
  title: chatRef.title,
15406
15469
  description: subtitle,
15407
15470
  icon,
15408
- anchorProps: _chunkJENNI7XUcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15471
+ anchorProps: _chunkHEQ4GPYEcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15409
15472
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15410
15473
  menuAriaLabel: "Document actions"
15411
15474
  }
@@ -15467,12 +15530,12 @@ function ProductReleaseChatCard({
15467
15530
  discuss
15468
15531
  }) {
15469
15532
  const releaseProps = buildProps(item);
15470
- const status = _optionalChain([item, 'optionalAccess', _384 => _384.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
15533
+ const status = _optionalChain([item, 'optionalAccess', _388 => _388.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
15471
15534
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15472
15535
  EntityMingoCard,
15473
15536
  {
15474
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _385 => _385.title]), () => ( "")),
15475
- description: _optionalChain([item, 'optionalAccess', _386 => _386.summary]) || releaseProps.formattedDate || void 0,
15537
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _389 => _389.title]), () => ( "")),
15538
+ description: _optionalChain([item, 'optionalAccess', _390 => _390.summary]) || releaseProps.formattedDate || void 0,
15476
15539
  cover: releaseProps.coverImage || void 0,
15477
15540
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Rocket02Icon, { size: 24 }),
15478
15541
  status,
@@ -15489,17 +15552,17 @@ function CampaignChatCard({
15489
15552
  isNewTab,
15490
15553
  discuss
15491
15554
  }) {
15492
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _387 => _387.goals])) ? item.goals.length : 0;
15555
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _391 => _391.goals])) ? item.goals.length : 0;
15493
15556
  const meta = [
15494
- _optionalChain([item, 'optionalAccess', _388 => _388.start_date]) ? _chunkJENNI7XUcjs.formatDateShort.call(void 0, item.start_date) : null,
15557
+ _optionalChain([item, 'optionalAccess', _392 => _392.start_date]) ? _chunkHEQ4GPYEcjs.formatDateShort.call(void 0, item.start_date) : null,
15495
15558
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
15496
15559
  "Marketing campaign"
15497
15560
  ].filter(Boolean).join(" \xB7 ");
15498
15561
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15499
15562
  EntityMingoCard,
15500
15563
  {
15501
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _389 => _389.name]), () => ( "")),
15502
- description: meta || _optionalChain([item, 'optionalAccess', _390 => _390.description]) || void 0,
15564
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _393 => _393.name]), () => ( "")),
15565
+ description: meta || _optionalChain([item, 'optionalAccess', _394 => _394.description]) || void 0,
15503
15566
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Megaphone01Icon, { size: 24 }),
15504
15567
  chatRef,
15505
15568
  isNewTab,
@@ -15530,7 +15593,7 @@ function EntityMingoCard({
15530
15593
  imageAlt: typeof title === "string" ? title : void 0,
15531
15594
  icon: fallbackIcon,
15532
15595
  status,
15533
- anchorProps: _chunkJENNI7XUcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15596
+ anchorProps: _chunkHEQ4GPYEcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15534
15597
  menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
15535
15598
  menuAriaLabel
15536
15599
  }
@@ -15542,7 +15605,7 @@ function entityCover(image, ogPlaceholder) {
15542
15605
  function statusPill(status) {
15543
15606
  const s = typeof status === "string" ? status.trim() : "";
15544
15607
  if (!s) return void 0;
15545
- const scheme = _chunkJENNI7XUcjs.getStatusColorScheme.call(void 0, s);
15608
+ const scheme = _chunkHEQ4GPYEcjs.getStatusColorScheme.call(void 0, s);
15546
15609
  const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
15547
15610
  return { label: s, variant };
15548
15611
  }
@@ -15554,14 +15617,14 @@ function BlogChatCard({
15554
15617
  hasEmbeddedVideo,
15555
15618
  discuss
15556
15619
  }) {
15557
- 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;
15620
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _395 => _395.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _396 => _396.categories, 'access', _397 => _397.find, 'call', _398 => _398((c) => _optionalChain([c, 'optionalAccess', _399 => _399.name])), 'optionalAccess', _400 => _400.name]), () => ( void 0)) : void 0;
15558
15621
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
15559
15622
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15560
15623
  EntityMingoCard,
15561
15624
  {
15562
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _397 => _397.title]), () => ( "")),
15563
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _398 => _398.summary]), () => ( void 0)),
15564
- cover: entityCover(_optionalChain([item, 'optionalAccess', _399 => _399.featured_image]), ogPlaceholder),
15625
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _401 => _401.title]), () => ( "")),
15626
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _402 => _402.summary]), () => ( void 0)),
15627
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _403 => _403.featured_image]), ogPlaceholder),
15565
15628
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.NewspaperIcon, { size: 24 }),
15566
15629
  status,
15567
15630
  chatRef,
@@ -15578,13 +15641,13 @@ function CaseStudyChatCard({
15578
15641
  ogPlaceholder,
15579
15642
  discuss
15580
15643
  }) {
15581
- 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 ");
15644
+ const meta = [_optionalChain([item, 'optionalAccess', _404 => _404.msp, 'optionalAccess', _405 => _405.name]), _optionalChain([item, 'optionalAccess', _406 => _406.user, 'optionalAccess', _407 => _407.full_name])].filter(Boolean).join(" \xB7 ");
15582
15645
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15583
15646
  EntityMingoCard,
15584
15647
  {
15585
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _404 => _404.title]), () => ( "")),
15586
- description: _optionalChain([item, 'optionalAccess', _405 => _405.summary]) || meta || void 0,
15587
- cover: entityCover(_optionalChain([item, 'optionalAccess', _406 => _406.featured_image]), ogPlaceholder),
15648
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _408 => _408.title]), () => ( "")),
15649
+ description: _optionalChain([item, 'optionalAccess', _409 => _409.summary]) || meta || void 0,
15650
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _410 => _410.featured_image]), ogPlaceholder),
15588
15651
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TrophyIcon, { size: 24 }),
15589
15652
  status: { label: "Case study", variant: "grey" },
15590
15653
  chatRef,
@@ -15601,13 +15664,13 @@ function CustomerInterviewChatCard({
15601
15664
  ogPlaceholder,
15602
15665
  discuss
15603
15666
  }) {
15604
- 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 ");
15667
+ const meta = [_optionalChain([item, 'optionalAccess', _411 => _411.user, 'optionalAccess', _412 => _412.full_name]), _optionalChain([item, 'optionalAccess', _413 => _413.msp, 'optionalAccess', _414 => _414.name])].filter(Boolean).join(" \xB7 ");
15605
15668
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15606
15669
  EntityMingoCard,
15607
15670
  {
15608
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _411 => _411.title]), () => ( "")),
15609
- description: _optionalChain([item, 'optionalAccess', _412 => _412.video_summary]) || meta || void 0,
15610
- cover: entityCover(_optionalChain([item, 'optionalAccess', _413 => _413.featured_image]), ogPlaceholder),
15671
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _415 => _415.title]), () => ( "")),
15672
+ description: _optionalChain([item, 'optionalAccess', _416 => _416.video_summary]) || meta || void 0,
15673
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _417 => _417.featured_image]), ogPlaceholder),
15611
15674
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.MicrophoneIcon, { size: 24 }),
15612
15675
  status: { label: "Interview", variant: "grey" },
15613
15676
  chatRef,
@@ -15624,16 +15687,16 @@ function DesignDocChatCard({
15624
15687
  discuss
15625
15688
  }) {
15626
15689
  const displayRef = fetchedItemDisplayRef(item, chatRef);
15627
- const doc = _optionalChain([item, 'optionalAccess', _414 => _414.doc]);
15690
+ const doc = _optionalChain([item, 'optionalAccess', _418 => _418.doc]);
15628
15691
  const readiness = doc ? DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)] : null;
15629
15692
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15630
15693
  MingoInfoCard,
15631
15694
  {
15632
- title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _415 => _415.title]), () => ( displayRef.title)),
15695
+ title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _419 => _419.title]), () => ( displayRef.title)),
15633
15696
  description: doc ? [designDocMetaLine(doc), formatCompletionLabel(doc.completion)].join(" \xB7 ") : _nullishCoalesce(displayRef.preview, () => ( void 0)),
15634
15697
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.FileContentIcon, { size: 24 }),
15635
15698
  status: readiness ? { label: readiness.label, variant: readiness.scheme === "success" ? "success" : "grey" } : { label: "Design doc", variant: "grey" },
15636
- anchorProps: _chunkJENNI7XUcjs.buildAnchorProps.call(void 0, displayRef.url, isNewTab),
15699
+ anchorProps: _chunkHEQ4GPYEcjs.buildAnchorProps.call(void 0, displayRef.url, isNewTab),
15637
15700
  menuGroups: cardMenuGroups(displayRef.url, discuss),
15638
15701
  menuAriaLabel: "Design doc actions"
15639
15702
  }
@@ -15646,13 +15709,13 @@ function InvestorUpdateChatCard({
15646
15709
  ogPlaceholder,
15647
15710
  discuss
15648
15711
  }) {
15649
- const title = _optionalChain([item, 'optionalAccess', _416 => _416.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _417 => _417.update_number]), () => ( "?"))}`;
15712
+ const title = _optionalChain([item, 'optionalAccess', _420 => _420.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.update_number]), () => ( "?"))}`;
15650
15713
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15651
15714
  EntityMingoCard,
15652
15715
  {
15653
15716
  title,
15654
- description: _optionalChain([item, 'optionalAccess', _418 => _418.strategic_update]) || _optionalChain([item, 'optionalAccess', _419 => _419.content]) || _chunkJENNI7XUcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _420 => _420.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.period_end]), () => ( null))) || void 0,
15655
- cover: entityCover(_optionalChain([item, 'optionalAccess', _422 => _422.featured_image]), ogPlaceholder),
15717
+ description: _optionalChain([item, 'optionalAccess', _422 => _422.strategic_update]) || _optionalChain([item, 'optionalAccess', _423 => _423.content]) || _chunkHEQ4GPYEcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _424 => _424.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _425 => _425.period_end]), () => ( null))) || void 0,
15718
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _426 => _426.featured_image]), ogPlaceholder),
15656
15719
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.PresentationLineIcon, { size: 24 }),
15657
15720
  status: { label: "Investor update", variant: "grey" },
15658
15721
  chatRef,
@@ -15669,12 +15732,12 @@ function OnboardingGuideChatCard({
15669
15732
  ogPlaceholder,
15670
15733
  discuss
15671
15734
  }) {
15672
- 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)));
15735
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _427 => _427.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _428 => _428.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _429 => _429.og_image_url]), ogPlaceholder)));
15673
15736
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15674
15737
  EntityMingoCard,
15675
15738
  {
15676
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _426 => _426.title]), () => ( "")),
15677
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _427 => _427.summary]), () => ( _optionalChain([item, 'optionalAccess', _428 => _428.description]))), () => ( void 0)),
15739
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _430 => _430.title]), () => ( "")),
15740
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _431 => _431.summary]), () => ( _optionalChain([item, 'optionalAccess', _432 => _432.description]))), () => ( void 0)),
15678
15741
  cover,
15679
15742
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CompassIcon, { size: 24 }),
15680
15743
  status: { label: "Guide", variant: "grey" },
@@ -15695,13 +15758,13 @@ function ProgramChatCard({
15695
15758
  discuss
15696
15759
  }) {
15697
15760
  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 });
15698
- const { line: meta } = _chunkJENNI7XUcjs.programMetaLine.call(void 0, _nullishCoalesce(item, () => ( {})), configKey, _chunkJENNI7XUcjs.programMetaFormatters.call(void 0, _chunkJENNI7XUcjs.PROGRAM_META_RENDERERS));
15761
+ const { line: meta } = _chunkHEQ4GPYEcjs.programMetaLine.call(void 0, _nullishCoalesce(item, () => ( {})), configKey, _chunkHEQ4GPYEcjs.programMetaFormatters.call(void 0, _chunkHEQ4GPYEcjs.PROGRAM_META_RENDERERS));
15699
15762
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15700
15763
  EntityMingoCard,
15701
15764
  {
15702
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _429 => _429.title]), () => ( "")),
15703
- description: meta || _optionalChain([item, 'optionalAccess', _430 => _430.description]) || void 0,
15704
- cover: entityCover(_optionalChain([item, 'optionalAccess', _431 => _431.cover_url]), ogPlaceholder),
15765
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _433 => _433.title]), () => ( "")),
15766
+ description: meta || _optionalChain([item, 'optionalAccess', _434 => _434.description]) || void 0,
15767
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _435 => _435.cover_url]), ogPlaceholder),
15705
15768
  fallbackIcon: icon,
15706
15769
  status: { label, variant: "grey" },
15707
15770
  chatRef,
@@ -15718,10 +15781,10 @@ function RoadmapChatCard({
15718
15781
  cardType,
15719
15782
  discuss
15720
15783
  }) {
15721
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _432 => _432.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
15722
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _433 => _433.customItemId]) != null;
15784
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _436 => _436.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
15785
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _437 => _437.customItemId]) != null;
15723
15786
  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 });
15724
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _434 => _434.customItemId]), className: "size-6" }) : logoUrl ? (
15787
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _438 => _438.customItemId]), className: "size-6" }) : logoUrl ? (
15725
15788
  // Contained (not full-bleed) so the integration logo keeps its aspect
15726
15789
  // ratio inside the bordered icon box — matches RoadmapCard.
15727
15790
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGHIV4L6cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
@@ -15732,10 +15795,10 @@ function RoadmapChatCard({
15732
15795
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15733
15796
  EntityMingoCard,
15734
15797
  {
15735
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _435 => _435.title]), () => ( "")),
15736
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _436 => _436.description]), () => ( void 0)),
15798
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _439 => _439.title]), () => ( "")),
15799
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _440 => _440.description]), () => ( void 0)),
15737
15800
  fallbackIcon: icon,
15738
- status: statusPill(_optionalChain([item, 'optionalAccess', _437 => _437.status])),
15801
+ status: statusPill(_optionalChain([item, 'optionalAccess', _441 => _441.status])),
15739
15802
  chatRef,
15740
15803
  isNewTab,
15741
15804
  discuss,
@@ -15751,7 +15814,7 @@ function refHydratedEntry(docType, label, renderRef) {
15751
15814
  bareInline: true,
15752
15815
  contentRefType: docType,
15753
15816
  noComposedHref: true,
15754
- fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _438 => _438.url]), () => ( null)),
15817
+ fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _442 => _442.url]), () => ( null)),
15755
15818
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
15756
15819
  render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
15757
15820
  };
@@ -15783,15 +15846,15 @@ function financialRegistryEntries() {
15783
15846
  );
15784
15847
  }
15785
15848
  function refText(ref, key) {
15786
- const value = _optionalChain([ref, 'optionalAccess', _439 => _439[key]]);
15849
+ const value = _optionalChain([ref, 'optionalAccess', _443 => _443[key]]);
15787
15850
  return typeof value === "string" && value.length > 0 ? value : null;
15788
15851
  }
15789
15852
  function VendorGlyph({ title, logoUrl }) {
15790
- if (!logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.EntityIcon, { icon: { name: SOURCE_ICON_NAMES.vendors }, size: 24 });
15853
+ if (!logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.EntityIcon, { icon: { name: SOURCE_ICON_NAMES.vendors }, size: 24 });
15791
15854
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorIcon, { vendor: { title, logo_url: logoUrl }, size: "xs", showBackground: false });
15792
15855
  }
15793
15856
  function SitePageGlyph({ iconName }) {
15794
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.EntityIcon, { icon: { name: _nullishCoalesce(iconName, () => ( SOURCE_ICON_NAMES["website-pages"])) }, size: 24 });
15857
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.EntityIcon, { icon: { name: _nullishCoalesce(iconName, () => ( SOURCE_ICON_NAMES["website-pages"])) }, size: 24 });
15795
15858
  }
15796
15859
  var GITHUB_CARD_CONFIGS = {
15797
15860
  github_commit: { label: "GitHub commit", kind: "commit" },
@@ -15801,7 +15864,7 @@ var GITHUB_CARD_CONFIGS = {
15801
15864
  github_pr_review: { label: "GitHub review", kind: "pr_review" },
15802
15865
  github_pr_review_public: { label: "GitHub review (public)", kind: "pr_review" }
15803
15866
  };
15804
- var OpenFrameGlyph = _chunkLV6UJD2Kcjs.resolveIcon.call(void 0, "openframe");
15867
+ var OpenFrameGlyph = _chunkIITB5TJRcjs.resolveIcon.call(void 0, "openframe");
15805
15868
  var REF_GLYPH_CARD_CONFIGS = {
15806
15869
  openframe_tenant: { label: "OpenFrame tenant", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OpenFrameGlyph, { size: 24 }) },
15807
15870
  prospect_call: { label: "Prospect call", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CallIcon, { size: 24 }), media: true },
@@ -15826,8 +15889,11 @@ var REF_GLYPH_CARD_CONFIGS = {
15826
15889
  // A page of the public website (pricing, product, legal, and every page the navigation lists), read live
15827
15890
  // from the data the page shows. A glyph card: a page has no cover of its own, and the card opens the page.
15828
15891
  site_page: { label: "Website page", icon: (ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SitePageGlyph, { iconName: refText(ref, "icon_name") }) },
15892
+ // What OpenFrame charges, read live from its billing: the plan in force, or one AI model's token exchange
15893
+ // rate. A glyph card; it opens the pricing page.
15894
+ openframe_price: { label: "OpenFrame price", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OpenFrameGlyph, { size: 24 }) },
15829
15895
  // A vendor (product) of the OpenMSP directory. A glyph card; it opens the vendor's page there.
15830
- 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") }) }
15896
+ vendor: { label: "Vendor", icon: (ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorGlyph, { title: _nullishCoalesce(_optionalChain([ref, 'optionalAccess', _444 => _444.title]), () => ( "")), logoUrl: refText(ref, "logo_url") }) }
15831
15897
  };
15832
15898
  function refGlyphRegistryEntries() {
15833
15899
  return registryEntries(
@@ -15841,8 +15907,8 @@ function refGlyphRegistryEntries() {
15841
15907
  title: displayRef.title,
15842
15908
  description: _nullishCoalesce(displayRef.preview, () => ( void 0)),
15843
15909
  cover: entityCover(
15844
- _optionalChain([displayRef, 'access', _441 => _441.metadata, 'optionalAccess', _442 => _442.videoPoster]),
15845
- _nullishCoalesce(_optionalChain([opts, 'access', _443 => _443.extras, 'optionalAccess', _444 => _444.buildOgPlaceholderUrl, 'optionalCall', _445 => _445(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
15910
+ _optionalChain([displayRef, 'access', _445 => _445.metadata, 'optionalAccess', _446 => _446.videoPoster]),
15911
+ _nullishCoalesce(_optionalChain([opts, 'access', _447 => _447.extras, 'optionalAccess', _448 => _448.buildOgPlaceholderUrl, 'optionalCall', _449 => _449(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
15846
15912
  ),
15847
15913
  fallbackIcon: cfg.icon(displayRef),
15848
15914
  status: { label: cfg.label, variant: "grey" },
@@ -15865,9 +15931,9 @@ function refGlyphRegistryEntries() {
15865
15931
  }
15866
15932
  function fetchedEmployeeEntryDisplayRef(item, chatRef) {
15867
15933
  const it = item;
15868
- const title = typeof _optionalChain([it, 'optionalAccess', _446 => _446.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
15869
- const author = typeof _optionalChain([it, 'optionalAccess', _447 => _447.author, 'optionalAccess', _448 => _448.full_name]) === "string" ? it.author.full_name.trim() : "";
15870
- const summary = typeof _optionalChain([it, 'optionalAccess', _449 => _449.summary]) === "string" ? it.summary.trim() : "";
15934
+ const title = typeof _optionalChain([it, 'optionalAccess', _450 => _450.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
15935
+ const author = typeof _optionalChain([it, 'optionalAccess', _451 => _451.author, 'optionalAccess', _452 => _452.full_name]) === "string" ? it.author.full_name.trim() : "";
15936
+ const summary = typeof _optionalChain([it, 'optionalAccess', _453 => _453.summary]) === "string" ? it.summary.trim() : "";
15871
15937
  const preview = [author, summary].filter((x) => x.length > 0).join(" \xB7 ");
15872
15938
  return { ...chatRef, title, preview: preview.length > 0 ? preview : chatRef.preview };
15873
15939
  }
@@ -15909,7 +15975,7 @@ function programRegistryEntries() {
15909
15975
  label: cfg.label,
15910
15976
  contentRefType: cfg.contentRefType,
15911
15977
  bareInline: true,
15912
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.ProgramCardSkeleton, { size: "sm" }),
15978
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.ProgramCardSkeleton, { size: "sm" }),
15913
15979
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15914
15980
  ProgramChatCard,
15915
15981
  {
@@ -15919,7 +15985,7 @@ function programRegistryEntries() {
15919
15985
  discuss: opts.discuss,
15920
15986
  configKey: cfg.configKey,
15921
15987
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
15922
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _450 => _450.extras, 'optionalAccess', _451 => _451.buildOgPlaceholderUrl, 'optionalCall', _452 => _452(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _453 => _453.title]), () => ( "")))]), () => ( null))
15988
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _454 => _454.extras, 'optionalAccess', _455 => _455.buildOgPlaceholderUrl, 'optionalCall', _456 => _456(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _457 => _457.title]), () => ( "")))]), () => ( null))
15923
15989
  }
15924
15990
  )
15925
15991
  }));
@@ -15940,7 +16006,7 @@ var ROADMAP_CARD_CONFIGS = {
15940
16006
  // The card's destination IS the ClickUp deep link, derived from the
15941
16007
  // task id post-fetch (the refs frame used to carry it).
15942
16008
  noComposedHref: true,
15943
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _454 => _454.id]) != null ? clickupTaskUrl(String(item.id)) : null
16009
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _458 => _458.id]) != null ? clickupTaskUrl(String(item.id)) : null
15944
16010
  }
15945
16011
  };
15946
16012
  function roadmapRegistryEntries() {
@@ -15950,7 +16016,7 @@ function roadmapRegistryEntries() {
15950
16016
  bareInline: true,
15951
16017
  ...cfg.noComposedHref ? { noComposedHref: true } : {},
15952
16018
  ...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
15953
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.RoadmapCardSkeleton, { size: "sm" }),
16019
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.RoadmapCardSkeleton, { size: "sm" }),
15954
16020
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15955
16021
  RoadmapChatCard,
15956
16022
  {
@@ -15982,8 +16048,8 @@ var CHAT_CARD_REGISTRY = {
15982
16048
  DeletedDataCard,
15983
16049
  {
15984
16050
  title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
15985
- entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _455 => _455.metadata, 'optionalAccess', _456 => _456.entity_label]), () => ( null)),
15986
- recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _457 => _457.metadata, 'optionalAccess', _458 => _458.recovery_note]), () => ( null))
16051
+ entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _459 => _459.metadata, 'optionalAccess', _460 => _460.entity_label]), () => ( null)),
16052
+ recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _461 => _461.metadata, 'optionalAccess', _462 => _462.recovery_note]), () => ( null))
15987
16053
  }
15988
16054
  )
15989
16055
  },
@@ -16000,7 +16066,7 @@ var CHAT_CARD_REGISTRY = {
16000
16066
  bareInline: true,
16001
16067
  contentRefType: "faq",
16002
16068
  noComposedHref: true,
16003
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _459 => _459.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
16069
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _463 => _463.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
16004
16070
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16005
16071
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
16006
16072
  },
@@ -16008,12 +16074,12 @@ var CHAT_CARD_REGISTRY = {
16008
16074
  // projection route; `extractCardItems` turns its object payload into the
16009
16075
  // single matched row. Destination is the public page unless the host
16010
16076
  // re-homes the type (`composeContentUrl` override).
16011
- [_chunkJENNI7XUcjs.TRUST_CENTER_DOCUMENT_TYPE]: {
16077
+ [_chunkHEQ4GPYEcjs.TRUST_CENTER_DOCUMENT_TYPE]: {
16012
16078
  label: "Trust center",
16013
16079
  bareInline: true,
16014
- contentRefType: _chunkJENNI7XUcjs.TRUST_CENTER_DOCUMENT_TYPE,
16080
+ contentRefType: _chunkHEQ4GPYEcjs.TRUST_CENTER_DOCUMENT_TYPE,
16015
16081
  noComposedHref: true,
16016
- fallbackHref: () => _chunkJENNI7XUcjs.TRUST_CENTER_PAGE_PATH,
16082
+ fallbackHref: () => _chunkHEQ4GPYEcjs.TRUST_CENTER_PAGE_PATH,
16017
16083
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16018
16084
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
16019
16085
  },
@@ -16039,7 +16105,7 @@ var CHAT_CARD_REGISTRY = {
16039
16105
  label: "Blog post",
16040
16106
  contentRefType: "blog_post_existing",
16041
16107
  bareInline: true,
16042
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.BlogCardSkeleton, { size: "sm" }),
16108
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.BlogCardSkeleton, { size: "sm" }),
16043
16109
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16044
16110
  BlogChatCard,
16045
16111
  {
@@ -16047,8 +16113,8 @@ var CHAT_CARD_REGISTRY = {
16047
16113
  chatRef,
16048
16114
  isNewTab: opts.isNewTab,
16049
16115
  discuss: opts.discuss,
16050
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _460 => _460.extras, 'optionalAccess', _461 => _461.buildOgPlaceholderUrl, 'optionalCall', _462 => _462(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _463 => _463.title]), () => ( "")))]), () => ( null)),
16051
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _464 => _464.metadata, 'optionalAccess', _465 => _465.hasEmbeddedVideo]) === true
16116
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _464 => _464.extras, 'optionalAccess', _465 => _465.buildOgPlaceholderUrl, 'optionalCall', _466 => _466(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _467 => _467.title]), () => ( "")))]), () => ( null)),
16117
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _468 => _468.metadata, 'optionalAccess', _469 => _469.hasEmbeddedVideo]) === true
16052
16118
  }
16053
16119
  )
16054
16120
  },
@@ -16056,7 +16122,7 @@ var CHAT_CARD_REGISTRY = {
16056
16122
  label: "Case study",
16057
16123
  contentRefType: "case_study",
16058
16124
  bareInline: true,
16059
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.CaseStudyCardSkeleton, { size: "sm" }),
16125
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.CaseStudyCardSkeleton, { size: "sm" }),
16060
16126
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16061
16127
  CaseStudyChatCard,
16062
16128
  {
@@ -16064,7 +16130,7 @@ var CHAT_CARD_REGISTRY = {
16064
16130
  chatRef,
16065
16131
  isNewTab: opts.isNewTab,
16066
16132
  discuss: opts.discuss,
16067
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _466 => _466.extras, 'optionalAccess', _467 => _467.buildOgPlaceholderUrl, 'optionalCall', _468 => _468(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _469 => _469.title]), () => ( "")))]), () => ( null))
16133
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _470 => _470.extras, 'optionalAccess', _471 => _471.buildOgPlaceholderUrl, 'optionalCall', _472 => _472(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _473 => _473.title]), () => ( "")))]), () => ( null))
16068
16134
  }
16069
16135
  )
16070
16136
  },
@@ -16073,7 +16139,7 @@ var CHAT_CARD_REGISTRY = {
16073
16139
  contentRefType: "design_doc",
16074
16140
  bareInline: true,
16075
16141
  noComposedHref: true,
16076
- fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _470 => _470.url]), () => ( null)),
16142
+ fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _474 => _474.url]), () => ( null)),
16077
16143
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16078
16144
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesignDocChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
16079
16145
  },
@@ -16081,7 +16147,7 @@ var CHAT_CARD_REGISTRY = {
16081
16147
  label: "Customer interview",
16082
16148
  contentRefType: "customer_interview",
16083
16149
  bareInline: true,
16084
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.CustomerInterviewCardSkeleton, { size: "sm" }),
16150
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.CustomerInterviewCardSkeleton, { size: "sm" }),
16085
16151
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16086
16152
  CustomerInterviewChatCard,
16087
16153
  {
@@ -16089,7 +16155,7 @@ var CHAT_CARD_REGISTRY = {
16089
16155
  chatRef,
16090
16156
  isNewTab: opts.isNewTab,
16091
16157
  discuss: opts.discuss,
16092
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _471 => _471.extras, 'optionalAccess', _472 => _472.buildOgPlaceholderUrl, 'optionalCall', _473 => _473(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _474 => _474.title]), () => ( "")))]), () => ( null))
16158
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _475 => _475.extras, 'optionalAccess', _476 => _476.buildOgPlaceholderUrl, 'optionalCall', _477 => _477(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _478 => _478.title]), () => ( "")))]), () => ( null))
16093
16159
  }
16094
16160
  )
16095
16161
  },
@@ -16097,9 +16163,9 @@ var CHAT_CARD_REGISTRY = {
16097
16163
  label: "Product release",
16098
16164
  contentRefType: "product_release",
16099
16165
  bareInline: true,
16100
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.ProductReleaseCardSkeleton, { size: "sm" }),
16166
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.ProductReleaseCardSkeleton, { size: "sm" }),
16101
16167
  render: (item, chatRef, opts) => {
16102
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _475 => _475.extras, 'optionalAccess', _476 => _476.buildProductReleaseCardProps]), () => ( _chunkJENNI7XUcjs.defaultBuildProductReleaseCardProps));
16168
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _479 => _479.extras, 'optionalAccess', _480 => _480.buildProductReleaseCardProps]), () => ( _chunkHEQ4GPYEcjs.defaultBuildProductReleaseCardProps));
16103
16169
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16104
16170
  ProductReleaseChatCard,
16105
16171
  {
@@ -16117,7 +16183,7 @@ var CHAT_CARD_REGISTRY = {
16117
16183
  label: "Investor update",
16118
16184
  contentRefType: "investor_update",
16119
16185
  bareInline: true,
16120
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.InvestorUpdateCardSkeleton, { size: "sm" }),
16186
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.InvestorUpdateCardSkeleton, { size: "sm" }),
16121
16187
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16122
16188
  InvestorUpdateChatCard,
16123
16189
  {
@@ -16125,7 +16191,7 @@ var CHAT_CARD_REGISTRY = {
16125
16191
  chatRef,
16126
16192
  isNewTab: opts.isNewTab,
16127
16193
  discuss: opts.discuss,
16128
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _477 => _477.extras, 'optionalAccess', _478 => _478.buildOgPlaceholderUrl, 'optionalCall', _479 => _479(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _480 => _480.title]), () => ( "")))]), () => ( null))
16194
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _481 => _481.extras, 'optionalAccess', _482 => _482.buildOgPlaceholderUrl, 'optionalCall', _483 => _483(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _484 => _484.title]), () => ( "")))]), () => ( null))
16129
16195
  }
16130
16196
  )
16131
16197
  },
@@ -16135,7 +16201,7 @@ var CHAT_CARD_REGISTRY = {
16135
16201
  bareInline: true,
16136
16202
  // "Display" affordance (verbatim guide body) instead of "Ask".
16137
16203
  displayAction: true,
16138
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.OnboardingGuideCardSkeleton, { size: "sm" }),
16204
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.OnboardingGuideCardSkeleton, { size: "sm" }),
16139
16205
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16140
16206
  OnboardingGuideChatCard,
16141
16207
  {
@@ -16143,7 +16209,7 @@ var CHAT_CARD_REGISTRY = {
16143
16209
  chatRef,
16144
16210
  isNewTab: opts.isNewTab,
16145
16211
  discuss: opts.discuss,
16146
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _481 => _481.extras, 'optionalAccess', _482 => _482.buildOgPlaceholderUrl, 'optionalCall', _483 => _483(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _484 => _484.title]), () => ( "")))]), () => ( null))
16212
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _485 => _485.extras, 'optionalAccess', _486 => _486.buildOgPlaceholderUrl, 'optionalCall', _487 => _487(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _488 => _488.title]), () => ( "")))]), () => ( null))
16147
16213
  }
16148
16214
  )
16149
16215
  },
@@ -16154,13 +16220,13 @@ var CHAT_CARD_REGISTRY = {
16154
16220
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
16155
16221
  // No public viewer — synthesize the hub-internal admin URL post-fetch
16156
16222
  // so the wrapper + isNewTab computation see the actual destination.
16157
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _485 => _485.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
16223
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _489 => _489.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
16158
16224
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
16159
16225
  },
16160
16226
  ...roadmapRegistryEntries()
16161
16227
  };
16162
16228
  function chatCardLabel(docType) {
16163
- return _optionalChain([CHAT_CARD_REGISTRY, 'access', _486 => _486[docType], 'optionalAccess', _487 => _487.label]);
16229
+ return _optionalChain([CHAT_CARD_REGISTRY, 'access', _490 => _490[docType], 'optionalAccess', _491 => _491.label]);
16164
16230
  }
16165
16231
  function ChatCardNavWrap({
16166
16232
  href,
@@ -16176,13 +16242,13 @@ function ChatCardNavWrap({
16176
16242
  if (!href) return;
16177
16243
  const targetEl = e.target;
16178
16244
  const host = e.currentTarget;
16179
- if (!_optionalChain([host, 'optionalAccess', _488 => _488.contains, 'call', _489 => _489(targetEl)])) return;
16180
- if (_optionalChain([targetEl, 'optionalAccess', _490 => _490.closest, 'optionalCall', _491 => _491("button")])) return;
16181
- if (!_optionalChain([targetEl, 'optionalAccess', _492 => _492.closest, 'optionalCall', _493 => _493("a")])) return;
16245
+ if (!_optionalChain([host, 'optionalAccess', _492 => _492.contains, 'call', _493 => _493(targetEl)])) return;
16246
+ if (_optionalChain([targetEl, 'optionalAccess', _494 => _494.closest, 'optionalCall', _495 => _495("button")])) return;
16247
+ if (!_optionalChain([targetEl, 'optionalAccess', _496 => _496.closest, 'optionalCall', _497 => _497("a")])) return;
16182
16248
  const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
16183
16249
  if (!handled) return;
16184
16250
  e.stopPropagation();
16185
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _494 => _494.closeChat])) panel.closeChat();
16251
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _498 => _498.closeChat])) panel.closeChat();
16186
16252
  };
16187
16253
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
16188
16254
  }
@@ -16198,7 +16264,7 @@ function ChatCardLoader({
16198
16264
  const entry = CHAT_CARD_REGISTRY[chatRef.type];
16199
16265
  const fetchEntry = entry && entry.contentRefType ? entry : null;
16200
16266
  const { item, isLoading, isError, isFetched } = useChatCardItem(
16201
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _495 => _495.contentRefType]), () => ( "")),
16267
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _499 => _499.contentRefType]), () => ( "")),
16202
16268
  fetchEntry ? chatRef.id : ""
16203
16269
  );
16204
16270
  if (!entry) return null;
@@ -16219,7 +16285,7 @@ function ChatCardLoader({
16219
16285
  };
16220
16286
  const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
16221
16287
  const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
16222
- const isNewTab = _chunkJENNI7XUcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
16288
+ const isNewTab = _chunkHEQ4GPYEcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
16223
16289
  const useDisplay = !!entry.displayAction && !!onDisplay;
16224
16290
  const discussFn = useDisplay ? onDisplay : onDiscuss;
16225
16291
  const discuss = discussFn ? {
@@ -16242,7 +16308,7 @@ function ChatCardLoader({
16242
16308
  isNewTab,
16243
16309
  discuss
16244
16310
  };
16245
- const path = typeof _optionalChain([finalChatRef, 'access', _496 => _496.metadata, 'optionalAccess', _497 => _497.path]) === "string" ? finalChatRef.metadata.path : null;
16311
+ const path = typeof _optionalChain([finalChatRef, 'access', _500 => _500.metadata, 'optionalAccess', _501 => _501.path]) === "string" ? finalChatRef.metadata.path : null;
16246
16312
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16247
16313
  ChatCardNavWrap,
16248
16314
  {
@@ -16266,7 +16332,7 @@ function ChatCardLoader({
16266
16332
  if (!fetchEntry) {
16267
16333
  return finish(entry.render(void 0, finalChatRef, renderOpts));
16268
16334
  }
16269
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _498 => _498.skeleton, 'optionalCall', _499 => _499()]), () => ( null)) });
16335
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _502 => _502.skeleton, 'optionalCall', _503 => _503()]), () => ( null)) });
16270
16336
  if (!item) {
16271
16337
  if (isError) {
16272
16338
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
@@ -16355,12 +16421,12 @@ function makeBatchDedupKey(item) {
16355
16421
  return `${item.messageType}:${seq}:${type}:${text2}:${integratedToolType}:${toolFunction}:${approvalRequestId}`;
16356
16422
  }
16357
16423
  function getChatTypeMessageType(chatType) {
16358
- return chatType === _chunkFDWYBJYDcjs.CHAT_TYPE.ADMIN ? "admin-message" : "message";
16424
+ return chatType === _chunkNJV3LIDEcjs.CHAT_TYPE.ADMIN ? "admin-message" : "message";
16359
16425
  }
16360
16426
  function useChunkCatchup({
16361
16427
  dialogId,
16362
16428
  onChunkReceived,
16363
- chatTypes = [_chunkFDWYBJYDcjs.CHAT_TYPE.CLIENT],
16429
+ chatTypes = [_chunkNJV3LIDEcjs.CHAT_TYPE.CLIENT],
16364
16430
  fetchChunks
16365
16431
  }) {
16366
16432
  const processedSequenceKeys = _react.useRef.call(void 0, /* @__PURE__ */ new Set());
@@ -16574,7 +16640,7 @@ function useChunkCatchup({
16574
16640
  if (catchupRun.current === run) {
16575
16641
  if (currentDialogId !== dialogIdRef.current) {
16576
16642
  catchupRun.current = null;
16577
- if (_optionalChain([pendingCatchupRef, 'access', _500 => _500.current, 'optionalAccess', _501 => _501.dialogId]) === currentDialogId) {
16643
+ if (_optionalChain([pendingCatchupRef, 'access', _504 => _504.current, 'optionalAccess', _505 => _505.dialogId]) === currentDialogId) {
16578
16644
  pendingCatchupRef.current = null;
16579
16645
  }
16580
16646
  } else {
@@ -16585,7 +16651,7 @@ function useChunkCatchup({
16585
16651
  if (pending.dialogId === currentDialogId) {
16586
16652
  rearmForQueuedCatchup();
16587
16653
  try {
16588
- await _optionalChain([catchUpChunksRef, 'access', _502 => _502.current, 'optionalCall', _503 => _503(pending.fromSequenceId)]);
16654
+ await _optionalChain([catchUpChunksRef, 'access', _506 => _506.current, 'optionalCall', _507 => _507(pending.fromSequenceId)]);
16589
16655
  } catch (rerunError) {
16590
16656
  console.error("Queued catch-up re-run failed:", rerunError);
16591
16657
  }
@@ -16652,7 +16718,7 @@ function useChunkCatchup({
16652
16718
 
16653
16719
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
16654
16720
  function prefersReducedMotion() {
16655
- return typeof window !== "undefined" && _optionalChain([window, 'access', _504 => _504.matchMedia, 'optionalCall', _505 => _505("(prefers-reduced-motion: reduce)"), 'access', _506 => _506.matches]) === true;
16721
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _508 => _508.matchMedia, 'optionalCall', _509 => _509("(prefers-reduced-motion: reduce)"), 'access', _510 => _510.matches]) === true;
16656
16722
  }
16657
16723
  function useScriptedStream(frames, resetKey, enabled = true) {
16658
16724
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -16663,7 +16729,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
16663
16729
  setIndex(0);
16664
16730
  }
16665
16731
  _react.useEffect.call(void 0, () => {
16666
- const mq = _optionalChain([window, 'access', _507 => _507.matchMedia, 'optionalCall', _508 => _508("(prefers-reduced-motion: reduce)")]);
16732
+ const mq = _optionalChain([window, 'access', _511 => _511.matchMedia, 'optionalCall', _512 => _512("(prefers-reduced-motion: reduce)")]);
16667
16733
  const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
16668
16734
  sync();
16669
16735
  if (!mq) return void 0;
@@ -16806,7 +16872,7 @@ function useJetStreamDialogSubscription({
16806
16872
  const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
16807
16873
  conn: sharedConn,
16808
16874
  wsUrl,
16809
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _509 => _509.current, 'optionalCall', _510 => _510()]),
16875
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _513 => _513.current, 'optionalCall', _514 => _514()]),
16810
16876
  backoff: reconnectionBackoffRef.current,
16811
16877
  getFreshUrl: () => getNatsWsUrlRef.current(),
16812
16878
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -16821,7 +16887,7 @@ function useJetStreamDialogSubscription({
16821
16887
  setReconnectionCount((c) => c + 1);
16822
16888
  }
16823
16889
  hadConnectionBeforeRef.current = true;
16824
- _optionalChain([onConnectRef, 'access', _511 => _511.current, 'optionalCall', _512 => _512()]);
16890
+ _optionalChain([onConnectRef, 'access', _515 => _515.current, 'optionalCall', _516 => _516()]);
16825
16891
  }
16826
16892
  if (status === "error") {
16827
16893
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -16831,7 +16897,7 @@ function useJetStreamDialogSubscription({
16831
16897
  setIsConnected(false);
16832
16898
  setIsSubscribed(false);
16833
16899
  tearDownSubscription();
16834
- _optionalChain([onDisconnectRef, 'access', _513 => _513.current, 'optionalCall', _514 => _514()]);
16900
+ _optionalChain([onDisconnectRef, 'access', _517 => _517.current, 'optionalCall', _518 => _518()]);
16835
16901
  }
16836
16902
  }
16837
16903
  });
@@ -16957,7 +17023,7 @@ function useJetStreamDialogSubscription({
16957
17023
  }
16958
17024
  subscriptionRef.current = handle;
16959
17025
  setIsSubscribed(true);
16960
- _optionalChain([onSubscribedRef, 'access', _515 => _515.current, 'optionalCall', _516 => _516()]);
17026
+ _optionalChain([onSubscribedRef, 'access', _519 => _519.current, 'optionalCall', _520 => _520()]);
16961
17027
  } catch (e31) {
16962
17028
  if (!cancelled) {
16963
17029
  setIsSubscribed(false);
@@ -17073,20 +17139,20 @@ function useNatsDialogSubscription({
17073
17139
  const tearDownSubscriptions = () => {
17074
17140
  subscriptionRefs.current.forEach((sub) => {
17075
17141
  try {
17076
- _optionalChain([sub, 'optionalAccess', _517 => _517.unsubscribe, 'call', _518 => _518()]);
17142
+ _optionalChain([sub, 'optionalAccess', _521 => _521.unsubscribe, 'call', _522 => _522()]);
17077
17143
  } catch (e33) {
17078
17144
  }
17079
17145
  });
17080
17146
  subscriptionRefs.current.clear();
17081
17147
  lastSubscribedDialogIdRef.current = null;
17082
- _optionalChain([abortControllerRef, 'access', _519 => _519.current, 'optionalAccess', _520 => _520.abort, 'call', _521 => _521()]);
17148
+ _optionalChain([abortControllerRef, 'access', _523 => _523.current, 'optionalAccess', _524 => _524.abort, 'call', _525 => _525()]);
17083
17149
  abortControllerRef.current = null;
17084
17150
  };
17085
17151
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
17086
17152
  const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
17087
17153
  conn: sharedConn,
17088
17154
  wsUrl,
17089
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _522 => _522.current, 'optionalCall', _523 => _523()]),
17155
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _526 => _526.current, 'optionalCall', _527 => _527()]),
17090
17156
  backoff: reconnectionBackoffRef.current,
17091
17157
  getFreshUrl: () => getNatsWsUrlRef.current(),
17092
17158
  shouldRetryOn: isDisconnectStatus,
@@ -17097,7 +17163,7 @@ function useNatsDialogSubscription({
17097
17163
  setReconnectionCount((c) => c + 1);
17098
17164
  }
17099
17165
  hadConnectionBeforeRef.current = true;
17100
- _optionalChain([onConnectRef, 'access', _524 => _524.current, 'optionalCall', _525 => _525()]);
17166
+ _optionalChain([onConnectRef, 'access', _528 => _528.current, 'optionalCall', _529 => _529()]);
17101
17167
  }
17102
17168
  if (status === "error") {
17103
17169
  console.warn("[NATS] protocol error:", evt.data);
@@ -17107,7 +17173,7 @@ function useNatsDialogSubscription({
17107
17173
  setIsConnected(false);
17108
17174
  setIsSubscribed(false);
17109
17175
  tearDownSubscriptions();
17110
- _optionalChain([onDisconnectRef, 'access', _526 => _526.current, 'optionalCall', _527 => _527()]);
17176
+ _optionalChain([onDisconnectRef, 'access', _530 => _530.current, 'optionalCall', _531 => _531()]);
17111
17177
  }
17112
17178
  }
17113
17179
  });
@@ -17138,13 +17204,13 @@ function useNatsDialogSubscription({
17138
17204
  setIsSubscribed(false);
17139
17205
  subscriptionRefs.current.forEach((sub) => {
17140
17206
  try {
17141
- _optionalChain([sub, 'optionalAccess', _528 => _528.unsubscribe, 'call', _529 => _529()]);
17207
+ _optionalChain([sub, 'optionalAccess', _532 => _532.unsubscribe, 'call', _533 => _533()]);
17142
17208
  } catch (e34) {
17143
17209
  }
17144
17210
  });
17145
17211
  subscriptionRefs.current.clear();
17146
17212
  lastSubscribedDialogIdRef.current = null;
17147
- _optionalChain([abortControllerRef, 'access', _530 => _530.current, 'optionalAccess', _531 => _531.abort, 'call', _532 => _532()]);
17213
+ _optionalChain([abortControllerRef, 'access', _534 => _534.current, 'optionalAccess', _535 => _535.abort, 'call', _536 => _536()]);
17148
17214
  abortControllerRef.current = null;
17149
17215
  }
17150
17216
  return void 0;
@@ -17156,12 +17222,12 @@ function useNatsDialogSubscription({
17156
17222
  if (subscriptionRefs.current.size > 0) {
17157
17223
  subscriptionRefs.current.forEach((sub) => {
17158
17224
  try {
17159
- _optionalChain([sub, 'optionalAccess', _533 => _533.unsubscribe, 'call', _534 => _534()]);
17225
+ _optionalChain([sub, 'optionalAccess', _537 => _537.unsubscribe, 'call', _538 => _538()]);
17160
17226
  } catch (e35) {
17161
17227
  }
17162
17228
  });
17163
17229
  subscriptionRefs.current.clear();
17164
- _optionalChain([abortControllerRef, 'access', _535 => _535.current, 'optionalAccess', _536 => _536.abort, 'call', _537 => _537()]);
17230
+ _optionalChain([abortControllerRef, 'access', _539 => _539.current, 'optionalAccess', _540 => _540.abort, 'call', _541 => _541()]);
17165
17231
  }
17166
17232
  abortControllerRef.current = new AbortController();
17167
17233
  const abort = abortControllerRef.current;
@@ -17191,7 +17257,7 @@ function useNatsDialogSubscription({
17191
17257
  });
17192
17258
  lastSubscribedDialogIdRef.current = dialogId;
17193
17259
  setIsSubscribed(true);
17194
- _optionalChain([onSubscribedRef, 'access', _538 => _538.current, 'optionalCall', _539 => _539()]);
17260
+ _optionalChain([onSubscribedRef, 'access', _542 => _542.current, 'optionalCall', _543 => _543()]);
17195
17261
  };
17196
17262
  if (isConnectedRef.current) {
17197
17263
  createSubscriptions();
@@ -17202,7 +17268,7 @@ function useNatsDialogSubscription({
17202
17268
  abort.abort();
17203
17269
  subscriptions.forEach((sub) => {
17204
17270
  try {
17205
- _optionalChain([sub, 'optionalAccess', _540 => _540.unsubscribe, 'call', _541 => _541()]);
17271
+ _optionalChain([sub, 'optionalAccess', _544 => _544.unsubscribe, 'call', _545 => _545()]);
17206
17272
  } catch (e37) {
17207
17273
  }
17208
17274
  });
@@ -17241,7 +17307,7 @@ function useNatsDialogSubscription({
17241
17307
  });
17242
17308
  lastSubscribedDialogIdRef.current = currentDialogId;
17243
17309
  setIsSubscribed(true);
17244
- _optionalChain([onSubscribedRef, 'access', _542 => _542.current, 'optionalCall', _543 => _543()]);
17310
+ _optionalChain([onSubscribedRef, 'access', _546 => _546.current, 'optionalCall', _547 => _547()]);
17245
17311
  } else if (subscriptionRefs.current.size > 0) {
17246
17312
  setIsSubscribed(true);
17247
17313
  }
@@ -17249,10 +17315,10 @@ function useNatsDialogSubscription({
17249
17315
  return { isConnected, isSubscribed, reconnectionCount };
17250
17316
  }
17251
17317
  function buildNatsWsUrl(apiBaseUrl, options) {
17252
- const path = _optionalChain([options, 'optionalAccess', _544 => _544.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
17318
+ const path = _optionalChain([options, 'optionalAccess', _548 => _548.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
17253
17319
  const u = new URL(path, apiBaseUrl);
17254
17320
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
17255
- if (_optionalChain([options, 'optionalAccess', _545 => _545.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _546 => _546.token])) {
17321
+ if (_optionalChain([options, 'optionalAccess', _549 => _549.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _550 => _550.token])) {
17256
17322
  u.searchParams.set("authorization", options.token);
17257
17323
  }
17258
17324
  return u.toString();
@@ -17270,7 +17336,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
17270
17336
  const data = await res.json();
17271
17337
  return _nullishCoalesce(data.commands, () => ( []));
17272
17338
  } catch (err) {
17273
- if (_optionalChain([err, 'optionalAccess', _547 => _547.name]) === "AbortError") throw err;
17339
+ if (_optionalChain([err, 'optionalAccess', _551 => _551.name]) === "AbortError") throw err;
17274
17340
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
17275
17341
  return [];
17276
17342
  }
@@ -17278,8 +17344,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
17278
17344
  var NO_COMMANDS = [];
17279
17345
  function useSlashCommands(prefix, commandsUrl) {
17280
17346
  const [answered, setAnswered] = _react.useState.call(void 0, null);
17281
- const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _548 => _548.prefix]) === prefix ? answered.commands : NO_COMMANDS;
17282
- const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _549 => _549.prefix]) !== prefix;
17347
+ const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _552 => _552.prefix]) === prefix ? answered.commands : NO_COMMANDS;
17348
+ const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _553 => _553.prefix]) !== prefix;
17283
17349
  _react.useEffect.call(void 0, () => {
17284
17350
  if (prefix == null) return void 0;
17285
17351
  let cancelled = false;
@@ -17289,7 +17355,7 @@ function useSlashCommands(prefix, commandsUrl) {
17289
17355
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
17290
17356
  if (!cancelled) setAnswered({ prefix, commands: next });
17291
17357
  } catch (err) {
17292
- if (!cancelled && _optionalChain([err, 'optionalAccess', _550 => _550.name]) !== "AbortError") {
17358
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _554 => _554.name]) !== "AbortError") {
17293
17359
  console.warn("[use-slash-commands] fetch failed:", err);
17294
17360
  setAnswered({ prefix, commands: NO_COMMANDS });
17295
17361
  }
@@ -17312,7 +17378,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
17312
17378
  const query = _reactquery.useQuery.call(void 0, {
17313
17379
  queryKey: ["chat-slash-commands", commandsUrl],
17314
17380
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
17315
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _551 => _551.enabled]), () => ( true)),
17381
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _555 => _555.enabled]), () => ( true)),
17316
17382
  staleTime: Infinity,
17317
17383
  gcTime: Infinity,
17318
17384
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -17351,21 +17417,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
17351
17417
  }
17352
17418
  const data = await res.json();
17353
17419
  return {
17354
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _552 => _552.name]), () => ( null)),
17355
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _553 => _553.icon]), () => ( null)),
17356
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _554 => _554.greeting]), () => ( null)),
17357
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _555 => _555.enabledRagTableIds]), () => ( [])),
17358
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _556 => _556.quickActions]), () => ( [])),
17359
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _557 => _557.suggestedQueries]), () => ( []))
17420
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _556 => _556.name]), () => ( null)),
17421
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _557 => _557.icon]), () => ( null)),
17422
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _558 => _558.greeting]), () => ( null)),
17423
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _559 => _559.enabledRagTableIds]), () => ( [])),
17424
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _560 => _560.quickActions]), () => ( [])),
17425
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _561 => _561.suggestedQueries]), () => ( []))
17360
17426
  };
17361
17427
  } catch (err) {
17362
- if (_optionalChain([err, 'optionalAccess', _558 => _558.name]) === "AbortError") throw err;
17428
+ if (_optionalChain([err, 'optionalAccess', _562 => _562.name]) === "AbortError") throw err;
17363
17429
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
17364
17430
  return EMPTY_STATE_FALLBACK;
17365
17431
  }
17366
17432
  }
17367
17433
  function useEmptyStateConfig(emptyStateUrl, options) {
17368
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _559 => _559.enabled]), () => ( true))) && !!emptyStateUrl;
17434
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _563 => _563.enabled]), () => ( true))) && !!emptyStateUrl;
17369
17435
  const query = _reactquery.useQuery.call(void 0, {
17370
17436
  queryKey: ["chat-empty-state", emptyStateUrl],
17371
17437
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -17394,7 +17460,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
17394
17460
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
17395
17461
  function uploadWithProgress(url, file, token, onProgress, signal) {
17396
17462
  return new Promise((resolve, reject) => {
17397
- if (_optionalChain([signal, 'optionalAccess', _560 => _560.aborted])) {
17463
+ if (_optionalChain([signal, 'optionalAccess', _564 => _564.aborted])) {
17398
17464
  reject(new Error("Upload cancelled"));
17399
17465
  return;
17400
17466
  }
@@ -17436,7 +17502,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
17436
17502
  const handleSignalAbort = () => {
17437
17503
  xhr.abort();
17438
17504
  };
17439
- _optionalChain([signal, 'optionalAccess', _561 => _561.addEventListener, 'call', _562 => _562("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
17505
+ _optionalChain([signal, 'optionalAccess', _565 => _565.addEventListener, 'call', _566 => _566("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
17440
17506
  xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
17441
17507
  xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
17442
17508
  xhr.addEventListener("error", handleError, { signal: listeners.signal });
@@ -17480,10 +17546,10 @@ function useChatAttachments() {
17480
17546
  try {
17481
17547
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
17482
17548
  } catch (err) {
17483
- if (_optionalChain([ctrl, 'optionalAccess', _563 => _563.signal, 'access', _564 => _564.aborted])) return;
17549
+ if (_optionalChain([ctrl, 'optionalAccess', _567 => _567.signal, 'access', _568 => _568.aborted])) return;
17484
17550
  throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
17485
17551
  }
17486
- if (_optionalChain([ctrl, 'optionalAccess', _565 => _565.signal, 'access', _566 => _566.aborted])) return;
17552
+ if (_optionalChain([ctrl, 'optionalAccess', _569 => _569.signal, 'access', _570 => _570.aborted])) return;
17487
17553
  if (!sniffed) {
17488
17554
  throw new Error("Unrecognized file format");
17489
17555
  }
@@ -17497,7 +17563,7 @@ function useChatAttachments() {
17497
17563
  const urlResp = await _chunkULWVKHSIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
17498
17564
  method: "POST",
17499
17565
  headers: { "Content-Type": "application/json" },
17500
- signal: _optionalChain([ctrl, 'optionalAccess', _567 => _567.signal]),
17566
+ signal: _optionalChain([ctrl, 'optionalAccess', _571 => _571.signal]),
17501
17567
  body: JSON.stringify({
17502
17568
  fileName: att.file.name,
17503
17569
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -17526,9 +17592,9 @@ function useChatAttachments() {
17526
17592
  (pct) => {
17527
17593
  updateOne(att.id, { progress: pct });
17528
17594
  },
17529
- _optionalChain([ctrl, 'optionalAccess', _568 => _568.signal])
17595
+ _optionalChain([ctrl, 'optionalAccess', _572 => _572.signal])
17530
17596
  );
17531
- if (_optionalChain([ctrl, 'optionalAccess', _569 => _569.signal, 'access', _570 => _570.aborted])) return;
17597
+ if (_optionalChain([ctrl, 'optionalAccess', _573 => _573.signal, 'access', _574 => _574.aborted])) return;
17532
17598
  updateOne(att.id, {
17533
17599
  status: "ready",
17534
17600
  progress: 100,
@@ -17536,7 +17602,7 @@ function useChatAttachments() {
17536
17602
  viewToken: mintData.viewToken
17537
17603
  });
17538
17604
  } catch (err) {
17539
- if (_optionalChain([ctrl, 'optionalAccess', _571 => _571.signal, 'access', _572 => _572.aborted])) return;
17605
+ if (_optionalChain([ctrl, 'optionalAccess', _575 => _575.signal, 'access', _576 => _576.aborted])) return;
17540
17606
  const message = err instanceof Error ? err.message : String(err);
17541
17607
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
17542
17608
  } finally {
@@ -17658,7 +17724,7 @@ function useChatAttachmentImageGallery() {
17658
17724
  return () => root.removeEventListener("click", onClick);
17659
17725
  }, [viewUrlPrefix]);
17660
17726
  const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17661
- _chunkJENNI7XUcjs.ImageGalleryModal,
17727
+ _chunkHEQ4GPYEcjs.ImageGalleryModal,
17662
17728
  {
17663
17729
  images: state.images,
17664
17730
  isOpen: state.isOpen,
@@ -17685,11 +17751,11 @@ var ANON_DEFAULTS = {
17685
17751
  function useResolveChatIdentity(enabled) {
17686
17752
  const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
17687
17753
  const url = runtime.endpoints.identityUrl;
17688
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _573 => _573.email]), () => ( null));
17754
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _577 => _577.email]), () => ( null));
17689
17755
  const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
17690
17756
  const [resolved, setResolved] = _react.useState.call(void 0, null);
17691
- const data = _optionalChain([resolved, 'optionalAccess', _574 => _574.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
17692
- const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _575 => _575.key]) !== requestKey;
17757
+ const data = _optionalChain([resolved, 'optionalAccess', _578 => _578.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
17758
+ const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _579 => _579.key]) !== requestKey;
17693
17759
  _react.useEffect.call(void 0, () => {
17694
17760
  if (requestKey === null) return void 0;
17695
17761
  let cancelled = false;
@@ -17836,7 +17902,7 @@ function useChat({
17836
17902
  onMessagesChangeRef.current = onMessagesChange;
17837
17903
  });
17838
17904
  _react.useEffect.call(void 0, () => {
17839
- _optionalChain([onMessagesChangeRef, 'access', _576 => _576.current, 'optionalCall', _577 => _577(messages)]);
17905
+ _optionalChain([onMessagesChangeRef, 'access', _580 => _580.current, 'optionalCall', _581 => _581(messages)]);
17840
17906
  }, [messages]);
17841
17907
  const {
17842
17908
  streamMessage,
@@ -17873,7 +17939,7 @@ function useChat({
17873
17939
  name: "You",
17874
17940
  content: text2,
17875
17941
  timestamp: /* @__PURE__ */ new Date(),
17876
- ..._optionalChain([options, 'optionalAccess', _578 => _578.hidden]) ? { hidden: true } : {}
17942
+ ..._optionalChain([options, 'optionalAccess', _582 => _582.hidden]) ? { hidden: true } : {}
17877
17943
  };
17878
17944
  addMessage(userMessage);
17879
17945
  setIsTyping(true);
@@ -18087,7 +18153,7 @@ function buildConfirmToolBody(request) {
18087
18153
  async function readServerErrorMessage(response) {
18088
18154
  try {
18089
18155
  const body = await response.json();
18090
- if (typeof _optionalChain([body, 'optionalAccess', _579 => _579.error]) === "string" && body.error.length > 0) return body.error;
18156
+ if (typeof _optionalChain([body, 'optionalAccess', _583 => _583.error]) === "string" && body.error.length > 0) return body.error;
18091
18157
  } catch (e39) {
18092
18158
  }
18093
18159
  return null;
@@ -18398,7 +18464,7 @@ function nullableText(value) {
18398
18464
  }
18399
18465
  function httpsUrl(value) {
18400
18466
  const candidate = text(value);
18401
- if (!candidate || _chunkJENNI7XUcjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
18467
+ if (!candidate || _chunkHEQ4GPYEcjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
18402
18468
  try {
18403
18469
  return new URL(candidate).protocol === "https:" ? candidate : void 0;
18404
18470
  } catch (e43) {
@@ -18415,7 +18481,7 @@ function youtubeVideoId(value) {
18415
18481
  const hostname = parsed.hostname.toLowerCase();
18416
18482
  const isYoutubeHost = hostname === "youtu.be" || hostname === "youtube.com" || hostname.endsWith(".youtube.com");
18417
18483
  if (!isYoutubeHost) return void 0;
18418
- 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]]);
18484
+ const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access', _584 => _584.exec, 'call', _585 => _585(parsed.pathname), 'optionalAccess', _586 => _586[1]]);
18419
18485
  const id = _nullishCoalesce(_nullishCoalesce(fromPath, () => ( parsed.searchParams.get("v"))), () => ( void 0));
18420
18486
  return id && YOUTUBE_ID.test(id) ? id : void 0;
18421
18487
  }
@@ -18534,11 +18600,11 @@ function cards(value, decodedSources) {
18534
18600
  {
18535
18601
  type,
18536
18602
  id,
18537
- title: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _583 => _583.name]), () => ( id)),
18538
- url: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _584 => _584.externalUrl]), () => ( null)),
18539
- ..._optionalChain([source, 'optionalAccess', _585 => _585.sourceRepo]) ? { sourceRepo: source.sourceRepo } : {},
18540
- ..._optionalChain([source, 'optionalAccess', _586 => _586.targetPlatform]) !== void 0 ? { targetPlatform: source.targetPlatform } : {},
18541
- ..._optionalChain([source, 'optionalAccess', _587 => _587.path]) ? { metadata: { path: source.path } } : {}
18603
+ title: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _587 => _587.name]), () => ( id)),
18604
+ url: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _588 => _588.externalUrl]), () => ( null)),
18605
+ ..._optionalChain([source, 'optionalAccess', _589 => _589.sourceRepo]) ? { sourceRepo: source.sourceRepo } : {},
18606
+ ..._optionalChain([source, 'optionalAccess', _590 => _590.targetPlatform]) !== void 0 ? { targetPlatform: source.targetPlatform } : {},
18607
+ ..._optionalChain([source, 'optionalAccess', _591 => _591.path]) ? { metadata: { path: source.path } } : {}
18542
18608
  }
18543
18609
  ];
18544
18610
  });
@@ -18574,11 +18640,11 @@ function attachmentsEvent(record) {
18574
18640
  }
18575
18641
  function mergeSourceMetadata(previous, event) {
18576
18642
  const byIndex = /* @__PURE__ */ new Map();
18577
- for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _588 => _588.sources]), () => ( [])), ..._nullishCoalesce(event.sources, () => ( []))]) {
18643
+ for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _592 => _592.sources]), () => ( [])), ..._nullishCoalesce(event.sources, () => ( []))]) {
18578
18644
  if (!byIndex.has(source.index)) byIndex.set(source.index, source);
18579
18645
  }
18580
18646
  const byIdentity = /* @__PURE__ */ new Map();
18581
- for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _589 => _589.refs]), () => ( [])), ..._nullishCoalesce(event.refs, () => ( []))]) {
18647
+ for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _593 => _593.refs]), () => ( [])), ..._nullishCoalesce(event.refs, () => ( []))]) {
18582
18648
  const identity = `${ref.type}:${ref.id}`;
18583
18649
  if (!byIdentity.has(identity)) byIdentity.set(identity, ref);
18584
18650
  }
@@ -18664,9 +18730,9 @@ function appendToTrailingAssistant(prev, segments) {
18664
18730
  for (const seg of segments) {
18665
18731
  const tail = merged[merged.length - 1];
18666
18732
  const key = upsertKey(seg);
18667
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _590 => _590.type]) === "text") {
18733
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _594 => _594.type]) === "text") {
18668
18734
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
18669
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _591 => _591.type]) === "thinking") {
18735
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _595 => _595.type]) === "thinking") {
18670
18736
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
18671
18737
  } else if (key) {
18672
18738
  let idx = merged.findIndex((m) => upsertKey(m) === key);
@@ -18707,7 +18773,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
18707
18773
  }
18708
18774
  if (s.type !== "approval_batch") return s;
18709
18775
  const isAnchor = s.data.approvalRequestId === requestId;
18710
- const hasRow = _optionalChain([s, 'access', _592 => _592.data, 'access', _593 => _593.toolCalls, 'optionalAccess', _594 => _594.some, 'call', _595 => _595((c) => c.toolExecutionRequestId === requestId)]);
18776
+ const hasRow = _optionalChain([s, 'access', _596 => _596.data, 'access', _597 => _597.toolCalls, 'optionalAccess', _598 => _598.some, 'call', _599 => _599((c) => c.toolExecutionRequestId === requestId)]);
18711
18777
  if (!isAnchor && !hasRow) return s;
18712
18778
  const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
18713
18779
  const nextExecutions = hasRow ? {
@@ -18729,8 +18795,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
18729
18795
  };
18730
18796
  }
18731
18797
  function nextBatchExecution(prevExec, toolData) {
18732
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _596 => _596.status]) === "done") return null;
18733
- 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]) };
18798
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _600 => _600.status]) === "done") return null;
18799
+ return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _601 => _601.result]), success: _optionalChain([prevExec, 'optionalAccess', _602 => _602.success]) };
18734
18800
  }
18735
18801
  function withBatchExecution(seg, execId, state) {
18736
18802
  return {
@@ -18747,11 +18813,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
18747
18813
  }
18748
18814
  function projectBatchRowFailureToMessages(prev, rowRequestId) {
18749
18815
  return mapSegments(prev, (s) => {
18750
- 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)])) {
18816
+ if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _603 => _603.data, 'access', _604 => _604.toolCalls, 'optionalAccess', _605 => _605.some, 'call', _606 => _606((c) => c.toolExecutionRequestId === rowRequestId)])) {
18751
18817
  return s;
18752
18818
  }
18753
- const existing = _optionalChain([s, 'access', _603 => _603.data, 'access', _604 => _604.executions, 'optionalAccess', _605 => _605[rowRequestId]]);
18754
- if (_optionalChain([existing, 'optionalAccess', _606 => _606.status]) === "done") return s;
18819
+ const existing = _optionalChain([s, 'access', _607 => _607.data, 'access', _608 => _608.executions, 'optionalAccess', _609 => _609[rowRequestId]]);
18820
+ if (_optionalChain([existing, 'optionalAccess', _610 => _610.status]) === "done") return s;
18755
18821
  return withBatchExecution(s, rowRequestId, { status: "done", success: false });
18756
18822
  });
18757
18823
  }
@@ -18787,7 +18853,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
18787
18853
  for (let j = message.segments.length - 1; j >= 0; j--) {
18788
18854
  const seg = message.segments[j];
18789
18855
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
18790
- const prevExec = _optionalChain([seg, 'access', _607 => _607.data, 'access', _608 => _608.executions, 'optionalAccess', _609 => _609[execId]]);
18856
+ const prevExec = _optionalChain([seg, 'access', _611 => _611.data, 'access', _612 => _612.executions, 'optionalAccess', _613 => _613[execId]]);
18791
18857
  const nextExec = nextBatchExecution(prevExec, toolData);
18792
18858
  if (nextExec === null) return prev;
18793
18859
  if (sameExecutionState(prevExec, nextExec)) return prev;
@@ -18960,9 +19026,9 @@ var MessageSegmentAccumulator = class {
18960
19026
  type: "tool_execution",
18961
19027
  data: {
18962
19028
  ...toolData,
18963
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _610 => _610.data, 'access', _611 => _611.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _612 => _612.toolTitle]))),
18964
- toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _613 => _613.data, 'access', _614 => _614.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _615 => _615.toolExplanation]))),
18965
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _616 => _616.parameters])
19029
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _614 => _614.data, 'access', _615 => _615.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _616 => _616.toolTitle]))),
19030
+ toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _617 => _617.data, 'access', _618 => _618.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _619 => _619.toolExplanation]))),
19031
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _620 => _620.parameters])
18966
19032
  }
18967
19033
  };
18968
19034
  if (existingIndex !== -1) {
@@ -18986,7 +19052,7 @@ var MessageSegmentAccumulator = class {
18986
19052
  if (seg.type !== "approval_batch") return seg;
18987
19053
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
18988
19054
  if (!hasCall) return seg;
18989
- const prev = _optionalChain([seg, 'access', _617 => _617.data, 'access', _618 => _618.executions, 'optionalAccess', _619 => _619[execId]]);
19055
+ const prev = _optionalChain([seg, 'access', _621 => _621.data, 'access', _622 => _622.executions, 'optionalAccess', _623 => _623[execId]]);
18990
19056
  const next = nextBatchExecution(prev, toolData);
18991
19057
  matched = true;
18992
19058
  if (next === null) return seg;
@@ -19120,8 +19186,8 @@ var MessageSegmentAccumulator = class {
19120
19186
  requestId,
19121
19187
  {
19122
19188
  ...pendingApproval,
19123
- command: _optionalChain([pendingApproval, 'optionalAccess', _620 => _620.command]) || "",
19124
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _621 => _621.approvalType]) || approvalType
19189
+ command: _optionalChain([pendingApproval, 'optionalAccess', _624 => _624.command]) || "",
19190
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _625 => _625.approvalType]) || approvalType
19125
19191
  },
19126
19192
  status
19127
19193
  );
@@ -19146,9 +19212,9 @@ var MessageSegmentAccumulator = class {
19146
19212
  type: "escalation_offer",
19147
19213
  // The resolved chunk carries no text/origin — a redelivered offer must
19148
19214
  // not blank the card the PENDING chunk already painted.
19149
- 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]))) },
19215
+ data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess', _626 => _626.data, 'access', _627 => _627.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _628 => _628.data, 'access', _629 => _629.origin]))) },
19150
19216
  status,
19151
- resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _626 => _626.resolvedByName]))),
19217
+ resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _630 => _630.resolvedByName]))),
19152
19218
  onApprove: this.callbacks.onEscalationApprove,
19153
19219
  onReject: this.callbacks.onEscalationReject
19154
19220
  };
@@ -19468,7 +19534,7 @@ function createChatStreamReducer(options = {}) {
19468
19534
  let stateCache = null;
19469
19535
  function invalidate() {
19470
19536
  stateCache = null;
19471
- _optionalChain([onChange, 'optionalCall', _627 => _627()]);
19537
+ _optionalChain([onChange, 'optionalCall', _631 => _631()]);
19472
19538
  }
19473
19539
  function getState() {
19474
19540
  if (!stateCache) {
@@ -19486,7 +19552,7 @@ function createChatStreamReducer(options = {}) {
19486
19552
  return stateCache;
19487
19553
  }
19488
19554
  function emit(name, ...args) {
19489
- _optionalChain([onEffect, 'optionalCall', _628 => _628({ name, args })]);
19555
+ _optionalChain([onEffect, 'optionalCall', _632 => _632({ name, args })]);
19490
19556
  }
19491
19557
  function setMessagesInternal(next) {
19492
19558
  if (next !== messages) {
@@ -19529,12 +19595,12 @@ function createChatStreamReducer(options = {}) {
19529
19595
  return stampTrailingAssistantSourceMetadata(stampTrailingAssistantSeq(next, seq));
19530
19596
  }
19531
19597
  function applySegmentsToState(segments, meta) {
19532
- const seq = _optionalChain([meta, 'optionalAccess', _629 => _629.streamSeq]);
19533
- if (_optionalChain([meta, 'optionalAccess', _630 => _630.append]) && meta.isCompacting) {
19598
+ const seq = _optionalChain([meta, 'optionalAccess', _633 => _633.streamSeq]);
19599
+ if (_optionalChain([meta, 'optionalAccess', _634 => _634.append]) && meta.isCompacting) {
19534
19600
  setMessagesInternal(commitTrailingAssistant(upsertTrailingCompaction(messages, segments), seq));
19535
19601
  return;
19536
19602
  }
19537
- if (_optionalChain([meta, 'optionalAccess', _631 => _631.append])) {
19603
+ if (_optionalChain([meta, 'optionalAccess', _635 => _635.append])) {
19538
19604
  setMessagesInternal(commitTrailingAssistant(appendToTrailingAssistant(messages, segments), seq));
19539
19605
  return;
19540
19606
  }
@@ -19546,7 +19612,7 @@ function createChatStreamReducer(options = {}) {
19546
19612
  adoptTrailingAssistant = false;
19547
19613
  const last = messages[messages.length - 1];
19548
19614
  if (!last || last.role !== "assistant" || adoptTail) return;
19549
- const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _632 => _632.segments, 'optionalAccess', _633 => _633.length]), () => ( 0))) > 0 || last.content !== "";
19615
+ const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _636 => _636.segments, 'optionalAccess', _637 => _637.length]), () => ( 0))) > 0 || last.content !== "";
19550
19616
  if (!hasContent) return;
19551
19617
  setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
19552
19618
  }
@@ -19765,13 +19831,13 @@ function createChatStreamReducer(options = {}) {
19765
19831
  const summary = required ? _chunkHP4UUBJCcjs.getCommandText.call(void 0, required) : `Batch of ${toolCalls.length} tool calls`;
19766
19832
  pendingEscalated.set(requestId, {
19767
19833
  command: summary,
19768
- explanation: _optionalChain([required, 'optionalAccess', _634 => _634.toolExplanation]),
19834
+ explanation: _optionalChain([required, 'optionalAccess', _638 => _638.toolExplanation]),
19769
19835
  approvalType,
19770
19836
  toolCalls
19771
19837
  });
19772
19838
  emit("onEscalatedApproval", requestId, {
19773
19839
  command: summary,
19774
- explanation: _optionalChain([required, 'optionalAccess', _635 => _635.toolExplanation]),
19840
+ explanation: _optionalChain([required, 'optionalAccess', _639 => _639.toolExplanation]),
19775
19841
  approvalType
19776
19842
  });
19777
19843
  break;
@@ -20159,7 +20225,7 @@ function createChatStreamReducer(options = {}) {
20159
20225
  const resolveBatch = (status, confirm) => async () => {
20160
20226
  setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
20161
20227
  for (const id of ids) {
20162
- const ok = await _optionalChain([confirm, 'optionalCall', _636 => _636(id)]);
20228
+ const ok = await _optionalChain([confirm, 'optionalCall', _640 => _640(id)]);
20163
20229
  if (ok === false) {
20164
20230
  setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
20165
20231
  }
@@ -20295,8 +20361,8 @@ function createChatStreamReducer(options = {}) {
20295
20361
  }
20296
20362
  }
20297
20363
  }
20298
- hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _637 => _637.resumed]), () => ( messages.length > 0)));
20299
- if (_optionalChain([extras, 'optionalAccess', _638 => _638.agentBusy])) agentBusyState();
20364
+ hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _641 => _641.resumed]), () => ( messages.length > 0)));
20365
+ if (_optionalChain([extras, 'optionalAccess', _642 => _642.agentBusy])) agentBusyState();
20300
20366
  invalidate();
20301
20367
  }
20302
20368
  return {
@@ -20383,7 +20449,7 @@ function createChatStreamReducer(options = {}) {
20383
20449
  },
20384
20450
  endSseTurn() {
20385
20451
  const last = messages[messages.length - 1];
20386
- if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _639 => _639.segments, 'optionalAccess', _640 => _640.length]), () => ( 0))) === 0 && last.content === "") {
20452
+ if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _643 => _643.segments, 'optionalAccess', _644 => _644.length]), () => ( 0))) === 0 && last.content === "") {
20387
20453
  messages = messages.slice(0, -1);
20388
20454
  }
20389
20455
  sseCurrentText = "";
@@ -20537,10 +20603,10 @@ function createChatDialogStore(options = {}) {
20537
20603
  if (onEvict) {
20538
20604
  const sep = key.indexOf(KEY_SEP);
20539
20605
  onEvict(key.slice(0, sep), key.slice(sep + 1), {
20540
- messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _641 => _641.state, 'access', _642 => _642.messages]), () => ( EMPTY_STATE.messages)),
20541
- approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _643 => _643.state, 'access', _644 => _644.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
20542
- lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _645 => _645.getLastAppliedSeq, 'call', _646 => _646()]), () => ( Number.NEGATIVE_INFINITY)),
20543
- pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _647 => _647.getPendingEchoes, 'call', _648 => _648()]), () => ( EMPTY_PENDING_ECHOES))
20606
+ messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _645 => _645.state, 'access', _646 => _646.messages]), () => ( EMPTY_STATE.messages)),
20607
+ approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _647 => _647.state, 'access', _648 => _648.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
20608
+ lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _649 => _649.getLastAppliedSeq, 'call', _650 => _650()]), () => ( Number.NEGATIVE_INFINITY)),
20609
+ pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _651 => _651.getPendingEchoes, 'call', _652 => _652()]), () => ( EMPTY_PENDING_ECHOES))
20544
20610
  });
20545
20611
  }
20546
20612
  }
@@ -20550,12 +20616,12 @@ function createChatDialogStore(options = {}) {
20550
20616
  const key = keyOf(dialogId, side);
20551
20617
  let reducer = reducers.get(key);
20552
20618
  if (!reducer) {
20553
- const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _649 => _649(dialogId, side)]), () => ( {}));
20619
+ const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _653 => _653(dialogId, side)]), () => ( {}));
20554
20620
  const userOnChange = base.onChange;
20555
20621
  reducer = createChatStreamReducer({
20556
20622
  ...base,
20557
20623
  onChange: () => {
20558
- _optionalChain([userOnChange, 'optionalCall', _650 => _650()]);
20624
+ _optionalChain([userOnChange, 'optionalCall', _654 => _654()]);
20559
20625
  notify();
20560
20626
  }
20561
20627
  });
@@ -20600,7 +20666,7 @@ function createChatDialogStore(options = {}) {
20600
20666
  };
20601
20667
  }
20602
20668
  function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
20603
- return _nullishCoalesce(_optionalChain([reducers, 'access', _651 => _651.get, 'call', _652 => _652(keyOf(dialogId, side)), 'optionalAccess', _653 => _653.state]), () => ( EMPTY_STATE));
20669
+ return _nullishCoalesce(_optionalChain([reducers, 'access', _655 => _655.get, 'call', _656 => _656(keyOf(dialogId, side)), 'optionalAccess', _657 => _657.state]), () => ( EMPTY_STATE));
20604
20670
  }
20605
20671
  function getServerSnapshot2() {
20606
20672
  return EMPTY_STATE;
@@ -20692,7 +20758,7 @@ function createDeltaBatcher({
20692
20758
  pending = [];
20693
20759
  const key = pendingKey;
20694
20760
  for (const delta of batch) applyOne(delta, key);
20695
- _optionalChain([onFlushed, 'optionalCall', _654 => _654(batch.length)]);
20761
+ _optionalChain([onFlushed, 'optionalCall', _658 => _658(batch.length)]);
20696
20762
  }
20697
20763
  function schedule() {
20698
20764
  if (raf !== null || timer !== null) return;
@@ -20716,7 +20782,7 @@ function createDeltaBatcher({
20716
20782
  }
20717
20783
  if (!isDeltaEvent(event)) return false;
20718
20784
  const tail = pending[pending.length - 1];
20719
- const seqAdvances = _optionalChain([tail, 'optionalAccess', _655 => _655.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
20785
+ const seqAdvances = _optionalChain([tail, 'optionalAccess', _659 => _659.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
20720
20786
  if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
20721
20787
  pending[pending.length - 1] = {
20722
20788
  ...tail,
@@ -20747,7 +20813,7 @@ function useChatStreamReducer({
20747
20813
  side = DEFAULT_DIALOG_SIDE,
20748
20814
  createReducerOptions
20749
20815
  }) {
20750
- const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _656 => _656()]), () => ( {})));
20816
+ const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _660 => _660()]), () => ( {})));
20751
20817
  const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
20752
20818
  const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
20753
20819
  const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
@@ -20786,7 +20852,7 @@ var STORAGE_KEY = "conversation";
20786
20852
  var namespaceFor = (source) => {
20787
20853
  const base = `mingo-chat-${source}`;
20788
20854
  const auth = _chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, );
20789
- return _optionalChain([auth, 'optionalAccess', _657 => _657.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
20855
+ return _optionalChain([auth, 'optionalAccess', _661 => _661.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
20790
20856
  };
20791
20857
  function createChatConversationStorage(source) {
20792
20858
  return _chunkULWVKHSIcjs.createLocalStorageAdapter.call(void 0, {
@@ -20917,7 +20983,7 @@ function useChatHistoryHydration({
20917
20983
  if (cancelled) return;
20918
20984
  if (rows.length === 0) {
20919
20985
  const found = isRecord(body) ? body.found : void 0;
20920
- if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall', _658 => _658(conversationId)]);
20986
+ if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall', _662 => _662(conversationId)]);
20921
20987
  return;
20922
20988
  }
20923
20989
  const hydrated = [];
@@ -21061,7 +21127,7 @@ function useManagedDialogList({
21061
21127
  try {
21062
21128
  await deleteDialogCallback(id);
21063
21129
  removeLocal(id);
21064
- _optionalChain([onDialogRemovedRef, 'access', _659 => _659.current, 'optionalCall', _660 => _660(id, "deleted")]);
21130
+ _optionalChain([onDialogRemovedRef, 'access', _663 => _663.current, 'optionalCall', _664 => _664(id, "deleted")]);
21065
21131
  } catch (err) {
21066
21132
  console.error(`${logTag} deleteDialog failed:`, err);
21067
21133
  throw err;
@@ -21072,7 +21138,7 @@ function useManagedDialogList({
21072
21138
  const renameDialog = _react.useCallback.call(void 0,
21073
21139
  async (id, title) => {
21074
21140
  if (!renameDialogCallback) return;
21075
- const previous = _optionalChain([dialogsRef, 'access', _661 => _661.current, 'access', _662 => _662.find, 'call', _663 => _663((d) => d.id === id), 'optionalAccess', _664 => _664.title]);
21141
+ const previous = _optionalChain([dialogsRef, 'access', _665 => _665.current, 'access', _666 => _666.find, 'call', _667 => _667((d) => d.id === id), 'optionalAccess', _668 => _668.title]);
21076
21142
  setDialogs((prev) => prev.map((d) => d.id === id ? { ...d, title } : d));
21077
21143
  try {
21078
21144
  await renameDialogCallback(id, title);
@@ -21091,7 +21157,7 @@ function useManagedDialogList({
21091
21157
  try {
21092
21158
  await archiveDialogCallback(id);
21093
21159
  removeLocal(id);
21094
- _optionalChain([onDialogRemovedRef, 'access', _665 => _665.current, 'optionalCall', _666 => _666(id, "archived")]);
21160
+ _optionalChain([onDialogRemovedRef, 'access', _669 => _669.current, 'optionalCall', _670 => _670(id, "archived")]);
21095
21161
  } catch (err) {
21096
21162
  console.error(`${logTag} archiveDialog failed:`, err);
21097
21163
  throw err;
@@ -21183,7 +21249,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21183
21249
  const { active = true } = runtimeOptions;
21184
21250
  const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
21185
21251
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
21186
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _667 => _667.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
21252
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _671 => _671.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
21187
21253
  const sendMessageRef = _react.useRef.call(void 0,
21188
21254
  () => Promise.resolve(true)
21189
21255
  );
@@ -21219,7 +21285,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21219
21285
  if (!restoredConversationRef.current) {
21220
21286
  restoredConversationRef.current = true;
21221
21287
  pruneStaleChatConversationStorage(source);
21222
- conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _668 => _668.load, 'call', _669 => _669(), 'optionalAccess', _670 => _670.conversationId]), () => ( null));
21288
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _672 => _672.load, 'call', _673 => _673(), 'optionalAccess', _674 => _674.conversationId]), () => ( null));
21223
21289
  }
21224
21290
  const [conversationId, setConversationId] = _react.useState.call(void 0, () => conversationIdRef.current);
21225
21291
  const commitConversationId = _react.useCallback.call(void 0,
@@ -21310,7 +21376,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21310
21376
  const abortControllerRef = _react.useRef.call(void 0, null);
21311
21377
  const switchConversation = _react.useCallback.call(void 0,
21312
21378
  (id) => {
21313
- _optionalChain([abortControllerRef, 'access', _671 => _671.current, 'optionalAccess', _672 => _672.abort, 'call', _673 => _673()]);
21379
+ _optionalChain([abortControllerRef, 'access', _675 => _675.current, 'optionalAccess', _676 => _676.abort, 'call', _677 => _677()]);
21314
21380
  flushDeltas();
21315
21381
  mutate((r) => r.reset());
21316
21382
  hydrationSendCountRef.current = 0;
@@ -21347,8 +21413,8 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21347
21413
  } = useManagedDialogList({
21348
21414
  autoLoad: active,
21349
21415
  fetchDialogs: fetchActiveDialogs,
21350
- renameDialog: _optionalChain([conversationsApi, 'optionalAccess', _674 => _674.renameDialog]),
21351
- archiveDialog: _optionalChain([conversationsApi, 'optionalAccess', _675 => _675.archiveDialog]),
21416
+ renameDialog: _optionalChain([conversationsApi, 'optionalAccess', _678 => _678.renameDialog]),
21417
+ archiveDialog: _optionalChain([conversationsApi, 'optionalAccess', _679 => _679.archiveDialog]),
21352
21418
  pageSize: 20,
21353
21419
  search: conversationsApi ? dialogSearch : void 0,
21354
21420
  logTag: "[useSseChatAdapter]",
@@ -21412,7 +21478,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21412
21478
  const serverMessage = await readServerErrorMessage(response);
21413
21479
  throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
21414
21480
  }
21415
- const reader = _optionalChain([response, 'access', _676 => _676.body, 'optionalAccess', _677 => _677.getReader, 'call', _678 => _678()]);
21481
+ const reader = _optionalChain([response, 'access', _680 => _680.body, 'optionalAccess', _681 => _681.getReader, 'call', _682 => _682()]);
21416
21482
  if (!reader) throw new Error("No response body");
21417
21483
  const frameDecoder = createSseFrameDecoder();
21418
21484
  let finished = false;
@@ -21441,7 +21507,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21441
21507
  }
21442
21508
  return true;
21443
21509
  } catch (err) {
21444
- if (_optionalChain([err, 'optionalAccess', _679 => _679.name]) === "AbortError" || ctrl.signal.aborted) {
21510
+ if (_optionalChain([err, 'optionalAccess', _683 => _683.name]) === "AbortError" || ctrl.signal.aborted) {
21445
21511
  return true;
21446
21512
  }
21447
21513
  flushDeltas();
@@ -21477,7 +21543,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21477
21543
  );
21478
21544
  sendMessageRef.current = sendMessage;
21479
21545
  const stopMessage = _react.useCallback.call(void 0, () => {
21480
- _optionalChain([abortControllerRef, 'access', _680 => _680.current, 'optionalAccess', _681 => _681.abort, 'call', _682 => _682()]);
21546
+ _optionalChain([abortControllerRef, 'access', _684 => _684.current, 'optionalAccess', _685 => _685.abort, 'call', _686 => _686()]);
21481
21547
  flushDeltas();
21482
21548
  mutate((r) => r.setPhase("idle"));
21483
21549
  }, [mutate, flushDeltas]);
@@ -21513,7 +21579,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21513
21579
  let sendIdx = -1;
21514
21580
  return state.messages.map((m) => {
21515
21581
  const segments = m.segments;
21516
- 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("")]), () => ( ""));
21582
+ const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _687 => _687.filter, 'call', _688 => _688((s) => s.type === "text"), 'access', _689 => _689.map, 'call', _690 => _690((s) => s.text), 'access', _691 => _691.join, 'call', _692 => _692("")]), () => ( ""));
21517
21583
  let sources2;
21518
21584
  let scrollAnchor;
21519
21585
  if (m.role === "user" && !m.hidden) {
@@ -21522,7 +21588,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21522
21588
  if (m.role === "assistant") {
21523
21589
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
21524
21590
  sources2 = sourcesMap.get(lookupIdx);
21525
- scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _689 => _689.get, 'call', _690 => _690(lookupIdx), 'optionalAccess', _691 => _691.scrollAnchor]), () => ( void 0));
21591
+ scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _693 => _693.get, 'call', _694 => _694(lookupIdx), 'optionalAccess', _695 => _695.scrollAnchor]), () => ( void 0));
21526
21592
  }
21527
21593
  return {
21528
21594
  id: m.id,
@@ -21549,7 +21615,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21549
21615
  );
21550
21616
  return;
21551
21617
  }
21552
- const refSlug = typeof _optionalChain([reference, 'access', _692 => _692.metadata, 'optionalAccess', _693 => _693.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
21618
+ const refSlug = typeof _optionalChain([reference, 'access', _696 => _696.metadata, 'optionalAccess', _697 => _697.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
21553
21619
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
21554
21620
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
21555
21621
  const text2 = `/${cmdId} display "${escaped}"`;
@@ -21597,18 +21663,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21597
21663
  /** True while the mount-time rebuild from the server transcript runs. */
21598
21664
  isHydratingHistory,
21599
21665
  /** Provider key for the lib's `<ModelDisplay>` icon. */
21600
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _694 => _694.provider]), () => ( null)),
21601
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _695 => _695.modelLabel]), () => ( null)),
21602
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _696 => _696.contextWindowMaxTokens]), () => ( null)),
21666
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _698 => _698.provider]), () => ( null)),
21667
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _699 => _699.modelLabel]), () => ( null)),
21668
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _700 => _700.contextWindowMaxTokens]), () => ( null)),
21603
21669
  /** Input tokens (known after server's message_start frame; null until). */
21604
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _697 => _697.inputTokens]), () => ( null)),
21670
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _701 => _701.inputTokens]), () => ( null)),
21605
21671
  /** Output tokens (known only after server's trailing usage frame). */
21606
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _698 => _698.outputTokens]), () => ( null)),
21672
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _702 => _702.outputTokens]), () => ( null)),
21607
21673
  /** Cache hit % (read / total-input × 100). null during streaming. */
21608
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _699 => _699.cacheHitRatePct]), () => ( null)),
21674
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _703 => _703.cacheHitRatePct]), () => ( null)),
21609
21675
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
21610
21676
  * token counts). null until the trailing usage frame lands. */
21611
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _700 => _700.breakdown]), () => ( null)),
21677
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _704 => _704.breakdown]), () => ( null)),
21612
21678
  // ─── Dialog management ───────────────────────────────────────────────
21613
21679
  // With `chatConversationsUrl` the server transcript store IS the dialog
21614
21680
  // list (shared `useManagedDialogList`); selecting a row re-hydrates through
@@ -21864,7 +21930,7 @@ function decodeNatsChunk(chunk) {
21864
21930
  userId: typeof data.userId === "string" ? data.userId : void 0,
21865
21931
  // Wire shape carries no label; fall back to the id (parity with
21866
21932
  // the history path in `process-historical-messages.ts`).
21867
- 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) => ({
21933
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _705 => _705.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _706 => _706.id]) === "string").map((it) => ({
21868
21934
  type: it.type,
21869
21935
  id: it.id,
21870
21936
  label: it.id
@@ -21955,7 +22021,7 @@ function extractIncompleteMessageState(lastMessage) {
21955
22021
  }
21956
22022
  break;
21957
22023
  case "approval_batch": {
21958
- 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");
22024
+ const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _707 => _707.data, 'access', _708 => _708.executions, 'optionalAccess', _709 => _709[c.toolExecutionRequestId], 'optionalAccess', _710 => _710.status]) === "done");
21959
22025
  if (segment.status !== "rejected" && !allDone) {
21960
22026
  hasIncompleteState = true;
21961
22027
  }
@@ -22017,11 +22083,11 @@ function extractIncompleteMessageState(lastMessage) {
22017
22083
  function extractIncompleteTailState(messages) {
22018
22084
  if (!messages || messages.length === 0) return void 0;
22019
22085
  let start = messages.length;
22020
- while (start > 0 && _optionalChain([messages, 'access', _707 => _707[start - 1], 'optionalAccess', _708 => _708.role]) === "assistant") start -= 1;
22086
+ while (start > 0 && _optionalChain([messages, 'access', _711 => _711[start - 1], 'optionalAccess', _712 => _712.role]) === "assistant") start -= 1;
22021
22087
  if (start === messages.length) return void 0;
22022
22088
  const segments = [];
22023
22089
  for (let i = start; i < messages.length; i += 1) {
22024
- const content = _optionalChain([messages, 'access', _709 => _709[i], 'optionalAccess', _710 => _710.content]);
22090
+ const content = _optionalChain([messages, 'access', _713 => _713[i], 'optionalAccess', _714 => _714.content]);
22025
22091
  if (Array.isArray(content)) segments.push(...content);
22026
22092
  }
22027
22093
  if (segments.length === 0) return void 0;
@@ -22034,15 +22100,15 @@ function extractIncompleteTailState(messages) {
22034
22100
 
22035
22101
  // src/components/chat/utils/process-historical-messages.ts
22036
22102
  function getOwnerDisplayName(owner) {
22037
- if (_optionalChain([owner, 'optionalAccess', _711 => _711.type]) === _chunkFDWYBJYDcjs.OWNER_TYPE.ADMIN && owner.user) {
22103
+ if (_optionalChain([owner, 'optionalAccess', _715 => _715.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.ADMIN && owner.user) {
22038
22104
  const { firstName, lastName } = owner.user;
22039
22105
  const name = [firstName, lastName].filter(Boolean).join(" ");
22040
22106
  if (name) return name;
22041
22107
  }
22042
- return _optionalChain([owner, 'optionalAccess', _712 => _712.type]) === _chunkFDWYBJYDcjs.OWNER_TYPE.ADMIN ? "Admin" : "You";
22108
+ return _optionalChain([owner, 'optionalAccess', _716 => _716.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.ADMIN ? "Admin" : "You";
22043
22109
  }
22044
22110
  function getOwnerAvatar(owner) {
22045
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _713 => _713.user, 'optionalAccess', _714 => _714.image, 'optionalAccess', _715 => _715.imageUrl]), () => ( void 0));
22111
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _717 => _717.user, 'optionalAccess', _718 => _718.image, 'optionalAccess', _719 => _719.imageUrl]), () => ( void 0));
22046
22112
  }
22047
22113
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
22048
22114
  messageDataArray.forEach((data) => {
@@ -22234,7 +22300,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22234
22300
  event.offerId,
22235
22301
  event.text,
22236
22302
  event.origin,
22237
- _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _716 => _716[event.offerId]]), () => ( "pending"))
22303
+ _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _720 => _720[event.offerId]]), () => ( "pending"))
22238
22304
  );
22239
22305
  break;
22240
22306
  case "ticket-escalated":
@@ -22268,7 +22334,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22268
22334
  );
22269
22335
  break;
22270
22336
  case "escalation-offer-resolved":
22271
- _optionalChain([offerResolutions, 'optionalAccess', _717 => _717.set, 'call', _718 => _718(event.offerId, {
22337
+ _optionalChain([offerResolutions, 'optionalAccess', _721 => _721.set, 'call', _722 => _722(event.offerId, {
22272
22338
  status: event.status,
22273
22339
  resolvedByName: event.resolvedByName
22274
22340
  })]);
@@ -22332,7 +22398,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22332
22398
  }
22333
22399
  }
22334
22400
  } else {
22335
- _optionalChain([escalatedApprovals, 'optionalAccess', _719 => _719.set, 'call', _720 => _720(event.requestId, {
22401
+ _optionalChain([escalatedApprovals, 'optionalAccess', _723 => _723.set, 'call', _724 => _724(event.requestId, {
22336
22402
  command: event.command || "",
22337
22403
  explanation: event.explanation,
22338
22404
  approvalType,
@@ -22347,8 +22413,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22347
22413
  const existingStatus = approvalStatuses[requestId];
22348
22414
  const status = existingStatus || event.status;
22349
22415
  const resolvedByName = event.resolvedByName;
22350
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _721 => _721.get, 'call', _722 => _722(requestId)]);
22351
- if (_optionalChain([escalatedData, 'optionalAccess', _723 => _723.toolCalls]) && escalatedData.toolCalls.length > 0) {
22416
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _725 => _725.get, 'call', _726 => _726(requestId)]);
22417
+ if (_optionalChain([escalatedData, 'optionalAccess', _727 => _727.toolCalls]) && escalatedData.toolCalls.length > 0) {
22352
22418
  if (batchApprovalsEnabled) {
22353
22419
  accumulator.addApprovalBatch(
22354
22420
  requestId,
@@ -22370,7 +22436,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22370
22436
  );
22371
22437
  }
22372
22438
  }
22373
- _optionalChain([escalatedApprovals, 'optionalAccess', _724 => _724.delete, 'call', _725 => _725(requestId)]);
22439
+ _optionalChain([escalatedApprovals, 'optionalAccess', _728 => _728.delete, 'call', _729 => _729(requestId)]);
22374
22440
  break;
22375
22441
  }
22376
22442
  if (escalatedData) {
@@ -22379,7 +22445,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22379
22445
  explanation: escalatedData.explanation,
22380
22446
  approvalType: escalatedData.approvalType
22381
22447
  });
22382
- _optionalChain([escalatedApprovals, 'optionalAccess', _726 => _726.delete, 'call', _727 => _727(requestId)]);
22448
+ _optionalChain([escalatedApprovals, 'optionalAccess', _730 => _730.delete, 'call', _731 => _731(requestId)]);
22383
22449
  }
22384
22450
  const before = accumulator.getSegments();
22385
22451
  const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
@@ -22471,14 +22537,14 @@ function processHistoricalMessages(messages, options = {}) {
22471
22537
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
22472
22538
  return;
22473
22539
  }
22474
- const isUserMessage = _optionalChain([msg, 'access', _728 => _728.owner, 'optionalAccess', _729 => _729.type]) === _chunkFDWYBJYDcjs.OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _730 => _730.owner, 'optionalAccess', _731 => _731.type]) === _chunkFDWYBJYDcjs.OWNER_TYPE.ADMIN;
22540
+ const isUserMessage = _optionalChain([msg, 'access', _732 => _732.owner, 'optionalAccess', _733 => _733.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _734 => _734.owner, 'optionalAccess', _735 => _735.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.ADMIN;
22475
22541
  if (isUserMessage) {
22476
22542
  flushAssistantMessage();
22477
- const userAuthorType = _optionalChain([msg, 'access', _732 => _732.owner, 'optionalAccess', _733 => _733.type]) === _chunkFDWYBJYDcjs.OWNER_TYPE.ADMIN ? "admin" : "user";
22543
+ const userAuthorType = _optionalChain([msg, 'access', _736 => _736.owner, 'optionalAccess', _737 => _737.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.ADMIN ? "admin" : "user";
22478
22544
  messageDataArray.forEach((data) => {
22479
22545
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
22480
22546
  const rawContext = data.contextItems;
22481
- 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;
22547
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _738 => _738.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _739 => _739.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
22482
22548
  processedMessages.push({
22483
22549
  id: msg.id,
22484
22550
  role: "user",
@@ -22525,7 +22591,7 @@ function processHistoricalMessages(messages, options = {}) {
22525
22591
  });
22526
22592
  const nextMsg = messages[index + 1];
22527
22593
  const isLastMessage = index === messages.length - 1;
22528
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _736 => _736.owner, 'optionalAccess', _737 => _737.type]) === _chunkFDWYBJYDcjs.OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _738 => _738.owner, 'optionalAccess', _739 => _739.type]) === _chunkFDWYBJYDcjs.OWNER_TYPE.ADMIN);
22594
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _740 => _740.owner, 'optionalAccess', _741 => _741.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _742 => _742.owner, 'optionalAccess', _743 => _743.type]) === _chunkNJV3LIDEcjs.OWNER_TYPE.ADMIN);
22529
22595
  if (isLastMessage || nextIsFromUser) {
22530
22596
  flushAssistantMessage();
22531
22597
  }
@@ -22908,7 +22974,7 @@ function useNatsChatAdapter(config, options = {}) {
22908
22974
  const connectionState = !active || !dialogId ? "connected" : connectedForDialog === dialogId ? "connected" : "connecting";
22909
22975
  const sendMessage = _react.useCallback.call(void 0,
22910
22976
  async (text2, sendOptions) => {
22911
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _740 => _740.hidden]), () => ( false));
22977
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _744 => _744.hidden]), () => ( false));
22912
22978
  mutate((r) => r.pushOptimisticSend(text2, hidden));
22913
22979
  await publishUserMessage(text2, { hidden, dialogId });
22914
22980
  },
@@ -23001,11 +23067,11 @@ function useNatsChatAdapter(config, options = {}) {
23001
23067
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
23002
23068
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
23003
23069
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
23004
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _741 => _741.provider]), () => ( modelProvider)), () => ( null)),
23005
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _742 => _742.modelLabel]), () => ( modelLabel)), () => ( null)),
23006
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _743 => _743.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _744 => _744.contextWindowMaxTokens]))), () => ( null)),
23007
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _745 => _745.inputTokensSize]), () => ( null)),
23008
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _746 => _746.outputTokensSize]), () => ( null)),
23070
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _745 => _745.provider]), () => ( modelProvider)), () => ( null)),
23071
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _746 => _746.modelLabel]), () => ( modelLabel)), () => ( null)),
23072
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _747 => _747.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _748 => _748.contextWindowMaxTokens]))), () => ( null)),
23073
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _749 => _749.inputTokensSize]), () => ( null)),
23074
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _750 => _750.outputTokensSize]), () => ( null)),
23009
23075
  currentCacheHitRatePct: null,
23010
23076
  currentUsageBreakdown: null,
23011
23077
  // Dialog management
@@ -23127,7 +23193,7 @@ function useUnifiedChat(options) {
23127
23193
  []
23128
23194
  );
23129
23195
  const displayRefForward = _react.useCallback.call(void 0,
23130
- (ref) => _optionalChain([activeStateRef, 'access', _747 => _747.current, 'access', _748 => _748.displayRef, 'optionalCall', _749 => _749(ref)]),
23196
+ (ref) => _optionalChain([activeStateRef, 'access', _751 => _751.current, 'access', _752 => _752.displayRef, 'optionalCall', _753 => _753(ref)]),
23131
23197
  []
23132
23198
  );
23133
23199
  const displayRef = activeState.displayRef ? displayRefForward : void 0;
@@ -23137,7 +23203,7 @@ function useUnifiedChat(options) {
23137
23203
  const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
23138
23204
  const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
23139
23205
  const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
23140
- const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _750 => _750.current, 'access', _751 => _751.setDialogScope, 'optionalCall', _752 => _752(scope)]), []);
23206
+ const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _754 => _754.current, 'access', _755 => _755.setDialogScope, 'optionalCall', _756 => _756(scope)]), []);
23141
23207
  const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
23142
23208
  const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
23143
23209
  const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
@@ -23247,19 +23313,19 @@ function turnRequestKeys(content) {
23247
23313
  if (!Array.isArray(content)) return keys;
23248
23314
  for (const seg of content) {
23249
23315
  if (seg.type === "tool_execution") {
23250
- const id = _optionalChain([seg, 'access', _753 => _753.data, 'optionalAccess', _754 => _754.toolExecutionRequestId]);
23316
+ const id = _optionalChain([seg, 'access', _757 => _757.data, 'optionalAccess', _758 => _758.toolExecutionRequestId]);
23251
23317
  if (id) keys.add(id);
23252
23318
  } else if (seg.type === "approval_request") {
23253
- const id = _optionalChain([seg, 'access', _755 => _755.data, 'optionalAccess', _756 => _756.requestId]);
23319
+ const id = _optionalChain([seg, 'access', _759 => _759.data, 'optionalAccess', _760 => _760.requestId]);
23254
23320
  if (id) keys.add(id);
23255
23321
  } else if (seg.type === "escalation_offer") {
23256
- const id = _optionalChain([seg, 'access', _757 => _757.data, 'optionalAccess', _758 => _758.offerId]);
23322
+ const id = _optionalChain([seg, 'access', _761 => _761.data, 'optionalAccess', _762 => _762.offerId]);
23257
23323
  if (id) keys.add(id);
23258
23324
  } else if (seg.type === "approval_batch") {
23259
23325
  const data = seg.data;
23260
- if (_optionalChain([data, 'optionalAccess', _759 => _759.approvalRequestId])) keys.add(data.approvalRequestId);
23261
- for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _760 => _760.toolCalls]), () => ( []))) {
23262
- if (_optionalChain([call, 'optionalAccess', _761 => _761.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
23326
+ if (_optionalChain([data, 'optionalAccess', _763 => _763.approvalRequestId])) keys.add(data.approvalRequestId);
23327
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _764 => _764.toolCalls]), () => ( []))) {
23328
+ if (_optionalChain([call, 'optionalAccess', _765 => _765.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
23263
23329
  }
23264
23330
  }
23265
23331
  }
@@ -23344,18 +23410,18 @@ function mergeHistoryWithRealtime(input) {
23344
23410
  }
23345
23411
  }
23346
23412
  const trailing = processedHistory[processedHistory.length - 1];
23347
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _762 => _762.role]) === "assistant" ? trailing : null;
23348
- 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;
23413
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _766 => _766.role]) === "assistant" ? trailing : null;
23414
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _767 => _767.content, 'access', _768 => _768.find, 'call', _769 => _769((s) => s.type === "approval_batch"), 'optionalAccess', _770 => _770.data, 'optionalAccess', _771 => _771.approvalRequestId]), () => ( null)) : null;
23349
23415
  let processedToUse = processedHistory;
23350
23416
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
23351
23417
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
23352
23418
  if (historyBatchId) {
23353
23419
  const batchTwins = existingMessages.filter(
23354
- (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)
23420
+ (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _772 => _772.data, 'optionalAccess', _773 => _773.approvalRequestId]) === historyBatchId)
23355
23421
  );
23356
23422
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
23357
23423
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
23358
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _770 => _770.content])) ? historyTrailingAssistant.content.length : 0;
23424
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _774 => _774.content])) ? historyTrailingAssistant.content.length : 0;
23359
23425
  const realtimeSize = existingWithSameBatch.content.length;
23360
23426
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
23361
23427
  processedToUse = processedHistory.slice(0, -1);
@@ -23388,9 +23454,9 @@ function mergeHistoryWithRealtime(input) {
23388
23454
  const trailingAssistantText = lastProcessed && lastProcessed.role === "assistant" ? assistantAnswerText(lastProcessed.content) : "";
23389
23455
  const windowSignals = collectTwinSignals(processedToUse);
23390
23456
  const seenUserSyntheticByContent = /* @__PURE__ */ new Map();
23391
- const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _771 => _771.has, 'call', _772 => _772(m.id)]), () => ( false)));
23457
+ const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _775 => _775.has, 'call', _776 => _776(m.id)]), () => ( false)));
23392
23458
  const firstWindowIndex = existingMessages.findIndex(isInWindow);
23393
- const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _773 => _773.timestamp, 'optionalAccess', _774 => _774.getTime, 'call', _775 => _775()]), () => ( 0))) <= historyFetchedAt;
23459
+ const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _777 => _777.timestamp, 'optionalAccess', _778 => _778.getTime, 'call', _779 => _779()]), () => ( 0))) <= historyFetchedAt;
23394
23460
  let lastOlderPersistedIndex = -1;
23395
23461
  if (firstWindowIndex < 0) {
23396
23462
  for (const [index, m] of existingMessages.entries()) {
@@ -23408,7 +23474,7 @@ function mergeHistoryWithRealtime(input) {
23408
23474
  } else if (pm.role === "assistant") {
23409
23475
  windowHasUnstampedAssistant = true;
23410
23476
  }
23411
- const time = _optionalChain([pm, 'access', _776 => _776.timestamp, 'optionalAccess', _777 => _777.getTime, 'call', _778 => _778()]);
23477
+ const time = _optionalChain([pm, 'access', _780 => _780.timestamp, 'optionalAccess', _781 => _781.getTime, 'call', _782 => _782()]);
23412
23478
  if (typeof time === "number" && time < windowMinTime) windowMinTime = time;
23413
23479
  }
23414
23480
  const threadHasClientMintedRow = existingMessages.some((m) => isClientMintedId(m.id));
@@ -23426,14 +23492,14 @@ function mergeHistoryWithRealtime(input) {
23426
23492
  const verdict = twinVerdict(windowSignals, m);
23427
23493
  return verdict === "unknown" ? !seqCanMislead(m) : verdict === "distinct";
23428
23494
  }
23429
- const time = _optionalChain([m, 'access', _779 => _779.timestamp, 'optionalAccess', _780 => _780.getTime, 'call', _781 => _781()]);
23495
+ const time = _optionalChain([m, 'access', _783 => _783.timestamp, 'optionalAccess', _784 => _784.getTime, 'call', _785 => _785()]);
23430
23496
  if (typeof time !== "number" || time > historyFetchedAt) return false;
23431
23497
  if (!Number.isFinite(windowMinTime) || time >= windowMinTime) return false;
23432
23498
  return twinVerdict(windowSignals, m) === "distinct";
23433
23499
  };
23434
23500
  const keepRealtime = (m) => {
23435
23501
  if (m.role === "user" && isOptimisticId(m.id) && typeof m.content === "string") {
23436
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _782 => _782.timestamp, 'optionalAccess', _783 => _783.getTime, 'call', _784 => _784()]), () => ( 0))) <= historyFetchedAt;
23502
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _786 => _786.timestamp, 'optionalAccess', _787 => _787.getTime, 'call', _788 => _788()]), () => ( 0))) <= historyFetchedAt;
23437
23503
  return !(canBeInSnapshot && windowSignals.userContents.has(userTwinKey(m)));
23438
23504
  }
23439
23505
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -23458,7 +23524,7 @@ function mergeHistoryWithRealtime(input) {
23458
23524
  } else if (typeof m.streamSeq === "number") {
23459
23525
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
23460
23526
  } else {
23461
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _785 => _785.timestamp, 'optionalAccess', _786 => _786.getTime, 'call', _787 => _787()]), () => ( 0))) <= historyFetchedAt;
23527
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _789 => _789.timestamp, 'optionalAccess', _790 => _790.getTime, 'call', _791 => _791()]), () => ( 0))) <= historyFetchedAt;
23462
23528
  }
23463
23529
  if (covered) return false;
23464
23530
  }
@@ -23553,7 +23619,7 @@ function normalizeHistoricalMessageData(md) {
23553
23619
  function isHistoricalUserTurn(m) {
23554
23620
  return !!m.owner;
23555
23621
  }
23556
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _788 => _788.type]) === "TEXT" && typeof d.text === "string";
23622
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _792 => _792.type]) === "TEXT" && typeof d.text === "string";
23557
23623
  var THINK_MS = 550;
23558
23624
  var TOKEN_MS = 55;
23559
23625
  var USER_MS = 480;
@@ -23650,8 +23716,8 @@ function useResizablePanelSize({
23650
23716
  }) : null,
23651
23717
  [enabled, storageKey]
23652
23718
  );
23653
- 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)) }));
23654
- const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _792 => _792.load, 'call', _793 => _793(), 'optionalAccess', _794 => _794.size]), () => ( null)) };
23719
+ const [held, setChosen] = _react.useState.call(void 0, () => ({ storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _793 => _793.load, 'call', _794 => _794(), 'optionalAccess', _795 => _795.size]), () => ( null)) }));
23720
+ const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _796 => _796.load, 'call', _797 => _797(), 'optionalAccess', _798 => _798.size]), () => ( null)) };
23655
23721
  if (chosen !== held) setChosen(chosen);
23656
23722
  const chosenSize = chosen.size;
23657
23723
  const clampSize = _react.useCallback.call(void 0,
@@ -23667,7 +23733,7 @@ function useResizablePanelSize({
23667
23733
  (next) => {
23668
23734
  const nextSize = Math.round(clampSize(next));
23669
23735
  setChosen({ storage, size: nextSize });
23670
- _optionalChain([storage, 'optionalAccess', _795 => _795.save, 'call', _796 => _796({ size: nextSize })]);
23736
+ _optionalChain([storage, 'optionalAccess', _799 => _799.save, 'call', _800 => _800({ size: nextSize })]);
23671
23737
  },
23672
23738
  [clampSize, storage]
23673
23739
  );
@@ -24257,7 +24323,7 @@ function useChatDialogManager({
24257
24323
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
24258
24324
  if (restoreTarget) {
24259
24325
  try {
24260
- await _optionalChain([unarchiveDialog, 'optionalCall', _797 => _797(restoreTarget.id)]);
24326
+ await _optionalChain([unarchiveDialog, 'optionalCall', _801 => _801(restoreTarget.id)]);
24261
24327
  } catch (err) {
24262
24328
  console.error("[useChatDialogManager] unarchive failed:", err);
24263
24329
  return;
@@ -24268,7 +24334,7 @@ function useChatDialogManager({
24268
24334
  setRestoreTarget(null);
24269
24335
  }, [restoreTarget, unarchiveDialog]);
24270
24336
  const hostDialog = hostActiveDialog != null && hostActiveDialog.id === activeDialogId ? hostActiveDialog : void 0;
24271
- const isViewingArchived = viewingArchivedId != null && viewingArchivedId === activeDialogId || _optionalChain([hostDialog, 'optionalAccess', _798 => _798.archived]) === true;
24337
+ const isViewingArchived = viewingArchivedId != null && viewingArchivedId === activeDialogId || _optionalChain([hostDialog, 'optionalAccess', _802 => _802.archived]) === true;
24272
24338
  const handleBack = _react.useCallback.call(void 0, () => {
24273
24339
  const wasArchived = isViewingArchived;
24274
24340
  setViewingArchivedId(null);
@@ -24515,7 +24581,7 @@ function SourceChip({
24515
24581
  const Icon = cta.icon;
24516
24582
  const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
24517
24583
  const chipClass = chatChipClass({ tone: "secondary" });
24518
- const decideTab = (href, targetPlatform) => _chunkJENNI7XUcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
24584
+ const decideTab = (href, targetPlatform) => _chunkHEQ4GPYEcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
24519
24585
  if (src.items && src.items.length > 0) {
24520
24586
  const dropdownItems = src.items.map((item) => {
24521
24587
  const itemCta = resolveSourceRowCTA(
@@ -24608,7 +24674,7 @@ function SourceChip({
24608
24674
  "a",
24609
24675
  {
24610
24676
  href: resolvedHref,
24611
- ..._chunkJENNI7XUcjs.newTabAnchorAttrs.call(void 0, isNewTab),
24677
+ ..._chunkHEQ4GPYEcjs.newTabAnchorAttrs.call(void 0, isNewTab),
24612
24678
  onClick: buildClickHandler(resolvedHref, null, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
24613
24679
  className: chipClass,
24614
24680
  children: chipBody(src.name)
@@ -24624,7 +24690,7 @@ function SourceChip({
24624
24690
  "a",
24625
24691
  {
24626
24692
  href: resolvedHref,
24627
- ..._chunkJENNI7XUcjs.newTabAnchorAttrs.call(void 0, isNewTab),
24693
+ ..._chunkHEQ4GPYEcjs.newTabAnchorAttrs.call(void 0, isNewTab),
24628
24694
  onClick: buildClickHandler(resolvedHref, src.path, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
24629
24695
  className: chipClass,
24630
24696
  title: displayName,
@@ -24736,7 +24802,7 @@ function EmbeddableChatInner({
24736
24802
  defaultActiveMode,
24737
24803
  shell = "drawer",
24738
24804
  closable = true,
24739
- appearance = _chunkFDWYBJYDcjs.CHAT_APPEARANCE.CLASSIC,
24805
+ appearance = _chunkNJV3LIDEcjs.CHAT_APPEARANCE.CLASSIC,
24740
24806
  onCollapse,
24741
24807
  collapseTo = "list",
24742
24808
  onExpand,
@@ -24754,7 +24820,7 @@ function EmbeddableChatInner({
24754
24820
  handleRef
24755
24821
  }) {
24756
24822
  const shellLess = shell !== "drawer";
24757
- const isV2 = appearance === _chunkFDWYBJYDcjs.CHAT_APPEARANCE.V2;
24823
+ const isV2 = appearance === _chunkNJV3LIDEcjs.CHAT_APPEARANCE.V2;
24758
24824
  const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
24759
24825
  const source = _nullishCoalesce(runtime.source, () => ( ""));
24760
24826
  const commandsUrl = runtime.endpoints.commandsUrl;
@@ -24816,7 +24882,7 @@ function EmbeddableChatInner({
24816
24882
  resolveSourceIcon: (sourceId) => {
24817
24883
  const iconName = getSourceIconName(sourceId);
24818
24884
  if (!iconName) return void 0;
24819
- return { Icon: _chunkLV6UJD2Kcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }), label: sourceId };
24885
+ return { Icon: _chunkIITB5TJRcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }), label: sourceId };
24820
24886
  },
24821
24887
  onAction: (cmd, actionId) => {
24822
24888
  dispatchSlashCommandAction(actionId, cmd.id, chatInputRef);
@@ -24824,7 +24890,7 @@ function EmbeddableChatInner({
24824
24890
  }),
24825
24891
  [commandsUrl]
24826
24892
  );
24827
- 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;
24893
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _803 => _803.name, 'optionalAccess', _804 => _804.trim, 'call', _805 => _805()]) || [_optionalChain([identityUser, 'optionalAccess', _806 => _806.firstName]), _optionalChain([identityUser, 'optionalAccess', _807 => _807.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _808 => _808.trim, 'call', _809 => _809()]) || void 0;
24828
24894
  const effectiveModes = _react.useMemo.call(void 0, () => {
24829
24895
  if (modes) return modes;
24830
24896
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -24839,7 +24905,7 @@ function EmbeddableChatInner({
24839
24905
  if (controlledActiveMode === void 0) {
24840
24906
  setUncontrolledActiveMode(next);
24841
24907
  }
24842
- _optionalChain([onActiveModeChange, 'optionalCall', _806 => _806(next)]);
24908
+ _optionalChain([onActiveModeChange, 'optionalCall', _810 => _810(next)]);
24843
24909
  },
24844
24910
  [controlledActiveMode, onActiveModeChange]
24845
24911
  );
@@ -24866,7 +24932,7 @@ function EmbeddableChatInner({
24866
24932
  );
24867
24933
  const effectiveAssistantName = emptyStateConfig.name;
24868
24934
  const effectiveAssistantIcon = emptyStateConfig.icon;
24869
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _807 => _807.title]) === "string" ? guideWelcome.title : null)));
24935
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _811 => _811.title]) === "string" ? guideWelcome.title : null)));
24870
24936
  const {
24871
24937
  messages: rawMessages,
24872
24938
  isLoading: chatLoading,
@@ -24923,8 +24989,8 @@ function EmbeddableChatInner({
24923
24989
  const mingoCaps = _react.useMemo.call(void 0,
24924
24990
  () => ({
24925
24991
  ...dialogCapabilities,
24926
- canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _808 => _808.canRename]), () => ( false)),
24927
- canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _809 => _809.canArchive]), () => ( false))
24992
+ canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _812 => _812.canRename]), () => ( false)),
24993
+ canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _813 => _813.canArchive]), () => ( false))
24928
24994
  }),
24929
24995
  [dialogCapabilities]
24930
24996
  );
@@ -24939,7 +25005,7 @@ function EmbeddableChatInner({
24939
25005
  void sendMessage(guidePendingPrompt).catch((err) => {
24940
25006
  console.error("[EmbeddableChat] guide launcher prompt failed:", err);
24941
25007
  });
24942
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _810 => _810()]);
25008
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _814 => _814()]);
24943
25009
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
24944
25010
  const {
24945
25011
  attachments: stagedAttachments,
@@ -24950,7 +25016,7 @@ function EmbeddableChatInner({
24950
25016
  clear: clearAttachments
24951
25017
  } = useChatAttachments();
24952
25018
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
24953
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _811 => _811.maxItems]), () => ( 10));
25019
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _815 => _815.maxItems]), () => ( 10));
24954
25020
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
24955
25021
  const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
24956
25022
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -24979,10 +25045,10 @@ function EmbeddableChatInner({
24979
25045
  }, [composerKey, clearAttachments]);
24980
25046
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
24981
25047
  const m = /* @__PURE__ */ new Map();
24982
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _812 => _812.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
25048
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _816 => _816.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
24983
25049
  return m;
24984
- }, [_optionalChain([contextPicker, 'optionalAccess', _813 => _813.entityTypes])]);
24985
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _814 => _814.entityTypes]);
25050
+ }, [_optionalChain([contextPicker, 'optionalAccess', _817 => _817.entityTypes])]);
25051
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _818 => _818.entityTypes]);
24986
25052
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
24987
25053
  const byType = /* @__PURE__ */ new Map();
24988
25054
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -24994,7 +25060,7 @@ function EmbeddableChatInner({
24994
25060
  if (mentionActiveRef.current) {
24995
25061
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
24996
25062
  if (contextItems.length >= contextMaxItems) return;
24997
- _optionalChain([chatInputRef, 'access', _815 => _815.current, 'optionalAccess', _816 => _816.commitMention, 'call', _817 => _817(mentionTokenOf(key, mentionMarkerByType), {
25063
+ _optionalChain([chatInputRef, 'access', _819 => _819.current, 'optionalAccess', _820 => _820.commitMention, 'call', _821 => _821(mentionTokenOf(key, mentionMarkerByType), {
24998
25064
  label: item.label,
24999
25065
  icon: resolveContextIcon(item)
25000
25066
  })]);
@@ -25017,9 +25083,9 @@ function EmbeddableChatInner({
25017
25083
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
25018
25084
  if (mentionKeysRef.current.has(key)) {
25019
25085
  mentionKeysRef.current.delete(key);
25020
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _818 => _818.current, 'optionalAccess', _819 => _819.getValue, 'call', _820 => _820()]), () => ( ""));
25086
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _822 => _822.current, 'optionalAccess', _823 => _823.getValue, 'call', _824 => _824()]), () => ( ""));
25021
25087
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
25022
- _optionalChain([chatInputRef, 'access', _821 => _821.current, 'optionalAccess', _822 => _822.setValue, 'call', _823 => _823(next)]);
25088
+ _optionalChain([chatInputRef, 'access', _825 => _825.current, 'optionalAccess', _826 => _826.setValue, 'call', _827 => _827(next)]);
25023
25089
  }
25024
25090
  },
25025
25091
  [mentionMarkerByType]
@@ -25041,7 +25107,7 @@ function EmbeddableChatInner({
25041
25107
  }, []);
25042
25108
  const closeContextPicker = _react.useCallback.call(void 0, () => {
25043
25109
  if (mentionActiveRef.current) {
25044
- _optionalChain([chatInputRef, 'access', _824 => _824.current, 'optionalAccess', _825 => _825.removeMentionTrigger, 'call', _826 => _826()]);
25110
+ _optionalChain([chatInputRef, 'access', _828 => _828.current, 'optionalAccess', _829 => _829.removeMentionTrigger, 'call', _830 => _830()]);
25045
25111
  }
25046
25112
  setContextPickerOpen(false);
25047
25113
  setMentionQuery(null);
@@ -25074,12 +25140,12 @@ function EmbeddableChatInner({
25074
25140
  [askAbout, displayRef, resolvedBaseRoute, chipBasePlatform, extras]
25075
25141
  );
25076
25142
  const mingoAssistantIcon = _react.useMemo.call(void 0,
25077
- () => effectiveAssistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.MingoIcon, { className: "h-6 w-6", cornerColor: "var(--ods-flamingo-cyan-base)" }),
25143
+ () => effectiveAssistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.MingoIcon, { className: "h-6 w-6", cornerColor: "var(--ods-flamingo-cyan-base)" }),
25078
25144
  [effectiveAssistantIcon]
25079
25145
  );
25080
25146
  const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
25081
- 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;
25082
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _832 => _832.avatarUrl, 'optionalAccess', _833 => _833.trim, 'call', _834 => _834()]) || void 0 : void 0;
25147
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _831 => _831.firstName]), _optionalChain([identityUser, 'optionalAccess', _832 => _832.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _833 => _833.name, 'optionalAccess', _834 => _834.trim, 'call', _835 => _835()]) || void 0 : void 0;
25148
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _836 => _836.avatarUrl, 'optionalAccess', _837 => _837.trim, 'call', _838 => _838()]) || void 0 : void 0;
25083
25149
  const messages = _react.useMemo.call(void 0, () => {
25084
25150
  const options = { userName: guideUserName, userAvatar: guideUserAvatar, timestampCache };
25085
25151
  const mapped = rawMessages.map((m) => mapHostMessage(m, options));
@@ -25282,7 +25348,7 @@ function EmbeddableChatInner({
25282
25348
  _react.useEffect.call(void 0, () => {
25283
25349
  if (!panelBoundary || typeof ResizeObserver === "undefined") return void 0;
25284
25350
  const ro = new ResizeObserver((entries) => {
25285
- const w = _optionalChain([entries, 'access', _835 => _835[0], 'optionalAccess', _836 => _836.contentRect, 'optionalAccess', _837 => _837.width]);
25351
+ const w = _optionalChain([entries, 'access', _839 => _839[0], 'optionalAccess', _840 => _840.contentRect, 'optionalAccess', _841 => _841.width]);
25286
25352
  if (typeof w === "number") setCanSplit(w >= splitMinWidth);
25287
25353
  });
25288
25354
  ro.observe(panelBoundary);
@@ -25328,18 +25394,18 @@ function EmbeddableChatInner({
25328
25394
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen && !emptyListSkipped;
25329
25395
  const headerShowBack = hasConversation || guideCanReturnToMingo;
25330
25396
  const freshConversationTitle = isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "New Chat";
25331
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _838 => _838.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
25397
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _842 => _842.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
25332
25398
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
25333
25399
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
25334
25400
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
25335
25401
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
25336
25402
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
25337
- const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _839 => _839.onCopyLink, 'optionalCall', _840 => _840(activeDialog)]) : void 0;
25338
- const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access', _841 => _841.compactDialog, 'optionalCall', _842 => _842(activeDialog)]) : void 0;
25403
+ const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _843 => _843.onCopyLink, 'optionalCall', _844 => _844(activeDialog)]) : void 0;
25404
+ const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access', _845 => _845.compactDialog, 'optionalCall', _846 => _846(activeDialog)]) : void 0;
25339
25405
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
25340
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _843 => _843.owner]) : void 0;
25341
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _844 => _844.name, 'optionalAccess', _845 => _845.trim, 'call', _846 => _846()]) || headerUserName;
25342
- 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;
25406
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _847 => _847.owner]) : void 0;
25407
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _848 => _848.name, 'optionalAccess', _849 => _849.trim, 'call', _850 => _850()]) || headerUserName;
25408
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _851 => _851.avatarUrl, 'optionalAccess', _852 => _852.trim, 'call', _853 => _853()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _854 => _854.avatarUrl, 'optionalAccess', _855 => _855.trim, 'call', _856 => _856()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _857 => _857.trim, 'call', _858 => _858()]) || void 0;
25343
25409
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
25344
25410
  const handleNewChat = _react.useCallback.call(void 0, () => {
25345
25411
  resetToNewChat();
@@ -25718,7 +25784,7 @@ function EmbeddableChatInner({
25718
25784
  onNewChat: () => setComposeOpen(true),
25719
25785
  onExpand: onExpand && (() => {
25720
25786
  const last = lastDialogIdRef.current;
25721
- const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access', _855 => _855[0], 'optionalAccess', _856 => _856.id]);
25787
+ const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access', _859 => _859[0], 'optionalAccess', _860 => _860.id]);
25722
25788
  if (archiveOpen) closeArchive();
25723
25789
  if (target) handleSelectDialog(target);
25724
25790
  else handleNewChat();
@@ -25825,9 +25891,9 @@ function EmbeddableChatInner({
25825
25891
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
25826
25892
  subtitleLoading: emptyStateLoading,
25827
25893
  ...guideWelcome,
25828
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _857 => _857.title]))),
25829
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _858 => _858.icon]))),
25830
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _859 => _859.quickActions]), () => ( guideSuggestedActions)),
25894
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _861 => _861.title]))),
25895
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _862 => _862.icon]))),
25896
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _863 => _863.quickActions]), () => ( guideSuggestedActions)),
25831
25897
  onQuickAction: (action) => {
25832
25898
  setQuickActionPreview(null);
25833
25899
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -25846,7 +25912,7 @@ function EmbeddableChatInner({
25846
25912
  `chip-skeleton-${i}`
25847
25913
  )),
25848
25914
  chipCommands.map((cmd) => {
25849
- const Icon = _chunkLV6UJD2Kcjs.resolveIcon.call(void 0, cmd.iconName);
25915
+ const Icon = _chunkIITB5TJRcjs.resolveIcon.call(void 0, cmd.iconName);
25850
25916
  const cmdId = cmd.id;
25851
25917
  const label = _nullishCoalesce(cmd.label, () => ( `/${cmdId}`));
25852
25918
  const cardActions = cmd.actions.map((action) => ({
@@ -25855,7 +25921,7 @@ function EmbeddableChatInner({
25855
25921
  onClick: () => dispatchSlashCommandAction(action.id, cmdId, chatInputRef)
25856
25922
  }));
25857
25923
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25858
- _chunkFDWYBJYDcjs.MingoOnboardingCard,
25924
+ _chunkNJV3LIDEcjs.MingoOnboardingCard,
25859
25925
  {
25860
25926
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 16 }),
25861
25927
  title: label,
@@ -25902,8 +25968,8 @@ function EmbeddableChatInner({
25902
25968
  selectedContextItems: contextItems,
25903
25969
  onToggleContextItem: toggleContextItem,
25904
25970
  onRemoveContextItem: removeContextItem,
25905
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _860 => _860.items]),
25906
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _861 => _861.onRemove]),
25971
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _864 => _864.items]),
25972
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _865 => _865.onRemove]),
25907
25973
  contextPickerOpen,
25908
25974
  onOpenContextPicker: openContextPicker,
25909
25975
  onCloseContextPicker: closeContextPicker,
@@ -26116,7 +26182,7 @@ var GROUPS = [
26116
26182
  }
26117
26183
  ];
26118
26184
  function maskKey(key) {
26119
- const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _862 => _862.exec, 'call', _863 => _863(key), 'optionalAccess', _864 => _864[0]]), () => ( ""));
26185
+ const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _866 => _866.exec, 'call', _867 => _867(key), 'optionalAccess', _868 => _868[0]]), () => ( ""));
26120
26186
  return key.length - prefix.length <= 8 ? `${prefix}\u2022\u2022\u2022\u2022` : `${prefix}\u2026${key.slice(-4)}`;
26121
26187
  }
26122
26188
  function HeaderName({ children }) {
@@ -26153,8 +26219,8 @@ function ProxyCredentialsForm({ description, saved }) {
26153
26219
  const errors = _react.useMemo.call(void 0, () => {
26154
26220
  const out = {};
26155
26221
  for (const { field } of _chunkULWVKHSIcjs.EMBED_PROXY_OPTIONAL_HEADERS) {
26156
- const value = _optionalChain([optional, 'access', _865 => _865[field], 'optionalAccess', _866 => _866.trim, 'call', _867 => _867()]);
26157
- const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _868 => _868[field], 'access', _869 => _869.validate, 'optionalCall', _870 => _870(value)]) : null;
26222
+ const value = _optionalChain([optional, 'access', _869 => _869[field], 'optionalAccess', _870 => _870.trim, 'call', _871 => _871()]);
26223
+ const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _872 => _872[field], 'access', _873 => _873.validate, 'optionalCall', _874 => _874(value)]) : null;
26158
26224
  if (message) out[field] = message;
26159
26225
  }
26160
26226
  return out;
@@ -26166,12 +26232,12 @@ function ProxyCredentialsForm({ description, saved }) {
26166
26232
  ...keyForPreview ? [["Authorization", `Bearer ${keyForPreview}`]] : [],
26167
26233
  ...email.trim() ? [["X-Chat-Act-As", email.trim().toLowerCase()]] : [],
26168
26234
  ..._chunkULWVKHSIcjs.EMBED_PROXY_OPTIONAL_HEADERS.flatMap(({ field, header }) => {
26169
- const value = _optionalChain([optional, 'access', _871 => _871[field], 'optionalAccess', _872 => _872.trim, 'call', _873 => _873()]);
26235
+ const value = _optionalChain([optional, 'access', _875 => _875[field], 'optionalAccess', _876 => _876.trim, 'call', _877 => _877()]);
26170
26236
  return value ? [[header, value]] : [];
26171
26237
  })
26172
26238
  ];
26173
26239
  const save = () => {
26174
- const key = secret.trim() || _optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _874 => _874.secret]);
26240
+ const key = secret.trim() || _optionalChain([_chunkULWVKHSIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _878 => _878.secret]);
26175
26241
  const actAs = email.trim().toLowerCase();
26176
26242
  if (!key || !actAs || hasErrors) {
26177
26243
  setStatus(hasErrors ? "Fix the highlighted fields first." : "API key and act-as email are required.");
@@ -26193,13 +26259,13 @@ function ProxyCredentialsForm({ description, saved }) {
26193
26259
  setStatus("Cleared. Requests use the session again.");
26194
26260
  };
26195
26261
  const setField = (field, value) => setOptional((prev) => ({ ...prev, [field]: value }));
26196
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkJENNI7XUcjs.CardContent, { className: "space-y-[var(--spacing-system-lf)] p-[var(--spacing-system-mf)]", children: [
26262
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHEQ4GPYEcjs.CardContent, { className: "space-y-[var(--spacing-system-lf)] p-[var(--spacing-system-mf)]", children: [
26197
26263
  /* @__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: [
26198
26264
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
26199
26265
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h3", children: "Proxy credentials" }),
26200
26266
  description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: description })
26201
26267
  ] }),
26202
- activeEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.StatusBadge, { singleLine: true, colorScheme: "success", text: `Active: ${activeEmail}` }) })
26268
+ activeEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.StatusBadge, { singleLine: true, colorScheme: "success", text: `Active: ${activeEmail}` }) })
26203
26269
  ] }),
26204
26270
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26205
26271
  Section,
@@ -26779,4 +26845,13 @@ function ProxyCredentialsForm({ description, saved }) {
26779
26845
 
26780
26846
 
26781
26847
 
26782
- 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.DOWNLOAD_PAGE_PATH = DOWNLOAD_PAGE_PATH; exports.resolveMobileStoreUrl = resolveMobileStoreUrl; 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;
26848
+
26849
+
26850
+
26851
+
26852
+
26853
+
26854
+
26855
+
26856
+
26857
+ 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.AI_PROVIDERS = AI_PROVIDERS; exports.aiProvider = aiProvider; exports.TOKEN_RATE_EMPTY = TOKEN_RATE_EMPTY; exports.formatTokenRate = formatTokenRate; exports.tokenCost = tokenCost; exports.formatTokenAmount = formatTokenAmount; exports.tokensForBalance = tokensForBalance; exports.tokenRateProviderLabel = tokenRateProviderLabel; exports.groupTokenRatesByProvider = groupTokenRatesByProvider; 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.DOWNLOAD_PAGE_PATH = DOWNLOAD_PAGE_PATH; exports.resolveMobileStoreUrl = resolveMobileStoreUrl; 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;