@flamingo-stack/openframe-frontend-core 0.0.669 → 0.0.670-2401.7221.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/dist/{chunk-QHL4GYYY.cjs → chunk-3BLN7YNM.cjs} +575 -452
  2. package/dist/chunk-3BLN7YNM.cjs.map +1 -0
  3. package/dist/{chunk-CFUUVLYQ.cjs → chunk-4TEV4KPV.cjs} +33 -33
  4. package/dist/{chunk-CFUUVLYQ.cjs.map → chunk-4TEV4KPV.cjs.map} +1 -1
  5. package/dist/{chunk-Z3HUP4G7.cjs → chunk-635CAJ36.cjs} +32 -32
  6. package/dist/{chunk-Z3HUP4G7.cjs.map → chunk-635CAJ36.cjs.map} +1 -1
  7. package/dist/{chunk-7UW2BBFI.cjs → chunk-7KZRU5Z2.cjs} +59 -59
  8. package/dist/{chunk-7UW2BBFI.cjs.map → chunk-7KZRU5Z2.cjs.map} +1 -1
  9. package/dist/{chunk-FJNX67W2.cjs → chunk-AGM3ZA43.cjs} +5 -5
  10. package/dist/{chunk-FJNX67W2.cjs.map → chunk-AGM3ZA43.cjs.map} +1 -1
  11. package/dist/{chunk-TFVUM6KK.cjs → chunk-ALKT3U5Y.cjs} +10 -10
  12. package/dist/{chunk-TFVUM6KK.cjs.map → chunk-ALKT3U5Y.cjs.map} +1 -1
  13. package/dist/{chunk-YH3BUB4W.js → chunk-B7EGFSTQ.js} +5 -5
  14. package/dist/{chunk-GF6WJ4MG.js → chunk-BP3OYBQV.js} +6 -6
  15. package/dist/{chunk-P6IJXAEE.js → chunk-DLJGCDHX.js} +2 -1
  16. package/dist/{chunk-P6IJXAEE.js.map → chunk-DLJGCDHX.js.map} +1 -1
  17. package/dist/{chunk-GO63IT6K.js → chunk-EJM2E6KF.js} +5 -5
  18. package/dist/{chunk-WVCDX7FE.cjs → chunk-GAQSQ7CH.cjs} +15 -15
  19. package/dist/{chunk-WVCDX7FE.cjs.map → chunk-GAQSQ7CH.cjs.map} +1 -1
  20. package/dist/{chunk-B5UP36KY.cjs → chunk-GN2TSC36.cjs} +12 -12
  21. package/dist/{chunk-B5UP36KY.cjs.map → chunk-GN2TSC36.cjs.map} +1 -1
  22. package/dist/{chunk-ZHRIFUN3.cjs → chunk-GP4SLGDO.cjs} +28 -28
  23. package/dist/{chunk-ZHRIFUN3.cjs.map → chunk-GP4SLGDO.cjs.map} +1 -1
  24. package/dist/{chunk-LJOELK7P.js → chunk-GUZG4MSV.js} +2 -2
  25. package/dist/{chunk-IBQT4RTS.js → chunk-HJXIIGLD.js} +3 -3
  26. package/dist/{chunk-E5HUHKHH.js → chunk-I3I3HPZA.js} +7 -7
  27. package/dist/{chunk-6KJV6GAJ.js → chunk-IA7AGOBD.js} +4 -4
  28. package/dist/{chunk-NNYND3I4.js → chunk-J4XQQ43Y.js} +3 -3
  29. package/dist/{chunk-IZ6F7LOE.js → chunk-JBH5YDPP.js} +3 -3
  30. package/dist/{chunk-Y7SFGCF4.cjs → chunk-LKRNXIUL.cjs} +20 -20
  31. package/dist/{chunk-Y7SFGCF4.cjs.map → chunk-LKRNXIUL.cjs.map} +1 -1
  32. package/dist/{chunk-EV2KJ4D2.cjs → chunk-MQCEDC6H.cjs} +7 -7
  33. package/dist/{chunk-EV2KJ4D2.cjs.map → chunk-MQCEDC6H.cjs.map} +1 -1
  34. package/dist/{chunk-PHLBRU5P.js → chunk-OCMJWI6L.js} +3 -3
  35. package/dist/{chunk-CWK4QHVF.js → chunk-PAJUQOWK.js} +3 -3
  36. package/dist/{chunk-IJPV7OMA.js → chunk-PEBQEALM.js} +589 -466
  37. package/dist/chunk-PEBQEALM.js.map +1 -0
  38. package/dist/{chunk-5CC33IJ7.js → chunk-PMCLM3KV.js} +6 -6
  39. package/dist/{chunk-6W4LUHMY.cjs → chunk-Q4SJJNP2.cjs} +206 -206
  40. package/dist/{chunk-6W4LUHMY.cjs.map → chunk-Q4SJJNP2.cjs.map} +1 -1
  41. package/dist/{chunk-37NYF4W2.cjs → chunk-QRUW4UXB.cjs} +2 -1
  42. package/dist/chunk-QRUW4UXB.cjs.map +1 -0
  43. package/dist/{chunk-Z3GN3MIW.cjs → chunk-QYUBHOIE.cjs} +81 -81
  44. package/dist/{chunk-Z3GN3MIW.cjs.map → chunk-QYUBHOIE.cjs.map} +1 -1
  45. package/dist/{chunk-VJ4XBTR5.cjs → chunk-S5UETFC4.cjs} +22 -22
  46. package/dist/{chunk-VJ4XBTR5.cjs.map → chunk-S5UETFC4.cjs.map} +1 -1
  47. package/dist/{chunk-5V3LERVC.js → chunk-SPYKIXKJ.js} +4 -4
  48. package/dist/{chunk-FOH4MNOZ.js → chunk-TQJN7EBG.js} +3 -3
  49. package/dist/{chunk-NZD2WTJ2.cjs → chunk-TYXXODCQ.cjs} +3 -3
  50. package/dist/{chunk-NZD2WTJ2.cjs.map → chunk-TYXXODCQ.cjs.map} +1 -1
  51. package/dist/{chunk-K4WYWTQV.cjs → chunk-UYZNNKPD.cjs} +6 -6
  52. package/dist/{chunk-K4WYWTQV.cjs.map → chunk-UYZNNKPD.cjs.map} +1 -1
  53. package/dist/{chunk-SHGMDYCR.js → chunk-VEAA5C5X.js} +2 -2
  54. package/dist/{chunk-VEQWH5KH.cjs → chunk-X4B3UY3L.cjs} +30 -30
  55. package/dist/{chunk-VEQWH5KH.cjs.map → chunk-X4B3UY3L.cjs.map} +1 -1
  56. package/dist/{chunk-DK3BHDUZ.js → chunk-Z72SBI2U.js} +3 -3
  57. package/dist/components/case-studies/index.cjs +16 -16
  58. package/dist/components/case-studies/index.js +4 -4
  59. package/dist/components/chat/entity-cards/design-doc-card.d.ts +32 -0
  60. package/dist/components/chat/entity-cards/design-doc-card.d.ts.map +1 -0
  61. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  62. package/dist/components/chat/entity-cards/index.d.ts +1 -0
  63. package/dist/components/chat/entity-cards/index.d.ts.map +1 -1
  64. package/dist/components/chat/index.cjs +15 -3
  65. package/dist/components/chat/index.cjs.map +1 -1
  66. package/dist/components/chat/index.js +14 -2
  67. package/dist/components/contact/index.cjs +5 -5
  68. package/dist/components/contact/index.js +4 -4
  69. package/dist/components/docs/index.cjs +8 -8
  70. package/dist/components/docs/index.js +7 -7
  71. package/dist/components/embeds/index.cjs +5 -5
  72. package/dist/components/embeds/index.js +4 -4
  73. package/dist/components/faq/index.cjs +5 -5
  74. package/dist/components/faq/index.js +4 -4
  75. package/dist/components/features/index.cjs +4 -4
  76. package/dist/components/features/index.js +3 -3
  77. package/dist/components/help-center-pages/index.cjs +91 -91
  78. package/dist/components/help-center-pages/index.js +15 -15
  79. package/dist/components/index.cjs +66 -54
  80. package/dist/components/index.cjs.map +1 -1
  81. package/dist/components/index.js +27 -15
  82. package/dist/components/index.js.map +1 -1
  83. package/dist/components/meeting-scheduler/index.cjs +40 -40
  84. package/dist/components/meeting-scheduler/index.js +3 -3
  85. package/dist/components/navigation/index.cjs +7 -7
  86. package/dist/components/navigation/index.js +6 -6
  87. package/dist/components/onboarding-guides/index.cjs +7 -7
  88. package/dist/components/onboarding-guides/index.js +6 -6
  89. package/dist/components/related-content/index.cjs +3 -3
  90. package/dist/components/related-content/index.js +2 -2
  91. package/dist/components/tickets/index.cjs +8 -8
  92. package/dist/components/tickets/index.js +7 -7
  93. package/dist/components/ui/index.cjs +16 -4
  94. package/dist/components/ui/index.cjs.map +1 -1
  95. package/dist/components/ui/index.js +15 -3
  96. package/dist/index.cjs +21 -9
  97. package/dist/index.cjs.map +1 -1
  98. package/dist/index.js +19 -7
  99. package/dist/index.js.map +1 -1
  100. package/dist/utils/index.cjs +7 -3
  101. package/dist/utils/index.cjs.map +1 -1
  102. package/dist/utils/index.js +7 -3
  103. package/dist/utils/index.js.map +1 -1
  104. package/dist/utils/list-url.d.ts.map +1 -1
  105. package/dist/utils/source-icons.d.ts.map +1 -1
  106. package/package.json +1 -1
  107. package/src/components/chat/entity-cards/design-doc-card.tsx +130 -0
  108. package/src/components/chat/entity-cards/dispatch.tsx +53 -1
  109. package/src/components/chat/entity-cards/index.ts +9 -0
  110. package/src/utils/list-url.ts +1 -0
  111. package/src/utils/source-icons.ts +3 -0
  112. package/dist/chunk-37NYF4W2.cjs.map +0 -1
  113. package/dist/chunk-IJPV7OMA.js.map +0 -1
  114. package/dist/chunk-QHL4GYYY.cjs.map +0 -1
  115. /package/dist/{chunk-YH3BUB4W.js.map → chunk-B7EGFSTQ.js.map} +0 -0
  116. /package/dist/{chunk-GF6WJ4MG.js.map → chunk-BP3OYBQV.js.map} +0 -0
  117. /package/dist/{chunk-GO63IT6K.js.map → chunk-EJM2E6KF.js.map} +0 -0
  118. /package/dist/{chunk-LJOELK7P.js.map → chunk-GUZG4MSV.js.map} +0 -0
  119. /package/dist/{chunk-IBQT4RTS.js.map → chunk-HJXIIGLD.js.map} +0 -0
  120. /package/dist/{chunk-E5HUHKHH.js.map → chunk-I3I3HPZA.js.map} +0 -0
  121. /package/dist/{chunk-6KJV6GAJ.js.map → chunk-IA7AGOBD.js.map} +0 -0
  122. /package/dist/{chunk-NNYND3I4.js.map → chunk-J4XQQ43Y.js.map} +0 -0
  123. /package/dist/{chunk-IZ6F7LOE.js.map → chunk-JBH5YDPP.js.map} +0 -0
  124. /package/dist/{chunk-PHLBRU5P.js.map → chunk-OCMJWI6L.js.map} +0 -0
  125. /package/dist/{chunk-CWK4QHVF.js.map → chunk-PAJUQOWK.js.map} +0 -0
  126. /package/dist/{chunk-5CC33IJ7.js.map → chunk-PMCLM3KV.js.map} +0 -0
  127. /package/dist/{chunk-5V3LERVC.js.map → chunk-SPYKIXKJ.js.map} +0 -0
  128. /package/dist/{chunk-FOH4MNOZ.js.map → chunk-TQJN7EBG.js.map} +0 -0
  129. /package/dist/{chunk-SHGMDYCR.js.map → chunk-VEAA5C5X.js.map} +0 -0
  130. /package/dist/{chunk-DK3BHDUZ.js.map → chunk-Z72SBI2U.js.map} +0 -0
@@ -130,6 +130,7 @@ var _chunk5R4QMTMLcjs = require('./chunk-5R4QMTML.cjs');
130
130
 
131
131
 
132
132
 
133
+
133
134
 
134
135
 
135
136
  var _chunkOIDKQ77Rcjs = require('./chunk-OIDKQ77R.cjs');
@@ -192,7 +193,8 @@ var _chunkOIDKQ77Rcjs = require('./chunk-OIDKQ77R.cjs');
192
193
 
193
194
 
194
195
 
195
- var _chunk37NYF4W2cjs = require('./chunk-37NYF4W2.cjs');
196
+
197
+ var _chunkQRUW4UXBcjs = require('./chunk-QRUW4UXB.cjs');
196
198
 
197
199
 
198
200
  var _chunkWLSFBRT5cjs = require('./chunk-WLSFBRT5.cjs');
@@ -1115,7 +1117,7 @@ EscalationOfferMessage.displayName = "EscalationOfferMessage";
1115
1117
 
1116
1118
  // src/utils/format-date.ts
1117
1119
  var INVALID_DATE_PLACEHOLDER = "\u2014";
1118
- var render = (input, fields) => _chunk37NYF4W2cjs.formatDateWithTimezone.call(void 0, input, _chunk37NYF4W2cjs.VIEWER_TIMEZONE, fields, { viewerLocale: true }) || INVALID_DATE_PLACEHOLDER;
1120
+ var render = (input, fields) => _chunkQRUW4UXBcjs.formatDateWithTimezone.call(void 0, input, _chunkQRUW4UXBcjs.VIEWER_TIMEZONE, fields, { viewerLocale: true }) || INVALID_DATE_PLACEHOLDER;
1119
1121
  var formatDate = (input) => render(input, { dateStyle: "short" });
1120
1122
  var formatTime = (input) => render(input, { timeStyle: "short" });
1121
1123
 
@@ -4969,7 +4971,7 @@ function MspOrganizationCard({
4969
4971
  className
4970
4972
  ),
4971
4973
  children: [
4972
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.SquareAvatar, { src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
4974
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.SquareAvatar, { src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
4973
4975
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
4974
4976
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h3", children: _nullishCoalesce(title, () => ( `Your IT is managed by ${name}`)) }),
4975
4977
  website ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: website }) : null
@@ -5102,7 +5104,7 @@ var ChatHeader = _react.forwardRef.call(void 0,
5102
5104
  ] })
5103
5105
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
5104
5106
  userIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-ods-accent", children: userIcon }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5105
- _chunk37NYF4W2cjs.SquareAvatar,
5107
+ _chunkQRUW4UXBcjs.SquareAvatar,
5106
5108
  {
5107
5109
  src: userAvatar,
5108
5110
  alt: userName,
@@ -6511,10 +6513,10 @@ function formatTicketRelativeTime(iso) {
6511
6513
  if (diffMin < 60) return `${diffMin} min ago`;
6512
6514
  const diffHours = Math.floor(diffMin / 60);
6513
6515
  if (diffHours < 24) return diffHours === 1 ? "1 hour ago" : `${diffHours} hours ago`;
6514
- return _chunk37NYF4W2cjs.formatDateWithTimezone.call(void 0, date, null, "numeric");
6516
+ return _chunkQRUW4UXBcjs.formatDateWithTimezone.call(void 0, date, null, "numeric");
6515
6517
  }
6516
6518
  function formatTicketFullTimestamp(iso) {
6517
- return _chunk37NYF4W2cjs.formatDateWithTimezone.call(void 0, iso, null, "numericDateTime");
6519
+ return _chunkQRUW4UXBcjs.formatDateWithTimezone.call(void 0, iso, null, "numericDateTime");
6518
6520
  }
6519
6521
  function formatRelativeTime(timestamp) {
6520
6522
  const now = /* @__PURE__ */ new Date();
@@ -6538,7 +6540,7 @@ function formatRelativeTime(timestamp) {
6538
6540
  const weeks = Math.floor(diffInDays / 7);
6539
6541
  return `${weeks}w ago`;
6540
6542
  }
6541
- return _chunk37NYF4W2cjs.formatDateWithTimezone.call(void 0, targetTime, null, {
6543
+ return _chunkQRUW4UXBcjs.formatDateWithTimezone.call(void 0, targetTime, null, {
6542
6544
  month: "short",
6543
6545
  day: "numeric",
6544
6546
  year: targetTime.getUTCFullYear() !== now.getUTCFullYear() ? "numeric" : void 0
@@ -6550,7 +6552,7 @@ function formatAbsoluteDate(timestamp, options = {}) {
6550
6552
  console.warn("\u26A0\uFE0F Invalid timestamp in formatAbsoluteDate:", timestamp);
6551
6553
  return "Invalid date";
6552
6554
  }
6553
- return _chunk37NYF4W2cjs.formatDateWithTimezone.call(void 0, targetTime, _nullishCoalesce(options.timeZone, () => ( null)), {
6555
+ return _chunkQRUW4UXBcjs.formatDateWithTimezone.call(void 0, targetTime, _nullishCoalesce(options.timeZone, () => ( null)), {
6554
6556
  year: "numeric",
6555
6557
  month: "short",
6556
6558
  day: "numeric",
@@ -6563,7 +6565,7 @@ function formatDateTime(timestamp, options = {}) {
6563
6565
  console.warn("\u26A0\uFE0F Invalid timestamp in formatDateTime:", timestamp);
6564
6566
  return "Invalid date";
6565
6567
  }
6566
- return _chunk37NYF4W2cjs.formatDateWithTimezone.call(void 0, targetTime, _nullishCoalesce(options.timeZone, () => ( null)), {
6568
+ return _chunkQRUW4UXBcjs.formatDateWithTimezone.call(void 0, targetTime, _nullishCoalesce(options.timeZone, () => ( null)), {
6567
6569
  ...ZONED_DATE_FIELDS_MEDIUM_DATETIME,
6568
6570
  ...options
6569
6571
  });
@@ -7495,7 +7497,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
7495
7497
  // Host-supplied brand icon (e.g. Mingo): render it directly,
7496
7498
  // no filled pill — the icon carries its own brand accent.
7497
7499
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-shrink-0 items-center justify-center", children: assistantIcon })
7498
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.SquareAvatar, { ...avatarProps })),
7500
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.SquareAvatar, { ...avatarProps })),
7499
7501
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
7500
7502
  "span",
7501
7503
  {
@@ -8291,7 +8293,7 @@ ChatMessageList.displayName = "ChatMessageList";
8291
8293
  // src/components/chat/hooks/use-proxied-image-url.ts
8292
8294
  function useProxiedImageUrl(url) {
8293
8295
  const r = _chunkU2YLMFJKcjs.useRequiredChatRuntime.call(void 0, );
8294
- return _nullishCoalesce(_chunk37NYF4W2cjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
8296
+ return _nullishCoalesce(_chunkQRUW4UXBcjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
8295
8297
  proxyPrefix: r.endpoints.imageProxyUrlPrefix,
8296
8298
  skipDomains: r.endpoints.imageProxySkipDomains,
8297
8299
  directHttps: true
@@ -8317,7 +8319,7 @@ function ChatMessageRow({ displayName, avatarUrl, timeLabel, body, footer }) {
8317
8319
  height: 40,
8318
8320
  onError: () => setFailedSrc(_nullishCoalesce(resolvedAvatar, () => ( null)))
8319
8321
  }
8320
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg text-ods-text-primary text-h6 md:h-10 md:w-10", children: _chunk37NYF4W2cjs.personInitials.call(void 0, displayName) || "?" }),
8322
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg text-ods-text-primary text-h6 md:h-10 md:w-10", children: _chunkQRUW4UXBcjs.personInitials.call(void 0, displayName) || "?" }),
8321
8323
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 max-w-full flex-1", children: [
8322
8324
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex min-w-0 max-w-full items-center gap-2", children: [
8323
8325
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-body text-[14px] font-bold leading-[1.33] tracking-[-0.02em] text-ods-text-primary md:text-[15px]", children: displayName }),
@@ -9649,7 +9651,7 @@ function MingoChatHistoryRow({
9649
9651
  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")
9650
9652
  ),
9651
9653
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9652
- _chunk37NYF4W2cjs.SquareAvatar,
9654
+ _chunkQRUW4UXBcjs.SquareAvatar,
9653
9655
  {
9654
9656
  variant: "round",
9655
9657
  sizePx: 24,
@@ -10791,7 +10793,7 @@ function ChatPanelHeader({
10791
10793
  avatar && (avatar.name || avatar.avatarUrl) ? (
10792
10794
  // Owner avatar at the title cell's right edge (Figma 113:63273).
10793
10795
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10794
- _chunk37NYF4W2cjs.SquareAvatar,
10796
+ _chunkQRUW4UXBcjs.SquareAvatar,
10795
10797
  {
10796
10798
  variant: "round",
10797
10799
  sizePx: 32,
@@ -10859,7 +10861,7 @@ function formatChatAttachmentMarkdownForBubble(att, viewUrlPrefix) {
10859
10861
 
10860
10862
  [Attached: ${safeName}](${url})`;
10861
10863
  }
10862
- var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunk37NYF4W2cjs.escapeRegExp.call(void 0, CHAT_ATTACHMENT_VIEW_URL_PREFIX);
10864
+ var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkQRUW4UXBcjs.escapeRegExp.call(void 0, CHAT_ATTACHMENT_VIEW_URL_PREFIX);
10863
10865
  var CHAT_ATTACHMENT_MARKDOWN_PATTERN = new RegExp(
10864
10866
  `^\\s*!?\\[[^\\]]*\\]\\(${CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED}[^)]+\\)\\s*$`,
10865
10867
  "gm"
@@ -11002,8 +11004,8 @@ function AttachmentChip({ attachment, onRemove, disabled, size: size2 = "default
11002
11004
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "truncate text-ods-text-primary text-h6", title: file.name, children: file.name }),
11003
11005
  (!compact || status !== "ready") && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-ods-text-muted text-h6", children: [
11004
11006
  status === "sniffing" && "Checking\u2026",
11005
- status === "uploading" && `${progress}% \xB7 ${_chunk37NYF4W2cjs.formatFileSize.call(void 0, file.size)}`,
11006
- status === "ready" && _chunk37NYF4W2cjs.formatFileSize.call(void 0, file.size),
11007
+ status === "uploading" && `${progress}% \xB7 ${_chunkQRUW4UXBcjs.formatFileSize.call(void 0, file.size)}`,
11008
+ status === "ready" && _chunkQRUW4UXBcjs.formatFileSize.call(void 0, file.size),
11007
11009
  status === "error" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-error", title: errorMessage, children: _nullishCoalesce(errorMessage, () => ( "Upload failed")) })
11008
11010
  ] })
11009
11011
  ] }),
@@ -11605,7 +11607,7 @@ var DialogListItem = _react.forwardRef.call(void 0,
11605
11607
  _optionalChain([onClick, 'optionalCall', _214 => _214(e)]);
11606
11608
  };
11607
11609
  const formatTimestamp = (timestamp) => {
11608
- return _chunk37NYF4W2cjs.formatDateWithTimezone.call(void 0, timestamp, _chunk37NYF4W2cjs.VIEWER_TIMEZONE, "numericDateTime24h");
11610
+ return _chunkQRUW4UXBcjs.formatDateWithTimezone.call(void 0, timestamp, _chunkQRUW4UXBcjs.VIEWER_TIMEZONE, "numericDateTime24h");
11609
11611
  };
11610
11612
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
11611
11613
  "div",
@@ -11798,10 +11800,10 @@ function resolveExternalNavigation(args) {
11798
11800
 
11799
11801
  // src/components/chat/utils/execute-navigation.ts
11800
11802
  function isForeignOriginHref(href) {
11801
- return /^https?:\/\//i.test(href) && !_chunk37NYF4W2cjs.isSameOriginAbsoluteHref.call(void 0, href);
11803
+ return /^https?:\/\//i.test(href) && !_chunkQRUW4UXBcjs.isSameOriginAbsoluteHref.call(void 0, href);
11802
11804
  }
11803
11805
  function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
11804
- const isNewTab = runtime ? _chunk37NYF4W2cjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
11806
+ const isNewTab = runtime ? _chunkQRUW4UXBcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
11805
11807
  if (isNewTab) {
11806
11808
  if (_optionalChain([runtime, 'optionalAccess', _217 => _217.navigation, 'access', _218 => _218.openExternal])) runtime.navigation.openExternal(href);
11807
11809
  else window.open(href, "_blank", NEW_TAB_FEATURES);
@@ -11860,7 +11862,7 @@ function NavLinkAnchorViaRuntime({
11860
11862
  const router = _chunkSADRZ4YIcjs.useRouter.call(void 0, );
11861
11863
  const panel = useChatPanel();
11862
11864
  const resolvedHref = resolveHrefForRuntime(href, runtime);
11863
- const isNewTab = _chunk37NYF4W2cjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
11865
+ const isNewTab = _chunkQRUW4UXBcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
11864
11866
  const onClick = (e) => {
11865
11867
  const handled = executeNavigation({
11866
11868
  event: e,
@@ -11872,7 +11874,7 @@ function NavLinkAnchorViaRuntime({
11872
11874
  });
11873
11875
  if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _222 => _222.closeChat])) panel.closeChat();
11874
11876
  };
11875
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: resolvedHref, ..._chunk37NYF4W2cjs.newTabAnchorAttrs.call(void 0, isNewTab), onClick, className, children });
11877
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: resolvedHref, ..._chunkQRUW4UXBcjs.newTabAnchorAttrs.call(void 0, isNewTab), onClick, className, children });
11876
11878
  }
11877
11879
 
11878
11880
  // src/components/chat/source-action-button.tsx
@@ -13183,9 +13185,9 @@ function UserDisplay({
13183
13185
  }) {
13184
13186
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkX7CEWD6Vcjs.cn.call(void 0, "flex min-w-0 items-center gap-2", className), children: [
13185
13187
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13186
- _chunk37NYF4W2cjs.SquareAvatar,
13188
+ _chunkQRUW4UXBcjs.SquareAvatar,
13187
13189
  {
13188
- src: avatarUrl ? _chunk37NYF4W2cjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
13190
+ src: avatarUrl ? _chunkQRUW4UXBcjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
13189
13191
  fallback: name,
13190
13192
  alt: name,
13191
13193
  sizePx: size2,
@@ -13685,7 +13687,7 @@ function VideoHoverPreviewSurface({
13685
13687
  return () => io.disconnect();
13686
13688
  }, [gateControlled]);
13687
13689
  const showMedia = continuation || (gateControlled ? playerMounted : isNear);
13688
- const { src: posterSrc, onError: onPosterError } = _chunk37NYF4W2cjs.useCoverImageFallback.call(void 0, posterUrl);
13690
+ const { src: posterSrc, onError: onPosterError } = _chunkQRUW4UXBcjs.useCoverImageFallback.call(void 0, posterUrl);
13689
13691
  const facadeSkipped = preload === "none" && !posterSrc;
13690
13692
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootElRef, className: _chunkX7CEWD6Vcjs.cn.call(void 0, "absolute inset-0", className), inert: isClone || void 0, children: showMedia ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
13691
13693
  posterSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -13803,7 +13805,7 @@ function groupByAspectRatio(items, getAspectRatio) {
13803
13805
 
13804
13806
  function VideoBitesStrip({
13805
13807
  bites,
13806
- title = _chunk37NYF4W2cjs.DEFAULT_VIDEO_BITES_TITLE,
13808
+ title = _chunkQRUW4UXBcjs.DEFAULT_VIDEO_BITES_TITLE,
13807
13809
  showTitle = true,
13808
13810
  filterPublished = true,
13809
13811
  profile = null,
@@ -13816,7 +13818,7 @@ function VideoBitesStrip({
13816
13818
  cardHeightMobile = 300,
13817
13819
  showChevrons = true,
13818
13820
  onBiteNavigate,
13819
- sortComparator = _chunk37NYF4W2cjs.sortBitesByCreatedAtDesc,
13821
+ sortComparator = _chunkQRUW4UXBcjs.sortBitesByCreatedAtDesc,
13820
13822
  className
13821
13823
  }) {
13822
13824
  const items = _react.useMemo.call(void 0, () => {
@@ -14041,7 +14043,7 @@ function EntityVideoSection({
14041
14043
  title = "Video",
14042
14044
  videoSummary,
14043
14045
  videoBites,
14044
- bitesTitle = _chunk37NYF4W2cjs.DEFAULT_VIDEO_BITES_TITLE,
14046
+ bitesTitle = _chunkQRUW4UXBcjs.DEFAULT_VIDEO_BITES_TITLE,
14045
14047
  filterPublishedBites = true,
14046
14048
  bitesProfile = null,
14047
14049
  bitesHref,
@@ -14177,6 +14179,85 @@ function ChatVideoEntityCard({ chatRef }) {
14177
14179
  );
14178
14180
  }
14179
14181
 
14182
+ // src/components/chat/entity-cards/design-doc-card.tsx
14183
+
14184
+ function designDocSignOffStatus(completion) {
14185
+ if (completion.isComplete) return { label: "Ready", scheme: "success", tag: "success" };
14186
+ if (completion.openBlocking > 0 || completion.blocked > 0) return { label: "Blocked", scheme: "error", tag: "error" };
14187
+ return { label: "In review", scheme: "warning", tag: "warning" };
14188
+ }
14189
+ function designDocSignOffLabel(completion) {
14190
+ return `${completion.completed}/${completion.total} review${completion.total === 1 ? "" : "s"} signed off`;
14191
+ }
14192
+ function designDocPeople(doc) {
14193
+ const people = [];
14194
+ if (_optionalChain([doc, 'access', _357 => _357.author, 'optionalAccess', _358 => _358.full_name]))
14195
+ people.push({
14196
+ key: `dri-${_nullishCoalesce(doc.author.id, () => ( doc.author.full_name))}`,
14197
+ name: doc.author.full_name,
14198
+ avatarUrl: doc.author.avatar_url
14199
+ });
14200
+ for (const p of _nullishCoalesce(doc.feature_leads, () => ( []))) {
14201
+ if (!p.full_name) continue;
14202
+ people.push({ key: `lead-${p.id}`, name: p.full_name, avatarUrl: p.avatar_url });
14203
+ }
14204
+ return people;
14205
+ }
14206
+ function designDocMetaLine(doc) {
14207
+ return [_optionalChain([doc, 'access', _359 => _359.author, 'optionalAccess', _360 => _360.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${_chunkQRUW4UXBcjs.formatDateShort.call(void 0, doc.updated_at)}`].filter(Boolean).join(" \xB7 ");
14208
+ }
14209
+ function DesignDocCardSkeleton() {
14210
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full animate-pulse flex-col gap-[16px] rounded-[6px] border border-ods-border bg-ods-card p-[24px]", children: [
14211
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[16px]", children: [
14212
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-16 w-16 rounded-lg bg-ods-bg" }),
14213
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col gap-2", children: [
14214
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
14215
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-1/3 rounded bg-ods-bg/70" })
14216
+ ] })
14217
+ ] }),
14218
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-full rounded bg-ods-bg/60" }),
14219
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-5/6 rounded bg-ods-bg/60" })
14220
+ ] });
14221
+ }
14222
+ function DesignDocCard({ doc, href, target, rel, className }) {
14223
+ const status = designDocSignOffStatus(doc.completion);
14224
+ const people = designDocPeople(doc);
14225
+ const link = _chunkQRUW4UXBcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
14226
+ const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14227
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[16px]", children: [
14228
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-16 w-16 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg text-ods-accent", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.FileContentIcon, { size: 32 }) }),
14229
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
14230
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-[48px] items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "line-clamp-2 flex-1 text-ods-text-primary text-h3", children: doc.title || "Untitled design doc" }) }),
14231
+ /* @__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) }) })
14232
+ ] }),
14233
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14234
+ _chunkQRUW4UXBcjs.StatusBadge,
14235
+ {
14236
+ text: status.label.toUpperCase(),
14237
+ colorScheme: status.scheme,
14238
+ className: "hidden border border-ods-border md:inline-flex"
14239
+ }
14240
+ )
14241
+ ] }),
14242
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14243
+ _chunkQRUW4UXBcjs.StatusBadge,
14244
+ {
14245
+ text: status.label.toUpperCase(),
14246
+ colorScheme: status.scheme,
14247
+ className: "border border-ods-border"
14248
+ }
14249
+ ) }),
14250
+ /* @__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 || "" }) }),
14251
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
14252
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-2", children: [
14253
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: designDocSignOffLabel(doc.completion) }),
14254
+ people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.AvatarStack, { size: "xs", people, className: "shrink-0" }) : null
14255
+ ] })
14256
+ ] });
14257
+ const outer = `flex h-full flex-col gap-[16px] rounded-[6px] border border-ods-border bg-ods-card p-[24px] transition-all hover:border-ods-accent ${_nullishCoalesce(className, () => ( ""))}`;
14258
+ return link ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: link, target, rel, className: outer, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: outer, children: body });
14259
+ }
14260
+
14180
14261
  // src/components/chat/entity-cards/github-activity-card.tsx
14181
14262
 
14182
14263
 
@@ -14280,7 +14361,7 @@ function ReviewStateBadge({ state, className = "" }) {
14280
14361
  function GitHubActivityCard({ item, variant = "compact", className, anchorProps }) {
14281
14362
  const kind = _nullishCoalesce(item.kind, () => ( "commit"));
14282
14363
  const repo = _nullishCoalesce(_nullishCoalesce(item.repo, () => ( parseRepoFromUrl(item.url))), () => ( ""));
14283
- const dateText = _chunk37NYF4W2cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14364
+ const dateText = _chunkQRUW4UXBcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14284
14365
  const idLabel = formatActivityId(item.id, kind);
14285
14366
  const { display: title, reviewState } = parseGithubTitle(item.title, kind);
14286
14367
  const primaryText = kind === "pr_review" ? title.replace(/^by\s+/i, "").trim() || "Reviewer" : title;
@@ -14314,26 +14395,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
14314
14395
  metaParts.push(
14315
14396
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14316
14397
  );
14317
- const href = _chunk37NYF4W2cjs.safeHref.call(void 0, item.url);
14398
+ const href = _chunkQRUW4UXBcjs.safeHref.call(void 0, item.url);
14318
14399
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14319
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
14320
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TEXT_COL, children: [
14321
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
14400
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
14401
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14402
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
14322
14403
  reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
14323
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TITLE, children: primaryText })
14404
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TITLE, children: primaryText })
14324
14405
  ] }),
14325
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14406
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14326
14407
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14327
14408
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
14328
14409
  ] }, i)) }) }),
14329
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_SUMMARY, children: _chunk37NYF4W2cjs.COMPACT_CARD_ROW_FILLER }) })
14410
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_SUMMARY, children: _chunkQRUW4UXBcjs.COMPACT_CARD_ROW_FILLER }) })
14330
14411
  ] }),
14331
14412
  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
14332
14413
  ] });
14333
14414
  if (anchorProps) {
14334
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14415
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14335
14416
  }
14336
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14417
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14337
14418
  }
14338
14419
  function GitHubActivityCardSkeleton({
14339
14420
  variant = "compact",
@@ -14350,12 +14431,12 @@ function GitHubActivityCardSkeleton({
14350
14431
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14351
14432
  ] });
14352
14433
  }
14353
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14354
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14355
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TEXT_COL, children: [
14356
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14357
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14358
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_SUMMARY, children: _chunk37NYF4W2cjs.COMPACT_CARD_ROW_FILLER }) })
14434
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14435
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14436
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14437
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14438
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14439
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_SUMMARY, children: _chunkQRUW4UXBcjs.COMPACT_CARD_ROW_FILLER }) })
14359
14440
  ] }),
14360
14441
  /* @__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" }) })
14361
14442
  ] });
@@ -14379,7 +14460,7 @@ function parseChannelFromUrl(url) {
14379
14460
  }
14380
14461
  function SlackMessageCard({ item, variant = "compact", className, anchorProps }) {
14381
14462
  const channel = _nullishCoalesce(_nullishCoalesce(item.channel, () => ( parseChannelFromUrl(item.url))), () => ( null));
14382
- const dateText = _chunk37NYF4W2cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14463
+ const dateText = _chunkQRUW4UXBcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14383
14464
  if (variant === "row") {
14384
14465
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
14385
14466
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.SlackIcon, { className: "h-3.5 w-3.5 shrink-0" }),
@@ -14405,23 +14486,23 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
14405
14486
  metaParts.push(
14406
14487
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14407
14488
  );
14408
- const href = _chunk37NYF4W2cjs.safeHref.call(void 0, item.url);
14489
+ const href = _chunkQRUW4UXBcjs.safeHref.call(void 0, item.url);
14409
14490
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14410
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.SlackIcon, { className: "h-5 w-5" }) }),
14411
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TEXT_COL, children: [
14412
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TITLE, children: item.title }) }),
14413
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunk37NYF4W2cjs.COMPACT_CARD_ROW_FILLER }) }),
14414
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14491
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.SlackIcon, { className: "h-5 w-5" }) }),
14492
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14493
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TITLE, children: item.title }) }),
14494
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkQRUW4UXBcjs.COMPACT_CARD_ROW_FILLER }) }),
14495
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14415
14496
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14416
14497
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
14417
- ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_SUMMARY, children: _chunk37NYF4W2cjs.COMPACT_CARD_ROW_FILLER }) }) })
14498
+ ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_SUMMARY, children: _chunkQRUW4UXBcjs.COMPACT_CARD_ROW_FILLER }) }) })
14418
14499
  ] }),
14419
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
14420
14501
  ] });
14421
14502
  if (anchorProps) {
14422
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14503
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14423
14504
  }
14424
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.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: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14425
14506
  }
14426
14507
  function SlackMessageCardSkeleton({
14427
14508
  variant = "compact",
@@ -14436,12 +14517,12 @@ function SlackMessageCardSkeleton({
14436
14517
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14437
14518
  ] });
14438
14519
  }
14439
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14440
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14441
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TEXT_COL, children: [
14442
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14443
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
14444
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14520
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14521
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14522
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14523
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14524
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
14525
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14445
14526
  ] }),
14446
14527
  /* @__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" }) })
14447
14528
  ] });
@@ -14472,12 +14553,12 @@ function statusScheme(status) {
14472
14553
  function HubspotTicketCard({ item, variant = "compact", className, anchorProps }) {
14473
14554
  const statusText = _nullishCoalesce(item.statusLabel, () => ( formatToken(item.status)));
14474
14555
  const priorityText = formatToken(item.priority);
14475
- const dateText = _chunk37NYF4W2cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14556
+ const dateText = _chunkQRUW4UXBcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14476
14557
  if (variant === "row") {
14477
14558
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
14478
14559
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "max-w-[260px] shrink-0 truncate text-ods-text-primary text-h6", children: item.title }),
14479
14560
  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,
14480
- statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
14561
+ statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
14481
14562
  dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-24 shrink-0 text-right text-ods-text-secondary text-h6", children: dateText }) : null
14482
14563
  ] });
14483
14564
  }
@@ -14491,13 +14572,13 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14491
14572
  metaParts.push(
14492
14573
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14493
14574
  );
14494
- const href = _chunk37NYF4W2cjs.safeHref.call(void 0, item.url);
14575
+ const href = _chunkQRUW4UXBcjs.safeHref.call(void 0, item.url);
14495
14576
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14496
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TEXT_COL, children: [
14577
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14497
14578
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14498
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14579
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14499
14580
  priorityText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14500
- _chunk37NYF4W2cjs.StatusBadge,
14581
+ _chunkQRUW4UXBcjs.StatusBadge,
14501
14582
  {
14502
14583
  text: priorityText,
14503
14584
  variant: "button",
@@ -14506,7 +14587,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14506
14587
  }
14507
14588
  ) : null,
14508
14589
  statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14509
- _chunk37NYF4W2cjs.StatusBadge,
14590
+ _chunkQRUW4UXBcjs.StatusBadge,
14510
14591
  {
14511
14592
  text: statusText,
14512
14593
  variant: "button",
@@ -14520,7 +14601,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14520
14601
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
14521
14602
  ] }) : null,
14522
14603
  /* @__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." }) }) }),
14523
- metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14604
+ metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14524
14605
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14525
14606
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
14526
14607
  ] }, i)) }) }) : null
@@ -14528,9 +14609,9 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14528
14609
  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
14529
14610
  ] });
14530
14611
  if (anchorProps) {
14531
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14612
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14532
14613
  }
14533
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14614
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14534
14615
  }
14535
14616
  function HubspotTicketCardSkeleton({
14536
14617
  variant = "compact",
@@ -14544,8 +14625,8 @@ function HubspotTicketCardSkeleton({
14544
14625
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14545
14626
  ] });
14546
14627
  }
14547
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14548
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TEXT_COL, children: [
14628
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14629
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14549
14630
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14550
14631
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14551
14632
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
@@ -14558,7 +14639,7 @@ function HubspotTicketCardSkeleton({
14558
14639
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
14559
14640
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
14560
14641
  ] }),
14561
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14642
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14562
14643
  ] }),
14563
14644
  /* @__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" }) })
14564
14645
  ] });
@@ -14569,10 +14650,10 @@ function HubspotTicketCardSkeleton({
14569
14650
 
14570
14651
  function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
14571
14652
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14572
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TEXT_COL, children: [
14653
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14573
14654
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14574
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14575
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
14655
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14656
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
14576
14657
  ] }),
14577
14658
  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: [
14578
14659
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
@@ -14580,16 +14661,16 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
14580
14661
  ] }) : null,
14581
14662
  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
14582
14663
  ] }),
14583
- _optionalChain([anchorProps, 'optionalAccess', _357 => _357.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
14664
+ _optionalChain([anchorProps, 'optionalAccess', _361 => _361.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
14584
14665
  ] });
14585
14666
  if (!anchorProps) {
14586
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14667
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14587
14668
  }
14588
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14669
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14589
14670
  }
14590
14671
  function DataRoomDocCardSkeleton({ className }) {
14591
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14592
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TEXT_COL, children: [
14672
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14673
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14593
14674
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
14594
14675
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14595
14676
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
@@ -14608,31 +14689,31 @@ function DataRoomDocCardSkeleton({ className }) {
14608
14689
 
14609
14690
 
14610
14691
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
14611
- const goalsCount = _optionalChain([campaign, 'access', _358 => _358.goals, 'optionalAccess', _359 => _359.length]) || 0;
14692
+ const goalsCount = _optionalChain([campaign, 'access', _362 => _362.goals, 'optionalAccess', _363 => _363.length]) || 0;
14612
14693
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14613
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
14614
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TEXT_COL, children: [
14615
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
14616
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_SUBTITLE, children: [
14617
- campaign.start_date ? _chunk37NYF4W2cjs.formatDateShort.call(void 0, campaign.start_date) : null,
14694
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
14695
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14696
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
14697
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_SUBTITLE, children: [
14698
+ campaign.start_date ? _chunkQRUW4UXBcjs.formatDateShort.call(void 0, campaign.start_date) : null,
14618
14699
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
14619
14700
  "Marketing campaign"
14620
14701
  ].filter(Boolean).join(" \xB7 ") }) }),
14621
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunk37NYF4W2cjs.COMPACT_CARD_ROW_FILLER }) })
14702
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkQRUW4UXBcjs.COMPACT_CARD_ROW_FILLER }) })
14622
14703
  ] })
14623
14704
  ] });
14624
14705
  if (anchorProps) {
14625
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
14706
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
14626
14707
  }
14627
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
14708
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
14628
14709
  }
14629
14710
  function CampaignCardAdminSkeleton({ className }) {
14630
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14631
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14632
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TEXT_COL, children: [
14633
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
14634
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14635
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
14711
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14712
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14713
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14714
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
14715
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14716
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
14636
14717
  ] })
14637
14718
  ] });
14638
14719
  }
@@ -14641,14 +14722,14 @@ function CampaignCardAdminSkeleton({ className }) {
14641
14722
 
14642
14723
 
14643
14724
  function GenericEntityCard({ item, className, anchorProps }) {
14644
- const href = _chunk37NYF4W2cjs.safeHref.call(void 0, item.url);
14645
- const dateText = _chunk37NYF4W2cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14725
+ const href = _chunkQRUW4UXBcjs.safeHref.call(void 0, item.url);
14726
+ const dateText = _chunkQRUW4UXBcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14646
14727
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14647
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TEXT_COL, children: [
14728
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14648
14729
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14649
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14730
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14650
14731
  item.badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14651
- _chunk37NYF4W2cjs.StatusBadge,
14732
+ _chunkQRUW4UXBcjs.StatusBadge,
14652
14733
  {
14653
14734
  text: item.badge.text,
14654
14735
  variant: "button",
@@ -14666,18 +14747,18 @@ function GenericEntityCard({ item, className, anchorProps }) {
14666
14747
  ] }),
14667
14748
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-medium text-ods-text-primary", children: f.value })
14668
14749
  ] }, i)) }) : null,
14669
- dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
14750
+ dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
14670
14751
  ] }),
14671
14752
  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
14672
14753
  ] });
14673
14754
  if (anchorProps) {
14674
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14755
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14675
14756
  }
14676
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14757
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14677
14758
  }
14678
14759
  function GenericEntityCardSkeleton({ className }) {
14679
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14680
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TEXT_COL, children: [
14760
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14761
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14681
14762
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
14682
14763
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14683
14764
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
@@ -14726,8 +14807,8 @@ function useChatCardItem(type, id) {
14726
14807
  const res = await _chunkXOGD2AMEcjs.embedAuthedFetch.call(void 0, url);
14727
14808
  if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
14728
14809
  const data = await res.json();
14729
- const items = _chunk37NYF4W2cjs.extractCardItems.call(void 0, type, data);
14730
- const match = items.find((it) => _chunk37NYF4W2cjs.extractItemId.call(void 0, type, it) === id);
14810
+ const items = _chunkQRUW4UXBcjs.extractCardItems.call(void 0, type, data);
14811
+ const match = items.find((it) => _chunkQRUW4UXBcjs.extractItemId.call(void 0, type, it) === id);
14731
14812
  return _nullishCoalesce(match, () => ( null));
14732
14813
  },
14733
14814
  enabled: !!url && id.length > 0,
@@ -14760,7 +14841,7 @@ function useChatCardItem(type, id) {
14760
14841
  function CardMedia({ imageSrc, imageAlt, icon }) {
14761
14842
  if (imageSrc) {
14762
14843
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative block size-10 shrink-0", children: [
14763
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-ods-text-primary text-h6", children: _chunk37NYF4W2cjs.personInitials.call(void 0, imageAlt) || "?" }),
14844
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-ods-text-primary text-h6", children: _chunkQRUW4UXBcjs.personInitials.call(void 0, imageAlt) || "?" }),
14764
14845
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14765
14846
  _chunkWLSFBRT5cjs.next_image_default,
14766
14847
  {
@@ -14902,7 +14983,7 @@ function pickFetchedCardHref({
14902
14983
  itemHref,
14903
14984
  allowComposed
14904
14985
  }) {
14905
- if (_optionalChain([composed, 'optionalAccess', _360 => _360.hostOverride])) {
14986
+ if (_optionalChain([composed, 'optionalAccess', _364 => _364.hostOverride])) {
14906
14987
  return { source: "hostOverride", href: composed.href, targetPlatform: composed.targetPlatform };
14907
14988
  }
14908
14989
  if (itemHref) return { source: "item", href: itemHref };
@@ -14918,7 +14999,7 @@ function resolveFetchedCardHref({
14918
14999
  composeContentUrl
14919
15000
  }) {
14920
15001
  if (!composeContentUrl || !contentRefType || !id) return null;
14921
- const canonicalType = _chunk37NYF4W2cjs.canonicalContentRefType.call(void 0, contentRefType);
15002
+ const canonicalType = _chunkQRUW4UXBcjs.canonicalContentRefType.call(void 0, contentRefType);
14922
15003
  return composeContentUrl({
14923
15004
  // The card registry keys some entries by the legacy rail vocabulary
14924
15005
  // (`blog_post_existing`) because that is what `buildListUrl` expects.
@@ -14988,7 +15069,8 @@ var SOURCE_ICON_NAMES = {
14988
15069
  "code-graph-files": "file-text",
14989
15070
  "code-symbols": "box",
14990
15071
  "code-duplicates": "search",
14991
- "code-impact": "activity"
15072
+ "code-impact": "activity",
15073
+ "change-sets": "coding-branch"
14992
15074
  };
14993
15075
  function getSourceIconName(tableId) {
14994
15076
  if (!tableId) return void 0;
@@ -15055,7 +15137,8 @@ var SOURCE_LABELS_BY_TABLE = {
15055
15137
  "code-graph-files": "Code Files",
15056
15138
  "code-symbols": "Code Symbols",
15057
15139
  "code-duplicates": "Duplicates",
15058
- "code-impact": "Change Impact"
15140
+ "code-impact": "Change Impact",
15141
+ "change-sets": "Change Sets"
15059
15142
  };
15060
15143
  function getSourceLabel(tableId) {
15061
15144
  return _nullishCoalesce(SOURCE_LABELS_BY_TABLE[tableId], () => ( tableId));
@@ -15115,7 +15198,8 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
15115
15198
  code_file: "code-graph-files",
15116
15199
  code_symbol: "code-symbols",
15117
15200
  code_duplicate: "code-duplicates",
15118
- code_impact: "code-impact"
15201
+ code_impact: "code-impact",
15202
+ change_set: "change-sets"
15119
15203
  };
15120
15204
  function defaultTableIdForDocumentType(documentType) {
15121
15205
  return _nullishCoalesce(DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID[documentType], () => ( null));
@@ -15182,7 +15266,7 @@ function byKey(key) {
15182
15266
  return PLATFORM_DOMAINS.find((e) => e.key === key);
15183
15267
  }
15184
15268
  function envOverrideFor(key) {
15185
- const envVar = _optionalChain([byKey, 'call', _361 => _361(key), 'optionalAccess', _362 => _362.envVar]);
15269
+ const envVar = _optionalChain([byKey, 'call', _365 => _365(key), 'optionalAccess', _366 => _366.envVar]);
15186
15270
  if (!envVar) return null;
15187
15271
  return ENV_OVERRIDES[envVar] || null;
15188
15272
  }
@@ -15192,7 +15276,7 @@ function ensureScheme(url) {
15192
15276
  return `https://${trimmed.replace(/^\/+/, "")}`;
15193
15277
  }
15194
15278
  function getPlatformProductionUrl(platform) {
15195
- const resolved = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(envOverrideFor(platform), () => ( _optionalChain([byKey, 'call', _363 => _363(platform), 'optionalAccess', _364 => _364.defaultUrl]))), () => ( envOverrideFor("flamingo"))), () => ( "https://www.flamingo.run"));
15279
+ const resolved = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(envOverrideFor(platform), () => ( _optionalChain([byKey, 'call', _367 => _367(platform), 'optionalAccess', _368 => _368.defaultUrl]))), () => ( envOverrideFor("flamingo"))), () => ( "https://www.flamingo.run"));
15196
15280
  return ensureScheme(resolved);
15197
15281
  }
15198
15282
  function getPlatformUrl(platform, options = {}) {
@@ -15201,7 +15285,7 @@ function getPlatformUrl(platform, options = {}) {
15201
15285
  }
15202
15286
  function getDeploymentUrl(options) {
15203
15287
  if (typeof window !== "undefined") return window.location.origin;
15204
- const configured = _optionalChain([options, 'access', _365 => _365.configuredUrl, 'optionalAccess', _366 => _366.trim, 'call', _367 => _367()]);
15288
+ const configured = _optionalChain([options, 'access', _369 => _369.configuredUrl, 'optionalAccess', _370 => _370.trim, 'call', _371 => _371()]);
15205
15289
  if (configured) return ensureScheme(configured).replace(/\/+$/, "");
15206
15290
  if (process.env.VERCEL_ENV === "preview" && process.env.VERCEL_URL) {
15207
15291
  return ensureScheme(process.env.VERCEL_URL).replace(/\/+$/, "");
@@ -15223,7 +15307,7 @@ function getRequestOrigin(headers, options) {
15223
15307
  const host = headers.get("host");
15224
15308
  if (!host) return getDeploymentUrl(options);
15225
15309
  const local = LOCAL_HOSTNAME.test(host.replace(/:\d+$/, ""));
15226
- const proto = _optionalChain([headers, 'access', _368 => _368.get, 'call', _369 => _369("x-forwarded-proto"), 'optionalAccess', _370 => _370.split, 'call', _371 => _371(","), 'access', _372 => _372[0], 'access', _373 => _373.trim, 'call', _374 => _374()]) || (local ? "http" : "https");
15310
+ const proto = _optionalChain([headers, 'access', _372 => _372.get, 'call', _373 => _373("x-forwarded-proto"), 'optionalAccess', _374 => _374.split, 'call', _375 => _375(","), 'access', _376 => _376[0], 'access', _377 => _377.trim, 'call', _378 => _378()]) || (local ? "http" : "https");
15227
15311
  return `${proto}://${host}`;
15228
15312
  }
15229
15313
  function resolveRedirectTarget(origin, target) {
@@ -15252,7 +15336,7 @@ function toRegistrableBaseDomain(host) {
15252
15336
  return void 0;
15253
15337
  }
15254
15338
  function aliasHostsOf(key) {
15255
- return _nullishCoalesce(_optionalChain([byKey, 'call', _375 => _375(key), 'optionalAccess', _376 => _376.aliasHostnames]), () => ( []));
15339
+ return _nullishCoalesce(_optionalChain([byKey, 'call', _379 => _379(key), 'optionalAccess', _380 => _380.aliasHostnames]), () => ( []));
15256
15340
  }
15257
15341
  function hostsForEntry(entry, opts) {
15258
15342
  const resolved = hostOf(getPlatformProductionUrl(entry.key));
@@ -15311,13 +15395,13 @@ function recordCountLabel(count) {
15311
15395
  }
15312
15396
  function buildGroupedSource(spec) {
15313
15397
  const first = spec.rows[0];
15314
- const externalUrl = _nullishCoalesce(spec.externalUrl, () => ( _optionalChain([first, 'optionalAccess', _377 => _377.externalUrl])));
15315
- const targetPlatform = spec.targetPlatform !== void 0 ? spec.targetPlatform : _optionalChain([first, 'optionalAccess', _378 => _378.targetPlatform]);
15398
+ const externalUrl = _nullishCoalesce(spec.externalUrl, () => ( _optionalChain([first, 'optionalAccess', _381 => _381.externalUrl])));
15399
+ const targetPlatform = spec.targetPlatform !== void 0 ? spec.targetPlatform : _optionalChain([first, 'optionalAccess', _382 => _382.targetPlatform]);
15316
15400
  return {
15317
15401
  index: spec.index,
15318
15402
  name: `${getSourceLabel(spec.sourceRepo)} ${recordCountLabel(spec.rows.length)}`,
15319
- path: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _379 => _379.path]), () => ( "")),
15320
- documentType: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _380 => _380.documentType]), () => ( "")),
15403
+ path: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _383 => _383.path]), () => ( "")),
15404
+ documentType: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _384 => _384.documentType]), () => ( "")),
15321
15405
  ...externalUrl ? { externalUrl } : {},
15322
15406
  targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)),
15323
15407
  sourceRepo: spec.sourceRepo,
@@ -15386,7 +15470,7 @@ function groupSourcesByTable(sources2) {
15386
15470
  index: source.index,
15387
15471
  sourceRepo: source.sourceRepo,
15388
15472
  rows: uniqueRows(members.flatMap(rowsOf)),
15389
- ..._optionalChain([serverChip, 'optionalAccess', _381 => _381.externalUrl]) ? { externalUrl: serverChip.externalUrl } : {},
15473
+ ..._optionalChain([serverChip, 'optionalAccess', _385 => _385.externalUrl]) ? { externalUrl: serverChip.externalUrl } : {},
15390
15474
  ...serverChip && serverChip.targetPlatform !== void 0 ? { targetPlatform: serverChip.targetPlatform } : {}
15391
15475
  })
15392
15476
  );
@@ -15436,20 +15520,20 @@ function resolveSourceRowCTA(row, ctx = {}) {
15436
15520
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
15437
15521
  const safePath = sanitizePath(row.path);
15438
15522
  if (safePath) {
15439
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _382 => _382.docPlatformTargets, 'optionalAccess', _383 => _383[row.documentType]]) : void 0;
15523
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _386 => _386.docPlatformTargets, 'optionalAccess', _387 => _387[row.documentType]]) : void 0;
15440
15524
  if (docTarget) {
15441
15525
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
15442
15526
  const base = `${getPlatformUrl(docTarget.platform)}${seg ? `/${seg}` : ""}/`;
15443
- href = _nullishCoalesce(_chunk37NYF4W2cjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
15527
+ href = _nullishCoalesce(_chunkQRUW4UXBcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
15444
15528
  targetPlatform = docTarget.platform;
15445
15529
  } else if (ctx.chipBasePlatform) {
15446
15530
  const base = `${getPlatformUrl(ctx.chipBasePlatform)}/knowledge-base/`;
15447
- href = _nullishCoalesce(_chunk37NYF4W2cjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
15531
+ href = _nullishCoalesce(_chunkQRUW4UXBcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
15448
15532
  targetPlatform = ctx.chipBasePlatform;
15449
15533
  } else if (ctx.baseRoute) {
15450
15534
  const synthetic = `https://_internal_.local${ctx.baseRoute.startsWith("/") ? ctx.baseRoute : "/" + ctx.baseRoute}/`;
15451
15535
  const absolute = new URL(safePath, synthetic).toString();
15452
- href = _nullishCoalesce(_chunk37NYF4W2cjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
15536
+ href = _nullishCoalesce(_chunkQRUW4UXBcjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
15453
15537
  targetPlatform = _nullishCoalesce(ctx.currentPlatform, () => ( null));
15454
15538
  }
15455
15539
  }
@@ -15458,15 +15542,15 @@ function resolveSourceRowCTA(row, ctx = {}) {
15458
15542
  // Canonical vocabulary only — a rail-vocab alias would miss the host's
15459
15543
  // `hostedTypes` / `overrides` and fall through to the seam's default
15460
15544
  // `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
15461
- type: _chunk37NYF4W2cjs.canonicalContentRefType.call(void 0, row.documentType),
15545
+ type: _chunkQRUW4UXBcjs.canonicalContentRefType.call(void 0, row.documentType),
15462
15546
  identifier: idValue,
15463
15547
  externalUrl: row.externalUrl,
15464
15548
  targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
15465
15549
  });
15466
- href = composed.href ? _nullishCoalesce(_chunk37NYF4W2cjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
15550
+ href = composed.href ? _nullishCoalesce(_chunkQRUW4UXBcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
15467
15551
  targetPlatform = composed.targetPlatform;
15468
15552
  } else if (row.externalUrl) {
15469
- href = _nullishCoalesce(_chunk37NYF4W2cjs.safeHref.call(void 0, row.externalUrl), () => ( null));
15553
+ href = _nullishCoalesce(_chunkQRUW4UXBcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
15470
15554
  targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
15471
15555
  }
15472
15556
  const documentType = row.documentType;
@@ -15501,11 +15585,11 @@ function resolveSourceIcon(input, ctx = {}) {
15501
15585
 
15502
15586
  function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
15503
15587
  const label = entityLabel || "Item";
15504
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
15505
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk37NYF4W2cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
15506
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TEXT_COL, children: [
15507
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk37NYF4W2cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
15508
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk37NYF4W2cjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
15588
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
15589
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
15590
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
15591
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
15592
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
15509
15593
  label,
15510
15594
  " deleted",
15511
15595
  recoveryNote ? ` \xB7 ${recoveryNote}` : ""
@@ -15551,7 +15635,7 @@ function GitHubChatCard({
15551
15635
  const title = kind === "pr_review" ? display.replace(/^by\s+/i, "").trim() || "Reviewer" : display;
15552
15636
  const status = kind === "pr_review" && reviewState ? { label: reviewStateLabel(reviewState), variant: reviewStateToVariant(reviewState) } : { label: kindLabel(kind), variant: "grey" };
15553
15637
  const idLabel = formatActivityId(chatRef.id, kind);
15554
- const dateText = _chunk37NYF4W2cjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
15638
+ const dateText = _chunkQRUW4UXBcjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
15555
15639
  const description = [idLabel, dateText].filter(Boolean).join(" \xB7 ") || void 0;
15556
15640
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15557
15641
  MingoInfoCard,
@@ -15560,7 +15644,7 @@ function GitHubChatCard({
15560
15644
  description,
15561
15645
  icon: githubKindIcon(kind),
15562
15646
  status,
15563
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15647
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15564
15648
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15565
15649
  menuAriaLabel: "Activity actions"
15566
15650
  }
@@ -15579,8 +15663,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
15579
15663
  if (href) {
15580
15664
  items.push({
15581
15665
  id: "open-details",
15582
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _384 => _384.label]), () => ( "Open Details")),
15583
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _385 => _385.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.EyeIcon, { size: 20 }))),
15666
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _388 => _388.label]), () => ( "Open Details")),
15667
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _389 => _389.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.EyeIcon, { size: 20 }))),
15584
15668
  // Main row → open the entity (same tab, soft Link nav).
15585
15669
  href,
15586
15670
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -15640,18 +15724,18 @@ function itemVideoMetadata(item) {
15640
15724
  for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
15641
15725
  return void 0;
15642
15726
  };
15643
- const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _386 => _386.metadata]), () => ( {}));
15727
+ const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _390 => _390.metadata]), () => ( {}));
15644
15728
  const out = {};
15645
- const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _387 => _387.custom_video_url]), _optionalChain([item, 'optionalAccess', _388 => _388.main_video_url]));
15646
- const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _389 => _389.youtube_url]), _optionalChain([item, 'optionalAccess', _390 => _390.testimonial_video_url]));
15647
- const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _391 => _391.highlight_video_url]));
15729
+ const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _391 => _391.custom_video_url]), _optionalChain([item, 'optionalAccess', _392 => _392.main_video_url]));
15730
+ const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _393 => _393.youtube_url]), _optionalChain([item, 'optionalAccess', _394 => _394.testimonial_video_url]));
15731
+ const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _395 => _395.highlight_video_url]));
15648
15732
  const videoPoster = pick(
15649
15733
  m.videoPoster,
15650
- _optionalChain([item, 'optionalAccess', _392 => _392.main_video_thumbnail]),
15651
- _optionalChain([item, 'optionalAccess', _393 => _393.highlight_video_thumbnail]),
15652
- _optionalChain([item, 'optionalAccess', _394 => _394.featured_image])
15734
+ _optionalChain([item, 'optionalAccess', _396 => _396.main_video_thumbnail]),
15735
+ _optionalChain([item, 'optionalAccess', _397 => _397.highlight_video_thumbnail]),
15736
+ _optionalChain([item, 'optionalAccess', _398 => _398.featured_image])
15653
15737
  );
15654
- const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _395 => _395.highlight_video_thumbnail]));
15738
+ const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _399 => _399.highlight_video_thumbnail]));
15655
15739
  if (videoUrl) out.videoUrl = videoUrl;
15656
15740
  if (youtubeUrl) out.youtubeUrl = youtubeUrl;
15657
15741
  if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
@@ -15681,15 +15765,15 @@ function fetchedItemDisplayRef(item, chatRef) {
15681
15765
  }
15682
15766
  function fetchedFaqDisplayRef(item, chatRef) {
15683
15767
  const it = item;
15684
- const answer = typeof _optionalChain([it, 'optionalAccess', _396 => _396.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
15768
+ const answer = typeof _optionalChain([it, 'optionalAccess', _400 => _400.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
15685
15769
  return {
15686
15770
  type: "faq",
15687
15771
  id: chatRef.id,
15688
15772
  sourceRepo: chatRef.sourceRepo,
15689
- title: typeof _optionalChain([it, 'optionalAccess', _397 => _397.question]) === "string" && it.question ? it.question : chatRef.id,
15773
+ title: typeof _optionalChain([it, 'optionalAccess', _401 => _401.question]) === "string" && it.question ? it.question : chatRef.id,
15690
15774
  url: _nullishCoalesce(chatRef.url, () => ( null)),
15691
15775
  ...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
15692
- metadata: typeof _optionalChain([it, 'optionalAccess', _398 => _398.section]) === "string" && it.section ? { section: it.section } : {}
15776
+ metadata: typeof _optionalChain([it, 'optionalAccess', _402 => _402.section]) === "string" && it.section ? { section: it.section } : {}
15693
15777
  };
15694
15778
  }
15695
15779
  function HubspotTicketChatCard({
@@ -15697,8 +15781,8 @@ function HubspotTicketChatCard({
15697
15781
  isNewTab,
15698
15782
  discuss
15699
15783
  }) {
15700
- const status = typeof _optionalChain([chatRef, 'access', _399 => _399.metadata, 'optionalAccess', _400 => _400.status]) === "string" ? chatRef.metadata.status : void 0;
15701
- const statusLabel = typeof _optionalChain([chatRef, 'access', _401 => _401.metadata, 'optionalAccess', _402 => _402.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
15784
+ const status = typeof _optionalChain([chatRef, 'access', _403 => _403.metadata, 'optionalAccess', _404 => _404.status]) === "string" ? chatRef.metadata.status : void 0;
15785
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _405 => _405.metadata, 'optionalAccess', _406 => _406.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
15702
15786
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
15703
15787
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15704
15788
  MingoInfoCard,
@@ -15707,7 +15791,7 @@ function HubspotTicketChatCard({
15707
15791
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15708
15792
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.TagIcon, { size: 24 }),
15709
15793
  status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
15710
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15794
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15711
15795
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
15712
15796
  label: "Open Ticket Details",
15713
15797
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.TagIcon, { size: 20 })
@@ -15721,7 +15805,7 @@ function FaqChatCard({
15721
15805
  isNewTab,
15722
15806
  discuss
15723
15807
  }) {
15724
- const section = typeof _optionalChain([chatRef, 'access', _403 => _403.metadata, 'optionalAccess', _404 => _404.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
15808
+ const section = typeof _optionalChain([chatRef, 'access', _407 => _407.metadata, 'optionalAccess', _408 => _408.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
15725
15809
  const statusLabel = section && section.length > 0 ? section : "FAQ";
15726
15810
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15727
15811
  MingoInfoCard,
@@ -15730,7 +15814,7 @@ function FaqChatCard({
15730
15814
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15731
15815
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.QuestionCircleIcon, { size: 24 }),
15732
15816
  status: { label: statusLabel, variant: "grey" },
15733
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15817
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15734
15818
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15735
15819
  menuAriaLabel: "FAQ actions"
15736
15820
  }
@@ -15741,7 +15825,7 @@ function SlackChatCard({
15741
15825
  isNewTab,
15742
15826
  discuss
15743
15827
  }) {
15744
- const channelName = typeof _optionalChain([chatRef, 'access', _405 => _405.metadata, 'optionalAccess', _406 => _406.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
15828
+ const channelName = typeof _optionalChain([chatRef, 'access', _409 => _409.metadata, 'optionalAccess', _410 => _410.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
15745
15829
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
15746
15830
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
15747
15831
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -15750,7 +15834,7 @@ function SlackChatCard({
15750
15834
  title,
15751
15835
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15752
15836
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.SlackLogoGreyIcon, { size: 24 }),
15753
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15837
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15754
15838
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15755
15839
  menuAriaLabel: "Message actions"
15756
15840
  }
@@ -15768,7 +15852,7 @@ function GlyphChatCard({
15768
15852
  title: chatRef.title,
15769
15853
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15770
15854
  icon,
15771
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15855
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15772
15856
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15773
15857
  menuAriaLabel: "Card actions"
15774
15858
  }
@@ -15784,22 +15868,22 @@ function TrustCenterChatCard({
15784
15868
  isNewTab,
15785
15869
  discuss
15786
15870
  }) {
15787
- const raw = _optionalChain([item, 'optionalAccess', _407 => _407.frameworks]);
15871
+ const raw = _optionalChain([item, 'optionalAccess', _411 => _411.frameworks]);
15788
15872
  const frameworks = Array.isArray(raw) ? raw : [];
15789
- const summary = _chunk37NYF4W2cjs.trustFrameworksSummary.call(void 0, frameworks);
15873
+ const summary = _chunkQRUW4UXBcjs.trustFrameworksSummary.call(void 0, frameworks);
15790
15874
  const leadFramework = frameworks[0];
15791
15875
  const lead = leadFramework ? {
15792
- label: _chunk37NYF4W2cjs.trustFrameworkBadge.call(void 0, leadFramework),
15793
- color: _chunk37NYF4W2cjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
15876
+ label: _chunkQRUW4UXBcjs.trustFrameworkBadge.call(void 0, leadFramework),
15877
+ color: _chunkQRUW4UXBcjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
15794
15878
  } : void 0;
15795
15879
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15796
15880
  MingoInfoCard,
15797
15881
  {
15798
- title: _chunk37NYF4W2cjs.TRUST_CENTER_TITLE,
15799
- description: summary || _chunk37NYF4W2cjs.TRUST_CENTER_TAGLINE,
15882
+ title: _chunkQRUW4UXBcjs.TRUST_CENTER_TITLE,
15883
+ description: summary || _chunkQRUW4UXBcjs.TRUST_CENTER_TAGLINE,
15800
15884
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.ShieldCheckIcon, { size: 24 }),
15801
15885
  status: lead ? { label: lead.label, variant: TRUST_STATUS_TAG_VARIANT[lead.color] } : void 0,
15802
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15886
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15803
15887
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
15804
15888
  label: "View trust center",
15805
15889
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.ShieldCheckIcon, { size: 20 })
@@ -15821,7 +15905,7 @@ function DataRoomDocChatCard({
15821
15905
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15822
15906
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.FileContentIcon, { size: 24 }),
15823
15907
  status: { label: badgeText, variant: "grey" },
15824
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15908
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15825
15909
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15826
15910
  menuAriaLabel: "Document actions"
15827
15911
  }
@@ -15833,14 +15917,14 @@ function GenericFinancialChatCard({
15833
15917
  isNewTab,
15834
15918
  discuss
15835
15919
  }) {
15836
- const subtitle = typeof _optionalChain([chatRef, 'access', _408 => _408.metadata, 'optionalAccess', _409 => _409.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
15920
+ const subtitle = typeof _optionalChain([chatRef, 'access', _412 => _412.metadata, 'optionalAccess', _413 => _413.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
15837
15921
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15838
15922
  MingoInfoCard,
15839
15923
  {
15840
15924
  title: chatRef.title,
15841
15925
  description: subtitle,
15842
15926
  icon,
15843
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15927
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15844
15928
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15845
15929
  menuAriaLabel: "Document actions"
15846
15930
  }
@@ -15902,12 +15986,12 @@ function ProductReleaseChatCard({
15902
15986
  discuss
15903
15987
  }) {
15904
15988
  const releaseProps = buildProps(item);
15905
- const status = _optionalChain([item, 'optionalAccess', _410 => _410.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
15989
+ const status = _optionalChain([item, 'optionalAccess', _414 => _414.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
15906
15990
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15907
15991
  EntityMingoCard,
15908
15992
  {
15909
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _411 => _411.title]), () => ( "")),
15910
- description: _optionalChain([item, 'optionalAccess', _412 => _412.summary]) || releaseProps.formattedDate || void 0,
15993
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _415 => _415.title]), () => ( "")),
15994
+ description: _optionalChain([item, 'optionalAccess', _416 => _416.summary]) || releaseProps.formattedDate || void 0,
15911
15995
  cover: releaseProps.coverImage || void 0,
15912
15996
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.Rocket02Icon, { size: 24 }),
15913
15997
  status,
@@ -15924,17 +16008,17 @@ function CampaignChatCard({
15924
16008
  isNewTab,
15925
16009
  discuss
15926
16010
  }) {
15927
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _413 => _413.goals])) ? item.goals.length : 0;
16011
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _417 => _417.goals])) ? item.goals.length : 0;
15928
16012
  const meta = [
15929
- _optionalChain([item, 'optionalAccess', _414 => _414.start_date]) ? _chunk37NYF4W2cjs.formatDateShort.call(void 0, item.start_date) : null,
16013
+ _optionalChain([item, 'optionalAccess', _418 => _418.start_date]) ? _chunkQRUW4UXBcjs.formatDateShort.call(void 0, item.start_date) : null,
15930
16014
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
15931
16015
  "Marketing campaign"
15932
16016
  ].filter(Boolean).join(" \xB7 ");
15933
16017
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15934
16018
  EntityMingoCard,
15935
16019
  {
15936
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _415 => _415.name]), () => ( "")),
15937
- description: meta || _optionalChain([item, 'optionalAccess', _416 => _416.description]) || void 0,
16020
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _419 => _419.name]), () => ( "")),
16021
+ description: meta || _optionalChain([item, 'optionalAccess', _420 => _420.description]) || void 0,
15938
16022
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.Megaphone01Icon, { size: 24 }),
15939
16023
  chatRef,
15940
16024
  isNewTab,
@@ -15965,7 +16049,7 @@ function EntityMingoCard({
15965
16049
  imageAlt: typeof title === "string" ? title : void 0,
15966
16050
  icon: fallbackIcon,
15967
16051
  status,
15968
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
16052
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15969
16053
  menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
15970
16054
  menuAriaLabel
15971
16055
  }
@@ -15977,7 +16061,7 @@ function entityCover(image, ogPlaceholder) {
15977
16061
  function statusPill(status) {
15978
16062
  const s = typeof status === "string" ? status.trim() : "";
15979
16063
  if (!s) return void 0;
15980
- const scheme = _chunk37NYF4W2cjs.getStatusColorScheme.call(void 0, s);
16064
+ const scheme = _chunkQRUW4UXBcjs.getStatusColorScheme.call(void 0, s);
15981
16065
  const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
15982
16066
  return { label: s, variant };
15983
16067
  }
@@ -15989,14 +16073,14 @@ function BlogChatCard({
15989
16073
  hasEmbeddedVideo,
15990
16074
  discuss
15991
16075
  }) {
15992
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _417 => _417.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _418 => _418.categories, 'access', _419 => _419.find, 'call', _420 => _420((c) => _optionalChain([c, 'optionalAccess', _421 => _421.name])), 'optionalAccess', _422 => _422.name]), () => ( void 0)) : void 0;
16076
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _421 => _421.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _422 => _422.categories, 'access', _423 => _423.find, 'call', _424 => _424((c) => _optionalChain([c, 'optionalAccess', _425 => _425.name])), 'optionalAccess', _426 => _426.name]), () => ( void 0)) : void 0;
15993
16077
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
15994
16078
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15995
16079
  EntityMingoCard,
15996
16080
  {
15997
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _423 => _423.title]), () => ( "")),
15998
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _424 => _424.summary]), () => ( void 0)),
15999
- cover: entityCover(_optionalChain([item, 'optionalAccess', _425 => _425.featured_image]), ogPlaceholder),
16081
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _427 => _427.title]), () => ( "")),
16082
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _428 => _428.summary]), () => ( void 0)),
16083
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _429 => _429.featured_image]), ogPlaceholder),
16000
16084
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.NewspaperIcon, { size: 24 }),
16001
16085
  status,
16002
16086
  chatRef,
@@ -16013,13 +16097,13 @@ function CaseStudyChatCard({
16013
16097
  ogPlaceholder,
16014
16098
  discuss
16015
16099
  }) {
16016
- const meta = [_optionalChain([item, 'optionalAccess', _426 => _426.msp, 'optionalAccess', _427 => _427.name]), _optionalChain([item, 'optionalAccess', _428 => _428.user, 'optionalAccess', _429 => _429.full_name])].filter(Boolean).join(" \xB7 ");
16100
+ const meta = [_optionalChain([item, 'optionalAccess', _430 => _430.msp, 'optionalAccess', _431 => _431.name]), _optionalChain([item, 'optionalAccess', _432 => _432.user, 'optionalAccess', _433 => _433.full_name])].filter(Boolean).join(" \xB7 ");
16017
16101
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16018
16102
  EntityMingoCard,
16019
16103
  {
16020
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _430 => _430.title]), () => ( "")),
16021
- description: _optionalChain([item, 'optionalAccess', _431 => _431.summary]) || meta || void 0,
16022
- cover: entityCover(_optionalChain([item, 'optionalAccess', _432 => _432.featured_image]), ogPlaceholder),
16104
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _434 => _434.title]), () => ( "")),
16105
+ description: _optionalChain([item, 'optionalAccess', _435 => _435.summary]) || meta || void 0,
16106
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _436 => _436.featured_image]), ogPlaceholder),
16023
16107
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.TrophyIcon, { size: 24 }),
16024
16108
  status: { label: "Case study", variant: "grey" },
16025
16109
  chatRef,
@@ -16036,13 +16120,13 @@ function CustomerInterviewChatCard({
16036
16120
  ogPlaceholder,
16037
16121
  discuss
16038
16122
  }) {
16039
- const meta = [_optionalChain([item, 'optionalAccess', _433 => _433.user, 'optionalAccess', _434 => _434.full_name]), _optionalChain([item, 'optionalAccess', _435 => _435.msp, 'optionalAccess', _436 => _436.name])].filter(Boolean).join(" \xB7 ");
16123
+ const meta = [_optionalChain([item, 'optionalAccess', _437 => _437.user, 'optionalAccess', _438 => _438.full_name]), _optionalChain([item, 'optionalAccess', _439 => _439.msp, 'optionalAccess', _440 => _440.name])].filter(Boolean).join(" \xB7 ");
16040
16124
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16041
16125
  EntityMingoCard,
16042
16126
  {
16043
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _437 => _437.title]), () => ( "")),
16044
- description: _optionalChain([item, 'optionalAccess', _438 => _438.video_summary]) || meta || void 0,
16045
- cover: entityCover(_optionalChain([item, 'optionalAccess', _439 => _439.featured_image]), ogPlaceholder),
16127
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _441 => _441.title]), () => ( "")),
16128
+ description: _optionalChain([item, 'optionalAccess', _442 => _442.video_summary]) || meta || void 0,
16129
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _443 => _443.featured_image]), ogPlaceholder),
16046
16130
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.MicrophoneIcon, { size: 24 }),
16047
16131
  status: { label: "Interview", variant: "grey" },
16048
16132
  chatRef,
@@ -16052,6 +16136,28 @@ function CustomerInterviewChatCard({
16052
16136
  }
16053
16137
  );
16054
16138
  }
16139
+ function DesignDocChatCard({
16140
+ item,
16141
+ chatRef,
16142
+ isNewTab,
16143
+ discuss
16144
+ }) {
16145
+ const displayRef = fetchedItemDisplayRef(item, chatRef);
16146
+ const doc = _optionalChain([item, 'optionalAccess', _444 => _444.doc]);
16147
+ const status = doc ? designDocSignOffStatus(doc.completion) : null;
16148
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16149
+ MingoInfoCard,
16150
+ {
16151
+ title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _445 => _445.title]), () => ( displayRef.title)),
16152
+ description: doc ? [designDocMetaLine(doc), designDocSignOffLabel(doc.completion)].join(" \xB7 ") : _nullishCoalesce(displayRef.preview, () => ( void 0)),
16153
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.FileContentIcon, { size: 24 }),
16154
+ status: status ? { label: status.label, variant: status.tag } : { label: "Design doc", variant: "grey" },
16155
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, displayRef.url, isNewTab),
16156
+ menuGroups: cardMenuGroups(displayRef.url, discuss),
16157
+ menuAriaLabel: "Design doc actions"
16158
+ }
16159
+ );
16160
+ }
16055
16161
  function InvestorUpdateChatCard({
16056
16162
  item,
16057
16163
  chatRef,
@@ -16059,13 +16165,13 @@ function InvestorUpdateChatCard({
16059
16165
  ogPlaceholder,
16060
16166
  discuss
16061
16167
  }) {
16062
- const title = _optionalChain([item, 'optionalAccess', _440 => _440.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _441 => _441.update_number]), () => ( "?"))}`;
16168
+ const title = _optionalChain([item, 'optionalAccess', _446 => _446.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _447 => _447.update_number]), () => ( "?"))}`;
16063
16169
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16064
16170
  EntityMingoCard,
16065
16171
  {
16066
16172
  title,
16067
- description: _optionalChain([item, 'optionalAccess', _442 => _442.strategic_update]) || _optionalChain([item, 'optionalAccess', _443 => _443.content]) || _chunk37NYF4W2cjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _444 => _444.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _445 => _445.period_end]), () => ( null))) || void 0,
16068
- cover: entityCover(_optionalChain([item, 'optionalAccess', _446 => _446.featured_image]), ogPlaceholder),
16173
+ description: _optionalChain([item, 'optionalAccess', _448 => _448.strategic_update]) || _optionalChain([item, 'optionalAccess', _449 => _449.content]) || _chunkQRUW4UXBcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _450 => _450.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _451 => _451.period_end]), () => ( null))) || void 0,
16174
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _452 => _452.featured_image]), ogPlaceholder),
16069
16175
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.PresentationLineIcon, { size: 24 }),
16070
16176
  status: { label: "Investor update", variant: "grey" },
16071
16177
  chatRef,
@@ -16082,12 +16188,12 @@ function OnboardingGuideChatCard({
16082
16188
  ogPlaceholder,
16083
16189
  discuss
16084
16190
  }) {
16085
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _447 => _447.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _448 => _448.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _449 => _449.og_image_url]), ogPlaceholder)));
16191
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _453 => _453.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _454 => _454.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _455 => _455.og_image_url]), ogPlaceholder)));
16086
16192
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16087
16193
  EntityMingoCard,
16088
16194
  {
16089
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _450 => _450.title]), () => ( "")),
16090
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _451 => _451.summary]), () => ( _optionalChain([item, 'optionalAccess', _452 => _452.description]))), () => ( void 0)),
16195
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _456 => _456.title]), () => ( "")),
16196
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _457 => _457.summary]), () => ( _optionalChain([item, 'optionalAccess', _458 => _458.description]))), () => ( void 0)),
16091
16197
  cover,
16092
16198
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CompassIcon, { size: 24 }),
16093
16199
  status: { label: "Guide", variant: "grey" },
@@ -16108,13 +16214,13 @@ function ProgramChatCard({
16108
16214
  discuss
16109
16215
  }) {
16110
16216
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.MicrophoneIcon, { size: 24 });
16111
- const { line: meta } = _chunk37NYF4W2cjs.programMetaLine.call(void 0, _nullishCoalesce(item, () => ( {})), configKey, _chunk37NYF4W2cjs.programMetaFormatters.call(void 0, _chunk37NYF4W2cjs.PROGRAM_META_RENDERERS));
16217
+ const { line: meta } = _chunkQRUW4UXBcjs.programMetaLine.call(void 0, _nullishCoalesce(item, () => ( {})), configKey, _chunkQRUW4UXBcjs.programMetaFormatters.call(void 0, _chunkQRUW4UXBcjs.PROGRAM_META_RENDERERS));
16112
16218
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16113
16219
  EntityMingoCard,
16114
16220
  {
16115
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _453 => _453.title]), () => ( "")),
16116
- description: meta || _optionalChain([item, 'optionalAccess', _454 => _454.description]) || void 0,
16117
- cover: entityCover(_optionalChain([item, 'optionalAccess', _455 => _455.cover_url]), ogPlaceholder),
16221
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _459 => _459.title]), () => ( "")),
16222
+ description: meta || _optionalChain([item, 'optionalAccess', _460 => _460.description]) || void 0,
16223
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _461 => _461.cover_url]), ogPlaceholder),
16118
16224
  fallbackIcon: icon,
16119
16225
  status: { label, variant: "grey" },
16120
16226
  chatRef,
@@ -16131,10 +16237,10 @@ function RoadmapChatCard({
16131
16237
  cardType,
16132
16238
  discuss
16133
16239
  }) {
16134
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _456 => _456.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
16135
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _457 => _457.customItemId]) != null;
16240
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _462 => _462.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
16241
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _463 => _463.customItemId]) != null;
16136
16242
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.MapIcon, { size: 24 });
16137
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _458 => _458.customItemId]), className: "size-6" }) : logoUrl ? (
16243
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _464 => _464.customItemId]), className: "size-6" }) : logoUrl ? (
16138
16244
  // Contained (not full-bleed) so the integration logo keeps its aspect
16139
16245
  // ratio inside the bordered icon box — matches RoadmapCard.
16140
16246
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWLSFBRT5cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
@@ -16145,10 +16251,10 @@ function RoadmapChatCard({
16145
16251
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16146
16252
  EntityMingoCard,
16147
16253
  {
16148
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _459 => _459.title]), () => ( "")),
16149
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _460 => _460.description]), () => ( void 0)),
16254
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _465 => _465.title]), () => ( "")),
16255
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _466 => _466.description]), () => ( void 0)),
16150
16256
  fallbackIcon: icon,
16151
- status: statusPill(_optionalChain([item, 'optionalAccess', _461 => _461.status])),
16257
+ status: statusPill(_optionalChain([item, 'optionalAccess', _467 => _467.status])),
16152
16258
  chatRef,
16153
16259
  isNewTab,
16154
16260
  discuss,
@@ -16164,7 +16270,7 @@ function refHydratedEntry(docType, label, renderRef) {
16164
16270
  bareInline: true,
16165
16271
  contentRefType: docType,
16166
16272
  noComposedHref: true,
16167
- fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _462 => _462.url]), () => ( null)),
16273
+ fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _468 => _468.url]), () => ( null)),
16168
16274
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16169
16275
  render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
16170
16276
  };
@@ -16205,7 +16311,6 @@ var GITHUB_CARD_CONFIGS = {
16205
16311
  };
16206
16312
  var OpenFrameGlyph = resolveIcon("openframe");
16207
16313
  var REF_GLYPH_CARD_CONFIGS = {
16208
- design_doc: { label: "Design doc", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.FileContentIcon, { size: 24 }) },
16209
16314
  openframe_tenant: { label: "OpenFrame tenant", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OpenFrameGlyph, { size: 24 }) },
16210
16315
  prospect_call: { label: "Prospect call", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CallIcon, { size: 24 }), media: true },
16211
16316
  // Code intelligence (product-hub internal): the review rules a repository is
@@ -16222,7 +16327,10 @@ var REF_GLYPH_CARD_CONFIGS = {
16222
16327
  code_file: { label: "Code file", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.FileCodeIcon, { size: 24 }) },
16223
16328
  code_symbol: { label: "Code symbol", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CodeSquareIcon, { size: 24 }) },
16224
16329
  code_duplicate: { label: "Duplicate code", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.Copy01Icon, { size: 24 }) },
16225
- code_impact: { label: "Change impact", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CodingPullRequestIcon, { size: 24 }) }
16330
+ code_impact: { label: "Change impact", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CodingPullRequestIcon, { size: 24 }) },
16331
+ // A change set: pull requests across repositories declared as one change, with the ClickUp tasks and design
16332
+ // docs its pull requests are attached to. ONE card for it wherever a set is shown (chat, a design doc's page).
16333
+ change_set: { label: "Change set", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CodingMergeIcon, { size: 24 }) }
16226
16334
  };
16227
16335
  function refGlyphRegistryEntries() {
16228
16336
  return registryEntries(
@@ -16236,8 +16344,8 @@ function refGlyphRegistryEntries() {
16236
16344
  title: displayRef.title,
16237
16345
  description: _nullishCoalesce(displayRef.preview, () => ( void 0)),
16238
16346
  cover: entityCover(
16239
- _optionalChain([displayRef, 'access', _463 => _463.metadata, 'optionalAccess', _464 => _464.videoPoster]),
16240
- _nullishCoalesce(_optionalChain([opts, 'access', _465 => _465.extras, 'optionalAccess', _466 => _466.buildOgPlaceholderUrl, 'optionalCall', _467 => _467(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
16347
+ _optionalChain([displayRef, 'access', _469 => _469.metadata, 'optionalAccess', _470 => _470.videoPoster]),
16348
+ _nullishCoalesce(_optionalChain([opts, 'access', _471 => _471.extras, 'optionalAccess', _472 => _472.buildOgPlaceholderUrl, 'optionalCall', _473 => _473(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
16241
16349
  ),
16242
16350
  fallbackIcon: cfg.icon(),
16243
16351
  status: { label: cfg.label, variant: "grey" },
@@ -16252,9 +16360,9 @@ function refGlyphRegistryEntries() {
16252
16360
  }
16253
16361
  function fetchedEmployeeEntryDisplayRef(item, chatRef) {
16254
16362
  const it = item;
16255
- const title = typeof _optionalChain([it, 'optionalAccess', _468 => _468.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
16256
- const author = typeof _optionalChain([it, 'optionalAccess', _469 => _469.author, 'optionalAccess', _470 => _470.full_name]) === "string" ? it.author.full_name.trim() : "";
16257
- const summary = typeof _optionalChain([it, 'optionalAccess', _471 => _471.summary]) === "string" ? it.summary.trim() : "";
16363
+ const title = typeof _optionalChain([it, 'optionalAccess', _474 => _474.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
16364
+ const author = typeof _optionalChain([it, 'optionalAccess', _475 => _475.author, 'optionalAccess', _476 => _476.full_name]) === "string" ? it.author.full_name.trim() : "";
16365
+ const summary = typeof _optionalChain([it, 'optionalAccess', _477 => _477.summary]) === "string" ? it.summary.trim() : "";
16258
16366
  const preview = [author, summary].filter((x) => x.length > 0).join(" \xB7 ");
16259
16367
  return { ...chatRef, title, preview: preview.length > 0 ? preview : chatRef.preview };
16260
16368
  }
@@ -16296,7 +16404,7 @@ function programRegistryEntries() {
16296
16404
  label: cfg.label,
16297
16405
  contentRefType: cfg.contentRefType,
16298
16406
  bareInline: true,
16299
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.ProgramCardSkeleton, { size: "sm" }),
16407
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.ProgramCardSkeleton, { size: "sm" }),
16300
16408
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16301
16409
  ProgramChatCard,
16302
16410
  {
@@ -16306,7 +16414,7 @@ function programRegistryEntries() {
16306
16414
  discuss: opts.discuss,
16307
16415
  configKey: cfg.configKey,
16308
16416
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
16309
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _472 => _472.extras, 'optionalAccess', _473 => _473.buildOgPlaceholderUrl, 'optionalCall', _474 => _474(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _475 => _475.title]), () => ( "")))]), () => ( null))
16417
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _478 => _478.extras, 'optionalAccess', _479 => _479.buildOgPlaceholderUrl, 'optionalCall', _480 => _480(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _481 => _481.title]), () => ( "")))]), () => ( null))
16310
16418
  }
16311
16419
  )
16312
16420
  }));
@@ -16327,7 +16435,7 @@ var ROADMAP_CARD_CONFIGS = {
16327
16435
  // The card's destination IS the ClickUp deep link, derived from the
16328
16436
  // task id post-fetch (the refs frame used to carry it).
16329
16437
  noComposedHref: true,
16330
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _476 => _476.id]) != null ? clickupTaskUrl(String(item.id)) : null
16438
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _482 => _482.id]) != null ? clickupTaskUrl(String(item.id)) : null
16331
16439
  }
16332
16440
  };
16333
16441
  function roadmapRegistryEntries() {
@@ -16337,7 +16445,7 @@ function roadmapRegistryEntries() {
16337
16445
  bareInline: true,
16338
16446
  ...cfg.noComposedHref ? { noComposedHref: true } : {},
16339
16447
  ...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
16340
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.RoadmapCardSkeleton, { size: "sm" }),
16448
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.RoadmapCardSkeleton, { size: "sm" }),
16341
16449
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16342
16450
  RoadmapChatCard,
16343
16451
  {
@@ -16369,8 +16477,8 @@ var CHAT_CARD_REGISTRY = {
16369
16477
  DeletedDataCard,
16370
16478
  {
16371
16479
  title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
16372
- entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _477 => _477.metadata, 'optionalAccess', _478 => _478.entity_label]), () => ( null)),
16373
- recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _479 => _479.metadata, 'optionalAccess', _480 => _480.recovery_note]), () => ( null))
16480
+ entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _483 => _483.metadata, 'optionalAccess', _484 => _484.entity_label]), () => ( null)),
16481
+ recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _485 => _485.metadata, 'optionalAccess', _486 => _486.recovery_note]), () => ( null))
16374
16482
  }
16375
16483
  )
16376
16484
  },
@@ -16387,7 +16495,7 @@ var CHAT_CARD_REGISTRY = {
16387
16495
  bareInline: true,
16388
16496
  contentRefType: "faq",
16389
16497
  noComposedHref: true,
16390
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _481 => _481.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
16498
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _487 => _487.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
16391
16499
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16392
16500
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
16393
16501
  },
@@ -16395,12 +16503,12 @@ var CHAT_CARD_REGISTRY = {
16395
16503
  // projection route; `extractCardItems` turns its object payload into the
16396
16504
  // single matched row. Destination is the public page unless the host
16397
16505
  // re-homes the type (`composeContentUrl` override).
16398
- [_chunk37NYF4W2cjs.TRUST_CENTER_DOCUMENT_TYPE]: {
16506
+ [_chunkQRUW4UXBcjs.TRUST_CENTER_DOCUMENT_TYPE]: {
16399
16507
  label: "Trust center",
16400
16508
  bareInline: true,
16401
- contentRefType: _chunk37NYF4W2cjs.TRUST_CENTER_DOCUMENT_TYPE,
16509
+ contentRefType: _chunkQRUW4UXBcjs.TRUST_CENTER_DOCUMENT_TYPE,
16402
16510
  noComposedHref: true,
16403
- fallbackHref: () => _chunk37NYF4W2cjs.TRUST_CENTER_PAGE_PATH,
16511
+ fallbackHref: () => _chunkQRUW4UXBcjs.TRUST_CENTER_PAGE_PATH,
16404
16512
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16405
16513
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
16406
16514
  },
@@ -16426,7 +16534,7 @@ var CHAT_CARD_REGISTRY = {
16426
16534
  label: "Blog post",
16427
16535
  contentRefType: "blog_post_existing",
16428
16536
  bareInline: true,
16429
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.BlogCardSkeleton, { size: "sm" }),
16537
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.BlogCardSkeleton, { size: "sm" }),
16430
16538
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16431
16539
  BlogChatCard,
16432
16540
  {
@@ -16434,8 +16542,8 @@ var CHAT_CARD_REGISTRY = {
16434
16542
  chatRef,
16435
16543
  isNewTab: opts.isNewTab,
16436
16544
  discuss: opts.discuss,
16437
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _482 => _482.extras, 'optionalAccess', _483 => _483.buildOgPlaceholderUrl, 'optionalCall', _484 => _484(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _485 => _485.title]), () => ( "")))]), () => ( null)),
16438
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _486 => _486.metadata, 'optionalAccess', _487 => _487.hasEmbeddedVideo]) === true
16545
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _488 => _488.extras, 'optionalAccess', _489 => _489.buildOgPlaceholderUrl, 'optionalCall', _490 => _490(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _491 => _491.title]), () => ( "")))]), () => ( null)),
16546
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _492 => _492.metadata, 'optionalAccess', _493 => _493.hasEmbeddedVideo]) === true
16439
16547
  }
16440
16548
  )
16441
16549
  },
@@ -16443,7 +16551,7 @@ var CHAT_CARD_REGISTRY = {
16443
16551
  label: "Case study",
16444
16552
  contentRefType: "case_study",
16445
16553
  bareInline: true,
16446
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.CaseStudyCardSkeleton, { size: "sm" }),
16554
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.CaseStudyCardSkeleton, { size: "sm" }),
16447
16555
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16448
16556
  CaseStudyChatCard,
16449
16557
  {
@@ -16451,15 +16559,24 @@ var CHAT_CARD_REGISTRY = {
16451
16559
  chatRef,
16452
16560
  isNewTab: opts.isNewTab,
16453
16561
  discuss: opts.discuss,
16454
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _488 => _488.extras, 'optionalAccess', _489 => _489.buildOgPlaceholderUrl, 'optionalCall', _490 => _490(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _491 => _491.title]), () => ( "")))]), () => ( null))
16562
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _494 => _494.extras, 'optionalAccess', _495 => _495.buildOgPlaceholderUrl, 'optionalCall', _496 => _496(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _497 => _497.title]), () => ( "")))]), () => ( null))
16455
16563
  }
16456
16564
  )
16457
16565
  },
16566
+ design_doc: {
16567
+ label: "Design doc",
16568
+ contentRefType: "design_doc",
16569
+ bareInline: true,
16570
+ noComposedHref: true,
16571
+ fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _498 => _498.url]), () => ( null)),
16572
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16573
+ render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesignDocChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
16574
+ },
16458
16575
  customer_interview: {
16459
16576
  label: "Customer interview",
16460
16577
  contentRefType: "customer_interview",
16461
16578
  bareInline: true,
16462
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.CustomerInterviewCardSkeleton, { size: "sm" }),
16579
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.CustomerInterviewCardSkeleton, { size: "sm" }),
16463
16580
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16464
16581
  CustomerInterviewChatCard,
16465
16582
  {
@@ -16467,7 +16584,7 @@ var CHAT_CARD_REGISTRY = {
16467
16584
  chatRef,
16468
16585
  isNewTab: opts.isNewTab,
16469
16586
  discuss: opts.discuss,
16470
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _492 => _492.extras, 'optionalAccess', _493 => _493.buildOgPlaceholderUrl, 'optionalCall', _494 => _494(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _495 => _495.title]), () => ( "")))]), () => ( null))
16587
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _499 => _499.extras, 'optionalAccess', _500 => _500.buildOgPlaceholderUrl, 'optionalCall', _501 => _501(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _502 => _502.title]), () => ( "")))]), () => ( null))
16471
16588
  }
16472
16589
  )
16473
16590
  },
@@ -16475,9 +16592,9 @@ var CHAT_CARD_REGISTRY = {
16475
16592
  label: "Product release",
16476
16593
  contentRefType: "product_release",
16477
16594
  bareInline: true,
16478
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.ProductReleaseCardSkeleton, { size: "sm" }),
16595
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.ProductReleaseCardSkeleton, { size: "sm" }),
16479
16596
  render: (item, chatRef, opts) => {
16480
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _496 => _496.extras, 'optionalAccess', _497 => _497.buildProductReleaseCardProps]), () => ( _chunk37NYF4W2cjs.defaultBuildProductReleaseCardProps));
16597
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _503 => _503.extras, 'optionalAccess', _504 => _504.buildProductReleaseCardProps]), () => ( _chunkQRUW4UXBcjs.defaultBuildProductReleaseCardProps));
16481
16598
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16482
16599
  ProductReleaseChatCard,
16483
16600
  {
@@ -16495,7 +16612,7 @@ var CHAT_CARD_REGISTRY = {
16495
16612
  label: "Investor update",
16496
16613
  contentRefType: "investor_update",
16497
16614
  bareInline: true,
16498
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.InvestorUpdateCardSkeleton, { size: "sm" }),
16615
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.InvestorUpdateCardSkeleton, { size: "sm" }),
16499
16616
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16500
16617
  InvestorUpdateChatCard,
16501
16618
  {
@@ -16503,7 +16620,7 @@ var CHAT_CARD_REGISTRY = {
16503
16620
  chatRef,
16504
16621
  isNewTab: opts.isNewTab,
16505
16622
  discuss: opts.discuss,
16506
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _498 => _498.extras, 'optionalAccess', _499 => _499.buildOgPlaceholderUrl, 'optionalCall', _500 => _500(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _501 => _501.title]), () => ( "")))]), () => ( null))
16623
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _505 => _505.extras, 'optionalAccess', _506 => _506.buildOgPlaceholderUrl, 'optionalCall', _507 => _507(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _508 => _508.title]), () => ( "")))]), () => ( null))
16507
16624
  }
16508
16625
  )
16509
16626
  },
@@ -16513,7 +16630,7 @@ var CHAT_CARD_REGISTRY = {
16513
16630
  bareInline: true,
16514
16631
  // "Display" affordance (verbatim guide body) instead of "Ask".
16515
16632
  displayAction: true,
16516
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.OnboardingGuideCardSkeleton, { size: "sm" }),
16633
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.OnboardingGuideCardSkeleton, { size: "sm" }),
16517
16634
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16518
16635
  OnboardingGuideChatCard,
16519
16636
  {
@@ -16521,7 +16638,7 @@ var CHAT_CARD_REGISTRY = {
16521
16638
  chatRef,
16522
16639
  isNewTab: opts.isNewTab,
16523
16640
  discuss: opts.discuss,
16524
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _502 => _502.extras, 'optionalAccess', _503 => _503.buildOgPlaceholderUrl, 'optionalCall', _504 => _504(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _505 => _505.title]), () => ( "")))]), () => ( null))
16641
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _509 => _509.extras, 'optionalAccess', _510 => _510.buildOgPlaceholderUrl, 'optionalCall', _511 => _511(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _512 => _512.title]), () => ( "")))]), () => ( null))
16525
16642
  }
16526
16643
  )
16527
16644
  },
@@ -16532,13 +16649,13 @@ var CHAT_CARD_REGISTRY = {
16532
16649
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
16533
16650
  // No public viewer — synthesize the hub-internal admin URL post-fetch
16534
16651
  // so the wrapper + isNewTab computation see the actual destination.
16535
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _506 => _506.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
16652
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _513 => _513.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
16536
16653
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
16537
16654
  },
16538
16655
  ...roadmapRegistryEntries()
16539
16656
  };
16540
16657
  function chatCardLabel(docType) {
16541
- return _optionalChain([CHAT_CARD_REGISTRY, 'access', _507 => _507[docType], 'optionalAccess', _508 => _508.label]);
16658
+ return _optionalChain([CHAT_CARD_REGISTRY, 'access', _514 => _514[docType], 'optionalAccess', _515 => _515.label]);
16542
16659
  }
16543
16660
  function ChatCardNavWrap({
16544
16661
  href,
@@ -16554,13 +16671,13 @@ function ChatCardNavWrap({
16554
16671
  if (!href) return;
16555
16672
  const targetEl = e.target;
16556
16673
  const host = e.currentTarget;
16557
- if (!_optionalChain([host, 'optionalAccess', _509 => _509.contains, 'call', _510 => _510(targetEl)])) return;
16558
- if (_optionalChain([targetEl, 'optionalAccess', _511 => _511.closest, 'optionalCall', _512 => _512("button")])) return;
16559
- if (!_optionalChain([targetEl, 'optionalAccess', _513 => _513.closest, 'optionalCall', _514 => _514("a")])) return;
16674
+ if (!_optionalChain([host, 'optionalAccess', _516 => _516.contains, 'call', _517 => _517(targetEl)])) return;
16675
+ if (_optionalChain([targetEl, 'optionalAccess', _518 => _518.closest, 'optionalCall', _519 => _519("button")])) return;
16676
+ if (!_optionalChain([targetEl, 'optionalAccess', _520 => _520.closest, 'optionalCall', _521 => _521("a")])) return;
16560
16677
  const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
16561
16678
  if (!handled) return;
16562
16679
  e.stopPropagation();
16563
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _515 => _515.closeChat])) panel.closeChat();
16680
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _522 => _522.closeChat])) panel.closeChat();
16564
16681
  };
16565
16682
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
16566
16683
  }
@@ -16582,7 +16699,7 @@ function ChatCardLoader({
16582
16699
  title: chatRef.title,
16583
16700
  externalUrl: chatRef.url,
16584
16701
  targetPlatform: chatRef.targetPlatform,
16585
- path: typeof _optionalChain([chatRef, 'access', _516 => _516.metadata, 'optionalAccess', _517 => _517.path]) === "string" ? chatRef.metadata.path : null
16702
+ path: typeof _optionalChain([chatRef, 'access', _523 => _523.metadata, 'optionalAccess', _524 => _524.path]) === "string" ? chatRef.metadata.path : null
16586
16703
  },
16587
16704
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
16588
16705
  );
@@ -16596,11 +16713,11 @@ function ChatCardLoader({
16596
16713
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
16597
16714
  const fetchEntry = entry && entry.contentRefType ? entry : null;
16598
16715
  const { item, isLoading, isError, isFetched } = useChatCardItem(
16599
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _518 => _518.contentRefType]), () => ( "")),
16716
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _525 => _525.contentRefType]), () => ( "")),
16600
16717
  fetchEntry ? resolvedChatRef.id : ""
16601
16718
  );
16602
16719
  if (!entry) return null;
16603
- const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _519 => _519.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
16720
+ const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _526 => _526.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
16604
16721
  contentRefType: fetchEntry.contentRefType,
16605
16722
  id: resolvedChatRef.id,
16606
16723
  item,
@@ -16608,18 +16725,18 @@ function ChatCardLoader({
16608
16725
  }) : null;
16609
16726
  const hrefChoice = fetchEntry && !resolvedChatRef.url && item ? pickFetchedCardHref({
16610
16727
  composed: composedHref,
16611
- itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _520 => _520.fallbackHref, 'optionalCall', _521 => _521(item)]), () => ( null)),
16728
+ itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _527 => _527.fallbackHref, 'optionalCall', _528 => _528(item)]), () => ( null)),
16612
16729
  allowComposed: !fetchEntry.noComposedHref
16613
16730
  }) : null;
16614
16731
  const hrefResolvedChatRef = hrefChoice ? {
16615
16732
  ...resolvedChatRef,
16616
- url: _chunk37NYF4W2cjs.safeHref.call(void 0, hrefChoice.href),
16733
+ url: _chunkQRUW4UXBcjs.safeHref.call(void 0, hrefChoice.href),
16617
16734
  // The `item` branch carries no platform of its own — keep the ref's.
16618
16735
  targetPlatform: _nullishCoalesce(_nullishCoalesce(hrefChoice.targetPlatform, () => ( resolvedChatRef.targetPlatform)), () => ( null))
16619
16736
  } : resolvedChatRef;
16620
16737
  const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
16621
16738
  const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
16622
- const isNewTab = _chunk37NYF4W2cjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
16739
+ const isNewTab = _chunkQRUW4UXBcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
16623
16740
  const useDisplay = !!entry.displayAction && !!onDisplay;
16624
16741
  const discussFn = useDisplay ? onDisplay : onDiscuss;
16625
16742
  const discuss = discussFn ? {
@@ -16642,7 +16759,7 @@ function ChatCardLoader({
16642
16759
  isNewTab,
16643
16760
  discuss
16644
16761
  };
16645
- const path = typeof _optionalChain([finalChatRef, 'access', _522 => _522.metadata, 'optionalAccess', _523 => _523.path]) === "string" ? finalChatRef.metadata.path : null;
16762
+ const path = typeof _optionalChain([finalChatRef, 'access', _529 => _529.metadata, 'optionalAccess', _530 => _530.path]) === "string" ? finalChatRef.metadata.path : null;
16646
16763
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16647
16764
  ChatCardNavWrap,
16648
16765
  {
@@ -16666,7 +16783,7 @@ function ChatCardLoader({
16666
16783
  if (!fetchEntry) {
16667
16784
  return finish(entry.render(void 0, finalChatRef, renderOpts));
16668
16785
  }
16669
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _524 => _524.skeleton, 'optionalCall', _525 => _525()]), () => ( null)) });
16786
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _531 => _531.skeleton, 'optionalCall', _532 => _532()]), () => ( null)) });
16670
16787
  if (!item) {
16671
16788
  if (isError) {
16672
16789
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
@@ -17029,7 +17146,7 @@ function useChunkCatchup({
17029
17146
  if (catchupRun.current === run) {
17030
17147
  if (currentDialogId !== dialogIdRef.current) {
17031
17148
  catchupRun.current = null;
17032
- if (_optionalChain([pendingCatchupRef, 'access', _526 => _526.current, 'optionalAccess', _527 => _527.dialogId]) === currentDialogId) {
17149
+ if (_optionalChain([pendingCatchupRef, 'access', _533 => _533.current, 'optionalAccess', _534 => _534.dialogId]) === currentDialogId) {
17033
17150
  pendingCatchupRef.current = null;
17034
17151
  }
17035
17152
  } else {
@@ -17040,7 +17157,7 @@ function useChunkCatchup({
17040
17157
  if (pending.dialogId === currentDialogId) {
17041
17158
  rearmForQueuedCatchup();
17042
17159
  try {
17043
- await _optionalChain([catchUpChunksRef, 'access', _528 => _528.current, 'optionalCall', _529 => _529(pending.fromSequenceId)]);
17160
+ await _optionalChain([catchUpChunksRef, 'access', _535 => _535.current, 'optionalCall', _536 => _536(pending.fromSequenceId)]);
17044
17161
  } catch (rerunError) {
17045
17162
  console.error("Queued catch-up re-run failed:", rerunError);
17046
17163
  }
@@ -17107,7 +17224,7 @@ function useChunkCatchup({
17107
17224
 
17108
17225
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
17109
17226
  function prefersReducedMotion() {
17110
- return typeof window !== "undefined" && _optionalChain([window, 'access', _530 => _530.matchMedia, 'optionalCall', _531 => _531("(prefers-reduced-motion: reduce)"), 'access', _532 => _532.matches]) === true;
17227
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _537 => _537.matchMedia, 'optionalCall', _538 => _538("(prefers-reduced-motion: reduce)"), 'access', _539 => _539.matches]) === true;
17111
17228
  }
17112
17229
  function useScriptedStream(frames, resetKey, enabled = true) {
17113
17230
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -17118,7 +17235,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
17118
17235
  setIndex(0);
17119
17236
  }
17120
17237
  _react.useEffect.call(void 0, () => {
17121
- const mq = _optionalChain([window, 'access', _533 => _533.matchMedia, 'optionalCall', _534 => _534("(prefers-reduced-motion: reduce)")]);
17238
+ const mq = _optionalChain([window, 'access', _540 => _540.matchMedia, 'optionalCall', _541 => _541("(prefers-reduced-motion: reduce)")]);
17122
17239
  const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
17123
17240
  sync();
17124
17241
  if (!mq) return void 0;
@@ -17261,7 +17378,7 @@ function useJetStreamDialogSubscription({
17261
17378
  const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
17262
17379
  conn: sharedConn,
17263
17380
  wsUrl,
17264
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _535 => _535.current, 'optionalCall', _536 => _536()]),
17381
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _542 => _542.current, 'optionalCall', _543 => _543()]),
17265
17382
  backoff: reconnectionBackoffRef.current,
17266
17383
  getFreshUrl: () => getNatsWsUrlRef.current(),
17267
17384
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -17276,7 +17393,7 @@ function useJetStreamDialogSubscription({
17276
17393
  setReconnectionCount((c) => c + 1);
17277
17394
  }
17278
17395
  hadConnectionBeforeRef.current = true;
17279
- _optionalChain([onConnectRef, 'access', _537 => _537.current, 'optionalCall', _538 => _538()]);
17396
+ _optionalChain([onConnectRef, 'access', _544 => _544.current, 'optionalCall', _545 => _545()]);
17280
17397
  }
17281
17398
  if (status === "error") {
17282
17399
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -17286,7 +17403,7 @@ function useJetStreamDialogSubscription({
17286
17403
  setIsConnected(false);
17287
17404
  setIsSubscribed(false);
17288
17405
  tearDownSubscription();
17289
- _optionalChain([onDisconnectRef, 'access', _539 => _539.current, 'optionalCall', _540 => _540()]);
17406
+ _optionalChain([onDisconnectRef, 'access', _546 => _546.current, 'optionalCall', _547 => _547()]);
17290
17407
  }
17291
17408
  }
17292
17409
  });
@@ -17412,7 +17529,7 @@ function useJetStreamDialogSubscription({
17412
17529
  }
17413
17530
  subscriptionRef.current = handle;
17414
17531
  setIsSubscribed(true);
17415
- _optionalChain([onSubscribedRef, 'access', _541 => _541.current, 'optionalCall', _542 => _542()]);
17532
+ _optionalChain([onSubscribedRef, 'access', _548 => _548.current, 'optionalCall', _549 => _549()]);
17416
17533
  } catch (e52) {
17417
17534
  if (!cancelled) {
17418
17535
  setIsSubscribed(false);
@@ -17528,20 +17645,20 @@ function useNatsDialogSubscription({
17528
17645
  const tearDownSubscriptions = () => {
17529
17646
  subscriptionRefs.current.forEach((sub) => {
17530
17647
  try {
17531
- _optionalChain([sub, 'optionalAccess', _543 => _543.unsubscribe, 'call', _544 => _544()]);
17648
+ _optionalChain([sub, 'optionalAccess', _550 => _550.unsubscribe, 'call', _551 => _551()]);
17532
17649
  } catch (e54) {
17533
17650
  }
17534
17651
  });
17535
17652
  subscriptionRefs.current.clear();
17536
17653
  lastSubscribedDialogIdRef.current = null;
17537
- _optionalChain([abortControllerRef, 'access', _545 => _545.current, 'optionalAccess', _546 => _546.abort, 'call', _547 => _547()]);
17654
+ _optionalChain([abortControllerRef, 'access', _552 => _552.current, 'optionalAccess', _553 => _553.abort, 'call', _554 => _554()]);
17538
17655
  abortControllerRef.current = null;
17539
17656
  };
17540
17657
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
17541
17658
  const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
17542
17659
  conn: sharedConn,
17543
17660
  wsUrl,
17544
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _548 => _548.current, 'optionalCall', _549 => _549()]),
17661
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _555 => _555.current, 'optionalCall', _556 => _556()]),
17545
17662
  backoff: reconnectionBackoffRef.current,
17546
17663
  getFreshUrl: () => getNatsWsUrlRef.current(),
17547
17664
  shouldRetryOn: isDisconnectStatus,
@@ -17552,7 +17669,7 @@ function useNatsDialogSubscription({
17552
17669
  setReconnectionCount((c) => c + 1);
17553
17670
  }
17554
17671
  hadConnectionBeforeRef.current = true;
17555
- _optionalChain([onConnectRef, 'access', _550 => _550.current, 'optionalCall', _551 => _551()]);
17672
+ _optionalChain([onConnectRef, 'access', _557 => _557.current, 'optionalCall', _558 => _558()]);
17556
17673
  }
17557
17674
  if (status === "error") {
17558
17675
  console.warn("[NATS] protocol error:", evt.data);
@@ -17562,7 +17679,7 @@ function useNatsDialogSubscription({
17562
17679
  setIsConnected(false);
17563
17680
  setIsSubscribed(false);
17564
17681
  tearDownSubscriptions();
17565
- _optionalChain([onDisconnectRef, 'access', _552 => _552.current, 'optionalCall', _553 => _553()]);
17682
+ _optionalChain([onDisconnectRef, 'access', _559 => _559.current, 'optionalCall', _560 => _560()]);
17566
17683
  }
17567
17684
  }
17568
17685
  });
@@ -17593,13 +17710,13 @@ function useNatsDialogSubscription({
17593
17710
  setIsSubscribed(false);
17594
17711
  subscriptionRefs.current.forEach((sub) => {
17595
17712
  try {
17596
- _optionalChain([sub, 'optionalAccess', _554 => _554.unsubscribe, 'call', _555 => _555()]);
17713
+ _optionalChain([sub, 'optionalAccess', _561 => _561.unsubscribe, 'call', _562 => _562()]);
17597
17714
  } catch (e55) {
17598
17715
  }
17599
17716
  });
17600
17717
  subscriptionRefs.current.clear();
17601
17718
  lastSubscribedDialogIdRef.current = null;
17602
- _optionalChain([abortControllerRef, 'access', _556 => _556.current, 'optionalAccess', _557 => _557.abort, 'call', _558 => _558()]);
17719
+ _optionalChain([abortControllerRef, 'access', _563 => _563.current, 'optionalAccess', _564 => _564.abort, 'call', _565 => _565()]);
17603
17720
  abortControllerRef.current = null;
17604
17721
  }
17605
17722
  return void 0;
@@ -17611,12 +17728,12 @@ function useNatsDialogSubscription({
17611
17728
  if (subscriptionRefs.current.size > 0) {
17612
17729
  subscriptionRefs.current.forEach((sub) => {
17613
17730
  try {
17614
- _optionalChain([sub, 'optionalAccess', _559 => _559.unsubscribe, 'call', _560 => _560()]);
17731
+ _optionalChain([sub, 'optionalAccess', _566 => _566.unsubscribe, 'call', _567 => _567()]);
17615
17732
  } catch (e56) {
17616
17733
  }
17617
17734
  });
17618
17735
  subscriptionRefs.current.clear();
17619
- _optionalChain([abortControllerRef, 'access', _561 => _561.current, 'optionalAccess', _562 => _562.abort, 'call', _563 => _563()]);
17736
+ _optionalChain([abortControllerRef, 'access', _568 => _568.current, 'optionalAccess', _569 => _569.abort, 'call', _570 => _570()]);
17620
17737
  }
17621
17738
  abortControllerRef.current = new AbortController();
17622
17739
  const abort = abortControllerRef.current;
@@ -17646,7 +17763,7 @@ function useNatsDialogSubscription({
17646
17763
  });
17647
17764
  lastSubscribedDialogIdRef.current = dialogId;
17648
17765
  setIsSubscribed(true);
17649
- _optionalChain([onSubscribedRef, 'access', _564 => _564.current, 'optionalCall', _565 => _565()]);
17766
+ _optionalChain([onSubscribedRef, 'access', _571 => _571.current, 'optionalCall', _572 => _572()]);
17650
17767
  };
17651
17768
  if (isConnectedRef.current) {
17652
17769
  createSubscriptions();
@@ -17657,7 +17774,7 @@ function useNatsDialogSubscription({
17657
17774
  abort.abort();
17658
17775
  subscriptions.forEach((sub) => {
17659
17776
  try {
17660
- _optionalChain([sub, 'optionalAccess', _566 => _566.unsubscribe, 'call', _567 => _567()]);
17777
+ _optionalChain([sub, 'optionalAccess', _573 => _573.unsubscribe, 'call', _574 => _574()]);
17661
17778
  } catch (e58) {
17662
17779
  }
17663
17780
  });
@@ -17696,7 +17813,7 @@ function useNatsDialogSubscription({
17696
17813
  });
17697
17814
  lastSubscribedDialogIdRef.current = currentDialogId;
17698
17815
  setIsSubscribed(true);
17699
- _optionalChain([onSubscribedRef, 'access', _568 => _568.current, 'optionalCall', _569 => _569()]);
17816
+ _optionalChain([onSubscribedRef, 'access', _575 => _575.current, 'optionalCall', _576 => _576()]);
17700
17817
  } else if (subscriptionRefs.current.size > 0) {
17701
17818
  setIsSubscribed(true);
17702
17819
  }
@@ -17704,10 +17821,10 @@ function useNatsDialogSubscription({
17704
17821
  return { isConnected, isSubscribed, reconnectionCount };
17705
17822
  }
17706
17823
  function buildNatsWsUrl(apiBaseUrl, options) {
17707
- const path = _optionalChain([options, 'optionalAccess', _570 => _570.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
17824
+ const path = _optionalChain([options, 'optionalAccess', _577 => _577.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
17708
17825
  const u = new URL(path, apiBaseUrl);
17709
17826
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
17710
- if (_optionalChain([options, 'optionalAccess', _571 => _571.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _572 => _572.token])) {
17827
+ if (_optionalChain([options, 'optionalAccess', _578 => _578.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _579 => _579.token])) {
17711
17828
  u.searchParams.set("authorization", options.token);
17712
17829
  }
17713
17830
  return u.toString();
@@ -17725,7 +17842,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
17725
17842
  const data = await res.json();
17726
17843
  return _nullishCoalesce(data.commands, () => ( []));
17727
17844
  } catch (err) {
17728
- if (_optionalChain([err, 'optionalAccess', _573 => _573.name]) === "AbortError") throw err;
17845
+ if (_optionalChain([err, 'optionalAccess', _580 => _580.name]) === "AbortError") throw err;
17729
17846
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
17730
17847
  return [];
17731
17848
  }
@@ -17733,8 +17850,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
17733
17850
  var NO_COMMANDS = [];
17734
17851
  function useSlashCommands(prefix, commandsUrl) {
17735
17852
  const [answered, setAnswered] = _react.useState.call(void 0, null);
17736
- const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _574 => _574.prefix]) === prefix ? answered.commands : NO_COMMANDS;
17737
- const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _575 => _575.prefix]) !== prefix;
17853
+ const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _581 => _581.prefix]) === prefix ? answered.commands : NO_COMMANDS;
17854
+ const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _582 => _582.prefix]) !== prefix;
17738
17855
  _react.useEffect.call(void 0, () => {
17739
17856
  if (prefix == null) return void 0;
17740
17857
  let cancelled = false;
@@ -17744,7 +17861,7 @@ function useSlashCommands(prefix, commandsUrl) {
17744
17861
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
17745
17862
  if (!cancelled) setAnswered({ prefix, commands: next });
17746
17863
  } catch (err) {
17747
- if (!cancelled && _optionalChain([err, 'optionalAccess', _576 => _576.name]) !== "AbortError") {
17864
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _583 => _583.name]) !== "AbortError") {
17748
17865
  console.warn("[use-slash-commands] fetch failed:", err);
17749
17866
  setAnswered({ prefix, commands: NO_COMMANDS });
17750
17867
  }
@@ -17767,7 +17884,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
17767
17884
  const query = _reactquery.useQuery.call(void 0, {
17768
17885
  queryKey: ["chat-slash-commands", commandsUrl],
17769
17886
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
17770
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _577 => _577.enabled]), () => ( true)),
17887
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _584 => _584.enabled]), () => ( true)),
17771
17888
  staleTime: Infinity,
17772
17889
  gcTime: Infinity,
17773
17890
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -17806,21 +17923,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
17806
17923
  }
17807
17924
  const data = await res.json();
17808
17925
  return {
17809
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _578 => _578.name]), () => ( null)),
17810
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _579 => _579.icon]), () => ( null)),
17811
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _580 => _580.greeting]), () => ( null)),
17812
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _581 => _581.enabledRagTableIds]), () => ( [])),
17813
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _582 => _582.quickActions]), () => ( [])),
17814
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _583 => _583.suggestedQueries]), () => ( []))
17926
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _585 => _585.name]), () => ( null)),
17927
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _586 => _586.icon]), () => ( null)),
17928
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _587 => _587.greeting]), () => ( null)),
17929
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _588 => _588.enabledRagTableIds]), () => ( [])),
17930
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _589 => _589.quickActions]), () => ( [])),
17931
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _590 => _590.suggestedQueries]), () => ( []))
17815
17932
  };
17816
17933
  } catch (err) {
17817
- if (_optionalChain([err, 'optionalAccess', _584 => _584.name]) === "AbortError") throw err;
17934
+ if (_optionalChain([err, 'optionalAccess', _591 => _591.name]) === "AbortError") throw err;
17818
17935
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
17819
17936
  return EMPTY_STATE_FALLBACK;
17820
17937
  }
17821
17938
  }
17822
17939
  function useEmptyStateConfig(emptyStateUrl, options) {
17823
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _585 => _585.enabled]), () => ( true))) && !!emptyStateUrl;
17940
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _592 => _592.enabled]), () => ( true))) && !!emptyStateUrl;
17824
17941
  const query = _reactquery.useQuery.call(void 0, {
17825
17942
  queryKey: ["chat-empty-state", emptyStateUrl],
17826
17943
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -17849,7 +17966,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
17849
17966
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
17850
17967
  function uploadWithProgress(url, file, token, onProgress, signal) {
17851
17968
  return new Promise((resolve, reject) => {
17852
- if (_optionalChain([signal, 'optionalAccess', _586 => _586.aborted])) {
17969
+ if (_optionalChain([signal, 'optionalAccess', _593 => _593.aborted])) {
17853
17970
  reject(new Error("Upload cancelled"));
17854
17971
  return;
17855
17972
  }
@@ -17891,7 +18008,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
17891
18008
  const handleSignalAbort = () => {
17892
18009
  xhr.abort();
17893
18010
  };
17894
- _optionalChain([signal, 'optionalAccess', _587 => _587.addEventListener, 'call', _588 => _588("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
18011
+ _optionalChain([signal, 'optionalAccess', _594 => _594.addEventListener, 'call', _595 => _595("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
17895
18012
  xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
17896
18013
  xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
17897
18014
  xhr.addEventListener("error", handleError, { signal: listeners.signal });
@@ -17935,10 +18052,10 @@ function useChatAttachments() {
17935
18052
  try {
17936
18053
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
17937
18054
  } catch (err) {
17938
- if (_optionalChain([ctrl, 'optionalAccess', _589 => _589.signal, 'access', _590 => _590.aborted])) return;
18055
+ if (_optionalChain([ctrl, 'optionalAccess', _596 => _596.signal, 'access', _597 => _597.aborted])) return;
17939
18056
  throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
17940
18057
  }
17941
- if (_optionalChain([ctrl, 'optionalAccess', _591 => _591.signal, 'access', _592 => _592.aborted])) return;
18058
+ if (_optionalChain([ctrl, 'optionalAccess', _598 => _598.signal, 'access', _599 => _599.aborted])) return;
17942
18059
  if (!sniffed) {
17943
18060
  throw new Error("Unrecognized file format");
17944
18061
  }
@@ -17952,7 +18069,7 @@ function useChatAttachments() {
17952
18069
  const urlResp = await _chunkXOGD2AMEcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
17953
18070
  method: "POST",
17954
18071
  headers: { "Content-Type": "application/json" },
17955
- signal: _optionalChain([ctrl, 'optionalAccess', _593 => _593.signal]),
18072
+ signal: _optionalChain([ctrl, 'optionalAccess', _600 => _600.signal]),
17956
18073
  body: JSON.stringify({
17957
18074
  fileName: att.file.name,
17958
18075
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -17981,9 +18098,9 @@ function useChatAttachments() {
17981
18098
  (pct) => {
17982
18099
  updateOne(att.id, { progress: pct });
17983
18100
  },
17984
- _optionalChain([ctrl, 'optionalAccess', _594 => _594.signal])
18101
+ _optionalChain([ctrl, 'optionalAccess', _601 => _601.signal])
17985
18102
  );
17986
- if (_optionalChain([ctrl, 'optionalAccess', _595 => _595.signal, 'access', _596 => _596.aborted])) return;
18103
+ if (_optionalChain([ctrl, 'optionalAccess', _602 => _602.signal, 'access', _603 => _603.aborted])) return;
17987
18104
  updateOne(att.id, {
17988
18105
  status: "ready",
17989
18106
  progress: 100,
@@ -17991,7 +18108,7 @@ function useChatAttachments() {
17991
18108
  viewToken: mintData.viewToken
17992
18109
  });
17993
18110
  } catch (err) {
17994
- if (_optionalChain([ctrl, 'optionalAccess', _597 => _597.signal, 'access', _598 => _598.aborted])) return;
18111
+ if (_optionalChain([ctrl, 'optionalAccess', _604 => _604.signal, 'access', _605 => _605.aborted])) return;
17995
18112
  const message = err instanceof Error ? err.message : String(err);
17996
18113
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
17997
18114
  } finally {
@@ -18113,7 +18230,7 @@ function useChatAttachmentImageGallery() {
18113
18230
  return () => root.removeEventListener("click", onClick);
18114
18231
  }, [viewUrlPrefix]);
18115
18232
  const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18116
- _chunk37NYF4W2cjs.ImageGalleryModal,
18233
+ _chunkQRUW4UXBcjs.ImageGalleryModal,
18117
18234
  {
18118
18235
  images: state.images,
18119
18236
  isOpen: state.isOpen,
@@ -18140,11 +18257,11 @@ var ANON_DEFAULTS = {
18140
18257
  function useResolveChatIdentity(enabled) {
18141
18258
  const runtime = _chunkU2YLMFJKcjs.useRequiredChatRuntime.call(void 0, );
18142
18259
  const url = runtime.endpoints.identityUrl;
18143
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkXOGD2AMEcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _599 => _599.email]), () => ( null));
18260
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkXOGD2AMEcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _606 => _606.email]), () => ( null));
18144
18261
  const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
18145
18262
  const [resolved, setResolved] = _react.useState.call(void 0, null);
18146
- const data = _optionalChain([resolved, 'optionalAccess', _600 => _600.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
18147
- const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _601 => _601.key]) !== requestKey;
18263
+ const data = _optionalChain([resolved, 'optionalAccess', _607 => _607.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
18264
+ const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _608 => _608.key]) !== requestKey;
18148
18265
  _react.useEffect.call(void 0, () => {
18149
18266
  if (requestKey === null) return void 0;
18150
18267
  let cancelled = false;
@@ -18291,7 +18408,7 @@ function useChat({
18291
18408
  onMessagesChangeRef.current = onMessagesChange;
18292
18409
  });
18293
18410
  _react.useEffect.call(void 0, () => {
18294
- _optionalChain([onMessagesChangeRef, 'access', _602 => _602.current, 'optionalCall', _603 => _603(messages)]);
18411
+ _optionalChain([onMessagesChangeRef, 'access', _609 => _609.current, 'optionalCall', _610 => _610(messages)]);
18295
18412
  }, [messages]);
18296
18413
  const {
18297
18414
  streamMessage,
@@ -18328,7 +18445,7 @@ function useChat({
18328
18445
  name: "You",
18329
18446
  content: text2,
18330
18447
  timestamp: /* @__PURE__ */ new Date(),
18331
- ..._optionalChain([options, 'optionalAccess', _604 => _604.hidden]) ? { hidden: true } : {}
18448
+ ..._optionalChain([options, 'optionalAccess', _611 => _611.hidden]) ? { hidden: true } : {}
18332
18449
  };
18333
18450
  addMessage(userMessage);
18334
18451
  setIsTyping(true);
@@ -18542,7 +18659,7 @@ function buildConfirmToolBody(request) {
18542
18659
  async function readServerErrorMessage(response) {
18543
18660
  try {
18544
18661
  const body = await response.json();
18545
- if (typeof _optionalChain([body, 'optionalAccess', _605 => _605.error]) === "string" && body.error.length > 0) return body.error;
18662
+ if (typeof _optionalChain([body, 'optionalAccess', _612 => _612.error]) === "string" && body.error.length > 0) return body.error;
18546
18663
  } catch (e60) {
18547
18664
  }
18548
18665
  return null;
@@ -18832,7 +18949,7 @@ function nullableText(value) {
18832
18949
  }
18833
18950
  function httpsUrl(value) {
18834
18951
  const candidate = text(value);
18835
- if (!candidate || _chunk37NYF4W2cjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
18952
+ if (!candidate || _chunkQRUW4UXBcjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
18836
18953
  try {
18837
18954
  return new URL(candidate).protocol === "https:" ? candidate : void 0;
18838
18955
  } catch (e64) {
@@ -18849,7 +18966,7 @@ function youtubeVideoId(value) {
18849
18966
  const hostname = parsed.hostname.toLowerCase();
18850
18967
  const isYoutubeHost = hostname === "youtu.be" || hostname === "youtube.com" || hostname.endsWith(".youtube.com");
18851
18968
  if (!isYoutubeHost) return void 0;
18852
- const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access', _606 => _606.exec, 'call', _607 => _607(parsed.pathname), 'optionalAccess', _608 => _608[1]]);
18969
+ const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access', _613 => _613.exec, 'call', _614 => _614(parsed.pathname), 'optionalAccess', _615 => _615[1]]);
18853
18970
  const id = _nullishCoalesce(_nullishCoalesce(fromPath, () => ( parsed.searchParams.get("v"))), () => ( void 0));
18854
18971
  return id && YOUTUBE_ID.test(id) ? id : void 0;
18855
18972
  }
@@ -18968,11 +19085,11 @@ function cards(value, decodedSources) {
18968
19085
  {
18969
19086
  type,
18970
19087
  id,
18971
- title: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _609 => _609.name]), () => ( id)),
18972
- url: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _610 => _610.externalUrl]), () => ( null)),
18973
- ..._optionalChain([source, 'optionalAccess', _611 => _611.sourceRepo]) ? { sourceRepo: source.sourceRepo } : {},
18974
- ..._optionalChain([source, 'optionalAccess', _612 => _612.targetPlatform]) !== void 0 ? { targetPlatform: source.targetPlatform } : {},
18975
- ..._optionalChain([source, 'optionalAccess', _613 => _613.path]) ? { metadata: { path: source.path } } : {}
19088
+ title: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _616 => _616.name]), () => ( id)),
19089
+ url: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _617 => _617.externalUrl]), () => ( null)),
19090
+ ..._optionalChain([source, 'optionalAccess', _618 => _618.sourceRepo]) ? { sourceRepo: source.sourceRepo } : {},
19091
+ ..._optionalChain([source, 'optionalAccess', _619 => _619.targetPlatform]) !== void 0 ? { targetPlatform: source.targetPlatform } : {},
19092
+ ..._optionalChain([source, 'optionalAccess', _620 => _620.path]) ? { metadata: { path: source.path } } : {}
18976
19093
  }
18977
19094
  ];
18978
19095
  });
@@ -18998,11 +19115,11 @@ function sourceMetadataEvent(payload) {
18998
19115
  }
18999
19116
  function mergeSourceMetadata(previous, event) {
19000
19117
  const byIndex = /* @__PURE__ */ new Map();
19001
- for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _614 => _614.sources]), () => ( [])), ..._nullishCoalesce(event.sources, () => ( []))]) {
19118
+ for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _621 => _621.sources]), () => ( [])), ..._nullishCoalesce(event.sources, () => ( []))]) {
19002
19119
  if (!byIndex.has(source.index)) byIndex.set(source.index, source);
19003
19120
  }
19004
19121
  const byIdentity = /* @__PURE__ */ new Map();
19005
- for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _615 => _615.refs]), () => ( [])), ..._nullishCoalesce(event.refs, () => ( []))]) {
19122
+ for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _622 => _622.refs]), () => ( [])), ..._nullishCoalesce(event.refs, () => ( []))]) {
19006
19123
  const identity = `${ref.type}:${ref.id}`;
19007
19124
  if (!byIdentity.has(identity)) byIdentity.set(identity, ref);
19008
19125
  }
@@ -19088,9 +19205,9 @@ function appendToTrailingAssistant(prev, segments) {
19088
19205
  for (const seg of segments) {
19089
19206
  const tail = merged[merged.length - 1];
19090
19207
  const key = upsertKey(seg);
19091
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _616 => _616.type]) === "text") {
19208
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _623 => _623.type]) === "text") {
19092
19209
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
19093
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _617 => _617.type]) === "thinking") {
19210
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _624 => _624.type]) === "thinking") {
19094
19211
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
19095
19212
  } else if (key) {
19096
19213
  let idx = merged.findIndex((m) => upsertKey(m) === key);
@@ -19131,7 +19248,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
19131
19248
  }
19132
19249
  if (s.type !== "approval_batch") return s;
19133
19250
  const isAnchor = s.data.approvalRequestId === requestId;
19134
- const hasRow = _optionalChain([s, 'access', _618 => _618.data, 'access', _619 => _619.toolCalls, 'optionalAccess', _620 => _620.some, 'call', _621 => _621((c) => c.toolExecutionRequestId === requestId)]);
19251
+ const hasRow = _optionalChain([s, 'access', _625 => _625.data, 'access', _626 => _626.toolCalls, 'optionalAccess', _627 => _627.some, 'call', _628 => _628((c) => c.toolExecutionRequestId === requestId)]);
19135
19252
  if (!isAnchor && !hasRow) return s;
19136
19253
  const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
19137
19254
  const nextExecutions = hasRow ? {
@@ -19153,8 +19270,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
19153
19270
  };
19154
19271
  }
19155
19272
  function nextBatchExecution(prevExec, toolData) {
19156
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _622 => _622.status]) === "done") return null;
19157
- return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _623 => _623.result]), success: _optionalChain([prevExec, 'optionalAccess', _624 => _624.success]) };
19273
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _629 => _629.status]) === "done") return null;
19274
+ return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _630 => _630.result]), success: _optionalChain([prevExec, 'optionalAccess', _631 => _631.success]) };
19158
19275
  }
19159
19276
  function withBatchExecution(seg, execId, state) {
19160
19277
  return {
@@ -19171,11 +19288,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
19171
19288
  }
19172
19289
  function projectBatchRowFailureToMessages(prev, rowRequestId) {
19173
19290
  return mapSegments(prev, (s) => {
19174
- if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _625 => _625.data, 'access', _626 => _626.toolCalls, 'optionalAccess', _627 => _627.some, 'call', _628 => _628((c) => c.toolExecutionRequestId === rowRequestId)])) {
19291
+ if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _632 => _632.data, 'access', _633 => _633.toolCalls, 'optionalAccess', _634 => _634.some, 'call', _635 => _635((c) => c.toolExecutionRequestId === rowRequestId)])) {
19175
19292
  return s;
19176
19293
  }
19177
- const existing = _optionalChain([s, 'access', _629 => _629.data, 'access', _630 => _630.executions, 'optionalAccess', _631 => _631[rowRequestId]]);
19178
- if (_optionalChain([existing, 'optionalAccess', _632 => _632.status]) === "done") return s;
19294
+ const existing = _optionalChain([s, 'access', _636 => _636.data, 'access', _637 => _637.executions, 'optionalAccess', _638 => _638[rowRequestId]]);
19295
+ if (_optionalChain([existing, 'optionalAccess', _639 => _639.status]) === "done") return s;
19179
19296
  return withBatchExecution(s, rowRequestId, { status: "done", success: false });
19180
19297
  });
19181
19298
  }
@@ -19211,7 +19328,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
19211
19328
  for (let j = message.segments.length - 1; j >= 0; j--) {
19212
19329
  const seg = message.segments[j];
19213
19330
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
19214
- const prevExec = _optionalChain([seg, 'access', _633 => _633.data, 'access', _634 => _634.executions, 'optionalAccess', _635 => _635[execId]]);
19331
+ const prevExec = _optionalChain([seg, 'access', _640 => _640.data, 'access', _641 => _641.executions, 'optionalAccess', _642 => _642[execId]]);
19215
19332
  const nextExec = nextBatchExecution(prevExec, toolData);
19216
19333
  if (nextExec === null) return prev;
19217
19334
  if (sameExecutionState(prevExec, nextExec)) return prev;
@@ -19384,9 +19501,9 @@ var MessageSegmentAccumulator = class {
19384
19501
  type: "tool_execution",
19385
19502
  data: {
19386
19503
  ...toolData,
19387
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _636 => _636.data, 'access', _637 => _637.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _638 => _638.toolTitle]))),
19388
- toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _639 => _639.data, 'access', _640 => _640.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _641 => _641.toolExplanation]))),
19389
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _642 => _642.parameters])
19504
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _643 => _643.data, 'access', _644 => _644.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _645 => _645.toolTitle]))),
19505
+ toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _646 => _646.data, 'access', _647 => _647.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _648 => _648.toolExplanation]))),
19506
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _649 => _649.parameters])
19390
19507
  }
19391
19508
  };
19392
19509
  if (existingIndex !== -1) {
@@ -19410,7 +19527,7 @@ var MessageSegmentAccumulator = class {
19410
19527
  if (seg.type !== "approval_batch") return seg;
19411
19528
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
19412
19529
  if (!hasCall) return seg;
19413
- const prev = _optionalChain([seg, 'access', _643 => _643.data, 'access', _644 => _644.executions, 'optionalAccess', _645 => _645[execId]]);
19530
+ const prev = _optionalChain([seg, 'access', _650 => _650.data, 'access', _651 => _651.executions, 'optionalAccess', _652 => _652[execId]]);
19414
19531
  const next = nextBatchExecution(prev, toolData);
19415
19532
  matched = true;
19416
19533
  if (next === null) return seg;
@@ -19544,8 +19661,8 @@ var MessageSegmentAccumulator = class {
19544
19661
  requestId,
19545
19662
  {
19546
19663
  ...pendingApproval,
19547
- command: _optionalChain([pendingApproval, 'optionalAccess', _646 => _646.command]) || "",
19548
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _647 => _647.approvalType]) || approvalType
19664
+ command: _optionalChain([pendingApproval, 'optionalAccess', _653 => _653.command]) || "",
19665
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _654 => _654.approvalType]) || approvalType
19549
19666
  },
19550
19667
  status
19551
19668
  );
@@ -19570,9 +19687,9 @@ var MessageSegmentAccumulator = class {
19570
19687
  type: "escalation_offer",
19571
19688
  // The resolved chunk carries no text/origin — a redelivered offer must
19572
19689
  // not blank the card the PENDING chunk already painted.
19573
- data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess', _648 => _648.data, 'access', _649 => _649.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _650 => _650.data, 'access', _651 => _651.origin]))) },
19690
+ data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess', _655 => _655.data, 'access', _656 => _656.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _657 => _657.data, 'access', _658 => _658.origin]))) },
19574
19691
  status,
19575
- resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _652 => _652.resolvedByName]))),
19692
+ resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _659 => _659.resolvedByName]))),
19576
19693
  onApprove: this.callbacks.onEscalationApprove,
19577
19694
  onReject: this.callbacks.onEscalationReject
19578
19695
  };
@@ -19897,7 +20014,7 @@ function createChatStreamReducer(options = {}) {
19897
20014
  let stateCache = null;
19898
20015
  function invalidate() {
19899
20016
  stateCache = null;
19900
- _optionalChain([onChange, 'optionalCall', _653 => _653()]);
20017
+ _optionalChain([onChange, 'optionalCall', _660 => _660()]);
19901
20018
  }
19902
20019
  function getState() {
19903
20020
  if (!stateCache) {
@@ -19913,7 +20030,7 @@ function createChatStreamReducer(options = {}) {
19913
20030
  return stateCache;
19914
20031
  }
19915
20032
  function emit(name, ...args) {
19916
- _optionalChain([onEffect, 'optionalCall', _654 => _654({ name, args })]);
20033
+ _optionalChain([onEffect, 'optionalCall', _661 => _661({ name, args })]);
19917
20034
  }
19918
20035
  function setMessagesInternal(next) {
19919
20036
  if (next !== messages) {
@@ -19956,12 +20073,12 @@ function createChatStreamReducer(options = {}) {
19956
20073
  return stampTrailingAssistantSourceMetadata(stampTrailingAssistantSeq(next, seq));
19957
20074
  }
19958
20075
  function applySegmentsToState(segments, meta) {
19959
- const seq = _optionalChain([meta, 'optionalAccess', _655 => _655.streamSeq]);
19960
- if (_optionalChain([meta, 'optionalAccess', _656 => _656.append]) && meta.isCompacting) {
20076
+ const seq = _optionalChain([meta, 'optionalAccess', _662 => _662.streamSeq]);
20077
+ if (_optionalChain([meta, 'optionalAccess', _663 => _663.append]) && meta.isCompacting) {
19961
20078
  setMessagesInternal(commitTrailingAssistant(upsertTrailingCompaction(messages, segments), seq));
19962
20079
  return;
19963
20080
  }
19964
- if (_optionalChain([meta, 'optionalAccess', _657 => _657.append])) {
20081
+ if (_optionalChain([meta, 'optionalAccess', _664 => _664.append])) {
19965
20082
  setMessagesInternal(commitTrailingAssistant(appendToTrailingAssistant(messages, segments), seq));
19966
20083
  return;
19967
20084
  }
@@ -19973,7 +20090,7 @@ function createChatStreamReducer(options = {}) {
19973
20090
  adoptTrailingAssistant = false;
19974
20091
  const last = messages[messages.length - 1];
19975
20092
  if (!last || last.role !== "assistant" || adoptTail) return;
19976
- const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _658 => _658.segments, 'optionalAccess', _659 => _659.length]), () => ( 0))) > 0 || last.content !== "";
20093
+ const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _665 => _665.segments, 'optionalAccess', _666 => _666.length]), () => ( 0))) > 0 || last.content !== "";
19977
20094
  if (!hasContent) return;
19978
20095
  setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
19979
20096
  }
@@ -20192,13 +20309,13 @@ function createChatStreamReducer(options = {}) {
20192
20309
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
20193
20310
  pendingEscalated.set(requestId, {
20194
20311
  command: summary,
20195
- explanation: _optionalChain([required, 'optionalAccess', _660 => _660.toolExplanation]),
20312
+ explanation: _optionalChain([required, 'optionalAccess', _667 => _667.toolExplanation]),
20196
20313
  approvalType,
20197
20314
  toolCalls
20198
20315
  });
20199
20316
  emit("onEscalatedApproval", requestId, {
20200
20317
  command: summary,
20201
- explanation: _optionalChain([required, 'optionalAccess', _661 => _661.toolExplanation]),
20318
+ explanation: _optionalChain([required, 'optionalAccess', _668 => _668.toolExplanation]),
20202
20319
  approvalType
20203
20320
  });
20204
20321
  break;
@@ -20582,7 +20699,7 @@ function createChatStreamReducer(options = {}) {
20582
20699
  const resolveBatch = (status, confirm) => async () => {
20583
20700
  setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
20584
20701
  for (const id of ids) {
20585
- const ok = await _optionalChain([confirm, 'optionalCall', _662 => _662(id)]);
20702
+ const ok = await _optionalChain([confirm, 'optionalCall', _669 => _669(id)]);
20586
20703
  if (ok === false) {
20587
20704
  setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
20588
20705
  }
@@ -20718,8 +20835,8 @@ function createChatStreamReducer(options = {}) {
20718
20835
  }
20719
20836
  }
20720
20837
  }
20721
- hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _663 => _663.resumed]), () => ( messages.length > 0)));
20722
- if (_optionalChain([extras, 'optionalAccess', _664 => _664.agentBusy])) agentBusyState();
20838
+ hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _670 => _670.resumed]), () => ( messages.length > 0)));
20839
+ if (_optionalChain([extras, 'optionalAccess', _671 => _671.agentBusy])) agentBusyState();
20723
20840
  invalidate();
20724
20841
  }
20725
20842
  return {
@@ -20804,7 +20921,7 @@ function createChatStreamReducer(options = {}) {
20804
20921
  },
20805
20922
  endSseTurn() {
20806
20923
  const last = messages[messages.length - 1];
20807
- if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _665 => _665.segments, 'optionalAccess', _666 => _666.length]), () => ( 0))) === 0 && last.content === "") {
20924
+ if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _672 => _672.segments, 'optionalAccess', _673 => _673.length]), () => ( 0))) === 0 && last.content === "") {
20808
20925
  messages = messages.slice(0, -1);
20809
20926
  }
20810
20927
  sseCurrentText = "";
@@ -20957,10 +21074,10 @@ function createChatDialogStore(options = {}) {
20957
21074
  if (onEvict) {
20958
21075
  const sep = key.indexOf(KEY_SEP);
20959
21076
  onEvict(key.slice(0, sep), key.slice(sep + 1), {
20960
- messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _667 => _667.state, 'access', _668 => _668.messages]), () => ( EMPTY_STATE.messages)),
20961
- approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _669 => _669.state, 'access', _670 => _670.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
20962
- lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _671 => _671.getLastAppliedSeq, 'call', _672 => _672()]), () => ( Number.NEGATIVE_INFINITY)),
20963
- pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _673 => _673.getPendingEchoes, 'call', _674 => _674()]), () => ( EMPTY_PENDING_ECHOES))
21077
+ messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _674 => _674.state, 'access', _675 => _675.messages]), () => ( EMPTY_STATE.messages)),
21078
+ approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _676 => _676.state, 'access', _677 => _677.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
21079
+ lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _678 => _678.getLastAppliedSeq, 'call', _679 => _679()]), () => ( Number.NEGATIVE_INFINITY)),
21080
+ pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _680 => _680.getPendingEchoes, 'call', _681 => _681()]), () => ( EMPTY_PENDING_ECHOES))
20964
21081
  });
20965
21082
  }
20966
21083
  }
@@ -20970,12 +21087,12 @@ function createChatDialogStore(options = {}) {
20970
21087
  const key = keyOf(dialogId, side);
20971
21088
  let reducer = reducers.get(key);
20972
21089
  if (!reducer) {
20973
- const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _675 => _675(dialogId, side)]), () => ( {}));
21090
+ const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _682 => _682(dialogId, side)]), () => ( {}));
20974
21091
  const userOnChange = base.onChange;
20975
21092
  reducer = createChatStreamReducer({
20976
21093
  ...base,
20977
21094
  onChange: () => {
20978
- _optionalChain([userOnChange, 'optionalCall', _676 => _676()]);
21095
+ _optionalChain([userOnChange, 'optionalCall', _683 => _683()]);
20979
21096
  notify();
20980
21097
  }
20981
21098
  });
@@ -21020,7 +21137,7 @@ function createChatDialogStore(options = {}) {
21020
21137
  };
21021
21138
  }
21022
21139
  function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
21023
- return _nullishCoalesce(_optionalChain([reducers, 'access', _677 => _677.get, 'call', _678 => _678(keyOf(dialogId, side)), 'optionalAccess', _679 => _679.state]), () => ( EMPTY_STATE));
21140
+ return _nullishCoalesce(_optionalChain([reducers, 'access', _684 => _684.get, 'call', _685 => _685(keyOf(dialogId, side)), 'optionalAccess', _686 => _686.state]), () => ( EMPTY_STATE));
21024
21141
  }
21025
21142
  function getServerSnapshot2() {
21026
21143
  return EMPTY_STATE;
@@ -21112,7 +21229,7 @@ function createDeltaBatcher({
21112
21229
  pending = [];
21113
21230
  const key = pendingKey;
21114
21231
  for (const delta of batch) applyOne(delta, key);
21115
- _optionalChain([onFlushed, 'optionalCall', _680 => _680(batch.length)]);
21232
+ _optionalChain([onFlushed, 'optionalCall', _687 => _687(batch.length)]);
21116
21233
  }
21117
21234
  function schedule() {
21118
21235
  if (raf !== null || timer !== null) return;
@@ -21136,7 +21253,7 @@ function createDeltaBatcher({
21136
21253
  }
21137
21254
  if (!isDeltaEvent(event)) return false;
21138
21255
  const tail = pending[pending.length - 1];
21139
- const seqAdvances = _optionalChain([tail, 'optionalAccess', _681 => _681.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
21256
+ const seqAdvances = _optionalChain([tail, 'optionalAccess', _688 => _688.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
21140
21257
  if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
21141
21258
  pending[pending.length - 1] = {
21142
21259
  ...tail,
@@ -21167,7 +21284,7 @@ function useChatStreamReducer({
21167
21284
  side = DEFAULT_DIALOG_SIDE,
21168
21285
  createReducerOptions
21169
21286
  }) {
21170
- const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _682 => _682()]), () => ( {})));
21287
+ const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _689 => _689()]), () => ( {})));
21171
21288
  const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
21172
21289
  const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
21173
21290
  const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
@@ -21206,7 +21323,7 @@ var STORAGE_KEY = "conversation";
21206
21323
  var namespaceFor = (source) => {
21207
21324
  const base = `mingo-chat-${source}`;
21208
21325
  const auth = _chunkXOGD2AMEcjs.getEmbedProxyAuth.call(void 0, );
21209
- return _optionalChain([auth, 'optionalAccess', _683 => _683.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
21326
+ return _optionalChain([auth, 'optionalAccess', _690 => _690.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
21210
21327
  };
21211
21328
  function createChatConversationStorage(source) {
21212
21329
  return _chunkXOGD2AMEcjs.createLocalStorageAdapter.call(void 0, {
@@ -21318,7 +21435,7 @@ function formatSingularLookupInvocation(cmdId, value) {
21318
21435
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
21319
21436
  }
21320
21437
  function extractEntityIdFilter(override, expectedTableId) {
21321
- const f = _optionalChain([override, 'optionalAccess', _684 => _684.entityIdFilter]);
21438
+ const f = _optionalChain([override, 'optionalAccess', _691 => _691.entityIdFilter]);
21322
21439
  if (!f) return null;
21323
21440
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
21324
21441
  const id = typeof f.id === "string" ? f.id : "";
@@ -21357,7 +21474,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
21357
21474
  function buildAutoContinuationDirective(toolName, opts = {}) {
21358
21475
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
21359
21476
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
21360
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _685 => _685.status, 'optionalAccess', _686 => _686.toUpperCase, 'call', _687 => _687()]) === "CLOSED";
21477
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _692 => _692.status, 'optionalAccess', _693 => _693.toUpperCase, 'call', _694 => _694()]) === "CLOSED";
21361
21478
  if (toolName === "create_ticket") {
21362
21479
  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.`;
21363
21480
  }
@@ -21407,7 +21524,7 @@ function useChatHistoryHydration({
21407
21524
  if (cancelled) return;
21408
21525
  if (rows.length === 0) {
21409
21526
  const found = isRecord(body) ? body.found : void 0;
21410
- if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall', _688 => _688(conversationId)]);
21527
+ if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall', _695 => _695(conversationId)]);
21411
21528
  return;
21412
21529
  }
21413
21530
  const hydrated = [];
@@ -21551,7 +21668,7 @@ function useManagedDialogList({
21551
21668
  try {
21552
21669
  await deleteDialogCallback(id);
21553
21670
  removeLocal(id);
21554
- _optionalChain([onDialogRemovedRef, 'access', _689 => _689.current, 'optionalCall', _690 => _690(id, "deleted")]);
21671
+ _optionalChain([onDialogRemovedRef, 'access', _696 => _696.current, 'optionalCall', _697 => _697(id, "deleted")]);
21555
21672
  } catch (err) {
21556
21673
  console.error(`${logTag} deleteDialog failed:`, err);
21557
21674
  throw err;
@@ -21562,7 +21679,7 @@ function useManagedDialogList({
21562
21679
  const renameDialog = _react.useCallback.call(void 0,
21563
21680
  async (id, title) => {
21564
21681
  if (!renameDialogCallback) return;
21565
- const previous = _optionalChain([dialogsRef, 'access', _691 => _691.current, 'access', _692 => _692.find, 'call', _693 => _693((d) => d.id === id), 'optionalAccess', _694 => _694.title]);
21682
+ const previous = _optionalChain([dialogsRef, 'access', _698 => _698.current, 'access', _699 => _699.find, 'call', _700 => _700((d) => d.id === id), 'optionalAccess', _701 => _701.title]);
21566
21683
  setDialogs((prev) => prev.map((d) => d.id === id ? { ...d, title } : d));
21567
21684
  try {
21568
21685
  await renameDialogCallback(id, title);
@@ -21581,7 +21698,7 @@ function useManagedDialogList({
21581
21698
  try {
21582
21699
  await archiveDialogCallback(id);
21583
21700
  removeLocal(id);
21584
- _optionalChain([onDialogRemovedRef, 'access', _695 => _695.current, 'optionalCall', _696 => _696(id, "archived")]);
21701
+ _optionalChain([onDialogRemovedRef, 'access', _702 => _702.current, 'optionalCall', _703 => _703(id, "archived")]);
21585
21702
  } catch (err) {
21586
21703
  console.error(`${logTag} archiveDialog failed:`, err);
21587
21704
  throw err;
@@ -21673,7 +21790,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21673
21790
  const { active = true } = runtimeOptions;
21674
21791
  const runtime = _chunkU2YLMFJKcjs.useRequiredChatRuntime.call(void 0, );
21675
21792
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
21676
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _697 => _697.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
21793
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _704 => _704.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
21677
21794
  const sendMessageRef = _react.useRef.call(void 0,
21678
21795
  () => Promise.resolve(true)
21679
21796
  );
@@ -21709,7 +21826,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21709
21826
  if (!restoredConversationRef.current) {
21710
21827
  restoredConversationRef.current = true;
21711
21828
  pruneStaleChatConversationStorage(source);
21712
- conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _698 => _698.load, 'call', _699 => _699(), 'optionalAccess', _700 => _700.conversationId]), () => ( null));
21829
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _705 => _705.load, 'call', _706 => _706(), 'optionalAccess', _707 => _707.conversationId]), () => ( null));
21713
21830
  }
21714
21831
  const [conversationId, setConversationId] = _react.useState.call(void 0, () => conversationIdRef.current);
21715
21832
  const commitConversationId = _react.useCallback.call(void 0,
@@ -21800,7 +21917,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21800
21917
  const abortControllerRef = _react.useRef.call(void 0, null);
21801
21918
  const switchConversation = _react.useCallback.call(void 0,
21802
21919
  (id) => {
21803
- _optionalChain([abortControllerRef, 'access', _701 => _701.current, 'optionalAccess', _702 => _702.abort, 'call', _703 => _703()]);
21920
+ _optionalChain([abortControllerRef, 'access', _708 => _708.current, 'optionalAccess', _709 => _709.abort, 'call', _710 => _710()]);
21804
21921
  flushDeltas();
21805
21922
  mutate((r) => r.reset());
21806
21923
  hydrationSendCountRef.current = 0;
@@ -21837,8 +21954,8 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21837
21954
  } = useManagedDialogList({
21838
21955
  autoLoad: active,
21839
21956
  fetchDialogs: fetchActiveDialogs,
21840
- renameDialog: _optionalChain([conversationsApi, 'optionalAccess', _704 => _704.renameDialog]),
21841
- archiveDialog: _optionalChain([conversationsApi, 'optionalAccess', _705 => _705.archiveDialog]),
21957
+ renameDialog: _optionalChain([conversationsApi, 'optionalAccess', _711 => _711.renameDialog]),
21958
+ archiveDialog: _optionalChain([conversationsApi, 'optionalAccess', _712 => _712.archiveDialog]),
21842
21959
  pageSize: 20,
21843
21960
  search: conversationsApi ? dialogSearch : void 0,
21844
21961
  logTag: "[useSseChatAdapter]",
@@ -21902,7 +22019,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21902
22019
  const serverMessage = await readServerErrorMessage(response);
21903
22020
  throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
21904
22021
  }
21905
- const reader = _optionalChain([response, 'access', _706 => _706.body, 'optionalAccess', _707 => _707.getReader, 'call', _708 => _708()]);
22022
+ const reader = _optionalChain([response, 'access', _713 => _713.body, 'optionalAccess', _714 => _714.getReader, 'call', _715 => _715()]);
21906
22023
  if (!reader) throw new Error("No response body");
21907
22024
  const frameDecoder = createSseFrameDecoder();
21908
22025
  let finished = false;
@@ -21931,7 +22048,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21931
22048
  }
21932
22049
  return true;
21933
22050
  } catch (err) {
21934
- if (_optionalChain([err, 'optionalAccess', _709 => _709.name]) === "AbortError" || ctrl.signal.aborted) {
22051
+ if (_optionalChain([err, 'optionalAccess', _716 => _716.name]) === "AbortError" || ctrl.signal.aborted) {
21935
22052
  return true;
21936
22053
  }
21937
22054
  flushDeltas();
@@ -21967,7 +22084,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21967
22084
  );
21968
22085
  sendMessageRef.current = sendMessage;
21969
22086
  const stopMessage = _react.useCallback.call(void 0, () => {
21970
- _optionalChain([abortControllerRef, 'access', _710 => _710.current, 'optionalAccess', _711 => _711.abort, 'call', _712 => _712()]);
22087
+ _optionalChain([abortControllerRef, 'access', _717 => _717.current, 'optionalAccess', _718 => _718.abort, 'call', _719 => _719()]);
21971
22088
  flushDeltas();
21972
22089
  mutate((r) => r.setPhase("idle"));
21973
22090
  }, [mutate, flushDeltas]);
@@ -22003,7 +22120,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
22003
22120
  let sendIdx = -1;
22004
22121
  return state.messages.map((m) => {
22005
22122
  const segments = m.segments;
22006
- const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _713 => _713.filter, 'call', _714 => _714((s) => s.type === "text"), 'access', _715 => _715.map, 'call', _716 => _716((s) => s.text), 'access', _717 => _717.join, 'call', _718 => _718("")]), () => ( ""));
22123
+ const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _720 => _720.filter, 'call', _721 => _721((s) => s.type === "text"), 'access', _722 => _722.map, 'call', _723 => _723((s) => s.text), 'access', _724 => _724.join, 'call', _725 => _725("")]), () => ( ""));
22007
22124
  let sources2;
22008
22125
  let scrollAnchor;
22009
22126
  if (m.role === "user" && !m.hidden) {
@@ -22012,7 +22129,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
22012
22129
  if (m.role === "assistant") {
22013
22130
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
22014
22131
  sources2 = sourcesMap.get(lookupIdx);
22015
- scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _719 => _719.get, 'call', _720 => _720(lookupIdx), 'optionalAccess', _721 => _721.scrollAnchor]), () => ( void 0));
22132
+ scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _726 => _726.get, 'call', _727 => _727(lookupIdx), 'optionalAccess', _728 => _728.scrollAnchor]), () => ( void 0));
22016
22133
  }
22017
22134
  return {
22018
22135
  id: m.id,
@@ -22039,7 +22156,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
22039
22156
  );
22040
22157
  return;
22041
22158
  }
22042
- const refSlug = typeof _optionalChain([reference, 'access', _722 => _722.metadata, 'optionalAccess', _723 => _723.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
22159
+ const refSlug = typeof _optionalChain([reference, 'access', _729 => _729.metadata, 'optionalAccess', _730 => _730.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
22043
22160
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
22044
22161
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
22045
22162
  const text2 = `/${cmdId} display "${escaped}"`;
@@ -22085,18 +22202,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
22085
22202
  /** True while the mount-time rebuild from the server transcript runs. */
22086
22203
  isHydratingHistory,
22087
22204
  /** Provider key for the lib's `<ModelDisplay>` icon. */
22088
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _724 => _724.provider]), () => ( null)),
22089
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _725 => _725.modelLabel]), () => ( null)),
22090
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _726 => _726.contextWindowMaxTokens]), () => ( null)),
22205
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _731 => _731.provider]), () => ( null)),
22206
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _732 => _732.modelLabel]), () => ( null)),
22207
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _733 => _733.contextWindowMaxTokens]), () => ( null)),
22091
22208
  /** Input tokens (known after server's message_start frame; null until). */
22092
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _727 => _727.inputTokens]), () => ( null)),
22209
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _734 => _734.inputTokens]), () => ( null)),
22093
22210
  /** Output tokens (known only after server's trailing usage frame). */
22094
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _728 => _728.outputTokens]), () => ( null)),
22211
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _735 => _735.outputTokens]), () => ( null)),
22095
22212
  /** Cache hit % (read / total-input × 100). null during streaming. */
22096
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _729 => _729.cacheHitRatePct]), () => ( null)),
22213
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _736 => _736.cacheHitRatePct]), () => ( null)),
22097
22214
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
22098
22215
  * token counts). null until the trailing usage frame lands. */
22099
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _730 => _730.breakdown]), () => ( null)),
22216
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _737 => _737.breakdown]), () => ( null)),
22100
22217
  // ─── Dialog management ───────────────────────────────────────────────
22101
22218
  // With `chatConversationsUrl` the server transcript store IS the dialog
22102
22219
  // list (shared `useManagedDialogList`); selecting a row re-hydrates through
@@ -22351,7 +22468,7 @@ function decodeNatsChunk(chunk) {
22351
22468
  userId: typeof data.userId === "string" ? data.userId : void 0,
22352
22469
  // Wire shape carries no label; fall back to the id (parity with
22353
22470
  // the history path in `process-historical-messages.ts`).
22354
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _731 => _731.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _732 => _732.id]) === "string").map((it) => ({
22471
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _738 => _738.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _739 => _739.id]) === "string").map((it) => ({
22355
22472
  type: it.type,
22356
22473
  id: it.id,
22357
22474
  label: it.id
@@ -22442,7 +22559,7 @@ function extractIncompleteMessageState(lastMessage) {
22442
22559
  }
22443
22560
  break;
22444
22561
  case "approval_batch": {
22445
- const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _733 => _733.data, 'access', _734 => _734.executions, 'optionalAccess', _735 => _735[c.toolExecutionRequestId], 'optionalAccess', _736 => _736.status]) === "done");
22562
+ const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _740 => _740.data, 'access', _741 => _741.executions, 'optionalAccess', _742 => _742[c.toolExecutionRequestId], 'optionalAccess', _743 => _743.status]) === "done");
22446
22563
  if (segment.status !== "rejected" && !allDone) {
22447
22564
  hasIncompleteState = true;
22448
22565
  }
@@ -22504,11 +22621,11 @@ function extractIncompleteMessageState(lastMessage) {
22504
22621
  function extractIncompleteTailState(messages) {
22505
22622
  if (!messages || messages.length === 0) return void 0;
22506
22623
  let start = messages.length;
22507
- while (start > 0 && _optionalChain([messages, 'access', _737 => _737[start - 1], 'optionalAccess', _738 => _738.role]) === "assistant") start -= 1;
22624
+ while (start > 0 && _optionalChain([messages, 'access', _744 => _744[start - 1], 'optionalAccess', _745 => _745.role]) === "assistant") start -= 1;
22508
22625
  if (start === messages.length) return void 0;
22509
22626
  const segments = [];
22510
22627
  for (let i = start; i < messages.length; i += 1) {
22511
- const content = _optionalChain([messages, 'access', _739 => _739[i], 'optionalAccess', _740 => _740.content]);
22628
+ const content = _optionalChain([messages, 'access', _746 => _746[i], 'optionalAccess', _747 => _747.content]);
22512
22629
  if (Array.isArray(content)) segments.push(...content);
22513
22630
  }
22514
22631
  if (segments.length === 0) return void 0;
@@ -22521,15 +22638,15 @@ function extractIncompleteTailState(messages) {
22521
22638
 
22522
22639
  // src/components/chat/utils/process-historical-messages.ts
22523
22640
  function getOwnerDisplayName(owner) {
22524
- if (_optionalChain([owner, 'optionalAccess', _741 => _741.type]) === OWNER_TYPE.ADMIN && owner.user) {
22641
+ if (_optionalChain([owner, 'optionalAccess', _748 => _748.type]) === OWNER_TYPE.ADMIN && owner.user) {
22525
22642
  const { firstName, lastName } = owner.user;
22526
22643
  const name = [firstName, lastName].filter(Boolean).join(" ");
22527
22644
  if (name) return name;
22528
22645
  }
22529
- return _optionalChain([owner, 'optionalAccess', _742 => _742.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
22646
+ return _optionalChain([owner, 'optionalAccess', _749 => _749.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
22530
22647
  }
22531
22648
  function getOwnerAvatar(owner) {
22532
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _743 => _743.user, 'optionalAccess', _744 => _744.image, 'optionalAccess', _745 => _745.imageUrl]), () => ( void 0));
22649
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _750 => _750.user, 'optionalAccess', _751 => _751.image, 'optionalAccess', _752 => _752.imageUrl]), () => ( void 0));
22533
22650
  }
22534
22651
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
22535
22652
  messageDataArray.forEach((data) => {
@@ -22719,7 +22836,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22719
22836
  event.offerId,
22720
22837
  event.text,
22721
22838
  event.origin,
22722
- _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _746 => _746[event.offerId]]), () => ( "pending"))
22839
+ _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _753 => _753[event.offerId]]), () => ( "pending"))
22723
22840
  );
22724
22841
  break;
22725
22842
  case "ticket-escalated":
@@ -22753,7 +22870,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22753
22870
  );
22754
22871
  break;
22755
22872
  case "escalation-offer-resolved":
22756
- _optionalChain([offerResolutions, 'optionalAccess', _747 => _747.set, 'call', _748 => _748(event.offerId, {
22873
+ _optionalChain([offerResolutions, 'optionalAccess', _754 => _754.set, 'call', _755 => _755(event.offerId, {
22757
22874
  status: event.status,
22758
22875
  resolvedByName: event.resolvedByName
22759
22876
  })]);
@@ -22817,7 +22934,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22817
22934
  }
22818
22935
  }
22819
22936
  } else {
22820
- _optionalChain([escalatedApprovals, 'optionalAccess', _749 => _749.set, 'call', _750 => _750(event.requestId, {
22937
+ _optionalChain([escalatedApprovals, 'optionalAccess', _756 => _756.set, 'call', _757 => _757(event.requestId, {
22821
22938
  command: event.command || "",
22822
22939
  explanation: event.explanation,
22823
22940
  approvalType,
@@ -22832,8 +22949,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22832
22949
  const existingStatus = approvalStatuses[requestId];
22833
22950
  const status = existingStatus || event.status;
22834
22951
  const resolvedByName = event.resolvedByName;
22835
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _751 => _751.get, 'call', _752 => _752(requestId)]);
22836
- if (_optionalChain([escalatedData, 'optionalAccess', _753 => _753.toolCalls]) && escalatedData.toolCalls.length > 0) {
22952
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _758 => _758.get, 'call', _759 => _759(requestId)]);
22953
+ if (_optionalChain([escalatedData, 'optionalAccess', _760 => _760.toolCalls]) && escalatedData.toolCalls.length > 0) {
22837
22954
  if (batchApprovalsEnabled) {
22838
22955
  accumulator.addApprovalBatch(
22839
22956
  requestId,
@@ -22855,7 +22972,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22855
22972
  );
22856
22973
  }
22857
22974
  }
22858
- _optionalChain([escalatedApprovals, 'optionalAccess', _754 => _754.delete, 'call', _755 => _755(requestId)]);
22975
+ _optionalChain([escalatedApprovals, 'optionalAccess', _761 => _761.delete, 'call', _762 => _762(requestId)]);
22859
22976
  break;
22860
22977
  }
22861
22978
  if (escalatedData) {
@@ -22864,7 +22981,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22864
22981
  explanation: escalatedData.explanation,
22865
22982
  approvalType: escalatedData.approvalType
22866
22983
  });
22867
- _optionalChain([escalatedApprovals, 'optionalAccess', _756 => _756.delete, 'call', _757 => _757(requestId)]);
22984
+ _optionalChain([escalatedApprovals, 'optionalAccess', _763 => _763.delete, 'call', _764 => _764(requestId)]);
22868
22985
  }
22869
22986
  const before = accumulator.getSegments();
22870
22987
  const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
@@ -22956,14 +23073,14 @@ function processHistoricalMessages(messages, options = {}) {
22956
23073
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
22957
23074
  return;
22958
23075
  }
22959
- const isUserMessage = _optionalChain([msg, 'access', _758 => _758.owner, 'optionalAccess', _759 => _759.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _760 => _760.owner, 'optionalAccess', _761 => _761.type]) === OWNER_TYPE.ADMIN;
23076
+ const isUserMessage = _optionalChain([msg, 'access', _765 => _765.owner, 'optionalAccess', _766 => _766.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _767 => _767.owner, 'optionalAccess', _768 => _768.type]) === OWNER_TYPE.ADMIN;
22960
23077
  if (isUserMessage) {
22961
23078
  flushAssistantMessage();
22962
- const userAuthorType = _optionalChain([msg, 'access', _762 => _762.owner, 'optionalAccess', _763 => _763.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
23079
+ const userAuthorType = _optionalChain([msg, 'access', _769 => _769.owner, 'optionalAccess', _770 => _770.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
22963
23080
  messageDataArray.forEach((data) => {
22964
23081
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
22965
23082
  const rawContext = data.contextItems;
22966
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _764 => _764.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _765 => _765.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
23083
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _771 => _771.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _772 => _772.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
22967
23084
  processedMessages.push({
22968
23085
  id: msg.id,
22969
23086
  role: "user",
@@ -23010,7 +23127,7 @@ function processHistoricalMessages(messages, options = {}) {
23010
23127
  });
23011
23128
  const nextMsg = messages[index + 1];
23012
23129
  const isLastMessage = index === messages.length - 1;
23013
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _766 => _766.owner, 'optionalAccess', _767 => _767.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _768 => _768.owner, 'optionalAccess', _769 => _769.type]) === OWNER_TYPE.ADMIN);
23130
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _773 => _773.owner, 'optionalAccess', _774 => _774.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _775 => _775.owner, 'optionalAccess', _776 => _776.type]) === OWNER_TYPE.ADMIN);
23014
23131
  if (isLastMessage || nextIsFromUser) {
23015
23132
  flushAssistantMessage();
23016
23133
  }
@@ -23393,7 +23510,7 @@ function useNatsChatAdapter(config, options = {}) {
23393
23510
  const connectionState = !active || !dialogId ? "connected" : connectedForDialog === dialogId ? "connected" : "connecting";
23394
23511
  const sendMessage = _react.useCallback.call(void 0,
23395
23512
  async (text2, sendOptions) => {
23396
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _770 => _770.hidden]), () => ( false));
23513
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _777 => _777.hidden]), () => ( false));
23397
23514
  mutate((r) => r.pushOptimisticSend(text2, hidden));
23398
23515
  await publishUserMessage(text2, { hidden, dialogId });
23399
23516
  },
@@ -23486,11 +23603,11 @@ function useNatsChatAdapter(config, options = {}) {
23486
23603
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
23487
23604
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
23488
23605
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
23489
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _771 => _771.provider]), () => ( modelProvider)), () => ( null)),
23490
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _772 => _772.modelLabel]), () => ( modelLabel)), () => ( null)),
23491
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _773 => _773.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _774 => _774.contextWindowMaxTokens]))), () => ( null)),
23492
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _775 => _775.inputTokensSize]), () => ( null)),
23493
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _776 => _776.outputTokensSize]), () => ( null)),
23606
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _778 => _778.provider]), () => ( modelProvider)), () => ( null)),
23607
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _779 => _779.modelLabel]), () => ( modelLabel)), () => ( null)),
23608
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _780 => _780.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _781 => _781.contextWindowMaxTokens]))), () => ( null)),
23609
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _782 => _782.inputTokensSize]), () => ( null)),
23610
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _783 => _783.outputTokensSize]), () => ( null)),
23494
23611
  currentCacheHitRatePct: null,
23495
23612
  currentUsageBreakdown: null,
23496
23613
  // Dialog management
@@ -23612,7 +23729,7 @@ function useUnifiedChat(options) {
23612
23729
  []
23613
23730
  );
23614
23731
  const displayRefForward = _react.useCallback.call(void 0,
23615
- (ref) => _optionalChain([activeStateRef, 'access', _777 => _777.current, 'access', _778 => _778.displayRef, 'optionalCall', _779 => _779(ref)]),
23732
+ (ref) => _optionalChain([activeStateRef, 'access', _784 => _784.current, 'access', _785 => _785.displayRef, 'optionalCall', _786 => _786(ref)]),
23616
23733
  []
23617
23734
  );
23618
23735
  const displayRef = activeState.displayRef ? displayRefForward : void 0;
@@ -23622,7 +23739,7 @@ function useUnifiedChat(options) {
23622
23739
  const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
23623
23740
  const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
23624
23741
  const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
23625
- const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _780 => _780.current, 'access', _781 => _781.setDialogScope, 'optionalCall', _782 => _782(scope)]), []);
23742
+ const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _787 => _787.current, 'access', _788 => _788.setDialogScope, 'optionalCall', _789 => _789(scope)]), []);
23626
23743
  const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
23627
23744
  const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
23628
23745
  const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
@@ -23730,19 +23847,19 @@ function turnRequestKeys(content) {
23730
23847
  if (!Array.isArray(content)) return keys;
23731
23848
  for (const seg of content) {
23732
23849
  if (seg.type === "tool_execution") {
23733
- const id = _optionalChain([seg, 'access', _783 => _783.data, 'optionalAccess', _784 => _784.toolExecutionRequestId]);
23850
+ const id = _optionalChain([seg, 'access', _790 => _790.data, 'optionalAccess', _791 => _791.toolExecutionRequestId]);
23734
23851
  if (id) keys.add(id);
23735
23852
  } else if (seg.type === "approval_request") {
23736
- const id = _optionalChain([seg, 'access', _785 => _785.data, 'optionalAccess', _786 => _786.requestId]);
23853
+ const id = _optionalChain([seg, 'access', _792 => _792.data, 'optionalAccess', _793 => _793.requestId]);
23737
23854
  if (id) keys.add(id);
23738
23855
  } else if (seg.type === "escalation_offer") {
23739
- const id = _optionalChain([seg, 'access', _787 => _787.data, 'optionalAccess', _788 => _788.offerId]);
23856
+ const id = _optionalChain([seg, 'access', _794 => _794.data, 'optionalAccess', _795 => _795.offerId]);
23740
23857
  if (id) keys.add(id);
23741
23858
  } else if (seg.type === "approval_batch") {
23742
23859
  const data = seg.data;
23743
- if (_optionalChain([data, 'optionalAccess', _789 => _789.approvalRequestId])) keys.add(data.approvalRequestId);
23744
- for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _790 => _790.toolCalls]), () => ( []))) {
23745
- if (_optionalChain([call, 'optionalAccess', _791 => _791.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
23860
+ if (_optionalChain([data, 'optionalAccess', _796 => _796.approvalRequestId])) keys.add(data.approvalRequestId);
23861
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _797 => _797.toolCalls]), () => ( []))) {
23862
+ if (_optionalChain([call, 'optionalAccess', _798 => _798.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
23746
23863
  }
23747
23864
  }
23748
23865
  }
@@ -23827,18 +23944,18 @@ function mergeHistoryWithRealtime(input) {
23827
23944
  }
23828
23945
  }
23829
23946
  const trailing = processedHistory[processedHistory.length - 1];
23830
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _792 => _792.role]) === "assistant" ? trailing : null;
23831
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _793 => _793.content, 'access', _794 => _794.find, 'call', _795 => _795((s) => s.type === "approval_batch"), 'optionalAccess', _796 => _796.data, 'optionalAccess', _797 => _797.approvalRequestId]), () => ( null)) : null;
23947
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _799 => _799.role]) === "assistant" ? trailing : null;
23948
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _800 => _800.content, 'access', _801 => _801.find, 'call', _802 => _802((s) => s.type === "approval_batch"), 'optionalAccess', _803 => _803.data, 'optionalAccess', _804 => _804.approvalRequestId]), () => ( null)) : null;
23832
23949
  let processedToUse = processedHistory;
23833
23950
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
23834
23951
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
23835
23952
  if (historyBatchId) {
23836
23953
  const batchTwins = existingMessages.filter(
23837
- (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _798 => _798.data, 'optionalAccess', _799 => _799.approvalRequestId]) === historyBatchId)
23954
+ (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _805 => _805.data, 'optionalAccess', _806 => _806.approvalRequestId]) === historyBatchId)
23838
23955
  );
23839
23956
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
23840
23957
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
23841
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _800 => _800.content])) ? historyTrailingAssistant.content.length : 0;
23958
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _807 => _807.content])) ? historyTrailingAssistant.content.length : 0;
23842
23959
  const realtimeSize = existingWithSameBatch.content.length;
23843
23960
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
23844
23961
  processedToUse = processedHistory.slice(0, -1);
@@ -23871,9 +23988,9 @@ function mergeHistoryWithRealtime(input) {
23871
23988
  const trailingAssistantText = lastProcessed && lastProcessed.role === "assistant" ? assistantAnswerText(lastProcessed.content) : "";
23872
23989
  const windowSignals = collectTwinSignals(processedToUse);
23873
23990
  const seenUserSyntheticByContent = /* @__PURE__ */ new Map();
23874
- const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _801 => _801.has, 'call', _802 => _802(m.id)]), () => ( false)));
23991
+ const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _808 => _808.has, 'call', _809 => _809(m.id)]), () => ( false)));
23875
23992
  const firstWindowIndex = existingMessages.findIndex(isInWindow);
23876
- const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _803 => _803.timestamp, 'optionalAccess', _804 => _804.getTime, 'call', _805 => _805()]), () => ( 0))) <= historyFetchedAt;
23993
+ const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _810 => _810.timestamp, 'optionalAccess', _811 => _811.getTime, 'call', _812 => _812()]), () => ( 0))) <= historyFetchedAt;
23877
23994
  let lastOlderPersistedIndex = -1;
23878
23995
  if (firstWindowIndex < 0) {
23879
23996
  for (const [index, m] of existingMessages.entries()) {
@@ -23891,7 +24008,7 @@ function mergeHistoryWithRealtime(input) {
23891
24008
  } else if (pm.role === "assistant") {
23892
24009
  windowHasUnstampedAssistant = true;
23893
24010
  }
23894
- const time = _optionalChain([pm, 'access', _806 => _806.timestamp, 'optionalAccess', _807 => _807.getTime, 'call', _808 => _808()]);
24011
+ const time = _optionalChain([pm, 'access', _813 => _813.timestamp, 'optionalAccess', _814 => _814.getTime, 'call', _815 => _815()]);
23895
24012
  if (typeof time === "number" && time < windowMinTime) windowMinTime = time;
23896
24013
  }
23897
24014
  const threadHasClientMintedRow = existingMessages.some((m) => isClientMintedId(m.id));
@@ -23909,14 +24026,14 @@ function mergeHistoryWithRealtime(input) {
23909
24026
  const verdict = twinVerdict(windowSignals, m);
23910
24027
  return verdict === "unknown" ? !seqCanMislead(m) : verdict === "distinct";
23911
24028
  }
23912
- const time = _optionalChain([m, 'access', _809 => _809.timestamp, 'optionalAccess', _810 => _810.getTime, 'call', _811 => _811()]);
24029
+ const time = _optionalChain([m, 'access', _816 => _816.timestamp, 'optionalAccess', _817 => _817.getTime, 'call', _818 => _818()]);
23913
24030
  if (typeof time !== "number" || time > historyFetchedAt) return false;
23914
24031
  if (!Number.isFinite(windowMinTime) || time >= windowMinTime) return false;
23915
24032
  return twinVerdict(windowSignals, m) === "distinct";
23916
24033
  };
23917
24034
  const keepRealtime = (m) => {
23918
24035
  if (m.role === "user" && isOptimisticId(m.id) && typeof m.content === "string") {
23919
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _812 => _812.timestamp, 'optionalAccess', _813 => _813.getTime, 'call', _814 => _814()]), () => ( 0))) <= historyFetchedAt;
24036
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _819 => _819.timestamp, 'optionalAccess', _820 => _820.getTime, 'call', _821 => _821()]), () => ( 0))) <= historyFetchedAt;
23920
24037
  return !(canBeInSnapshot && windowSignals.userContents.has(userTwinKey(m)));
23921
24038
  }
23922
24039
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -23941,7 +24058,7 @@ function mergeHistoryWithRealtime(input) {
23941
24058
  } else if (typeof m.streamSeq === "number") {
23942
24059
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
23943
24060
  } else {
23944
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _815 => _815.timestamp, 'optionalAccess', _816 => _816.getTime, 'call', _817 => _817()]), () => ( 0))) <= historyFetchedAt;
24061
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _822 => _822.timestamp, 'optionalAccess', _823 => _823.getTime, 'call', _824 => _824()]), () => ( 0))) <= historyFetchedAt;
23945
24062
  }
23946
24063
  if (covered) return false;
23947
24064
  }
@@ -24050,7 +24167,7 @@ function normalizeHistoricalMessageData(md) {
24050
24167
  function isHistoricalUserTurn(m) {
24051
24168
  return !!m.owner;
24052
24169
  }
24053
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _818 => _818.type]) === "TEXT" && typeof d.text === "string";
24170
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _825 => _825.type]) === "TEXT" && typeof d.text === "string";
24054
24171
  var THINK_MS = 550;
24055
24172
  var TOKEN_MS = 55;
24056
24173
  var USER_MS = 480;
@@ -24683,7 +24800,7 @@ function useChatDialogManager({
24683
24800
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
24684
24801
  if (restoreTarget) {
24685
24802
  try {
24686
- await _optionalChain([unarchiveDialog, 'optionalCall', _819 => _819(restoreTarget.id)]);
24803
+ await _optionalChain([unarchiveDialog, 'optionalCall', _826 => _826(restoreTarget.id)]);
24687
24804
  } catch (err) {
24688
24805
  console.error("[useChatDialogManager] unarchive failed:", err);
24689
24806
  return;
@@ -24932,7 +25049,7 @@ function SourceChip({
24932
25049
  const Icon = cta.icon;
24933
25050
  const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
24934
25051
  const chipClass = chatChipClass({ tone: "secondary" });
24935
- const decideTab = (href, targetPlatform) => _chunk37NYF4W2cjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
25052
+ const decideTab = (href, targetPlatform) => _chunkQRUW4UXBcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
24936
25053
  if (src.items && src.items.length > 0) {
24937
25054
  const dropdownItems = src.items.map((item) => {
24938
25055
  const itemCta = resolveSourceRowCTA(
@@ -25025,7 +25142,7 @@ function SourceChip({
25025
25142
  "a",
25026
25143
  {
25027
25144
  href: resolvedHref,
25028
- ..._chunk37NYF4W2cjs.newTabAnchorAttrs.call(void 0, isNewTab),
25145
+ ..._chunkQRUW4UXBcjs.newTabAnchorAttrs.call(void 0, isNewTab),
25029
25146
  onClick: buildClickHandler(resolvedHref, null, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
25030
25147
  className: chipClass,
25031
25148
  children: chipBody(src.name)
@@ -25041,7 +25158,7 @@ function SourceChip({
25041
25158
  "a",
25042
25159
  {
25043
25160
  href: resolvedHref,
25044
- ..._chunk37NYF4W2cjs.newTabAnchorAttrs.call(void 0, isNewTab),
25161
+ ..._chunkQRUW4UXBcjs.newTabAnchorAttrs.call(void 0, isNewTab),
25045
25162
  onClick: buildClickHandler(resolvedHref, src.path, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
25046
25163
  className: chipClass,
25047
25164
  title: displayName,
@@ -25234,7 +25351,7 @@ function EmbeddableChatInner({
25234
25351
  }),
25235
25352
  [commandsUrl]
25236
25353
  );
25237
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _820 => _820.name, 'optionalAccess', _821 => _821.trim, 'call', _822 => _822()]) || [_optionalChain([identityUser, 'optionalAccess', _823 => _823.firstName]), _optionalChain([identityUser, 'optionalAccess', _824 => _824.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _825 => _825.trim, 'call', _826 => _826()]) || void 0;
25354
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _827 => _827.name, 'optionalAccess', _828 => _828.trim, 'call', _829 => _829()]) || [_optionalChain([identityUser, 'optionalAccess', _830 => _830.firstName]), _optionalChain([identityUser, 'optionalAccess', _831 => _831.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _832 => _832.trim, 'call', _833 => _833()]) || void 0;
25238
25355
  const effectiveModes = _react.useMemo.call(void 0, () => {
25239
25356
  if (modes) return modes;
25240
25357
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -25249,7 +25366,7 @@ function EmbeddableChatInner({
25249
25366
  if (controlledActiveMode === void 0) {
25250
25367
  setUncontrolledActiveMode(next);
25251
25368
  }
25252
- _optionalChain([onActiveModeChange, 'optionalCall', _827 => _827(next)]);
25369
+ _optionalChain([onActiveModeChange, 'optionalCall', _834 => _834(next)]);
25253
25370
  },
25254
25371
  [controlledActiveMode, onActiveModeChange]
25255
25372
  );
@@ -25276,7 +25393,7 @@ function EmbeddableChatInner({
25276
25393
  );
25277
25394
  const effectiveAssistantName = emptyStateConfig.name;
25278
25395
  const effectiveAssistantIcon = emptyStateConfig.icon;
25279
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _828 => _828.title]) === "string" ? guideWelcome.title : null)));
25396
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _835 => _835.title]) === "string" ? guideWelcome.title : null)));
25280
25397
  const {
25281
25398
  messages: rawMessages,
25282
25399
  isLoading: chatLoading,
@@ -25319,8 +25436,8 @@ function EmbeddableChatInner({
25319
25436
  const mingoCaps = _react.useMemo.call(void 0,
25320
25437
  () => ({
25321
25438
  ...dialogCapabilities,
25322
- canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _829 => _829.canRename]), () => ( false)),
25323
- canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _830 => _830.canArchive]), () => ( false))
25439
+ canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _836 => _836.canRename]), () => ( false)),
25440
+ canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _837 => _837.canArchive]), () => ( false))
25324
25441
  }),
25325
25442
  [dialogCapabilities]
25326
25443
  );
@@ -25335,7 +25452,7 @@ function EmbeddableChatInner({
25335
25452
  void sendMessage(guidePendingPrompt).catch((err) => {
25336
25453
  console.error("[EmbeddableChat] guide launcher prompt failed:", err);
25337
25454
  });
25338
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _831 => _831()]);
25455
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _838 => _838()]);
25339
25456
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
25340
25457
  const {
25341
25458
  attachments: stagedAttachments,
@@ -25346,7 +25463,7 @@ function EmbeddableChatInner({
25346
25463
  clear: clearAttachments
25347
25464
  } = useChatAttachments();
25348
25465
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
25349
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _832 => _832.maxItems]), () => ( 10));
25466
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _839 => _839.maxItems]), () => ( 10));
25350
25467
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
25351
25468
  const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
25352
25469
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -25367,10 +25484,10 @@ function EmbeddableChatInner({
25367
25484
  }, [activeDialogId, activeMode]);
25368
25485
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
25369
25486
  const m = /* @__PURE__ */ new Map();
25370
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _833 => _833.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
25487
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _840 => _840.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
25371
25488
  return m;
25372
- }, [_optionalChain([contextPicker, 'optionalAccess', _834 => _834.entityTypes])]);
25373
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _835 => _835.entityTypes]);
25489
+ }, [_optionalChain([contextPicker, 'optionalAccess', _841 => _841.entityTypes])]);
25490
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _842 => _842.entityTypes]);
25374
25491
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
25375
25492
  const byType = /* @__PURE__ */ new Map();
25376
25493
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -25382,7 +25499,7 @@ function EmbeddableChatInner({
25382
25499
  if (mentionActiveRef.current) {
25383
25500
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
25384
25501
  if (contextItems.length >= contextMaxItems) return;
25385
- _optionalChain([chatInputRef, 'access', _836 => _836.current, 'optionalAccess', _837 => _837.commitMention, 'call', _838 => _838(mentionTokenOf(key, mentionMarkerByType), {
25502
+ _optionalChain([chatInputRef, 'access', _843 => _843.current, 'optionalAccess', _844 => _844.commitMention, 'call', _845 => _845(mentionTokenOf(key, mentionMarkerByType), {
25386
25503
  label: item.label,
25387
25504
  icon: resolveContextIcon(item)
25388
25505
  })]);
@@ -25405,9 +25522,9 @@ function EmbeddableChatInner({
25405
25522
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
25406
25523
  if (mentionKeysRef.current.has(key)) {
25407
25524
  mentionKeysRef.current.delete(key);
25408
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _839 => _839.current, 'optionalAccess', _840 => _840.getValue, 'call', _841 => _841()]), () => ( ""));
25525
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _846 => _846.current, 'optionalAccess', _847 => _847.getValue, 'call', _848 => _848()]), () => ( ""));
25409
25526
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
25410
- _optionalChain([chatInputRef, 'access', _842 => _842.current, 'optionalAccess', _843 => _843.setValue, 'call', _844 => _844(next)]);
25527
+ _optionalChain([chatInputRef, 'access', _849 => _849.current, 'optionalAccess', _850 => _850.setValue, 'call', _851 => _851(next)]);
25411
25528
  }
25412
25529
  },
25413
25530
  [mentionMarkerByType]
@@ -25429,7 +25546,7 @@ function EmbeddableChatInner({
25429
25546
  }, []);
25430
25547
  const closeContextPicker = _react.useCallback.call(void 0, () => {
25431
25548
  if (mentionActiveRef.current) {
25432
- _optionalChain([chatInputRef, 'access', _845 => _845.current, 'optionalAccess', _846 => _846.removeMentionTrigger, 'call', _847 => _847()]);
25549
+ _optionalChain([chatInputRef, 'access', _852 => _852.current, 'optionalAccess', _853 => _853.removeMentionTrigger, 'call', _854 => _854()]);
25433
25550
  }
25434
25551
  setContextPickerOpen(false);
25435
25552
  setMentionQuery(null);
@@ -25463,8 +25580,8 @@ function EmbeddableChatInner({
25463
25580
  [effectiveAssistantIcon]
25464
25581
  );
25465
25582
  const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
25466
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _848 => _848.firstName]), _optionalChain([identityUser, 'optionalAccess', _849 => _849.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _850 => _850.name, 'optionalAccess', _851 => _851.trim, 'call', _852 => _852()]) || void 0 : void 0;
25467
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _853 => _853.avatarUrl, 'optionalAccess', _854 => _854.trim, 'call', _855 => _855()]) || void 0 : void 0;
25583
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _855 => _855.firstName]), _optionalChain([identityUser, 'optionalAccess', _856 => _856.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _857 => _857.name, 'optionalAccess', _858 => _858.trim, 'call', _859 => _859()]) || void 0 : void 0;
25584
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _860 => _860.avatarUrl, 'optionalAccess', _861 => _861.trim, 'call', _862 => _862()]) || void 0 : void 0;
25468
25585
  const messages = _react.useMemo.call(void 0, () => {
25469
25586
  const options = { userName: guideUserName, userAvatar: guideUserAvatar, timestampCache };
25470
25587
  const mapped = rawMessages.map((m) => mapHostMessage(m, options));
@@ -25639,7 +25756,7 @@ function EmbeddableChatInner({
25639
25756
  _react.useEffect.call(void 0, () => {
25640
25757
  if (!panelBoundary || typeof ResizeObserver === "undefined") return void 0;
25641
25758
  const ro = new ResizeObserver((entries) => {
25642
- const w = _optionalChain([entries, 'access', _856 => _856[0], 'optionalAccess', _857 => _857.contentRect, 'optionalAccess', _858 => _858.width]);
25759
+ const w = _optionalChain([entries, 'access', _863 => _863[0], 'optionalAccess', _864 => _864.contentRect, 'optionalAccess', _865 => _865.width]);
25643
25760
  if (typeof w === "number") setPanelWidth(w);
25644
25761
  });
25645
25762
  ro.observe(panelBoundary);
@@ -25683,18 +25800,18 @@ function EmbeddableChatInner({
25683
25800
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen && !emptyListSkipped;
25684
25801
  const headerShowBack = hasConversation || guideCanReturnToMingo;
25685
25802
  const freshConversationTitle = isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "New Chat";
25686
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _859 => _859.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
25803
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _866 => _866.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
25687
25804
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
25688
25805
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
25689
25806
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
25690
25807
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
25691
25808
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
25692
- const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _860 => _860.onCopyLink, 'optionalCall', _861 => _861(activeDialog)]) : void 0;
25693
- const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access', _862 => _862.compactDialog, 'optionalCall', _863 => _863(activeDialog)]) : void 0;
25809
+ const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _867 => _867.onCopyLink, 'optionalCall', _868 => _868(activeDialog)]) : void 0;
25810
+ const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access', _869 => _869.compactDialog, 'optionalCall', _870 => _870(activeDialog)]) : void 0;
25694
25811
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
25695
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _864 => _864.owner]) : void 0;
25696
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _865 => _865.name, 'optionalAccess', _866 => _866.trim, 'call', _867 => _867()]) || headerUserName;
25697
- const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _868 => _868.avatarUrl, 'optionalAccess', _869 => _869.trim, 'call', _870 => _870()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _871 => _871.avatarUrl, 'optionalAccess', _872 => _872.trim, 'call', _873 => _873()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _874 => _874.trim, 'call', _875 => _875()]) || void 0;
25812
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _871 => _871.owner]) : void 0;
25813
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _872 => _872.name, 'optionalAccess', _873 => _873.trim, 'call', _874 => _874()]) || headerUserName;
25814
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _875 => _875.avatarUrl, 'optionalAccess', _876 => _876.trim, 'call', _877 => _877()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _878 => _878.avatarUrl, 'optionalAccess', _879 => _879.trim, 'call', _880 => _880()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _881 => _881.trim, 'call', _882 => _882()]) || void 0;
25698
25815
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
25699
25816
  const handleNewChat = _react.useCallback.call(void 0, () => {
25700
25817
  resetToNewChat();
@@ -25872,7 +25989,7 @@ function EmbeddableChatInner({
25872
25989
  headerAvatar ? (
25873
25990
  // Owner avatar at the title cell's right edge (Figma 113:63273).
25874
25991
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25875
- _chunk37NYF4W2cjs.SquareAvatar,
25992
+ _chunkQRUW4UXBcjs.SquareAvatar,
25876
25993
  {
25877
25994
  variant: "round",
25878
25995
  sizePx: 32,
@@ -26046,9 +26163,9 @@ function EmbeddableChatInner({
26046
26163
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
26047
26164
  subtitleLoading: emptyStateLoading,
26048
26165
  ...guideWelcome,
26049
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _876 => _876.title]))),
26050
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _877 => _877.icon]))),
26051
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _878 => _878.quickActions]), () => ( guideSuggestedActions)),
26166
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _883 => _883.title]))),
26167
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _884 => _884.icon]))),
26168
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _885 => _885.quickActions]), () => ( guideSuggestedActions)),
26052
26169
  onQuickAction: (action) => {
26053
26170
  setQuickActionPreview(null);
26054
26171
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -26123,8 +26240,8 @@ function EmbeddableChatInner({
26123
26240
  selectedContextItems: contextItems,
26124
26241
  onToggleContextItem: toggleContextItem,
26125
26242
  onRemoveContextItem: removeContextItem,
26126
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _879 => _879.items]),
26127
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _880 => _880.onRemove]),
26243
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _886 => _886.items]),
26244
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _887 => _887.onRemove]),
26128
26245
  contextPickerOpen,
26129
26246
  onOpenContextPicker: openContextPicker,
26130
26247
  onCloseContextPicker: closeContextPicker,
@@ -26608,5 +26725,11 @@ function EmbeddableChatInner({
26608
26725
 
26609
26726
 
26610
26727
 
26611
- exports.FloatingTooltip = FloatingTooltip; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getCurrentPlatform = getCurrentPlatform; exports.switchPlatformTheme = switchPlatformTheme; exports.getSemanticColor = getSemanticColor; exports.getPlatformConfig = getPlatformConfig; exports.usePlatformColors = usePlatformColors; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.useIsHydrated = useIsHydrated; exports.MermaidDiagram = MermaidDiagram; exports.hasRenderableSrc = hasRenderableSrc; exports.buildStandardLeafRenderers = buildStandardLeafRenderers; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.NO_BROKEN_LINKS = NO_BROKEN_LINKS; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.extractYouTubeId = extractYouTubeId; exports.VIDEO_PLAYBACK_FAILED_EVENT = VIDEO_PLAYBACK_FAILED_EVENT; exports.Video = Video2; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.formatTime = formatTime; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.brandLogoForName = brandLogoForName; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.ADMIN_CONTENT_CARD_GRID_CLASS = ADMIN_CONTENT_CARD_GRID_CLASS; exports.AdminContentCardSkeleton = AdminContentCardSkeleton; exports.AdminContentCardGrid = AdminContentCardGrid; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.useChatCardItem = useChatCardItem; exports.clickupTaskUrl = clickupTaskUrl; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.byKey = byKey; exports.getPlatformProductionUrl = getPlatformProductionUrl; exports.getPlatformUrl = getPlatformUrl; exports.getDeploymentUrl = getDeploymentUrl; exports.isLocalUrl = isLocalUrl; exports.getRequestOrigin = getRequestOrigin; exports.resolveRedirectTarget = resolveRedirectTarget; exports.getAllPlatformBaseDomains = getAllPlatformBaseDomains; exports.DOC_TABLE_TYPES = DOC_TABLE_TYPES; exports.groupsByTable = groupsByTable; exports.recordCountLabel = recordCountLabel; exports.buildGroupedSource = buildGroupedSource; exports.groupSourcesByTable = groupSourcesByTable; exports.formatCitationIndices = formatCitationIndices; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.chatCardLabel = chatCardLabel; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.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.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.createChatConversationsApi = createChatConversationsApi; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.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.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat;
26612
- //# sourceMappingURL=chunk-QHL4GYYY.cjs.map
26728
+
26729
+
26730
+
26731
+
26732
+
26733
+
26734
+ exports.FloatingTooltip = FloatingTooltip; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getCurrentPlatform = getCurrentPlatform; exports.switchPlatformTheme = switchPlatformTheme; exports.getSemanticColor = getSemanticColor; exports.getPlatformConfig = getPlatformConfig; exports.usePlatformColors = usePlatformColors; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.useIsHydrated = useIsHydrated; exports.MermaidDiagram = MermaidDiagram; exports.hasRenderableSrc = hasRenderableSrc; exports.buildStandardLeafRenderers = buildStandardLeafRenderers; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.NO_BROKEN_LINKS = NO_BROKEN_LINKS; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.extractYouTubeId = extractYouTubeId; exports.VIDEO_PLAYBACK_FAILED_EVENT = VIDEO_PLAYBACK_FAILED_EVENT; exports.Video = Video2; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.formatTime = formatTime; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.brandLogoForName = brandLogoForName; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.ADMIN_CONTENT_CARD_GRID_CLASS = ADMIN_CONTENT_CARD_GRID_CLASS; exports.AdminContentCardSkeleton = AdminContentCardSkeleton; exports.AdminContentCardGrid = AdminContentCardGrid; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.designDocSignOffStatus = designDocSignOffStatus; exports.designDocSignOffLabel = designDocSignOffLabel; 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.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.useChatCardItem = useChatCardItem; exports.clickupTaskUrl = clickupTaskUrl; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.byKey = byKey; exports.getPlatformProductionUrl = getPlatformProductionUrl; exports.getPlatformUrl = getPlatformUrl; exports.getDeploymentUrl = getDeploymentUrl; exports.isLocalUrl = isLocalUrl; exports.getRequestOrigin = getRequestOrigin; exports.resolveRedirectTarget = resolveRedirectTarget; exports.getAllPlatformBaseDomains = getAllPlatformBaseDomains; exports.DOC_TABLE_TYPES = DOC_TABLE_TYPES; exports.groupsByTable = groupsByTable; exports.recordCountLabel = recordCountLabel; exports.buildGroupedSource = buildGroupedSource; exports.groupSourcesByTable = groupSourcesByTable; exports.formatCitationIndices = formatCitationIndices; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.chatCardLabel = chatCardLabel; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.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.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.createChatConversationsApi = createChatConversationsApi; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.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.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat;
26735
+ //# sourceMappingURL=chunk-3BLN7YNM.cjs.map