@flamingo-stack/openframe-frontend-core 0.0.668 → 0.0.669-snapshot.20260927145656

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 (148) hide show
  1. package/dist/{chunk-B5UP36KY.cjs → chunk-22E6CSIS.cjs} +12 -12
  2. package/dist/{chunk-B5UP36KY.cjs.map → chunk-22E6CSIS.cjs.map} +1 -1
  3. package/dist/{chunk-6KJV6GAJ.js → chunk-5IP7FYUN.js} +4 -4
  4. package/dist/{chunk-GF6WJ4MG.js → chunk-5Q6BE56A.js} +6 -6
  5. package/dist/{chunk-NZD2WTJ2.cjs → chunk-5ZVYPAFQ.cjs} +3 -3
  6. package/dist/{chunk-NZD2WTJ2.cjs.map → chunk-5ZVYPAFQ.cjs.map} +1 -1
  7. package/dist/{chunk-Z3HUP4G7.cjs → chunk-635CAJ36.cjs} +32 -32
  8. package/dist/{chunk-Z3HUP4G7.cjs.map → chunk-635CAJ36.cjs.map} +1 -1
  9. package/dist/{chunk-GO63IT6K.js → chunk-6P335PRA.js} +5 -5
  10. package/dist/{chunk-5V3LERVC.js → chunk-6X66J23J.js} +4 -4
  11. package/dist/{chunk-6W4LUHMY.cjs → chunk-7VZZ5S5V.cjs} +206 -206
  12. package/dist/{chunk-6W4LUHMY.cjs.map → chunk-7VZZ5S5V.cjs.map} +1 -1
  13. package/dist/{chunk-EV2KJ4D2.cjs → chunk-7WK544AC.cjs} +7 -7
  14. package/dist/{chunk-EV2KJ4D2.cjs.map → chunk-7WK544AC.cjs.map} +1 -1
  15. package/dist/{chunk-FOH4MNOZ.js → chunk-C5CTLTKJ.js} +3 -3
  16. package/dist/{chunk-TFVUM6KK.cjs → chunk-CK4BZRVJ.cjs} +10 -10
  17. package/dist/{chunk-TFVUM6KK.cjs.map → chunk-CK4BZRVJ.cjs.map} +1 -1
  18. package/dist/{chunk-Z3GN3MIW.cjs → chunk-D2HYPVYQ.cjs} +81 -81
  19. package/dist/{chunk-Z3GN3MIW.cjs.map → chunk-D2HYPVYQ.cjs.map} +1 -1
  20. package/dist/{chunk-WVCDX7FE.cjs → chunk-DAMA3A5Z.cjs} +15 -15
  21. package/dist/{chunk-WVCDX7FE.cjs.map → chunk-DAMA3A5Z.cjs.map} +1 -1
  22. package/dist/{chunk-P6IJXAEE.js → chunk-DLJGCDHX.js} +2 -1
  23. package/dist/{chunk-P6IJXAEE.js.map → chunk-DLJGCDHX.js.map} +1 -1
  24. package/dist/{chunk-IJPV7OMA.js → chunk-EHB5LETA.js} +591 -466
  25. package/dist/chunk-EHB5LETA.js.map +1 -0
  26. package/dist/{chunk-CFUUVLYQ.cjs → chunk-GXKKWFZR.cjs} +33 -33
  27. package/dist/{chunk-CFUUVLYQ.cjs.map → chunk-GXKKWFZR.cjs.map} +1 -1
  28. package/dist/{chunk-IZ6F7LOE.js → chunk-IHOSMLBC.js} +3 -3
  29. package/dist/{chunk-DK3BHDUZ.js → chunk-INIITSC3.js} +3 -3
  30. package/dist/{chunk-ZHRIFUN3.cjs → chunk-L5TTJXLU.cjs} +28 -28
  31. package/dist/{chunk-ZHRIFUN3.cjs.map → chunk-L5TTJXLU.cjs.map} +1 -1
  32. package/dist/{chunk-7UW2BBFI.cjs → chunk-LGIBMKRM.cjs} +59 -59
  33. package/dist/{chunk-7UW2BBFI.cjs.map → chunk-LGIBMKRM.cjs.map} +1 -1
  34. package/dist/{chunk-IBQT4RTS.js → chunk-O3PPPILJ.js} +3 -3
  35. package/dist/{chunk-CWK4QHVF.js → chunk-OABFQXAI.js} +3 -3
  36. package/dist/{chunk-VEQWH5KH.cjs → chunk-OHLOPLOM.cjs} +30 -30
  37. package/dist/{chunk-VEQWH5KH.cjs.map → chunk-OHLOPLOM.cjs.map} +1 -1
  38. package/dist/{chunk-PHLBRU5P.js → chunk-P7FKI2UW.js} +3 -3
  39. package/dist/{chunk-YH3BUB4W.js → chunk-PTZKMV35.js} +5 -5
  40. package/dist/{chunk-E5HUHKHH.js → chunk-QGHMHW7R.js} +7 -7
  41. package/dist/{chunk-VJ4XBTR5.cjs → chunk-QH6PMRGF.cjs} +22 -22
  42. package/dist/{chunk-VJ4XBTR5.cjs.map → chunk-QH6PMRGF.cjs.map} +1 -1
  43. package/dist/{chunk-37NYF4W2.cjs → chunk-QRUW4UXB.cjs} +2 -1
  44. package/dist/chunk-QRUW4UXB.cjs.map +1 -0
  45. package/dist/{chunk-LJOELK7P.js → chunk-RG7XYHN7.js} +2 -2
  46. package/dist/{chunk-Y7SFGCF4.cjs → chunk-RRJ6EL63.cjs} +20 -20
  47. package/dist/{chunk-Y7SFGCF4.cjs.map → chunk-RRJ6EL63.cjs.map} +1 -1
  48. package/dist/{chunk-FJNX67W2.cjs → chunk-SEW23M5X.cjs} +5 -5
  49. package/dist/{chunk-FJNX67W2.cjs.map → chunk-SEW23M5X.cjs.map} +1 -1
  50. package/dist/{chunk-K4WYWTQV.cjs → chunk-TLMPNPYS.cjs} +6 -6
  51. package/dist/{chunk-K4WYWTQV.cjs.map → chunk-TLMPNPYS.cjs.map} +1 -1
  52. package/dist/{chunk-SHGMDYCR.js → chunk-VEAA5C5X.js} +2 -2
  53. package/dist/{chunk-5CC33IJ7.js → chunk-VXRWR56S.js} +6 -6
  54. package/dist/{chunk-NNYND3I4.js → chunk-XUHLWFEM.js} +3 -3
  55. package/dist/{chunk-QHL4GYYY.cjs → chunk-ZYFDPD73.cjs} +577 -452
  56. package/dist/chunk-ZYFDPD73.cjs.map +1 -0
  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 +23 -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 +11 -3
  65. package/dist/components/chat/index.cjs.map +1 -1
  66. package/dist/components/chat/index.js +10 -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 +197 -89
  78. package/dist/components/help-center-pages/index.cjs.map +1 -1
  79. package/dist/components/help-center-pages/index.d.ts +1 -1
  80. package/dist/components/help-center-pages/index.d.ts.map +1 -1
  81. package/dist/components/help-center-pages/index.js +143 -35
  82. package/dist/components/help-center-pages/index.js.map +1 -1
  83. package/dist/components/help-center-pages/trust-center-page.d.ts +6 -0
  84. package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
  85. package/dist/components/help-center-pages/trust-center-sections.d.ts +17 -2
  86. package/dist/components/help-center-pages/trust-center-sections.d.ts.map +1 -1
  87. package/dist/components/index.cjs +62 -54
  88. package/dist/components/index.cjs.map +1 -1
  89. package/dist/components/index.js +23 -15
  90. package/dist/components/index.js.map +1 -1
  91. package/dist/components/meeting-scheduler/index.cjs +40 -40
  92. package/dist/components/meeting-scheduler/index.js +3 -3
  93. package/dist/components/navigation/index.cjs +7 -7
  94. package/dist/components/navigation/index.js +6 -6
  95. package/dist/components/onboarding-guides/index.cjs +7 -7
  96. package/dist/components/onboarding-guides/index.js +6 -6
  97. package/dist/components/related-content/index.cjs +3 -3
  98. package/dist/components/related-content/index.js +2 -2
  99. package/dist/components/tickets/index.cjs +8 -8
  100. package/dist/components/tickets/index.js +7 -7
  101. package/dist/components/ui/index.cjs +12 -4
  102. package/dist/components/ui/index.cjs.map +1 -1
  103. package/dist/components/ui/index.js +11 -3
  104. package/dist/index.cjs +27 -9
  105. package/dist/index.cjs.map +1 -1
  106. package/dist/index.js +25 -7
  107. package/dist/index.js.map +1 -1
  108. package/dist/utils/design-doc-readiness.d.ts +20 -0
  109. package/dist/utils/design-doc-readiness.d.ts.map +1 -0
  110. package/dist/utils/index.cjs +28 -3
  111. package/dist/utils/index.cjs.map +1 -1
  112. package/dist/utils/index.d.ts +1 -0
  113. package/dist/utils/index.d.ts.map +1 -1
  114. package/dist/utils/index.js +24 -4
  115. package/dist/utils/index.js.map +1 -1
  116. package/dist/utils/list-url.d.ts.map +1 -1
  117. package/dist/utils/source-icons.d.ts.map +1 -1
  118. package/package.json +1 -1
  119. package/src/components/chat/entity-cards/design-doc-card.tsx +114 -0
  120. package/src/components/chat/entity-cards/dispatch.tsx +62 -1
  121. package/src/components/chat/entity-cards/index.ts +7 -0
  122. package/src/components/help-center-pages/__tests__/trust-center-page.test.tsx +28 -1
  123. package/src/components/help-center-pages/index.ts +1 -1
  124. package/src/components/help-center-pages/trust-center-page.tsx +59 -16
  125. package/src/components/help-center-pages/trust-center-sections.tsx +159 -8
  126. package/src/utils/design-doc-readiness.ts +34 -0
  127. package/src/utils/index.ts +1 -0
  128. package/src/utils/list-url.ts +1 -0
  129. package/src/utils/source-icons.ts +3 -0
  130. package/dist/chunk-37NYF4W2.cjs.map +0 -1
  131. package/dist/chunk-IJPV7OMA.js.map +0 -1
  132. package/dist/chunk-QHL4GYYY.cjs.map +0 -1
  133. /package/dist/{chunk-6KJV6GAJ.js.map → chunk-5IP7FYUN.js.map} +0 -0
  134. /package/dist/{chunk-GF6WJ4MG.js.map → chunk-5Q6BE56A.js.map} +0 -0
  135. /package/dist/{chunk-GO63IT6K.js.map → chunk-6P335PRA.js.map} +0 -0
  136. /package/dist/{chunk-5V3LERVC.js.map → chunk-6X66J23J.js.map} +0 -0
  137. /package/dist/{chunk-FOH4MNOZ.js.map → chunk-C5CTLTKJ.js.map} +0 -0
  138. /package/dist/{chunk-IZ6F7LOE.js.map → chunk-IHOSMLBC.js.map} +0 -0
  139. /package/dist/{chunk-DK3BHDUZ.js.map → chunk-INIITSC3.js.map} +0 -0
  140. /package/dist/{chunk-IBQT4RTS.js.map → chunk-O3PPPILJ.js.map} +0 -0
  141. /package/dist/{chunk-CWK4QHVF.js.map → chunk-OABFQXAI.js.map} +0 -0
  142. /package/dist/{chunk-PHLBRU5P.js.map → chunk-P7FKI2UW.js.map} +0 -0
  143. /package/dist/{chunk-YH3BUB4W.js.map → chunk-PTZKMV35.js.map} +0 -0
  144. /package/dist/{chunk-E5HUHKHH.js.map → chunk-QGHMHW7R.js.map} +0 -0
  145. /package/dist/{chunk-LJOELK7P.js.map → chunk-RG7XYHN7.js.map} +0 -0
  146. /package/dist/{chunk-SHGMDYCR.js.map → chunk-VEAA5C5X.js.map} +0 -0
  147. /package/dist/{chunk-5CC33IJ7.js.map → chunk-VXRWR56S.js.map} +0 -0
  148. /package/dist/{chunk-NNYND3I4.js.map → chunk-XUHLWFEM.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,84 @@ function ChatVideoEntityCard({ chatRef }) {
14177
14179
  );
14178
14180
  }
14179
14181
 
14182
+ // src/utils/design-doc-readiness.ts
14183
+ var DESIGN_DOC_READINESS = ["ready", "not_ready"];
14184
+ var DESIGN_DOC_READINESS_DISPLAY = {
14185
+ ready: { label: "Ready to build", scheme: "success" },
14186
+ not_ready: { label: "Not ready", scheme: "default" }
14187
+ };
14188
+ var designDocReadiness = (completion) => completion.isComplete ? "ready" : "not_ready";
14189
+ function formatCompletionLabel(completion) {
14190
+ return `${completion.completed}/${completion.total} reviews signed off`;
14191
+ }
14192
+ function formatCompletionLabelWithBlockers(completion) {
14193
+ const base = formatCompletionLabel(completion);
14194
+ if (completion.isComplete) return `${DESIGN_DOC_READINESS_DISPLAY.ready.label} \xB7 ${base}`;
14195
+ return completion.openBlocking > 0 ? `${base} \xB7 ${completion.openBlocking} blocking` : base;
14196
+ }
14197
+
14198
+ // src/components/chat/entity-cards/design-doc-card.tsx
14199
+
14200
+ function designDocPeople(doc) {
14201
+ const people = [];
14202
+ if (_optionalChain([doc, 'access', _357 => _357.author, 'optionalAccess', _358 => _358.full_name]))
14203
+ people.push({
14204
+ key: `dri-${_nullishCoalesce(doc.author.id, () => ( doc.author.full_name))}`,
14205
+ name: doc.author.full_name,
14206
+ avatarUrl: doc.author.avatar_url
14207
+ });
14208
+ for (const p of _nullishCoalesce(doc.feature_leads, () => ( []))) {
14209
+ if (!p.full_name) continue;
14210
+ people.push({ key: `lead-${p.id}`, name: p.full_name, avatarUrl: p.avatar_url });
14211
+ }
14212
+ return people;
14213
+ }
14214
+ function designDocMetaLine(doc) {
14215
+ 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 ");
14216
+ }
14217
+ function DesignDocCardSkeleton() {
14218
+ 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: [
14219
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[16px]", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col gap-2", children: [
14220
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
14221
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-1/3 rounded bg-ods-bg/70" })
14222
+ ] }) }),
14223
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-full rounded bg-ods-bg/60" }),
14224
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-5/6 rounded bg-ods-bg/60" })
14225
+ ] });
14226
+ }
14227
+ function DesignDocCard({ doc, href, target, rel, className }) {
14228
+ const readiness = DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)];
14229
+ const people = designDocPeople(doc);
14230
+ const link = _chunkQRUW4UXBcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
14231
+ const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14232
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[16px]", children: [
14233
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
14234
+ /* @__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" }) }),
14235
+ /* @__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) }) })
14236
+ ] }),
14237
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14238
+ _chunkQRUW4UXBcjs.StatusBadge,
14239
+ {
14240
+ text: readiness.label,
14241
+ colorScheme: readiness.scheme,
14242
+ variant: "button",
14243
+ singleLine: true,
14244
+ className: "hidden md:inline-flex"
14245
+ }
14246
+ )
14247
+ ] }),
14248
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.StatusBadge, { text: readiness.label, colorScheme: readiness.scheme, variant: "button", singleLine: true }) }),
14249
+ /* @__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 || "" }) }),
14250
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
14251
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center justify-between gap-2", children: [
14252
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: formatCompletionLabelWithBlockers(doc.completion) }),
14253
+ people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.AvatarStack, { size: "xs", people, className: "shrink-0" }) : null
14254
+ ] })
14255
+ ] });
14256
+ 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, () => ( ""))}`;
14257
+ 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 });
14258
+ }
14259
+
14180
14260
  // src/components/chat/entity-cards/github-activity-card.tsx
14181
14261
 
14182
14262
 
@@ -14280,7 +14360,7 @@ function ReviewStateBadge({ state, className = "" }) {
14280
14360
  function GitHubActivityCard({ item, variant = "compact", className, anchorProps }) {
14281
14361
  const kind = _nullishCoalesce(item.kind, () => ( "commit"));
14282
14362
  const repo = _nullishCoalesce(_nullishCoalesce(item.repo, () => ( parseRepoFromUrl(item.url))), () => ( ""));
14283
- const dateText = _chunk37NYF4W2cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14363
+ const dateText = _chunkQRUW4UXBcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14284
14364
  const idLabel = formatActivityId(item.id, kind);
14285
14365
  const { display: title, reviewState } = parseGithubTitle(item.title, kind);
14286
14366
  const primaryText = kind === "pr_review" ? title.replace(/^by\s+/i, "").trim() || "Reviewer" : title;
@@ -14314,26 +14394,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
14314
14394
  metaParts.push(
14315
14395
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14316
14396
  );
14317
- const href = _chunk37NYF4W2cjs.safeHref.call(void 0, item.url);
14397
+ const href = _chunkQRUW4UXBcjs.safeHref.call(void 0, item.url);
14318
14398
  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: [
14399
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
14400
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14401
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
14322
14402
  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 })
14403
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TITLE, children: primaryText })
14324
14404
  ] }),
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: [
14405
+ /* @__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
14406
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14327
14407
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
14328
14408
  ] }, 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 }) })
14409
+ /* @__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
14410
  ] }),
14331
14411
  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
14412
  ] });
14333
14413
  if (anchorProps) {
14334
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14414
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14335
14415
  }
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 });
14416
+ 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
14417
  }
14338
14418
  function GitHubActivityCardSkeleton({
14339
14419
  variant = "compact",
@@ -14350,12 +14430,12 @@ function GitHubActivityCardSkeleton({
14350
14430
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14351
14431
  ] });
14352
14432
  }
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 }) })
14433
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14434
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14435
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14436
+ /* @__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" }) }),
14437
+ /* @__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" }) }),
14438
+ /* @__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
14439
  ] }),
14360
14440
  /* @__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
14441
  ] });
@@ -14379,7 +14459,7 @@ function parseChannelFromUrl(url) {
14379
14459
  }
14380
14460
  function SlackMessageCard({ item, variant = "compact", className, anchorProps }) {
14381
14461
  const channel = _nullishCoalesce(_nullishCoalesce(item.channel, () => ( parseChannelFromUrl(item.url))), () => ( null));
14382
- const dateText = _chunk37NYF4W2cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14462
+ const dateText = _chunkQRUW4UXBcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14383
14463
  if (variant === "row") {
14384
14464
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
14385
14465
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.SlackIcon, { className: "h-3.5 w-3.5 shrink-0" }),
@@ -14405,23 +14485,23 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
14405
14485
  metaParts.push(
14406
14486
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14407
14487
  );
14408
- const href = _chunk37NYF4W2cjs.safeHref.call(void 0, item.url);
14488
+ const href = _chunkQRUW4UXBcjs.safeHref.call(void 0, item.url);
14409
14489
  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: [
14490
+ /* @__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" }) }),
14491
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14492
+ /* @__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 }) }),
14493
+ /* @__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 }) }),
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_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14415
14495
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14416
14496
  /* @__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 }) }) })
14497
+ ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_SUMMARY, children: _chunkQRUW4UXBcjs.COMPACT_CARD_ROW_FILLER }) }) })
14418
14498
  ] }),
14419
14499
  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
14500
  ] });
14421
14501
  if (anchorProps) {
14422
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14502
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14423
14503
  }
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 });
14504
+ 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
14505
  }
14426
14506
  function SlackMessageCardSkeleton({
14427
14507
  variant = "compact",
@@ -14436,12 +14516,12 @@ function SlackMessageCardSkeleton({
14436
14516
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14437
14517
  ] });
14438
14518
  }
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" }) })
14519
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14520
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14521
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14522
+ /* @__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" }) }),
14523
+ /* @__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" }) }),
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-1/3 rounded bg-ods-bg/70" }) })
14445
14525
  ] }),
14446
14526
  /* @__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
14527
  ] });
@@ -14472,12 +14552,12 @@ function statusScheme(status) {
14472
14552
  function HubspotTicketCard({ item, variant = "compact", className, anchorProps }) {
14473
14553
  const statusText = _nullishCoalesce(item.statusLabel, () => ( formatToken(item.status)));
14474
14554
  const priorityText = formatToken(item.priority);
14475
- const dateText = _chunk37NYF4W2cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14555
+ const dateText = _chunkQRUW4UXBcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14476
14556
  if (variant === "row") {
14477
14557
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
14478
14558
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "max-w-[260px] shrink-0 truncate text-ods-text-primary text-h6", children: item.title }),
14479
14559
  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,
14560
+ statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
14481
14561
  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
14562
  ] });
14483
14563
  }
@@ -14491,13 +14571,13 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14491
14571
  metaParts.push(
14492
14572
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14493
14573
  );
14494
- const href = _chunk37NYF4W2cjs.safeHref.call(void 0, item.url);
14574
+ const href = _chunkQRUW4UXBcjs.safeHref.call(void 0, item.url);
14495
14575
  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: [
14576
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14497
14577
  /* @__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 }),
14578
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14499
14579
  priorityText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14500
- _chunk37NYF4W2cjs.StatusBadge,
14580
+ _chunkQRUW4UXBcjs.StatusBadge,
14501
14581
  {
14502
14582
  text: priorityText,
14503
14583
  variant: "button",
@@ -14506,7 +14586,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14506
14586
  }
14507
14587
  ) : null,
14508
14588
  statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14509
- _chunk37NYF4W2cjs.StatusBadge,
14589
+ _chunkQRUW4UXBcjs.StatusBadge,
14510
14590
  {
14511
14591
  text: statusText,
14512
14592
  variant: "button",
@@ -14520,7 +14600,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14520
14600
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
14521
14601
  ] }) : null,
14522
14602
  /* @__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: [
14603
+ 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
14604
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14525
14605
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
14526
14606
  ] }, i)) }) }) : null
@@ -14528,9 +14608,9 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14528
14608
  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
14609
  ] });
14530
14610
  if (anchorProps) {
14531
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14611
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14532
14612
  }
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 });
14613
+ 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
14614
  }
14535
14615
  function HubspotTicketCardSkeleton({
14536
14616
  variant = "compact",
@@ -14544,8 +14624,8 @@ function HubspotTicketCardSkeleton({
14544
14624
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14545
14625
  ] });
14546
14626
  }
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: [
14627
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14628
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14549
14629
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14550
14630
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14551
14631
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
@@ -14558,7 +14638,7 @@ function HubspotTicketCardSkeleton({
14558
14638
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
14559
14639
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
14560
14640
  ] }),
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" }) })
14641
+ /* @__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
14642
  ] }),
14563
14643
  /* @__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
14644
  ] });
@@ -14569,10 +14649,10 @@ function HubspotTicketCardSkeleton({
14569
14649
 
14570
14650
  function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
14571
14651
  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: [
14652
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14573
14653
  /* @__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" })
14654
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14655
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
14576
14656
  ] }),
14577
14657
  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
14658
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
@@ -14580,16 +14660,16 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
14580
14660
  ] }) : null,
14581
14661
  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
14662
  ] }),
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
14663
+ _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
14664
  ] });
14585
14665
  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 });
14666
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14587
14667
  }
14588
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14668
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14589
14669
  }
14590
14670
  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: [
14671
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14672
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14593
14673
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
14594
14674
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14595
14675
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
@@ -14608,31 +14688,31 @@ function DataRoomDocCardSkeleton({ className }) {
14608
14688
 
14609
14689
 
14610
14690
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
14611
- const goalsCount = _optionalChain([campaign, 'access', _358 => _358.goals, 'optionalAccess', _359 => _359.length]) || 0;
14691
+ const goalsCount = _optionalChain([campaign, 'access', _362 => _362.goals, 'optionalAccess', _363 => _363.length]) || 0;
14612
14692
  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,
14693
+ /* @__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" }) }),
14694
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14695
+ /* @__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 }) }),
14696
+ /* @__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: [
14697
+ campaign.start_date ? _chunkQRUW4UXBcjs.formatDateShort.call(void 0, campaign.start_date) : null,
14618
14698
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
14619
14699
  "Marketing campaign"
14620
14700
  ].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 }) })
14701
+ /* @__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
14702
  ] })
14623
14703
  ] });
14624
14704
  if (anchorProps) {
14625
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
14705
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
14626
14706
  }
14627
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
14707
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
14628
14708
  }
14629
14709
  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" }) })
14710
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14711
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14712
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14713
+ /* @__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" }) }),
14714
+ /* @__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" }) }),
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-11/12 rounded bg-ods-bg/40" }) })
14636
14716
  ] })
14637
14717
  ] });
14638
14718
  }
@@ -14641,14 +14721,14 @@ function CampaignCardAdminSkeleton({ className }) {
14641
14721
 
14642
14722
 
14643
14723
  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" });
14724
+ const href = _chunkQRUW4UXBcjs.safeHref.call(void 0, item.url);
14725
+ const dateText = _chunkQRUW4UXBcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14646
14726
  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: [
14727
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14648
14728
  /* @__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 }),
14729
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14650
14730
  item.badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14651
- _chunk37NYF4W2cjs.StatusBadge,
14731
+ _chunkQRUW4UXBcjs.StatusBadge,
14652
14732
  {
14653
14733
  text: item.badge.text,
14654
14734
  variant: "button",
@@ -14666,18 +14746,18 @@ function GenericEntityCard({ item, className, anchorProps }) {
14666
14746
  ] }),
14667
14747
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-medium text-ods-text-primary", children: f.value })
14668
14748
  ] }, 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
14749
+ 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
14750
  ] }),
14671
14751
  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
14752
  ] });
14673
14753
  if (anchorProps) {
14674
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunk37NYF4W2cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14754
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14675
14755
  }
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 });
14756
+ 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
14757
  }
14678
14758
  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: [
14759
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14760
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
14681
14761
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
14682
14762
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14683
14763
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
@@ -14726,8 +14806,8 @@ function useChatCardItem(type, id) {
14726
14806
  const res = await _chunkXOGD2AMEcjs.embedAuthedFetch.call(void 0, url);
14727
14807
  if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
14728
14808
  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);
14809
+ const items = _chunkQRUW4UXBcjs.extractCardItems.call(void 0, type, data);
14810
+ const match = items.find((it) => _chunkQRUW4UXBcjs.extractItemId.call(void 0, type, it) === id);
14731
14811
  return _nullishCoalesce(match, () => ( null));
14732
14812
  },
14733
14813
  enabled: !!url && id.length > 0,
@@ -14760,7 +14840,7 @@ function useChatCardItem(type, id) {
14760
14840
  function CardMedia({ imageSrc, imageAlt, icon }) {
14761
14841
  if (imageSrc) {
14762
14842
  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) || "?" }),
14843
+ /* @__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
14844
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14765
14845
  _chunkWLSFBRT5cjs.next_image_default,
14766
14846
  {
@@ -14902,7 +14982,7 @@ function pickFetchedCardHref({
14902
14982
  itemHref,
14903
14983
  allowComposed
14904
14984
  }) {
14905
- if (_optionalChain([composed, 'optionalAccess', _360 => _360.hostOverride])) {
14985
+ if (_optionalChain([composed, 'optionalAccess', _364 => _364.hostOverride])) {
14906
14986
  return { source: "hostOverride", href: composed.href, targetPlatform: composed.targetPlatform };
14907
14987
  }
14908
14988
  if (itemHref) return { source: "item", href: itemHref };
@@ -14918,7 +14998,7 @@ function resolveFetchedCardHref({
14918
14998
  composeContentUrl
14919
14999
  }) {
14920
15000
  if (!composeContentUrl || !contentRefType || !id) return null;
14921
- const canonicalType = _chunk37NYF4W2cjs.canonicalContentRefType.call(void 0, contentRefType);
15001
+ const canonicalType = _chunkQRUW4UXBcjs.canonicalContentRefType.call(void 0, contentRefType);
14922
15002
  return composeContentUrl({
14923
15003
  // The card registry keys some entries by the legacy rail vocabulary
14924
15004
  // (`blog_post_existing`) because that is what `buildListUrl` expects.
@@ -14988,7 +15068,8 @@ var SOURCE_ICON_NAMES = {
14988
15068
  "code-graph-files": "file-text",
14989
15069
  "code-symbols": "box",
14990
15070
  "code-duplicates": "search",
14991
- "code-impact": "activity"
15071
+ "code-impact": "activity",
15072
+ "change-sets": "coding-branch"
14992
15073
  };
14993
15074
  function getSourceIconName(tableId) {
14994
15075
  if (!tableId) return void 0;
@@ -15055,7 +15136,8 @@ var SOURCE_LABELS_BY_TABLE = {
15055
15136
  "code-graph-files": "Code Files",
15056
15137
  "code-symbols": "Code Symbols",
15057
15138
  "code-duplicates": "Duplicates",
15058
- "code-impact": "Change Impact"
15139
+ "code-impact": "Change Impact",
15140
+ "change-sets": "Change Sets"
15059
15141
  };
15060
15142
  function getSourceLabel(tableId) {
15061
15143
  return _nullishCoalesce(SOURCE_LABELS_BY_TABLE[tableId], () => ( tableId));
@@ -15115,7 +15197,8 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
15115
15197
  code_file: "code-graph-files",
15116
15198
  code_symbol: "code-symbols",
15117
15199
  code_duplicate: "code-duplicates",
15118
- code_impact: "code-impact"
15200
+ code_impact: "code-impact",
15201
+ change_set: "change-sets"
15119
15202
  };
15120
15203
  function defaultTableIdForDocumentType(documentType) {
15121
15204
  return _nullishCoalesce(DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID[documentType], () => ( null));
@@ -15182,7 +15265,7 @@ function byKey(key) {
15182
15265
  return PLATFORM_DOMAINS.find((e) => e.key === key);
15183
15266
  }
15184
15267
  function envOverrideFor(key) {
15185
- const envVar = _optionalChain([byKey, 'call', _361 => _361(key), 'optionalAccess', _362 => _362.envVar]);
15268
+ const envVar = _optionalChain([byKey, 'call', _365 => _365(key), 'optionalAccess', _366 => _366.envVar]);
15186
15269
  if (!envVar) return null;
15187
15270
  return ENV_OVERRIDES[envVar] || null;
15188
15271
  }
@@ -15192,7 +15275,7 @@ function ensureScheme(url) {
15192
15275
  return `https://${trimmed.replace(/^\/+/, "")}`;
15193
15276
  }
15194
15277
  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"));
15278
+ const resolved = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(envOverrideFor(platform), () => ( _optionalChain([byKey, 'call', _367 => _367(platform), 'optionalAccess', _368 => _368.defaultUrl]))), () => ( envOverrideFor("flamingo"))), () => ( "https://www.flamingo.run"));
15196
15279
  return ensureScheme(resolved);
15197
15280
  }
15198
15281
  function getPlatformUrl(platform, options = {}) {
@@ -15201,7 +15284,7 @@ function getPlatformUrl(platform, options = {}) {
15201
15284
  }
15202
15285
  function getDeploymentUrl(options) {
15203
15286
  if (typeof window !== "undefined") return window.location.origin;
15204
- const configured = _optionalChain([options, 'access', _365 => _365.configuredUrl, 'optionalAccess', _366 => _366.trim, 'call', _367 => _367()]);
15287
+ const configured = _optionalChain([options, 'access', _369 => _369.configuredUrl, 'optionalAccess', _370 => _370.trim, 'call', _371 => _371()]);
15205
15288
  if (configured) return ensureScheme(configured).replace(/\/+$/, "");
15206
15289
  if (process.env.VERCEL_ENV === "preview" && process.env.VERCEL_URL) {
15207
15290
  return ensureScheme(process.env.VERCEL_URL).replace(/\/+$/, "");
@@ -15223,7 +15306,7 @@ function getRequestOrigin(headers, options) {
15223
15306
  const host = headers.get("host");
15224
15307
  if (!host) return getDeploymentUrl(options);
15225
15308
  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");
15309
+ 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
15310
  return `${proto}://${host}`;
15228
15311
  }
15229
15312
  function resolveRedirectTarget(origin, target) {
@@ -15252,7 +15335,7 @@ function toRegistrableBaseDomain(host) {
15252
15335
  return void 0;
15253
15336
  }
15254
15337
  function aliasHostsOf(key) {
15255
- return _nullishCoalesce(_optionalChain([byKey, 'call', _375 => _375(key), 'optionalAccess', _376 => _376.aliasHostnames]), () => ( []));
15338
+ return _nullishCoalesce(_optionalChain([byKey, 'call', _379 => _379(key), 'optionalAccess', _380 => _380.aliasHostnames]), () => ( []));
15256
15339
  }
15257
15340
  function hostsForEntry(entry, opts) {
15258
15341
  const resolved = hostOf(getPlatformProductionUrl(entry.key));
@@ -15311,13 +15394,13 @@ function recordCountLabel(count) {
15311
15394
  }
15312
15395
  function buildGroupedSource(spec) {
15313
15396
  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]);
15397
+ const externalUrl = _nullishCoalesce(spec.externalUrl, () => ( _optionalChain([first, 'optionalAccess', _381 => _381.externalUrl])));
15398
+ const targetPlatform = spec.targetPlatform !== void 0 ? spec.targetPlatform : _optionalChain([first, 'optionalAccess', _382 => _382.targetPlatform]);
15316
15399
  return {
15317
15400
  index: spec.index,
15318
15401
  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]), () => ( "")),
15402
+ path: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _383 => _383.path]), () => ( "")),
15403
+ documentType: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _384 => _384.documentType]), () => ( "")),
15321
15404
  ...externalUrl ? { externalUrl } : {},
15322
15405
  targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)),
15323
15406
  sourceRepo: spec.sourceRepo,
@@ -15386,7 +15469,7 @@ function groupSourcesByTable(sources2) {
15386
15469
  index: source.index,
15387
15470
  sourceRepo: source.sourceRepo,
15388
15471
  rows: uniqueRows(members.flatMap(rowsOf)),
15389
- ..._optionalChain([serverChip, 'optionalAccess', _381 => _381.externalUrl]) ? { externalUrl: serverChip.externalUrl } : {},
15472
+ ..._optionalChain([serverChip, 'optionalAccess', _385 => _385.externalUrl]) ? { externalUrl: serverChip.externalUrl } : {},
15390
15473
  ...serverChip && serverChip.targetPlatform !== void 0 ? { targetPlatform: serverChip.targetPlatform } : {}
15391
15474
  })
15392
15475
  );
@@ -15436,20 +15519,20 @@ function resolveSourceRowCTA(row, ctx = {}) {
15436
15519
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
15437
15520
  const safePath = sanitizePath(row.path);
15438
15521
  if (safePath) {
15439
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _382 => _382.docPlatformTargets, 'optionalAccess', _383 => _383[row.documentType]]) : void 0;
15522
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _386 => _386.docPlatformTargets, 'optionalAccess', _387 => _387[row.documentType]]) : void 0;
15440
15523
  if (docTarget) {
15441
15524
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
15442
15525
  const base = `${getPlatformUrl(docTarget.platform)}${seg ? `/${seg}` : ""}/`;
15443
- href = _nullishCoalesce(_chunk37NYF4W2cjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
15526
+ href = _nullishCoalesce(_chunkQRUW4UXBcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
15444
15527
  targetPlatform = docTarget.platform;
15445
15528
  } else if (ctx.chipBasePlatform) {
15446
15529
  const base = `${getPlatformUrl(ctx.chipBasePlatform)}/knowledge-base/`;
15447
- href = _nullishCoalesce(_chunk37NYF4W2cjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
15530
+ href = _nullishCoalesce(_chunkQRUW4UXBcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
15448
15531
  targetPlatform = ctx.chipBasePlatform;
15449
15532
  } else if (ctx.baseRoute) {
15450
15533
  const synthetic = `https://_internal_.local${ctx.baseRoute.startsWith("/") ? ctx.baseRoute : "/" + ctx.baseRoute}/`;
15451
15534
  const absolute = new URL(safePath, synthetic).toString();
15452
- href = _nullishCoalesce(_chunk37NYF4W2cjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
15535
+ href = _nullishCoalesce(_chunkQRUW4UXBcjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
15453
15536
  targetPlatform = _nullishCoalesce(ctx.currentPlatform, () => ( null));
15454
15537
  }
15455
15538
  }
@@ -15458,15 +15541,15 @@ function resolveSourceRowCTA(row, ctx = {}) {
15458
15541
  // Canonical vocabulary only — a rail-vocab alias would miss the host's
15459
15542
  // `hostedTypes` / `overrides` and fall through to the seam's default
15460
15543
  // `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
15461
- type: _chunk37NYF4W2cjs.canonicalContentRefType.call(void 0, row.documentType),
15544
+ type: _chunkQRUW4UXBcjs.canonicalContentRefType.call(void 0, row.documentType),
15462
15545
  identifier: idValue,
15463
15546
  externalUrl: row.externalUrl,
15464
15547
  targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
15465
15548
  });
15466
- href = composed.href ? _nullishCoalesce(_chunk37NYF4W2cjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
15549
+ href = composed.href ? _nullishCoalesce(_chunkQRUW4UXBcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
15467
15550
  targetPlatform = composed.targetPlatform;
15468
15551
  } else if (row.externalUrl) {
15469
- href = _nullishCoalesce(_chunk37NYF4W2cjs.safeHref.call(void 0, row.externalUrl), () => ( null));
15552
+ href = _nullishCoalesce(_chunkQRUW4UXBcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
15470
15553
  targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
15471
15554
  }
15472
15555
  const documentType = row.documentType;
@@ -15501,11 +15584,11 @@ function resolveSourceIcon(input, ctx = {}) {
15501
15584
 
15502
15585
  function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
15503
15586
  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: [
15587
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkQRUW4UXBcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
15588
+ /* @__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" }) }),
15589
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkQRUW4UXBcjs.COMPACT_CARD_TEXT_COL, children: [
15590
+ /* @__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()}` }) }),
15591
+ /* @__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
15592
  label,
15510
15593
  " deleted",
15511
15594
  recoveryNote ? ` \xB7 ${recoveryNote}` : ""
@@ -15551,7 +15634,7 @@ function GitHubChatCard({
15551
15634
  const title = kind === "pr_review" ? display.replace(/^by\s+/i, "").trim() || "Reviewer" : display;
15552
15635
  const status = kind === "pr_review" && reviewState ? { label: reviewStateLabel(reviewState), variant: reviewStateToVariant(reviewState) } : { label: kindLabel(kind), variant: "grey" };
15553
15636
  const idLabel = formatActivityId(chatRef.id, kind);
15554
- const dateText = _chunk37NYF4W2cjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
15637
+ const dateText = _chunkQRUW4UXBcjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
15555
15638
  const description = [idLabel, dateText].filter(Boolean).join(" \xB7 ") || void 0;
15556
15639
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15557
15640
  MingoInfoCard,
@@ -15560,7 +15643,7 @@ function GitHubChatCard({
15560
15643
  description,
15561
15644
  icon: githubKindIcon(kind),
15562
15645
  status,
15563
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15646
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15564
15647
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15565
15648
  menuAriaLabel: "Activity actions"
15566
15649
  }
@@ -15579,8 +15662,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
15579
15662
  if (href) {
15580
15663
  items.push({
15581
15664
  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 }))),
15665
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _388 => _388.label]), () => ( "Open Details")),
15666
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _389 => _389.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.EyeIcon, { size: 20 }))),
15584
15667
  // Main row → open the entity (same tab, soft Link nav).
15585
15668
  href,
15586
15669
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -15640,18 +15723,18 @@ function itemVideoMetadata(item) {
15640
15723
  for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
15641
15724
  return void 0;
15642
15725
  };
15643
- const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _386 => _386.metadata]), () => ( {}));
15726
+ const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _390 => _390.metadata]), () => ( {}));
15644
15727
  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]));
15728
+ const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _391 => _391.custom_video_url]), _optionalChain([item, 'optionalAccess', _392 => _392.main_video_url]));
15729
+ const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _393 => _393.youtube_url]), _optionalChain([item, 'optionalAccess', _394 => _394.testimonial_video_url]));
15730
+ const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _395 => _395.highlight_video_url]));
15648
15731
  const videoPoster = pick(
15649
15732
  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])
15733
+ _optionalChain([item, 'optionalAccess', _396 => _396.main_video_thumbnail]),
15734
+ _optionalChain([item, 'optionalAccess', _397 => _397.highlight_video_thumbnail]),
15735
+ _optionalChain([item, 'optionalAccess', _398 => _398.featured_image])
15653
15736
  );
15654
- const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _395 => _395.highlight_video_thumbnail]));
15737
+ const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _399 => _399.highlight_video_thumbnail]));
15655
15738
  if (videoUrl) out.videoUrl = videoUrl;
15656
15739
  if (youtubeUrl) out.youtubeUrl = youtubeUrl;
15657
15740
  if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
@@ -15681,15 +15764,15 @@ function fetchedItemDisplayRef(item, chatRef) {
15681
15764
  }
15682
15765
  function fetchedFaqDisplayRef(item, chatRef) {
15683
15766
  const it = item;
15684
- const answer = typeof _optionalChain([it, 'optionalAccess', _396 => _396.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
15767
+ const answer = typeof _optionalChain([it, 'optionalAccess', _400 => _400.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
15685
15768
  return {
15686
15769
  type: "faq",
15687
15770
  id: chatRef.id,
15688
15771
  sourceRepo: chatRef.sourceRepo,
15689
- title: typeof _optionalChain([it, 'optionalAccess', _397 => _397.question]) === "string" && it.question ? it.question : chatRef.id,
15772
+ title: typeof _optionalChain([it, 'optionalAccess', _401 => _401.question]) === "string" && it.question ? it.question : chatRef.id,
15690
15773
  url: _nullishCoalesce(chatRef.url, () => ( null)),
15691
15774
  ...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 } : {}
15775
+ metadata: typeof _optionalChain([it, 'optionalAccess', _402 => _402.section]) === "string" && it.section ? { section: it.section } : {}
15693
15776
  };
15694
15777
  }
15695
15778
  function HubspotTicketChatCard({
@@ -15697,8 +15780,8 @@ function HubspotTicketChatCard({
15697
15780
  isNewTab,
15698
15781
  discuss
15699
15782
  }) {
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;
15783
+ const status = typeof _optionalChain([chatRef, 'access', _403 => _403.metadata, 'optionalAccess', _404 => _404.status]) === "string" ? chatRef.metadata.status : void 0;
15784
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _405 => _405.metadata, 'optionalAccess', _406 => _406.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
15702
15785
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
15703
15786
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15704
15787
  MingoInfoCard,
@@ -15707,7 +15790,7 @@ function HubspotTicketChatCard({
15707
15790
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15708
15791
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.TagIcon, { size: 24 }),
15709
15792
  status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
15710
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15793
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15711
15794
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
15712
15795
  label: "Open Ticket Details",
15713
15796
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.TagIcon, { size: 20 })
@@ -15721,7 +15804,7 @@ function FaqChatCard({
15721
15804
  isNewTab,
15722
15805
  discuss
15723
15806
  }) {
15724
- const section = typeof _optionalChain([chatRef, 'access', _403 => _403.metadata, 'optionalAccess', _404 => _404.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
15807
+ const section = typeof _optionalChain([chatRef, 'access', _407 => _407.metadata, 'optionalAccess', _408 => _408.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
15725
15808
  const statusLabel = section && section.length > 0 ? section : "FAQ";
15726
15809
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15727
15810
  MingoInfoCard,
@@ -15730,7 +15813,7 @@ function FaqChatCard({
15730
15813
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15731
15814
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.QuestionCircleIcon, { size: 24 }),
15732
15815
  status: { label: statusLabel, variant: "grey" },
15733
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15816
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15734
15817
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15735
15818
  menuAriaLabel: "FAQ actions"
15736
15819
  }
@@ -15741,7 +15824,7 @@ function SlackChatCard({
15741
15824
  isNewTab,
15742
15825
  discuss
15743
15826
  }) {
15744
- const channelName = typeof _optionalChain([chatRef, 'access', _405 => _405.metadata, 'optionalAccess', _406 => _406.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
15827
+ const channelName = typeof _optionalChain([chatRef, 'access', _409 => _409.metadata, 'optionalAccess', _410 => _410.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
15745
15828
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
15746
15829
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
15747
15830
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -15750,7 +15833,7 @@ function SlackChatCard({
15750
15833
  title,
15751
15834
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15752
15835
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.SlackLogoGreyIcon, { size: 24 }),
15753
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15836
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15754
15837
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15755
15838
  menuAriaLabel: "Message actions"
15756
15839
  }
@@ -15768,7 +15851,7 @@ function GlyphChatCard({
15768
15851
  title: chatRef.title,
15769
15852
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15770
15853
  icon,
15771
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15854
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15772
15855
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15773
15856
  menuAriaLabel: "Card actions"
15774
15857
  }
@@ -15784,22 +15867,22 @@ function TrustCenterChatCard({
15784
15867
  isNewTab,
15785
15868
  discuss
15786
15869
  }) {
15787
- const raw = _optionalChain([item, 'optionalAccess', _407 => _407.frameworks]);
15870
+ const raw = _optionalChain([item, 'optionalAccess', _411 => _411.frameworks]);
15788
15871
  const frameworks = Array.isArray(raw) ? raw : [];
15789
- const summary = _chunk37NYF4W2cjs.trustFrameworksSummary.call(void 0, frameworks);
15872
+ const summary = _chunkQRUW4UXBcjs.trustFrameworksSummary.call(void 0, frameworks);
15790
15873
  const leadFramework = frameworks[0];
15791
15874
  const lead = leadFramework ? {
15792
- label: _chunk37NYF4W2cjs.trustFrameworkBadge.call(void 0, leadFramework),
15793
- color: _chunk37NYF4W2cjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
15875
+ label: _chunkQRUW4UXBcjs.trustFrameworkBadge.call(void 0, leadFramework),
15876
+ color: _chunkQRUW4UXBcjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
15794
15877
  } : void 0;
15795
15878
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15796
15879
  MingoInfoCard,
15797
15880
  {
15798
- title: _chunk37NYF4W2cjs.TRUST_CENTER_TITLE,
15799
- description: summary || _chunk37NYF4W2cjs.TRUST_CENTER_TAGLINE,
15881
+ title: _chunkQRUW4UXBcjs.TRUST_CENTER_TITLE,
15882
+ description: summary || _chunkQRUW4UXBcjs.TRUST_CENTER_TAGLINE,
15800
15883
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.ShieldCheckIcon, { size: 24 }),
15801
15884
  status: lead ? { label: lead.label, variant: TRUST_STATUS_TAG_VARIANT[lead.color] } : void 0,
15802
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15885
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15803
15886
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
15804
15887
  label: "View trust center",
15805
15888
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.ShieldCheckIcon, { size: 20 })
@@ -15821,7 +15904,7 @@ function DataRoomDocChatCard({
15821
15904
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15822
15905
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.FileContentIcon, { size: 24 }),
15823
15906
  status: { label: badgeText, variant: "grey" },
15824
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15907
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15825
15908
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15826
15909
  menuAriaLabel: "Document actions"
15827
15910
  }
@@ -15833,14 +15916,14 @@ function GenericFinancialChatCard({
15833
15916
  isNewTab,
15834
15917
  discuss
15835
15918
  }) {
15836
- const subtitle = typeof _optionalChain([chatRef, 'access', _408 => _408.metadata, 'optionalAccess', _409 => _409.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
15919
+ const subtitle = typeof _optionalChain([chatRef, 'access', _412 => _412.metadata, 'optionalAccess', _413 => _413.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
15837
15920
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15838
15921
  MingoInfoCard,
15839
15922
  {
15840
15923
  title: chatRef.title,
15841
15924
  description: subtitle,
15842
15925
  icon,
15843
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15926
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15844
15927
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15845
15928
  menuAriaLabel: "Document actions"
15846
15929
  }
@@ -15902,12 +15985,12 @@ function ProductReleaseChatCard({
15902
15985
  discuss
15903
15986
  }) {
15904
15987
  const releaseProps = buildProps(item);
15905
- const status = _optionalChain([item, 'optionalAccess', _410 => _410.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
15988
+ const status = _optionalChain([item, 'optionalAccess', _414 => _414.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
15906
15989
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15907
15990
  EntityMingoCard,
15908
15991
  {
15909
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _411 => _411.title]), () => ( "")),
15910
- description: _optionalChain([item, 'optionalAccess', _412 => _412.summary]) || releaseProps.formattedDate || void 0,
15992
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _415 => _415.title]), () => ( "")),
15993
+ description: _optionalChain([item, 'optionalAccess', _416 => _416.summary]) || releaseProps.formattedDate || void 0,
15911
15994
  cover: releaseProps.coverImage || void 0,
15912
15995
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.Rocket02Icon, { size: 24 }),
15913
15996
  status,
@@ -15924,17 +16007,17 @@ function CampaignChatCard({
15924
16007
  isNewTab,
15925
16008
  discuss
15926
16009
  }) {
15927
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _413 => _413.goals])) ? item.goals.length : 0;
16010
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _417 => _417.goals])) ? item.goals.length : 0;
15928
16011
  const meta = [
15929
- _optionalChain([item, 'optionalAccess', _414 => _414.start_date]) ? _chunk37NYF4W2cjs.formatDateShort.call(void 0, item.start_date) : null,
16012
+ _optionalChain([item, 'optionalAccess', _418 => _418.start_date]) ? _chunkQRUW4UXBcjs.formatDateShort.call(void 0, item.start_date) : null,
15930
16013
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
15931
16014
  "Marketing campaign"
15932
16015
  ].filter(Boolean).join(" \xB7 ");
15933
16016
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15934
16017
  EntityMingoCard,
15935
16018
  {
15936
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _415 => _415.name]), () => ( "")),
15937
- description: meta || _optionalChain([item, 'optionalAccess', _416 => _416.description]) || void 0,
16019
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _419 => _419.name]), () => ( "")),
16020
+ description: meta || _optionalChain([item, 'optionalAccess', _420 => _420.description]) || void 0,
15938
16021
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.Megaphone01Icon, { size: 24 }),
15939
16022
  chatRef,
15940
16023
  isNewTab,
@@ -15965,7 +16048,7 @@ function EntityMingoCard({
15965
16048
  imageAlt: typeof title === "string" ? title : void 0,
15966
16049
  icon: fallbackIcon,
15967
16050
  status,
15968
- anchorProps: _chunk37NYF4W2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
16051
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15969
16052
  menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
15970
16053
  menuAriaLabel
15971
16054
  }
@@ -15977,7 +16060,7 @@ function entityCover(image, ogPlaceholder) {
15977
16060
  function statusPill(status) {
15978
16061
  const s = typeof status === "string" ? status.trim() : "";
15979
16062
  if (!s) return void 0;
15980
- const scheme = _chunk37NYF4W2cjs.getStatusColorScheme.call(void 0, s);
16063
+ const scheme = _chunkQRUW4UXBcjs.getStatusColorScheme.call(void 0, s);
15981
16064
  const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
15982
16065
  return { label: s, variant };
15983
16066
  }
@@ -15989,14 +16072,14 @@ function BlogChatCard({
15989
16072
  hasEmbeddedVideo,
15990
16073
  discuss
15991
16074
  }) {
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;
16075
+ 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
16076
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
15994
16077
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15995
16078
  EntityMingoCard,
15996
16079
  {
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),
16080
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _427 => _427.title]), () => ( "")),
16081
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _428 => _428.summary]), () => ( void 0)),
16082
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _429 => _429.featured_image]), ogPlaceholder),
16000
16083
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.NewspaperIcon, { size: 24 }),
16001
16084
  status,
16002
16085
  chatRef,
@@ -16013,13 +16096,13 @@ function CaseStudyChatCard({
16013
16096
  ogPlaceholder,
16014
16097
  discuss
16015
16098
  }) {
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 ");
16099
+ 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
16100
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16018
16101
  EntityMingoCard,
16019
16102
  {
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),
16103
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _434 => _434.title]), () => ( "")),
16104
+ description: _optionalChain([item, 'optionalAccess', _435 => _435.summary]) || meta || void 0,
16105
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _436 => _436.featured_image]), ogPlaceholder),
16023
16106
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.TrophyIcon, { size: 24 }),
16024
16107
  status: { label: "Case study", variant: "grey" },
16025
16108
  chatRef,
@@ -16036,13 +16119,13 @@ function CustomerInterviewChatCard({
16036
16119
  ogPlaceholder,
16037
16120
  discuss
16038
16121
  }) {
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 ");
16122
+ 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
16123
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16041
16124
  EntityMingoCard,
16042
16125
  {
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),
16126
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _441 => _441.title]), () => ( "")),
16127
+ description: _optionalChain([item, 'optionalAccess', _442 => _442.video_summary]) || meta || void 0,
16128
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _443 => _443.featured_image]), ogPlaceholder),
16046
16129
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.MicrophoneIcon, { size: 24 }),
16047
16130
  status: { label: "Interview", variant: "grey" },
16048
16131
  chatRef,
@@ -16052,6 +16135,28 @@ function CustomerInterviewChatCard({
16052
16135
  }
16053
16136
  );
16054
16137
  }
16138
+ function DesignDocChatCard({
16139
+ item,
16140
+ chatRef,
16141
+ isNewTab,
16142
+ discuss
16143
+ }) {
16144
+ const displayRef = fetchedItemDisplayRef(item, chatRef);
16145
+ const doc = _optionalChain([item, 'optionalAccess', _444 => _444.doc]);
16146
+ const readiness = doc ? DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)] : null;
16147
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16148
+ MingoInfoCard,
16149
+ {
16150
+ title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _445 => _445.title]), () => ( displayRef.title)),
16151
+ description: doc ? [designDocMetaLine(doc), formatCompletionLabel(doc.completion)].join(" \xB7 ") : _nullishCoalesce(displayRef.preview, () => ( void 0)),
16152
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.FileContentIcon, { size: 24 }),
16153
+ status: readiness ? { label: readiness.label, variant: readiness.scheme === "success" ? "success" : "grey" } : { label: "Design doc", variant: "grey" },
16154
+ anchorProps: _chunkQRUW4UXBcjs.buildAnchorProps.call(void 0, displayRef.url, isNewTab),
16155
+ menuGroups: cardMenuGroups(displayRef.url, discuss),
16156
+ menuAriaLabel: "Design doc actions"
16157
+ }
16158
+ );
16159
+ }
16055
16160
  function InvestorUpdateChatCard({
16056
16161
  item,
16057
16162
  chatRef,
@@ -16059,13 +16164,13 @@ function InvestorUpdateChatCard({
16059
16164
  ogPlaceholder,
16060
16165
  discuss
16061
16166
  }) {
16062
- const title = _optionalChain([item, 'optionalAccess', _440 => _440.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _441 => _441.update_number]), () => ( "?"))}`;
16167
+ const title = _optionalChain([item, 'optionalAccess', _446 => _446.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _447 => _447.update_number]), () => ( "?"))}`;
16063
16168
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16064
16169
  EntityMingoCard,
16065
16170
  {
16066
16171
  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),
16172
+ 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,
16173
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _452 => _452.featured_image]), ogPlaceholder),
16069
16174
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.PresentationLineIcon, { size: 24 }),
16070
16175
  status: { label: "Investor update", variant: "grey" },
16071
16176
  chatRef,
@@ -16082,12 +16187,12 @@ function OnboardingGuideChatCard({
16082
16187
  ogPlaceholder,
16083
16188
  discuss
16084
16189
  }) {
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)));
16190
+ 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
16191
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16087
16192
  EntityMingoCard,
16088
16193
  {
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)),
16194
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _456 => _456.title]), () => ( "")),
16195
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _457 => _457.summary]), () => ( _optionalChain([item, 'optionalAccess', _458 => _458.description]))), () => ( void 0)),
16091
16196
  cover,
16092
16197
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CompassIcon, { size: 24 }),
16093
16198
  status: { label: "Guide", variant: "grey" },
@@ -16108,13 +16213,13 @@ function ProgramChatCard({
16108
16213
  discuss
16109
16214
  }) {
16110
16215
  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));
16216
+ const { line: meta } = _chunkQRUW4UXBcjs.programMetaLine.call(void 0, _nullishCoalesce(item, () => ( {})), configKey, _chunkQRUW4UXBcjs.programMetaFormatters.call(void 0, _chunkQRUW4UXBcjs.PROGRAM_META_RENDERERS));
16112
16217
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16113
16218
  EntityMingoCard,
16114
16219
  {
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),
16220
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _459 => _459.title]), () => ( "")),
16221
+ description: meta || _optionalChain([item, 'optionalAccess', _460 => _460.description]) || void 0,
16222
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _461 => _461.cover_url]), ogPlaceholder),
16118
16223
  fallbackIcon: icon,
16119
16224
  status: { label, variant: "grey" },
16120
16225
  chatRef,
@@ -16131,10 +16236,10 @@ function RoadmapChatCard({
16131
16236
  cardType,
16132
16237
  discuss
16133
16238
  }) {
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;
16239
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _462 => _462.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
16240
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _463 => _463.customItemId]) != null;
16136
16241
  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 ? (
16242
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _464 => _464.customItemId]), className: "size-6" }) : logoUrl ? (
16138
16243
  // Contained (not full-bleed) so the integration logo keeps its aspect
16139
16244
  // ratio inside the bordered icon box — matches RoadmapCard.
16140
16245
  /* @__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 +16250,10 @@ function RoadmapChatCard({
16145
16250
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16146
16251
  EntityMingoCard,
16147
16252
  {
16148
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _459 => _459.title]), () => ( "")),
16149
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _460 => _460.description]), () => ( void 0)),
16253
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _465 => _465.title]), () => ( "")),
16254
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _466 => _466.description]), () => ( void 0)),
16150
16255
  fallbackIcon: icon,
16151
- status: statusPill(_optionalChain([item, 'optionalAccess', _461 => _461.status])),
16256
+ status: statusPill(_optionalChain([item, 'optionalAccess', _467 => _467.status])),
16152
16257
  chatRef,
16153
16258
  isNewTab,
16154
16259
  discuss,
@@ -16164,7 +16269,7 @@ function refHydratedEntry(docType, label, renderRef) {
16164
16269
  bareInline: true,
16165
16270
  contentRefType: docType,
16166
16271
  noComposedHref: true,
16167
- fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _462 => _462.url]), () => ( null)),
16272
+ fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _468 => _468.url]), () => ( null)),
16168
16273
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16169
16274
  render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
16170
16275
  };
@@ -16205,7 +16310,6 @@ var GITHUB_CARD_CONFIGS = {
16205
16310
  };
16206
16311
  var OpenFrameGlyph = resolveIcon("openframe");
16207
16312
  var REF_GLYPH_CARD_CONFIGS = {
16208
- design_doc: { label: "Design doc", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.FileContentIcon, { size: 24 }) },
16209
16313
  openframe_tenant: { label: "OpenFrame tenant", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OpenFrameGlyph, { size: 24 }) },
16210
16314
  prospect_call: { label: "Prospect call", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CallIcon, { size: 24 }), media: true },
16211
16315
  // Code intelligence (product-hub internal): the review rules a repository is
@@ -16222,7 +16326,10 @@ var REF_GLYPH_CARD_CONFIGS = {
16222
16326
  code_file: { label: "Code file", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.FileCodeIcon, { size: 24 }) },
16223
16327
  code_symbol: { label: "Code symbol", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CodeSquareIcon, { size: 24 }) },
16224
16328
  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 }) }
16329
+ code_impact: { label: "Change impact", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CodingPullRequestIcon, { size: 24 }) },
16330
+ // A change set: pull requests across repositories declared as one change, with the ClickUp tasks and design
16331
+ // docs its pull requests are attached to. ONE card for it wherever a set is shown (chat, a design doc's page).
16332
+ change_set: { label: "Change set", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOIDKQ77Rcjs.CodingMergeIcon, { size: 24 }) }
16226
16333
  };
16227
16334
  function refGlyphRegistryEntries() {
16228
16335
  return registryEntries(
@@ -16236,8 +16343,8 @@ function refGlyphRegistryEntries() {
16236
16343
  title: displayRef.title,
16237
16344
  description: _nullishCoalesce(displayRef.preview, () => ( void 0)),
16238
16345
  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))
16346
+ _optionalChain([displayRef, 'access', _469 => _469.metadata, 'optionalAccess', _470 => _470.videoPoster]),
16347
+ _nullishCoalesce(_optionalChain([opts, 'access', _471 => _471.extras, 'optionalAccess', _472 => _472.buildOgPlaceholderUrl, 'optionalCall', _473 => _473(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
16241
16348
  ),
16242
16349
  fallbackIcon: cfg.icon(),
16243
16350
  status: { label: cfg.label, variant: "grey" },
@@ -16252,9 +16359,9 @@ function refGlyphRegistryEntries() {
16252
16359
  }
16253
16360
  function fetchedEmployeeEntryDisplayRef(item, chatRef) {
16254
16361
  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() : "";
16362
+ const title = typeof _optionalChain([it, 'optionalAccess', _474 => _474.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
16363
+ const author = typeof _optionalChain([it, 'optionalAccess', _475 => _475.author, 'optionalAccess', _476 => _476.full_name]) === "string" ? it.author.full_name.trim() : "";
16364
+ const summary = typeof _optionalChain([it, 'optionalAccess', _477 => _477.summary]) === "string" ? it.summary.trim() : "";
16258
16365
  const preview = [author, summary].filter((x) => x.length > 0).join(" \xB7 ");
16259
16366
  return { ...chatRef, title, preview: preview.length > 0 ? preview : chatRef.preview };
16260
16367
  }
@@ -16296,7 +16403,7 @@ function programRegistryEntries() {
16296
16403
  label: cfg.label,
16297
16404
  contentRefType: cfg.contentRefType,
16298
16405
  bareInline: true,
16299
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.ProgramCardSkeleton, { size: "sm" }),
16406
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.ProgramCardSkeleton, { size: "sm" }),
16300
16407
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16301
16408
  ProgramChatCard,
16302
16409
  {
@@ -16306,7 +16413,7 @@ function programRegistryEntries() {
16306
16413
  discuss: opts.discuss,
16307
16414
  configKey: cfg.configKey,
16308
16415
  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))
16416
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _478 => _478.extras, 'optionalAccess', _479 => _479.buildOgPlaceholderUrl, 'optionalCall', _480 => _480(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _481 => _481.title]), () => ( "")))]), () => ( null))
16310
16417
  }
16311
16418
  )
16312
16419
  }));
@@ -16327,7 +16434,7 @@ var ROADMAP_CARD_CONFIGS = {
16327
16434
  // The card's destination IS the ClickUp deep link, derived from the
16328
16435
  // task id post-fetch (the refs frame used to carry it).
16329
16436
  noComposedHref: true,
16330
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _476 => _476.id]) != null ? clickupTaskUrl(String(item.id)) : null
16437
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _482 => _482.id]) != null ? clickupTaskUrl(String(item.id)) : null
16331
16438
  }
16332
16439
  };
16333
16440
  function roadmapRegistryEntries() {
@@ -16337,7 +16444,7 @@ function roadmapRegistryEntries() {
16337
16444
  bareInline: true,
16338
16445
  ...cfg.noComposedHref ? { noComposedHref: true } : {},
16339
16446
  ...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
16340
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.RoadmapCardSkeleton, { size: "sm" }),
16447
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.RoadmapCardSkeleton, { size: "sm" }),
16341
16448
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16342
16449
  RoadmapChatCard,
16343
16450
  {
@@ -16369,8 +16476,8 @@ var CHAT_CARD_REGISTRY = {
16369
16476
  DeletedDataCard,
16370
16477
  {
16371
16478
  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))
16479
+ entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _483 => _483.metadata, 'optionalAccess', _484 => _484.entity_label]), () => ( null)),
16480
+ recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _485 => _485.metadata, 'optionalAccess', _486 => _486.recovery_note]), () => ( null))
16374
16481
  }
16375
16482
  )
16376
16483
  },
@@ -16387,7 +16494,7 @@ var CHAT_CARD_REGISTRY = {
16387
16494
  bareInline: true,
16388
16495
  contentRefType: "faq",
16389
16496
  noComposedHref: true,
16390
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _481 => _481.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
16497
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _487 => _487.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
16391
16498
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16392
16499
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
16393
16500
  },
@@ -16395,12 +16502,12 @@ var CHAT_CARD_REGISTRY = {
16395
16502
  // projection route; `extractCardItems` turns its object payload into the
16396
16503
  // single matched row. Destination is the public page unless the host
16397
16504
  // re-homes the type (`composeContentUrl` override).
16398
- [_chunk37NYF4W2cjs.TRUST_CENTER_DOCUMENT_TYPE]: {
16505
+ [_chunkQRUW4UXBcjs.TRUST_CENTER_DOCUMENT_TYPE]: {
16399
16506
  label: "Trust center",
16400
16507
  bareInline: true,
16401
- contentRefType: _chunk37NYF4W2cjs.TRUST_CENTER_DOCUMENT_TYPE,
16508
+ contentRefType: _chunkQRUW4UXBcjs.TRUST_CENTER_DOCUMENT_TYPE,
16402
16509
  noComposedHref: true,
16403
- fallbackHref: () => _chunk37NYF4W2cjs.TRUST_CENTER_PAGE_PATH,
16510
+ fallbackHref: () => _chunkQRUW4UXBcjs.TRUST_CENTER_PAGE_PATH,
16404
16511
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16405
16512
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
16406
16513
  },
@@ -16426,7 +16533,7 @@ var CHAT_CARD_REGISTRY = {
16426
16533
  label: "Blog post",
16427
16534
  contentRefType: "blog_post_existing",
16428
16535
  bareInline: true,
16429
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.BlogCardSkeleton, { size: "sm" }),
16536
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.BlogCardSkeleton, { size: "sm" }),
16430
16537
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16431
16538
  BlogChatCard,
16432
16539
  {
@@ -16434,8 +16541,8 @@ var CHAT_CARD_REGISTRY = {
16434
16541
  chatRef,
16435
16542
  isNewTab: opts.isNewTab,
16436
16543
  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
16544
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _488 => _488.extras, 'optionalAccess', _489 => _489.buildOgPlaceholderUrl, 'optionalCall', _490 => _490(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _491 => _491.title]), () => ( "")))]), () => ( null)),
16545
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _492 => _492.metadata, 'optionalAccess', _493 => _493.hasEmbeddedVideo]) === true
16439
16546
  }
16440
16547
  )
16441
16548
  },
@@ -16443,7 +16550,7 @@ var CHAT_CARD_REGISTRY = {
16443
16550
  label: "Case study",
16444
16551
  contentRefType: "case_study",
16445
16552
  bareInline: true,
16446
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.CaseStudyCardSkeleton, { size: "sm" }),
16553
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.CaseStudyCardSkeleton, { size: "sm" }),
16447
16554
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16448
16555
  CaseStudyChatCard,
16449
16556
  {
@@ -16451,15 +16558,24 @@ var CHAT_CARD_REGISTRY = {
16451
16558
  chatRef,
16452
16559
  isNewTab: opts.isNewTab,
16453
16560
  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))
16561
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _494 => _494.extras, 'optionalAccess', _495 => _495.buildOgPlaceholderUrl, 'optionalCall', _496 => _496(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _497 => _497.title]), () => ( "")))]), () => ( null))
16455
16562
  }
16456
16563
  )
16457
16564
  },
16565
+ design_doc: {
16566
+ label: "Design doc",
16567
+ contentRefType: "design_doc",
16568
+ bareInline: true,
16569
+ noComposedHref: true,
16570
+ fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _498 => _498.url]), () => ( null)),
16571
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16572
+ render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesignDocChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
16573
+ },
16458
16574
  customer_interview: {
16459
16575
  label: "Customer interview",
16460
16576
  contentRefType: "customer_interview",
16461
16577
  bareInline: true,
16462
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.CustomerInterviewCardSkeleton, { size: "sm" }),
16578
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.CustomerInterviewCardSkeleton, { size: "sm" }),
16463
16579
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16464
16580
  CustomerInterviewChatCard,
16465
16581
  {
@@ -16467,7 +16583,7 @@ var CHAT_CARD_REGISTRY = {
16467
16583
  chatRef,
16468
16584
  isNewTab: opts.isNewTab,
16469
16585
  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))
16586
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _499 => _499.extras, 'optionalAccess', _500 => _500.buildOgPlaceholderUrl, 'optionalCall', _501 => _501(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _502 => _502.title]), () => ( "")))]), () => ( null))
16471
16587
  }
16472
16588
  )
16473
16589
  },
@@ -16475,9 +16591,9 @@ var CHAT_CARD_REGISTRY = {
16475
16591
  label: "Product release",
16476
16592
  contentRefType: "product_release",
16477
16593
  bareInline: true,
16478
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.ProductReleaseCardSkeleton, { size: "sm" }),
16594
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.ProductReleaseCardSkeleton, { size: "sm" }),
16479
16595
  render: (item, chatRef, opts) => {
16480
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _496 => _496.extras, 'optionalAccess', _497 => _497.buildProductReleaseCardProps]), () => ( _chunk37NYF4W2cjs.defaultBuildProductReleaseCardProps));
16596
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _503 => _503.extras, 'optionalAccess', _504 => _504.buildProductReleaseCardProps]), () => ( _chunkQRUW4UXBcjs.defaultBuildProductReleaseCardProps));
16481
16597
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16482
16598
  ProductReleaseChatCard,
16483
16599
  {
@@ -16495,7 +16611,7 @@ var CHAT_CARD_REGISTRY = {
16495
16611
  label: "Investor update",
16496
16612
  contentRefType: "investor_update",
16497
16613
  bareInline: true,
16498
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.InvestorUpdateCardSkeleton, { size: "sm" }),
16614
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.InvestorUpdateCardSkeleton, { size: "sm" }),
16499
16615
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16500
16616
  InvestorUpdateChatCard,
16501
16617
  {
@@ -16503,7 +16619,7 @@ var CHAT_CARD_REGISTRY = {
16503
16619
  chatRef,
16504
16620
  isNewTab: opts.isNewTab,
16505
16621
  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))
16622
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _505 => _505.extras, 'optionalAccess', _506 => _506.buildOgPlaceholderUrl, 'optionalCall', _507 => _507(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _508 => _508.title]), () => ( "")))]), () => ( null))
16507
16623
  }
16508
16624
  )
16509
16625
  },
@@ -16513,7 +16629,7 @@ var CHAT_CARD_REGISTRY = {
16513
16629
  bareInline: true,
16514
16630
  // "Display" affordance (verbatim guide body) instead of "Ask".
16515
16631
  displayAction: true,
16516
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37NYF4W2cjs.OnboardingGuideCardSkeleton, { size: "sm" }),
16632
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQRUW4UXBcjs.OnboardingGuideCardSkeleton, { size: "sm" }),
16517
16633
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16518
16634
  OnboardingGuideChatCard,
16519
16635
  {
@@ -16521,7 +16637,7 @@ var CHAT_CARD_REGISTRY = {
16521
16637
  chatRef,
16522
16638
  isNewTab: opts.isNewTab,
16523
16639
  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))
16640
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _509 => _509.extras, 'optionalAccess', _510 => _510.buildOgPlaceholderUrl, 'optionalCall', _511 => _511(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _512 => _512.title]), () => ( "")))]), () => ( null))
16525
16641
  }
16526
16642
  )
16527
16643
  },
@@ -16532,13 +16648,13 @@ var CHAT_CARD_REGISTRY = {
16532
16648
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
16533
16649
  // No public viewer — synthesize the hub-internal admin URL post-fetch
16534
16650
  // 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,
16651
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _513 => _513.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
16536
16652
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
16537
16653
  },
16538
16654
  ...roadmapRegistryEntries()
16539
16655
  };
16540
16656
  function chatCardLabel(docType) {
16541
- return _optionalChain([CHAT_CARD_REGISTRY, 'access', _507 => _507[docType], 'optionalAccess', _508 => _508.label]);
16657
+ return _optionalChain([CHAT_CARD_REGISTRY, 'access', _514 => _514[docType], 'optionalAccess', _515 => _515.label]);
16542
16658
  }
16543
16659
  function ChatCardNavWrap({
16544
16660
  href,
@@ -16554,13 +16670,13 @@ function ChatCardNavWrap({
16554
16670
  if (!href) return;
16555
16671
  const targetEl = e.target;
16556
16672
  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;
16673
+ if (!_optionalChain([host, 'optionalAccess', _516 => _516.contains, 'call', _517 => _517(targetEl)])) return;
16674
+ if (_optionalChain([targetEl, 'optionalAccess', _518 => _518.closest, 'optionalCall', _519 => _519("button")])) return;
16675
+ if (!_optionalChain([targetEl, 'optionalAccess', _520 => _520.closest, 'optionalCall', _521 => _521("a")])) return;
16560
16676
  const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
16561
16677
  if (!handled) return;
16562
16678
  e.stopPropagation();
16563
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _515 => _515.closeChat])) panel.closeChat();
16679
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _522 => _522.closeChat])) panel.closeChat();
16564
16680
  };
16565
16681
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
16566
16682
  }
@@ -16582,7 +16698,7 @@ function ChatCardLoader({
16582
16698
  title: chatRef.title,
16583
16699
  externalUrl: chatRef.url,
16584
16700
  targetPlatform: chatRef.targetPlatform,
16585
- path: typeof _optionalChain([chatRef, 'access', _516 => _516.metadata, 'optionalAccess', _517 => _517.path]) === "string" ? chatRef.metadata.path : null
16701
+ path: typeof _optionalChain([chatRef, 'access', _523 => _523.metadata, 'optionalAccess', _524 => _524.path]) === "string" ? chatRef.metadata.path : null
16586
16702
  },
16587
16703
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
16588
16704
  );
@@ -16596,11 +16712,11 @@ function ChatCardLoader({
16596
16712
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
16597
16713
  const fetchEntry = entry && entry.contentRefType ? entry : null;
16598
16714
  const { item, isLoading, isError, isFetched } = useChatCardItem(
16599
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _518 => _518.contentRefType]), () => ( "")),
16715
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _525 => _525.contentRefType]), () => ( "")),
16600
16716
  fetchEntry ? resolvedChatRef.id : ""
16601
16717
  );
16602
16718
  if (!entry) return null;
16603
- const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _519 => _519.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
16719
+ const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _526 => _526.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
16604
16720
  contentRefType: fetchEntry.contentRefType,
16605
16721
  id: resolvedChatRef.id,
16606
16722
  item,
@@ -16608,18 +16724,18 @@ function ChatCardLoader({
16608
16724
  }) : null;
16609
16725
  const hrefChoice = fetchEntry && !resolvedChatRef.url && item ? pickFetchedCardHref({
16610
16726
  composed: composedHref,
16611
- itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _520 => _520.fallbackHref, 'optionalCall', _521 => _521(item)]), () => ( null)),
16727
+ itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _527 => _527.fallbackHref, 'optionalCall', _528 => _528(item)]), () => ( null)),
16612
16728
  allowComposed: !fetchEntry.noComposedHref
16613
16729
  }) : null;
16614
16730
  const hrefResolvedChatRef = hrefChoice ? {
16615
16731
  ...resolvedChatRef,
16616
- url: _chunk37NYF4W2cjs.safeHref.call(void 0, hrefChoice.href),
16732
+ url: _chunkQRUW4UXBcjs.safeHref.call(void 0, hrefChoice.href),
16617
16733
  // The `item` branch carries no platform of its own — keep the ref's.
16618
16734
  targetPlatform: _nullishCoalesce(_nullishCoalesce(hrefChoice.targetPlatform, () => ( resolvedChatRef.targetPlatform)), () => ( null))
16619
16735
  } : resolvedChatRef;
16620
16736
  const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
16621
16737
  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)));
16738
+ const isNewTab = _chunkQRUW4UXBcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
16623
16739
  const useDisplay = !!entry.displayAction && !!onDisplay;
16624
16740
  const discussFn = useDisplay ? onDisplay : onDiscuss;
16625
16741
  const discuss = discussFn ? {
@@ -16642,7 +16758,7 @@ function ChatCardLoader({
16642
16758
  isNewTab,
16643
16759
  discuss
16644
16760
  };
16645
- const path = typeof _optionalChain([finalChatRef, 'access', _522 => _522.metadata, 'optionalAccess', _523 => _523.path]) === "string" ? finalChatRef.metadata.path : null;
16761
+ const path = typeof _optionalChain([finalChatRef, 'access', _529 => _529.metadata, 'optionalAccess', _530 => _530.path]) === "string" ? finalChatRef.metadata.path : null;
16646
16762
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16647
16763
  ChatCardNavWrap,
16648
16764
  {
@@ -16666,7 +16782,7 @@ function ChatCardLoader({
16666
16782
  if (!fetchEntry) {
16667
16783
  return finish(entry.render(void 0, finalChatRef, renderOpts));
16668
16784
  }
16669
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _524 => _524.skeleton, 'optionalCall', _525 => _525()]), () => ( null)) });
16785
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _531 => _531.skeleton, 'optionalCall', _532 => _532()]), () => ( null)) });
16670
16786
  if (!item) {
16671
16787
  if (isError) {
16672
16788
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
@@ -17029,7 +17145,7 @@ function useChunkCatchup({
17029
17145
  if (catchupRun.current === run) {
17030
17146
  if (currentDialogId !== dialogIdRef.current) {
17031
17147
  catchupRun.current = null;
17032
- if (_optionalChain([pendingCatchupRef, 'access', _526 => _526.current, 'optionalAccess', _527 => _527.dialogId]) === currentDialogId) {
17148
+ if (_optionalChain([pendingCatchupRef, 'access', _533 => _533.current, 'optionalAccess', _534 => _534.dialogId]) === currentDialogId) {
17033
17149
  pendingCatchupRef.current = null;
17034
17150
  }
17035
17151
  } else {
@@ -17040,7 +17156,7 @@ function useChunkCatchup({
17040
17156
  if (pending.dialogId === currentDialogId) {
17041
17157
  rearmForQueuedCatchup();
17042
17158
  try {
17043
- await _optionalChain([catchUpChunksRef, 'access', _528 => _528.current, 'optionalCall', _529 => _529(pending.fromSequenceId)]);
17159
+ await _optionalChain([catchUpChunksRef, 'access', _535 => _535.current, 'optionalCall', _536 => _536(pending.fromSequenceId)]);
17044
17160
  } catch (rerunError) {
17045
17161
  console.error("Queued catch-up re-run failed:", rerunError);
17046
17162
  }
@@ -17107,7 +17223,7 @@ function useChunkCatchup({
17107
17223
 
17108
17224
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
17109
17225
  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;
17226
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _537 => _537.matchMedia, 'optionalCall', _538 => _538("(prefers-reduced-motion: reduce)"), 'access', _539 => _539.matches]) === true;
17111
17227
  }
17112
17228
  function useScriptedStream(frames, resetKey, enabled = true) {
17113
17229
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -17118,7 +17234,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
17118
17234
  setIndex(0);
17119
17235
  }
17120
17236
  _react.useEffect.call(void 0, () => {
17121
- const mq = _optionalChain([window, 'access', _533 => _533.matchMedia, 'optionalCall', _534 => _534("(prefers-reduced-motion: reduce)")]);
17237
+ const mq = _optionalChain([window, 'access', _540 => _540.matchMedia, 'optionalCall', _541 => _541("(prefers-reduced-motion: reduce)")]);
17122
17238
  const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
17123
17239
  sync();
17124
17240
  if (!mq) return void 0;
@@ -17261,7 +17377,7 @@ function useJetStreamDialogSubscription({
17261
17377
  const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
17262
17378
  conn: sharedConn,
17263
17379
  wsUrl,
17264
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _535 => _535.current, 'optionalCall', _536 => _536()]),
17380
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _542 => _542.current, 'optionalCall', _543 => _543()]),
17265
17381
  backoff: reconnectionBackoffRef.current,
17266
17382
  getFreshUrl: () => getNatsWsUrlRef.current(),
17267
17383
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -17276,7 +17392,7 @@ function useJetStreamDialogSubscription({
17276
17392
  setReconnectionCount((c) => c + 1);
17277
17393
  }
17278
17394
  hadConnectionBeforeRef.current = true;
17279
- _optionalChain([onConnectRef, 'access', _537 => _537.current, 'optionalCall', _538 => _538()]);
17395
+ _optionalChain([onConnectRef, 'access', _544 => _544.current, 'optionalCall', _545 => _545()]);
17280
17396
  }
17281
17397
  if (status === "error") {
17282
17398
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -17286,7 +17402,7 @@ function useJetStreamDialogSubscription({
17286
17402
  setIsConnected(false);
17287
17403
  setIsSubscribed(false);
17288
17404
  tearDownSubscription();
17289
- _optionalChain([onDisconnectRef, 'access', _539 => _539.current, 'optionalCall', _540 => _540()]);
17405
+ _optionalChain([onDisconnectRef, 'access', _546 => _546.current, 'optionalCall', _547 => _547()]);
17290
17406
  }
17291
17407
  }
17292
17408
  });
@@ -17412,7 +17528,7 @@ function useJetStreamDialogSubscription({
17412
17528
  }
17413
17529
  subscriptionRef.current = handle;
17414
17530
  setIsSubscribed(true);
17415
- _optionalChain([onSubscribedRef, 'access', _541 => _541.current, 'optionalCall', _542 => _542()]);
17531
+ _optionalChain([onSubscribedRef, 'access', _548 => _548.current, 'optionalCall', _549 => _549()]);
17416
17532
  } catch (e52) {
17417
17533
  if (!cancelled) {
17418
17534
  setIsSubscribed(false);
@@ -17528,20 +17644,20 @@ function useNatsDialogSubscription({
17528
17644
  const tearDownSubscriptions = () => {
17529
17645
  subscriptionRefs.current.forEach((sub) => {
17530
17646
  try {
17531
- _optionalChain([sub, 'optionalAccess', _543 => _543.unsubscribe, 'call', _544 => _544()]);
17647
+ _optionalChain([sub, 'optionalAccess', _550 => _550.unsubscribe, 'call', _551 => _551()]);
17532
17648
  } catch (e54) {
17533
17649
  }
17534
17650
  });
17535
17651
  subscriptionRefs.current.clear();
17536
17652
  lastSubscribedDialogIdRef.current = null;
17537
- _optionalChain([abortControllerRef, 'access', _545 => _545.current, 'optionalAccess', _546 => _546.abort, 'call', _547 => _547()]);
17653
+ _optionalChain([abortControllerRef, 'access', _552 => _552.current, 'optionalAccess', _553 => _553.abort, 'call', _554 => _554()]);
17538
17654
  abortControllerRef.current = null;
17539
17655
  };
17540
17656
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
17541
17657
  const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
17542
17658
  conn: sharedConn,
17543
17659
  wsUrl,
17544
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _548 => _548.current, 'optionalCall', _549 => _549()]),
17660
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _555 => _555.current, 'optionalCall', _556 => _556()]),
17545
17661
  backoff: reconnectionBackoffRef.current,
17546
17662
  getFreshUrl: () => getNatsWsUrlRef.current(),
17547
17663
  shouldRetryOn: isDisconnectStatus,
@@ -17552,7 +17668,7 @@ function useNatsDialogSubscription({
17552
17668
  setReconnectionCount((c) => c + 1);
17553
17669
  }
17554
17670
  hadConnectionBeforeRef.current = true;
17555
- _optionalChain([onConnectRef, 'access', _550 => _550.current, 'optionalCall', _551 => _551()]);
17671
+ _optionalChain([onConnectRef, 'access', _557 => _557.current, 'optionalCall', _558 => _558()]);
17556
17672
  }
17557
17673
  if (status === "error") {
17558
17674
  console.warn("[NATS] protocol error:", evt.data);
@@ -17562,7 +17678,7 @@ function useNatsDialogSubscription({
17562
17678
  setIsConnected(false);
17563
17679
  setIsSubscribed(false);
17564
17680
  tearDownSubscriptions();
17565
- _optionalChain([onDisconnectRef, 'access', _552 => _552.current, 'optionalCall', _553 => _553()]);
17681
+ _optionalChain([onDisconnectRef, 'access', _559 => _559.current, 'optionalCall', _560 => _560()]);
17566
17682
  }
17567
17683
  }
17568
17684
  });
@@ -17593,13 +17709,13 @@ function useNatsDialogSubscription({
17593
17709
  setIsSubscribed(false);
17594
17710
  subscriptionRefs.current.forEach((sub) => {
17595
17711
  try {
17596
- _optionalChain([sub, 'optionalAccess', _554 => _554.unsubscribe, 'call', _555 => _555()]);
17712
+ _optionalChain([sub, 'optionalAccess', _561 => _561.unsubscribe, 'call', _562 => _562()]);
17597
17713
  } catch (e55) {
17598
17714
  }
17599
17715
  });
17600
17716
  subscriptionRefs.current.clear();
17601
17717
  lastSubscribedDialogIdRef.current = null;
17602
- _optionalChain([abortControllerRef, 'access', _556 => _556.current, 'optionalAccess', _557 => _557.abort, 'call', _558 => _558()]);
17718
+ _optionalChain([abortControllerRef, 'access', _563 => _563.current, 'optionalAccess', _564 => _564.abort, 'call', _565 => _565()]);
17603
17719
  abortControllerRef.current = null;
17604
17720
  }
17605
17721
  return void 0;
@@ -17611,12 +17727,12 @@ function useNatsDialogSubscription({
17611
17727
  if (subscriptionRefs.current.size > 0) {
17612
17728
  subscriptionRefs.current.forEach((sub) => {
17613
17729
  try {
17614
- _optionalChain([sub, 'optionalAccess', _559 => _559.unsubscribe, 'call', _560 => _560()]);
17730
+ _optionalChain([sub, 'optionalAccess', _566 => _566.unsubscribe, 'call', _567 => _567()]);
17615
17731
  } catch (e56) {
17616
17732
  }
17617
17733
  });
17618
17734
  subscriptionRefs.current.clear();
17619
- _optionalChain([abortControllerRef, 'access', _561 => _561.current, 'optionalAccess', _562 => _562.abort, 'call', _563 => _563()]);
17735
+ _optionalChain([abortControllerRef, 'access', _568 => _568.current, 'optionalAccess', _569 => _569.abort, 'call', _570 => _570()]);
17620
17736
  }
17621
17737
  abortControllerRef.current = new AbortController();
17622
17738
  const abort = abortControllerRef.current;
@@ -17646,7 +17762,7 @@ function useNatsDialogSubscription({
17646
17762
  });
17647
17763
  lastSubscribedDialogIdRef.current = dialogId;
17648
17764
  setIsSubscribed(true);
17649
- _optionalChain([onSubscribedRef, 'access', _564 => _564.current, 'optionalCall', _565 => _565()]);
17765
+ _optionalChain([onSubscribedRef, 'access', _571 => _571.current, 'optionalCall', _572 => _572()]);
17650
17766
  };
17651
17767
  if (isConnectedRef.current) {
17652
17768
  createSubscriptions();
@@ -17657,7 +17773,7 @@ function useNatsDialogSubscription({
17657
17773
  abort.abort();
17658
17774
  subscriptions.forEach((sub) => {
17659
17775
  try {
17660
- _optionalChain([sub, 'optionalAccess', _566 => _566.unsubscribe, 'call', _567 => _567()]);
17776
+ _optionalChain([sub, 'optionalAccess', _573 => _573.unsubscribe, 'call', _574 => _574()]);
17661
17777
  } catch (e58) {
17662
17778
  }
17663
17779
  });
@@ -17696,7 +17812,7 @@ function useNatsDialogSubscription({
17696
17812
  });
17697
17813
  lastSubscribedDialogIdRef.current = currentDialogId;
17698
17814
  setIsSubscribed(true);
17699
- _optionalChain([onSubscribedRef, 'access', _568 => _568.current, 'optionalCall', _569 => _569()]);
17815
+ _optionalChain([onSubscribedRef, 'access', _575 => _575.current, 'optionalCall', _576 => _576()]);
17700
17816
  } else if (subscriptionRefs.current.size > 0) {
17701
17817
  setIsSubscribed(true);
17702
17818
  }
@@ -17704,10 +17820,10 @@ function useNatsDialogSubscription({
17704
17820
  return { isConnected, isSubscribed, reconnectionCount };
17705
17821
  }
17706
17822
  function buildNatsWsUrl(apiBaseUrl, options) {
17707
- const path = _optionalChain([options, 'optionalAccess', _570 => _570.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
17823
+ const path = _optionalChain([options, 'optionalAccess', _577 => _577.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
17708
17824
  const u = new URL(path, apiBaseUrl);
17709
17825
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
17710
- if (_optionalChain([options, 'optionalAccess', _571 => _571.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _572 => _572.token])) {
17826
+ if (_optionalChain([options, 'optionalAccess', _578 => _578.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _579 => _579.token])) {
17711
17827
  u.searchParams.set("authorization", options.token);
17712
17828
  }
17713
17829
  return u.toString();
@@ -17725,7 +17841,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
17725
17841
  const data = await res.json();
17726
17842
  return _nullishCoalesce(data.commands, () => ( []));
17727
17843
  } catch (err) {
17728
- if (_optionalChain([err, 'optionalAccess', _573 => _573.name]) === "AbortError") throw err;
17844
+ if (_optionalChain([err, 'optionalAccess', _580 => _580.name]) === "AbortError") throw err;
17729
17845
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
17730
17846
  return [];
17731
17847
  }
@@ -17733,8 +17849,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
17733
17849
  var NO_COMMANDS = [];
17734
17850
  function useSlashCommands(prefix, commandsUrl) {
17735
17851
  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;
17852
+ const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _581 => _581.prefix]) === prefix ? answered.commands : NO_COMMANDS;
17853
+ const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _582 => _582.prefix]) !== prefix;
17738
17854
  _react.useEffect.call(void 0, () => {
17739
17855
  if (prefix == null) return void 0;
17740
17856
  let cancelled = false;
@@ -17744,7 +17860,7 @@ function useSlashCommands(prefix, commandsUrl) {
17744
17860
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
17745
17861
  if (!cancelled) setAnswered({ prefix, commands: next });
17746
17862
  } catch (err) {
17747
- if (!cancelled && _optionalChain([err, 'optionalAccess', _576 => _576.name]) !== "AbortError") {
17863
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _583 => _583.name]) !== "AbortError") {
17748
17864
  console.warn("[use-slash-commands] fetch failed:", err);
17749
17865
  setAnswered({ prefix, commands: NO_COMMANDS });
17750
17866
  }
@@ -17767,7 +17883,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
17767
17883
  const query = _reactquery.useQuery.call(void 0, {
17768
17884
  queryKey: ["chat-slash-commands", commandsUrl],
17769
17885
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
17770
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _577 => _577.enabled]), () => ( true)),
17886
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _584 => _584.enabled]), () => ( true)),
17771
17887
  staleTime: Infinity,
17772
17888
  gcTime: Infinity,
17773
17889
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -17806,21 +17922,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
17806
17922
  }
17807
17923
  const data = await res.json();
17808
17924
  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]), () => ( []))
17925
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _585 => _585.name]), () => ( null)),
17926
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _586 => _586.icon]), () => ( null)),
17927
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _587 => _587.greeting]), () => ( null)),
17928
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _588 => _588.enabledRagTableIds]), () => ( [])),
17929
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _589 => _589.quickActions]), () => ( [])),
17930
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _590 => _590.suggestedQueries]), () => ( []))
17815
17931
  };
17816
17932
  } catch (err) {
17817
- if (_optionalChain([err, 'optionalAccess', _584 => _584.name]) === "AbortError") throw err;
17933
+ if (_optionalChain([err, 'optionalAccess', _591 => _591.name]) === "AbortError") throw err;
17818
17934
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
17819
17935
  return EMPTY_STATE_FALLBACK;
17820
17936
  }
17821
17937
  }
17822
17938
  function useEmptyStateConfig(emptyStateUrl, options) {
17823
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _585 => _585.enabled]), () => ( true))) && !!emptyStateUrl;
17939
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _592 => _592.enabled]), () => ( true))) && !!emptyStateUrl;
17824
17940
  const query = _reactquery.useQuery.call(void 0, {
17825
17941
  queryKey: ["chat-empty-state", emptyStateUrl],
17826
17942
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -17849,7 +17965,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
17849
17965
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
17850
17966
  function uploadWithProgress(url, file, token, onProgress, signal) {
17851
17967
  return new Promise((resolve, reject) => {
17852
- if (_optionalChain([signal, 'optionalAccess', _586 => _586.aborted])) {
17968
+ if (_optionalChain([signal, 'optionalAccess', _593 => _593.aborted])) {
17853
17969
  reject(new Error("Upload cancelled"));
17854
17970
  return;
17855
17971
  }
@@ -17891,7 +18007,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
17891
18007
  const handleSignalAbort = () => {
17892
18008
  xhr.abort();
17893
18009
  };
17894
- _optionalChain([signal, 'optionalAccess', _587 => _587.addEventListener, 'call', _588 => _588("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
18010
+ _optionalChain([signal, 'optionalAccess', _594 => _594.addEventListener, 'call', _595 => _595("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
17895
18011
  xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
17896
18012
  xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
17897
18013
  xhr.addEventListener("error", handleError, { signal: listeners.signal });
@@ -17935,10 +18051,10 @@ function useChatAttachments() {
17935
18051
  try {
17936
18052
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
17937
18053
  } catch (err) {
17938
- if (_optionalChain([ctrl, 'optionalAccess', _589 => _589.signal, 'access', _590 => _590.aborted])) return;
18054
+ if (_optionalChain([ctrl, 'optionalAccess', _596 => _596.signal, 'access', _597 => _597.aborted])) return;
17939
18055
  throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
17940
18056
  }
17941
- if (_optionalChain([ctrl, 'optionalAccess', _591 => _591.signal, 'access', _592 => _592.aborted])) return;
18057
+ if (_optionalChain([ctrl, 'optionalAccess', _598 => _598.signal, 'access', _599 => _599.aborted])) return;
17942
18058
  if (!sniffed) {
17943
18059
  throw new Error("Unrecognized file format");
17944
18060
  }
@@ -17952,7 +18068,7 @@ function useChatAttachments() {
17952
18068
  const urlResp = await _chunkXOGD2AMEcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
17953
18069
  method: "POST",
17954
18070
  headers: { "Content-Type": "application/json" },
17955
- signal: _optionalChain([ctrl, 'optionalAccess', _593 => _593.signal]),
18071
+ signal: _optionalChain([ctrl, 'optionalAccess', _600 => _600.signal]),
17956
18072
  body: JSON.stringify({
17957
18073
  fileName: att.file.name,
17958
18074
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -17981,9 +18097,9 @@ function useChatAttachments() {
17981
18097
  (pct) => {
17982
18098
  updateOne(att.id, { progress: pct });
17983
18099
  },
17984
- _optionalChain([ctrl, 'optionalAccess', _594 => _594.signal])
18100
+ _optionalChain([ctrl, 'optionalAccess', _601 => _601.signal])
17985
18101
  );
17986
- if (_optionalChain([ctrl, 'optionalAccess', _595 => _595.signal, 'access', _596 => _596.aborted])) return;
18102
+ if (_optionalChain([ctrl, 'optionalAccess', _602 => _602.signal, 'access', _603 => _603.aborted])) return;
17987
18103
  updateOne(att.id, {
17988
18104
  status: "ready",
17989
18105
  progress: 100,
@@ -17991,7 +18107,7 @@ function useChatAttachments() {
17991
18107
  viewToken: mintData.viewToken
17992
18108
  });
17993
18109
  } catch (err) {
17994
- if (_optionalChain([ctrl, 'optionalAccess', _597 => _597.signal, 'access', _598 => _598.aborted])) return;
18110
+ if (_optionalChain([ctrl, 'optionalAccess', _604 => _604.signal, 'access', _605 => _605.aborted])) return;
17995
18111
  const message = err instanceof Error ? err.message : String(err);
17996
18112
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
17997
18113
  } finally {
@@ -18113,7 +18229,7 @@ function useChatAttachmentImageGallery() {
18113
18229
  return () => root.removeEventListener("click", onClick);
18114
18230
  }, [viewUrlPrefix]);
18115
18231
  const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18116
- _chunk37NYF4W2cjs.ImageGalleryModal,
18232
+ _chunkQRUW4UXBcjs.ImageGalleryModal,
18117
18233
  {
18118
18234
  images: state.images,
18119
18235
  isOpen: state.isOpen,
@@ -18140,11 +18256,11 @@ var ANON_DEFAULTS = {
18140
18256
  function useResolveChatIdentity(enabled) {
18141
18257
  const runtime = _chunkU2YLMFJKcjs.useRequiredChatRuntime.call(void 0, );
18142
18258
  const url = runtime.endpoints.identityUrl;
18143
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkXOGD2AMEcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _599 => _599.email]), () => ( null));
18259
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkXOGD2AMEcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _606 => _606.email]), () => ( null));
18144
18260
  const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
18145
18261
  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;
18262
+ const data = _optionalChain([resolved, 'optionalAccess', _607 => _607.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
18263
+ const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _608 => _608.key]) !== requestKey;
18148
18264
  _react.useEffect.call(void 0, () => {
18149
18265
  if (requestKey === null) return void 0;
18150
18266
  let cancelled = false;
@@ -18291,7 +18407,7 @@ function useChat({
18291
18407
  onMessagesChangeRef.current = onMessagesChange;
18292
18408
  });
18293
18409
  _react.useEffect.call(void 0, () => {
18294
- _optionalChain([onMessagesChangeRef, 'access', _602 => _602.current, 'optionalCall', _603 => _603(messages)]);
18410
+ _optionalChain([onMessagesChangeRef, 'access', _609 => _609.current, 'optionalCall', _610 => _610(messages)]);
18295
18411
  }, [messages]);
18296
18412
  const {
18297
18413
  streamMessage,
@@ -18328,7 +18444,7 @@ function useChat({
18328
18444
  name: "You",
18329
18445
  content: text2,
18330
18446
  timestamp: /* @__PURE__ */ new Date(),
18331
- ..._optionalChain([options, 'optionalAccess', _604 => _604.hidden]) ? { hidden: true } : {}
18447
+ ..._optionalChain([options, 'optionalAccess', _611 => _611.hidden]) ? { hidden: true } : {}
18332
18448
  };
18333
18449
  addMessage(userMessage);
18334
18450
  setIsTyping(true);
@@ -18542,7 +18658,7 @@ function buildConfirmToolBody(request) {
18542
18658
  async function readServerErrorMessage(response) {
18543
18659
  try {
18544
18660
  const body = await response.json();
18545
- if (typeof _optionalChain([body, 'optionalAccess', _605 => _605.error]) === "string" && body.error.length > 0) return body.error;
18661
+ if (typeof _optionalChain([body, 'optionalAccess', _612 => _612.error]) === "string" && body.error.length > 0) return body.error;
18546
18662
  } catch (e60) {
18547
18663
  }
18548
18664
  return null;
@@ -18832,7 +18948,7 @@ function nullableText(value) {
18832
18948
  }
18833
18949
  function httpsUrl(value) {
18834
18950
  const candidate = text(value);
18835
- if (!candidate || _chunk37NYF4W2cjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
18951
+ if (!candidate || _chunkQRUW4UXBcjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
18836
18952
  try {
18837
18953
  return new URL(candidate).protocol === "https:" ? candidate : void 0;
18838
18954
  } catch (e64) {
@@ -18849,7 +18965,7 @@ function youtubeVideoId(value) {
18849
18965
  const hostname = parsed.hostname.toLowerCase();
18850
18966
  const isYoutubeHost = hostname === "youtu.be" || hostname === "youtube.com" || hostname.endsWith(".youtube.com");
18851
18967
  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]]);
18968
+ 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
18969
  const id = _nullishCoalesce(_nullishCoalesce(fromPath, () => ( parsed.searchParams.get("v"))), () => ( void 0));
18854
18970
  return id && YOUTUBE_ID.test(id) ? id : void 0;
18855
18971
  }
@@ -18968,11 +19084,11 @@ function cards(value, decodedSources) {
18968
19084
  {
18969
19085
  type,
18970
19086
  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 } } : {}
19087
+ title: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _616 => _616.name]), () => ( id)),
19088
+ url: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _617 => _617.externalUrl]), () => ( null)),
19089
+ ..._optionalChain([source, 'optionalAccess', _618 => _618.sourceRepo]) ? { sourceRepo: source.sourceRepo } : {},
19090
+ ..._optionalChain([source, 'optionalAccess', _619 => _619.targetPlatform]) !== void 0 ? { targetPlatform: source.targetPlatform } : {},
19091
+ ..._optionalChain([source, 'optionalAccess', _620 => _620.path]) ? { metadata: { path: source.path } } : {}
18976
19092
  }
18977
19093
  ];
18978
19094
  });
@@ -18998,11 +19114,11 @@ function sourceMetadataEvent(payload) {
18998
19114
  }
18999
19115
  function mergeSourceMetadata(previous, event) {
19000
19116
  const byIndex = /* @__PURE__ */ new Map();
19001
- for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _614 => _614.sources]), () => ( [])), ..._nullishCoalesce(event.sources, () => ( []))]) {
19117
+ for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _621 => _621.sources]), () => ( [])), ..._nullishCoalesce(event.sources, () => ( []))]) {
19002
19118
  if (!byIndex.has(source.index)) byIndex.set(source.index, source);
19003
19119
  }
19004
19120
  const byIdentity = /* @__PURE__ */ new Map();
19005
- for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _615 => _615.refs]), () => ( [])), ..._nullishCoalesce(event.refs, () => ( []))]) {
19121
+ for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _622 => _622.refs]), () => ( [])), ..._nullishCoalesce(event.refs, () => ( []))]) {
19006
19122
  const identity = `${ref.type}:${ref.id}`;
19007
19123
  if (!byIdentity.has(identity)) byIdentity.set(identity, ref);
19008
19124
  }
@@ -19088,9 +19204,9 @@ function appendToTrailingAssistant(prev, segments) {
19088
19204
  for (const seg of segments) {
19089
19205
  const tail = merged[merged.length - 1];
19090
19206
  const key = upsertKey(seg);
19091
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _616 => _616.type]) === "text") {
19207
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _623 => _623.type]) === "text") {
19092
19208
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
19093
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _617 => _617.type]) === "thinking") {
19209
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _624 => _624.type]) === "thinking") {
19094
19210
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
19095
19211
  } else if (key) {
19096
19212
  let idx = merged.findIndex((m) => upsertKey(m) === key);
@@ -19131,7 +19247,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
19131
19247
  }
19132
19248
  if (s.type !== "approval_batch") return s;
19133
19249
  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)]);
19250
+ const hasRow = _optionalChain([s, 'access', _625 => _625.data, 'access', _626 => _626.toolCalls, 'optionalAccess', _627 => _627.some, 'call', _628 => _628((c) => c.toolExecutionRequestId === requestId)]);
19135
19251
  if (!isAnchor && !hasRow) return s;
19136
19252
  const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
19137
19253
  const nextExecutions = hasRow ? {
@@ -19153,8 +19269,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
19153
19269
  };
19154
19270
  }
19155
19271
  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]) };
19272
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _629 => _629.status]) === "done") return null;
19273
+ 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
19274
  }
19159
19275
  function withBatchExecution(seg, execId, state) {
19160
19276
  return {
@@ -19171,11 +19287,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
19171
19287
  }
19172
19288
  function projectBatchRowFailureToMessages(prev, rowRequestId) {
19173
19289
  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)])) {
19290
+ 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
19291
  return s;
19176
19292
  }
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;
19293
+ const existing = _optionalChain([s, 'access', _636 => _636.data, 'access', _637 => _637.executions, 'optionalAccess', _638 => _638[rowRequestId]]);
19294
+ if (_optionalChain([existing, 'optionalAccess', _639 => _639.status]) === "done") return s;
19179
19295
  return withBatchExecution(s, rowRequestId, { status: "done", success: false });
19180
19296
  });
19181
19297
  }
@@ -19211,7 +19327,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
19211
19327
  for (let j = message.segments.length - 1; j >= 0; j--) {
19212
19328
  const seg = message.segments[j];
19213
19329
  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]]);
19330
+ const prevExec = _optionalChain([seg, 'access', _640 => _640.data, 'access', _641 => _641.executions, 'optionalAccess', _642 => _642[execId]]);
19215
19331
  const nextExec = nextBatchExecution(prevExec, toolData);
19216
19332
  if (nextExec === null) return prev;
19217
19333
  if (sameExecutionState(prevExec, nextExec)) return prev;
@@ -19384,9 +19500,9 @@ var MessageSegmentAccumulator = class {
19384
19500
  type: "tool_execution",
19385
19501
  data: {
19386
19502
  ...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])
19503
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _643 => _643.data, 'access', _644 => _644.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _645 => _645.toolTitle]))),
19504
+ toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _646 => _646.data, 'access', _647 => _647.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _648 => _648.toolExplanation]))),
19505
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _649 => _649.parameters])
19390
19506
  }
19391
19507
  };
19392
19508
  if (existingIndex !== -1) {
@@ -19410,7 +19526,7 @@ var MessageSegmentAccumulator = class {
19410
19526
  if (seg.type !== "approval_batch") return seg;
19411
19527
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
19412
19528
  if (!hasCall) return seg;
19413
- const prev = _optionalChain([seg, 'access', _643 => _643.data, 'access', _644 => _644.executions, 'optionalAccess', _645 => _645[execId]]);
19529
+ const prev = _optionalChain([seg, 'access', _650 => _650.data, 'access', _651 => _651.executions, 'optionalAccess', _652 => _652[execId]]);
19414
19530
  const next = nextBatchExecution(prev, toolData);
19415
19531
  matched = true;
19416
19532
  if (next === null) return seg;
@@ -19544,8 +19660,8 @@ var MessageSegmentAccumulator = class {
19544
19660
  requestId,
19545
19661
  {
19546
19662
  ...pendingApproval,
19547
- command: _optionalChain([pendingApproval, 'optionalAccess', _646 => _646.command]) || "",
19548
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _647 => _647.approvalType]) || approvalType
19663
+ command: _optionalChain([pendingApproval, 'optionalAccess', _653 => _653.command]) || "",
19664
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _654 => _654.approvalType]) || approvalType
19549
19665
  },
19550
19666
  status
19551
19667
  );
@@ -19570,9 +19686,9 @@ var MessageSegmentAccumulator = class {
19570
19686
  type: "escalation_offer",
19571
19687
  // The resolved chunk carries no text/origin — a redelivered offer must
19572
19688
  // 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]))) },
19689
+ 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
19690
  status,
19575
- resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _652 => _652.resolvedByName]))),
19691
+ resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _659 => _659.resolvedByName]))),
19576
19692
  onApprove: this.callbacks.onEscalationApprove,
19577
19693
  onReject: this.callbacks.onEscalationReject
19578
19694
  };
@@ -19897,7 +20013,7 @@ function createChatStreamReducer(options = {}) {
19897
20013
  let stateCache = null;
19898
20014
  function invalidate() {
19899
20015
  stateCache = null;
19900
- _optionalChain([onChange, 'optionalCall', _653 => _653()]);
20016
+ _optionalChain([onChange, 'optionalCall', _660 => _660()]);
19901
20017
  }
19902
20018
  function getState() {
19903
20019
  if (!stateCache) {
@@ -19913,7 +20029,7 @@ function createChatStreamReducer(options = {}) {
19913
20029
  return stateCache;
19914
20030
  }
19915
20031
  function emit(name, ...args) {
19916
- _optionalChain([onEffect, 'optionalCall', _654 => _654({ name, args })]);
20032
+ _optionalChain([onEffect, 'optionalCall', _661 => _661({ name, args })]);
19917
20033
  }
19918
20034
  function setMessagesInternal(next) {
19919
20035
  if (next !== messages) {
@@ -19956,12 +20072,12 @@ function createChatStreamReducer(options = {}) {
19956
20072
  return stampTrailingAssistantSourceMetadata(stampTrailingAssistantSeq(next, seq));
19957
20073
  }
19958
20074
  function applySegmentsToState(segments, meta) {
19959
- const seq = _optionalChain([meta, 'optionalAccess', _655 => _655.streamSeq]);
19960
- if (_optionalChain([meta, 'optionalAccess', _656 => _656.append]) && meta.isCompacting) {
20075
+ const seq = _optionalChain([meta, 'optionalAccess', _662 => _662.streamSeq]);
20076
+ if (_optionalChain([meta, 'optionalAccess', _663 => _663.append]) && meta.isCompacting) {
19961
20077
  setMessagesInternal(commitTrailingAssistant(upsertTrailingCompaction(messages, segments), seq));
19962
20078
  return;
19963
20079
  }
19964
- if (_optionalChain([meta, 'optionalAccess', _657 => _657.append])) {
20080
+ if (_optionalChain([meta, 'optionalAccess', _664 => _664.append])) {
19965
20081
  setMessagesInternal(commitTrailingAssistant(appendToTrailingAssistant(messages, segments), seq));
19966
20082
  return;
19967
20083
  }
@@ -19973,7 +20089,7 @@ function createChatStreamReducer(options = {}) {
19973
20089
  adoptTrailingAssistant = false;
19974
20090
  const last = messages[messages.length - 1];
19975
20091
  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 !== "";
20092
+ const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _665 => _665.segments, 'optionalAccess', _666 => _666.length]), () => ( 0))) > 0 || last.content !== "";
19977
20093
  if (!hasContent) return;
19978
20094
  setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
19979
20095
  }
@@ -20192,13 +20308,13 @@ function createChatStreamReducer(options = {}) {
20192
20308
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
20193
20309
  pendingEscalated.set(requestId, {
20194
20310
  command: summary,
20195
- explanation: _optionalChain([required, 'optionalAccess', _660 => _660.toolExplanation]),
20311
+ explanation: _optionalChain([required, 'optionalAccess', _667 => _667.toolExplanation]),
20196
20312
  approvalType,
20197
20313
  toolCalls
20198
20314
  });
20199
20315
  emit("onEscalatedApproval", requestId, {
20200
20316
  command: summary,
20201
- explanation: _optionalChain([required, 'optionalAccess', _661 => _661.toolExplanation]),
20317
+ explanation: _optionalChain([required, 'optionalAccess', _668 => _668.toolExplanation]),
20202
20318
  approvalType
20203
20319
  });
20204
20320
  break;
@@ -20582,7 +20698,7 @@ function createChatStreamReducer(options = {}) {
20582
20698
  const resolveBatch = (status, confirm) => async () => {
20583
20699
  setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
20584
20700
  for (const id of ids) {
20585
- const ok = await _optionalChain([confirm, 'optionalCall', _662 => _662(id)]);
20701
+ const ok = await _optionalChain([confirm, 'optionalCall', _669 => _669(id)]);
20586
20702
  if (ok === false) {
20587
20703
  setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
20588
20704
  }
@@ -20718,8 +20834,8 @@ function createChatStreamReducer(options = {}) {
20718
20834
  }
20719
20835
  }
20720
20836
  }
20721
- hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _663 => _663.resumed]), () => ( messages.length > 0)));
20722
- if (_optionalChain([extras, 'optionalAccess', _664 => _664.agentBusy])) agentBusyState();
20837
+ hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _670 => _670.resumed]), () => ( messages.length > 0)));
20838
+ if (_optionalChain([extras, 'optionalAccess', _671 => _671.agentBusy])) agentBusyState();
20723
20839
  invalidate();
20724
20840
  }
20725
20841
  return {
@@ -20804,7 +20920,7 @@ function createChatStreamReducer(options = {}) {
20804
20920
  },
20805
20921
  endSseTurn() {
20806
20922
  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 === "") {
20923
+ if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _672 => _672.segments, 'optionalAccess', _673 => _673.length]), () => ( 0))) === 0 && last.content === "") {
20808
20924
  messages = messages.slice(0, -1);
20809
20925
  }
20810
20926
  sseCurrentText = "";
@@ -20957,10 +21073,10 @@ function createChatDialogStore(options = {}) {
20957
21073
  if (onEvict) {
20958
21074
  const sep = key.indexOf(KEY_SEP);
20959
21075
  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))
21076
+ messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _674 => _674.state, 'access', _675 => _675.messages]), () => ( EMPTY_STATE.messages)),
21077
+ approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _676 => _676.state, 'access', _677 => _677.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
21078
+ lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _678 => _678.getLastAppliedSeq, 'call', _679 => _679()]), () => ( Number.NEGATIVE_INFINITY)),
21079
+ pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _680 => _680.getPendingEchoes, 'call', _681 => _681()]), () => ( EMPTY_PENDING_ECHOES))
20964
21080
  });
20965
21081
  }
20966
21082
  }
@@ -20970,12 +21086,12 @@ function createChatDialogStore(options = {}) {
20970
21086
  const key = keyOf(dialogId, side);
20971
21087
  let reducer = reducers.get(key);
20972
21088
  if (!reducer) {
20973
- const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _675 => _675(dialogId, side)]), () => ( {}));
21089
+ const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _682 => _682(dialogId, side)]), () => ( {}));
20974
21090
  const userOnChange = base.onChange;
20975
21091
  reducer = createChatStreamReducer({
20976
21092
  ...base,
20977
21093
  onChange: () => {
20978
- _optionalChain([userOnChange, 'optionalCall', _676 => _676()]);
21094
+ _optionalChain([userOnChange, 'optionalCall', _683 => _683()]);
20979
21095
  notify();
20980
21096
  }
20981
21097
  });
@@ -21020,7 +21136,7 @@ function createChatDialogStore(options = {}) {
21020
21136
  };
21021
21137
  }
21022
21138
  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));
21139
+ return _nullishCoalesce(_optionalChain([reducers, 'access', _684 => _684.get, 'call', _685 => _685(keyOf(dialogId, side)), 'optionalAccess', _686 => _686.state]), () => ( EMPTY_STATE));
21024
21140
  }
21025
21141
  function getServerSnapshot2() {
21026
21142
  return EMPTY_STATE;
@@ -21112,7 +21228,7 @@ function createDeltaBatcher({
21112
21228
  pending = [];
21113
21229
  const key = pendingKey;
21114
21230
  for (const delta of batch) applyOne(delta, key);
21115
- _optionalChain([onFlushed, 'optionalCall', _680 => _680(batch.length)]);
21231
+ _optionalChain([onFlushed, 'optionalCall', _687 => _687(batch.length)]);
21116
21232
  }
21117
21233
  function schedule() {
21118
21234
  if (raf !== null || timer !== null) return;
@@ -21136,7 +21252,7 @@ function createDeltaBatcher({
21136
21252
  }
21137
21253
  if (!isDeltaEvent(event)) return false;
21138
21254
  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;
21255
+ const seqAdvances = _optionalChain([tail, 'optionalAccess', _688 => _688.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
21140
21256
  if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
21141
21257
  pending[pending.length - 1] = {
21142
21258
  ...tail,
@@ -21167,7 +21283,7 @@ function useChatStreamReducer({
21167
21283
  side = DEFAULT_DIALOG_SIDE,
21168
21284
  createReducerOptions
21169
21285
  }) {
21170
- const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _682 => _682()]), () => ( {})));
21286
+ const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _689 => _689()]), () => ( {})));
21171
21287
  const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
21172
21288
  const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
21173
21289
  const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
@@ -21206,7 +21322,7 @@ var STORAGE_KEY = "conversation";
21206
21322
  var namespaceFor = (source) => {
21207
21323
  const base = `mingo-chat-${source}`;
21208
21324
  const auth = _chunkXOGD2AMEcjs.getEmbedProxyAuth.call(void 0, );
21209
- return _optionalChain([auth, 'optionalAccess', _683 => _683.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
21325
+ return _optionalChain([auth, 'optionalAccess', _690 => _690.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
21210
21326
  };
21211
21327
  function createChatConversationStorage(source) {
21212
21328
  return _chunkXOGD2AMEcjs.createLocalStorageAdapter.call(void 0, {
@@ -21318,7 +21434,7 @@ function formatSingularLookupInvocation(cmdId, value) {
21318
21434
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
21319
21435
  }
21320
21436
  function extractEntityIdFilter(override, expectedTableId) {
21321
- const f = _optionalChain([override, 'optionalAccess', _684 => _684.entityIdFilter]);
21437
+ const f = _optionalChain([override, 'optionalAccess', _691 => _691.entityIdFilter]);
21322
21438
  if (!f) return null;
21323
21439
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
21324
21440
  const id = typeof f.id === "string" ? f.id : "";
@@ -21357,7 +21473,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
21357
21473
  function buildAutoContinuationDirective(toolName, opts = {}) {
21358
21474
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
21359
21475
  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";
21476
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _692 => _692.status, 'optionalAccess', _693 => _693.toUpperCase, 'call', _694 => _694()]) === "CLOSED";
21361
21477
  if (toolName === "create_ticket") {
21362
21478
  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
21479
  }
@@ -21407,7 +21523,7 @@ function useChatHistoryHydration({
21407
21523
  if (cancelled) return;
21408
21524
  if (rows.length === 0) {
21409
21525
  const found = isRecord(body) ? body.found : void 0;
21410
- if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall', _688 => _688(conversationId)]);
21526
+ if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall', _695 => _695(conversationId)]);
21411
21527
  return;
21412
21528
  }
21413
21529
  const hydrated = [];
@@ -21551,7 +21667,7 @@ function useManagedDialogList({
21551
21667
  try {
21552
21668
  await deleteDialogCallback(id);
21553
21669
  removeLocal(id);
21554
- _optionalChain([onDialogRemovedRef, 'access', _689 => _689.current, 'optionalCall', _690 => _690(id, "deleted")]);
21670
+ _optionalChain([onDialogRemovedRef, 'access', _696 => _696.current, 'optionalCall', _697 => _697(id, "deleted")]);
21555
21671
  } catch (err) {
21556
21672
  console.error(`${logTag} deleteDialog failed:`, err);
21557
21673
  throw err;
@@ -21562,7 +21678,7 @@ function useManagedDialogList({
21562
21678
  const renameDialog = _react.useCallback.call(void 0,
21563
21679
  async (id, title) => {
21564
21680
  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]);
21681
+ const previous = _optionalChain([dialogsRef, 'access', _698 => _698.current, 'access', _699 => _699.find, 'call', _700 => _700((d) => d.id === id), 'optionalAccess', _701 => _701.title]);
21566
21682
  setDialogs((prev) => prev.map((d) => d.id === id ? { ...d, title } : d));
21567
21683
  try {
21568
21684
  await renameDialogCallback(id, title);
@@ -21581,7 +21697,7 @@ function useManagedDialogList({
21581
21697
  try {
21582
21698
  await archiveDialogCallback(id);
21583
21699
  removeLocal(id);
21584
- _optionalChain([onDialogRemovedRef, 'access', _695 => _695.current, 'optionalCall', _696 => _696(id, "archived")]);
21700
+ _optionalChain([onDialogRemovedRef, 'access', _702 => _702.current, 'optionalCall', _703 => _703(id, "archived")]);
21585
21701
  } catch (err) {
21586
21702
  console.error(`${logTag} archiveDialog failed:`, err);
21587
21703
  throw err;
@@ -21673,7 +21789,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21673
21789
  const { active = true } = runtimeOptions;
21674
21790
  const runtime = _chunkU2YLMFJKcjs.useRequiredChatRuntime.call(void 0, );
21675
21791
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
21676
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _697 => _697.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
21792
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _704 => _704.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
21677
21793
  const sendMessageRef = _react.useRef.call(void 0,
21678
21794
  () => Promise.resolve(true)
21679
21795
  );
@@ -21709,7 +21825,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21709
21825
  if (!restoredConversationRef.current) {
21710
21826
  restoredConversationRef.current = true;
21711
21827
  pruneStaleChatConversationStorage(source);
21712
- conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _698 => _698.load, 'call', _699 => _699(), 'optionalAccess', _700 => _700.conversationId]), () => ( null));
21828
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _705 => _705.load, 'call', _706 => _706(), 'optionalAccess', _707 => _707.conversationId]), () => ( null));
21713
21829
  }
21714
21830
  const [conversationId, setConversationId] = _react.useState.call(void 0, () => conversationIdRef.current);
21715
21831
  const commitConversationId = _react.useCallback.call(void 0,
@@ -21800,7 +21916,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21800
21916
  const abortControllerRef = _react.useRef.call(void 0, null);
21801
21917
  const switchConversation = _react.useCallback.call(void 0,
21802
21918
  (id) => {
21803
- _optionalChain([abortControllerRef, 'access', _701 => _701.current, 'optionalAccess', _702 => _702.abort, 'call', _703 => _703()]);
21919
+ _optionalChain([abortControllerRef, 'access', _708 => _708.current, 'optionalAccess', _709 => _709.abort, 'call', _710 => _710()]);
21804
21920
  flushDeltas();
21805
21921
  mutate((r) => r.reset());
21806
21922
  hydrationSendCountRef.current = 0;
@@ -21837,8 +21953,8 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21837
21953
  } = useManagedDialogList({
21838
21954
  autoLoad: active,
21839
21955
  fetchDialogs: fetchActiveDialogs,
21840
- renameDialog: _optionalChain([conversationsApi, 'optionalAccess', _704 => _704.renameDialog]),
21841
- archiveDialog: _optionalChain([conversationsApi, 'optionalAccess', _705 => _705.archiveDialog]),
21956
+ renameDialog: _optionalChain([conversationsApi, 'optionalAccess', _711 => _711.renameDialog]),
21957
+ archiveDialog: _optionalChain([conversationsApi, 'optionalAccess', _712 => _712.archiveDialog]),
21842
21958
  pageSize: 20,
21843
21959
  search: conversationsApi ? dialogSearch : void 0,
21844
21960
  logTag: "[useSseChatAdapter]",
@@ -21902,7 +22018,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21902
22018
  const serverMessage = await readServerErrorMessage(response);
21903
22019
  throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
21904
22020
  }
21905
- const reader = _optionalChain([response, 'access', _706 => _706.body, 'optionalAccess', _707 => _707.getReader, 'call', _708 => _708()]);
22021
+ const reader = _optionalChain([response, 'access', _713 => _713.body, 'optionalAccess', _714 => _714.getReader, 'call', _715 => _715()]);
21906
22022
  if (!reader) throw new Error("No response body");
21907
22023
  const frameDecoder = createSseFrameDecoder();
21908
22024
  let finished = false;
@@ -21931,7 +22047,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21931
22047
  }
21932
22048
  return true;
21933
22049
  } catch (err) {
21934
- if (_optionalChain([err, 'optionalAccess', _709 => _709.name]) === "AbortError" || ctrl.signal.aborted) {
22050
+ if (_optionalChain([err, 'optionalAccess', _716 => _716.name]) === "AbortError" || ctrl.signal.aborted) {
21935
22051
  return true;
21936
22052
  }
21937
22053
  flushDeltas();
@@ -21967,7 +22083,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
21967
22083
  );
21968
22084
  sendMessageRef.current = sendMessage;
21969
22085
  const stopMessage = _react.useCallback.call(void 0, () => {
21970
- _optionalChain([abortControllerRef, 'access', _710 => _710.current, 'optionalAccess', _711 => _711.abort, 'call', _712 => _712()]);
22086
+ _optionalChain([abortControllerRef, 'access', _717 => _717.current, 'optionalAccess', _718 => _718.abort, 'call', _719 => _719()]);
21971
22087
  flushDeltas();
21972
22088
  mutate((r) => r.setPhase("idle"));
21973
22089
  }, [mutate, flushDeltas]);
@@ -22003,7 +22119,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
22003
22119
  let sendIdx = -1;
22004
22120
  return state.messages.map((m) => {
22005
22121
  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("")]), () => ( ""));
22122
+ 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
22123
  let sources2;
22008
22124
  let scrollAnchor;
22009
22125
  if (m.role === "user" && !m.hidden) {
@@ -22012,7 +22128,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
22012
22128
  if (m.role === "assistant") {
22013
22129
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
22014
22130
  sources2 = sourcesMap.get(lookupIdx);
22015
- scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _719 => _719.get, 'call', _720 => _720(lookupIdx), 'optionalAccess', _721 => _721.scrollAnchor]), () => ( void 0));
22131
+ scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _726 => _726.get, 'call', _727 => _727(lookupIdx), 'optionalAccess', _728 => _728.scrollAnchor]), () => ( void 0));
22016
22132
  }
22017
22133
  return {
22018
22134
  id: m.id,
@@ -22039,7 +22155,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
22039
22155
  );
22040
22156
  return;
22041
22157
  }
22042
- const refSlug = typeof _optionalChain([reference, 'access', _722 => _722.metadata, 'optionalAccess', _723 => _723.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
22158
+ const refSlug = typeof _optionalChain([reference, 'access', _729 => _729.metadata, 'optionalAccess', _730 => _730.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
22043
22159
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
22044
22160
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
22045
22161
  const text2 = `/${cmdId} display "${escaped}"`;
@@ -22085,18 +22201,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
22085
22201
  /** True while the mount-time rebuild from the server transcript runs. */
22086
22202
  isHydratingHistory,
22087
22203
  /** 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)),
22204
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _731 => _731.provider]), () => ( null)),
22205
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _732 => _732.modelLabel]), () => ( null)),
22206
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _733 => _733.contextWindowMaxTokens]), () => ( null)),
22091
22207
  /** Input tokens (known after server's message_start frame; null until). */
22092
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _727 => _727.inputTokens]), () => ( null)),
22208
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _734 => _734.inputTokens]), () => ( null)),
22093
22209
  /** Output tokens (known only after server's trailing usage frame). */
22094
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _728 => _728.outputTokens]), () => ( null)),
22210
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _735 => _735.outputTokens]), () => ( null)),
22095
22211
  /** Cache hit % (read / total-input × 100). null during streaming. */
22096
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _729 => _729.cacheHitRatePct]), () => ( null)),
22212
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _736 => _736.cacheHitRatePct]), () => ( null)),
22097
22213
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
22098
22214
  * token counts). null until the trailing usage frame lands. */
22099
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _730 => _730.breakdown]), () => ( null)),
22215
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _737 => _737.breakdown]), () => ( null)),
22100
22216
  // ─── Dialog management ───────────────────────────────────────────────
22101
22217
  // With `chatConversationsUrl` the server transcript store IS the dialog
22102
22218
  // list (shared `useManagedDialogList`); selecting a row re-hydrates through
@@ -22351,7 +22467,7 @@ function decodeNatsChunk(chunk) {
22351
22467
  userId: typeof data.userId === "string" ? data.userId : void 0,
22352
22468
  // Wire shape carries no label; fall back to the id (parity with
22353
22469
  // 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) => ({
22470
+ 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
22471
  type: it.type,
22356
22472
  id: it.id,
22357
22473
  label: it.id
@@ -22442,7 +22558,7 @@ function extractIncompleteMessageState(lastMessage) {
22442
22558
  }
22443
22559
  break;
22444
22560
  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");
22561
+ 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
22562
  if (segment.status !== "rejected" && !allDone) {
22447
22563
  hasIncompleteState = true;
22448
22564
  }
@@ -22504,11 +22620,11 @@ function extractIncompleteMessageState(lastMessage) {
22504
22620
  function extractIncompleteTailState(messages) {
22505
22621
  if (!messages || messages.length === 0) return void 0;
22506
22622
  let start = messages.length;
22507
- while (start > 0 && _optionalChain([messages, 'access', _737 => _737[start - 1], 'optionalAccess', _738 => _738.role]) === "assistant") start -= 1;
22623
+ while (start > 0 && _optionalChain([messages, 'access', _744 => _744[start - 1], 'optionalAccess', _745 => _745.role]) === "assistant") start -= 1;
22508
22624
  if (start === messages.length) return void 0;
22509
22625
  const segments = [];
22510
22626
  for (let i = start; i < messages.length; i += 1) {
22511
- const content = _optionalChain([messages, 'access', _739 => _739[i], 'optionalAccess', _740 => _740.content]);
22627
+ const content = _optionalChain([messages, 'access', _746 => _746[i], 'optionalAccess', _747 => _747.content]);
22512
22628
  if (Array.isArray(content)) segments.push(...content);
22513
22629
  }
22514
22630
  if (segments.length === 0) return void 0;
@@ -22521,15 +22637,15 @@ function extractIncompleteTailState(messages) {
22521
22637
 
22522
22638
  // src/components/chat/utils/process-historical-messages.ts
22523
22639
  function getOwnerDisplayName(owner) {
22524
- if (_optionalChain([owner, 'optionalAccess', _741 => _741.type]) === OWNER_TYPE.ADMIN && owner.user) {
22640
+ if (_optionalChain([owner, 'optionalAccess', _748 => _748.type]) === OWNER_TYPE.ADMIN && owner.user) {
22525
22641
  const { firstName, lastName } = owner.user;
22526
22642
  const name = [firstName, lastName].filter(Boolean).join(" ");
22527
22643
  if (name) return name;
22528
22644
  }
22529
- return _optionalChain([owner, 'optionalAccess', _742 => _742.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
22645
+ return _optionalChain([owner, 'optionalAccess', _749 => _749.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
22530
22646
  }
22531
22647
  function getOwnerAvatar(owner) {
22532
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _743 => _743.user, 'optionalAccess', _744 => _744.image, 'optionalAccess', _745 => _745.imageUrl]), () => ( void 0));
22648
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _750 => _750.user, 'optionalAccess', _751 => _751.image, 'optionalAccess', _752 => _752.imageUrl]), () => ( void 0));
22533
22649
  }
22534
22650
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
22535
22651
  messageDataArray.forEach((data) => {
@@ -22719,7 +22835,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22719
22835
  event.offerId,
22720
22836
  event.text,
22721
22837
  event.origin,
22722
- _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _746 => _746[event.offerId]]), () => ( "pending"))
22838
+ _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _753 => _753[event.offerId]]), () => ( "pending"))
22723
22839
  );
22724
22840
  break;
22725
22841
  case "ticket-escalated":
@@ -22753,7 +22869,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22753
22869
  );
22754
22870
  break;
22755
22871
  case "escalation-offer-resolved":
22756
- _optionalChain([offerResolutions, 'optionalAccess', _747 => _747.set, 'call', _748 => _748(event.offerId, {
22872
+ _optionalChain([offerResolutions, 'optionalAccess', _754 => _754.set, 'call', _755 => _755(event.offerId, {
22757
22873
  status: event.status,
22758
22874
  resolvedByName: event.resolvedByName
22759
22875
  })]);
@@ -22817,7 +22933,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22817
22933
  }
22818
22934
  }
22819
22935
  } else {
22820
- _optionalChain([escalatedApprovals, 'optionalAccess', _749 => _749.set, 'call', _750 => _750(event.requestId, {
22936
+ _optionalChain([escalatedApprovals, 'optionalAccess', _756 => _756.set, 'call', _757 => _757(event.requestId, {
22821
22937
  command: event.command || "",
22822
22938
  explanation: event.explanation,
22823
22939
  approvalType,
@@ -22832,8 +22948,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22832
22948
  const existingStatus = approvalStatuses[requestId];
22833
22949
  const status = existingStatus || event.status;
22834
22950
  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) {
22951
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _758 => _758.get, 'call', _759 => _759(requestId)]);
22952
+ if (_optionalChain([escalatedData, 'optionalAccess', _760 => _760.toolCalls]) && escalatedData.toolCalls.length > 0) {
22837
22953
  if (batchApprovalsEnabled) {
22838
22954
  accumulator.addApprovalBatch(
22839
22955
  requestId,
@@ -22855,7 +22971,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22855
22971
  );
22856
22972
  }
22857
22973
  }
22858
- _optionalChain([escalatedApprovals, 'optionalAccess', _754 => _754.delete, 'call', _755 => _755(requestId)]);
22974
+ _optionalChain([escalatedApprovals, 'optionalAccess', _761 => _761.delete, 'call', _762 => _762(requestId)]);
22859
22975
  break;
22860
22976
  }
22861
22977
  if (escalatedData) {
@@ -22864,7 +22980,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
22864
22980
  explanation: escalatedData.explanation,
22865
22981
  approvalType: escalatedData.approvalType
22866
22982
  });
22867
- _optionalChain([escalatedApprovals, 'optionalAccess', _756 => _756.delete, 'call', _757 => _757(requestId)]);
22983
+ _optionalChain([escalatedApprovals, 'optionalAccess', _763 => _763.delete, 'call', _764 => _764(requestId)]);
22868
22984
  }
22869
22985
  const before = accumulator.getSegments();
22870
22986
  const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
@@ -22956,14 +23072,14 @@ function processHistoricalMessages(messages, options = {}) {
22956
23072
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
22957
23073
  return;
22958
23074
  }
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;
23075
+ 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
23076
  if (isUserMessage) {
22961
23077
  flushAssistantMessage();
22962
- const userAuthorType = _optionalChain([msg, 'access', _762 => _762.owner, 'optionalAccess', _763 => _763.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
23078
+ const userAuthorType = _optionalChain([msg, 'access', _769 => _769.owner, 'optionalAccess', _770 => _770.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
22963
23079
  messageDataArray.forEach((data) => {
22964
23080
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
22965
23081
  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;
23082
+ 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
23083
  processedMessages.push({
22968
23084
  id: msg.id,
22969
23085
  role: "user",
@@ -23010,7 +23126,7 @@ function processHistoricalMessages(messages, options = {}) {
23010
23126
  });
23011
23127
  const nextMsg = messages[index + 1];
23012
23128
  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);
23129
+ 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
23130
  if (isLastMessage || nextIsFromUser) {
23015
23131
  flushAssistantMessage();
23016
23132
  }
@@ -23393,7 +23509,7 @@ function useNatsChatAdapter(config, options = {}) {
23393
23509
  const connectionState = !active || !dialogId ? "connected" : connectedForDialog === dialogId ? "connected" : "connecting";
23394
23510
  const sendMessage = _react.useCallback.call(void 0,
23395
23511
  async (text2, sendOptions) => {
23396
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _770 => _770.hidden]), () => ( false));
23512
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _777 => _777.hidden]), () => ( false));
23397
23513
  mutate((r) => r.pushOptimisticSend(text2, hidden));
23398
23514
  await publishUserMessage(text2, { hidden, dialogId });
23399
23515
  },
@@ -23486,11 +23602,11 @@ function useNatsChatAdapter(config, options = {}) {
23486
23602
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
23487
23603
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
23488
23604
  // 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)),
23605
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _778 => _778.provider]), () => ( modelProvider)), () => ( null)),
23606
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _779 => _779.modelLabel]), () => ( modelLabel)), () => ( null)),
23607
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _780 => _780.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _781 => _781.contextWindowMaxTokens]))), () => ( null)),
23608
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _782 => _782.inputTokensSize]), () => ( null)),
23609
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _783 => _783.outputTokensSize]), () => ( null)),
23494
23610
  currentCacheHitRatePct: null,
23495
23611
  currentUsageBreakdown: null,
23496
23612
  // Dialog management
@@ -23612,7 +23728,7 @@ function useUnifiedChat(options) {
23612
23728
  []
23613
23729
  );
23614
23730
  const displayRefForward = _react.useCallback.call(void 0,
23615
- (ref) => _optionalChain([activeStateRef, 'access', _777 => _777.current, 'access', _778 => _778.displayRef, 'optionalCall', _779 => _779(ref)]),
23731
+ (ref) => _optionalChain([activeStateRef, 'access', _784 => _784.current, 'access', _785 => _785.displayRef, 'optionalCall', _786 => _786(ref)]),
23616
23732
  []
23617
23733
  );
23618
23734
  const displayRef = activeState.displayRef ? displayRefForward : void 0;
@@ -23622,7 +23738,7 @@ function useUnifiedChat(options) {
23622
23738
  const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
23623
23739
  const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
23624
23740
  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)]), []);
23741
+ const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _787 => _787.current, 'access', _788 => _788.setDialogScope, 'optionalCall', _789 => _789(scope)]), []);
23626
23742
  const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
23627
23743
  const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
23628
23744
  const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
@@ -23730,19 +23846,19 @@ function turnRequestKeys(content) {
23730
23846
  if (!Array.isArray(content)) return keys;
23731
23847
  for (const seg of content) {
23732
23848
  if (seg.type === "tool_execution") {
23733
- const id = _optionalChain([seg, 'access', _783 => _783.data, 'optionalAccess', _784 => _784.toolExecutionRequestId]);
23849
+ const id = _optionalChain([seg, 'access', _790 => _790.data, 'optionalAccess', _791 => _791.toolExecutionRequestId]);
23734
23850
  if (id) keys.add(id);
23735
23851
  } else if (seg.type === "approval_request") {
23736
- const id = _optionalChain([seg, 'access', _785 => _785.data, 'optionalAccess', _786 => _786.requestId]);
23852
+ const id = _optionalChain([seg, 'access', _792 => _792.data, 'optionalAccess', _793 => _793.requestId]);
23737
23853
  if (id) keys.add(id);
23738
23854
  } else if (seg.type === "escalation_offer") {
23739
- const id = _optionalChain([seg, 'access', _787 => _787.data, 'optionalAccess', _788 => _788.offerId]);
23855
+ const id = _optionalChain([seg, 'access', _794 => _794.data, 'optionalAccess', _795 => _795.offerId]);
23740
23856
  if (id) keys.add(id);
23741
23857
  } else if (seg.type === "approval_batch") {
23742
23858
  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);
23859
+ if (_optionalChain([data, 'optionalAccess', _796 => _796.approvalRequestId])) keys.add(data.approvalRequestId);
23860
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _797 => _797.toolCalls]), () => ( []))) {
23861
+ if (_optionalChain([call, 'optionalAccess', _798 => _798.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
23746
23862
  }
23747
23863
  }
23748
23864
  }
@@ -23827,18 +23943,18 @@ function mergeHistoryWithRealtime(input) {
23827
23943
  }
23828
23944
  }
23829
23945
  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;
23946
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _799 => _799.role]) === "assistant" ? trailing : null;
23947
+ 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
23948
  let processedToUse = processedHistory;
23833
23949
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
23834
23950
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
23835
23951
  if (historyBatchId) {
23836
23952
  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)
23953
+ (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
23954
  );
23839
23955
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
23840
23956
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
23841
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _800 => _800.content])) ? historyTrailingAssistant.content.length : 0;
23957
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _807 => _807.content])) ? historyTrailingAssistant.content.length : 0;
23842
23958
  const realtimeSize = existingWithSameBatch.content.length;
23843
23959
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
23844
23960
  processedToUse = processedHistory.slice(0, -1);
@@ -23871,9 +23987,9 @@ function mergeHistoryWithRealtime(input) {
23871
23987
  const trailingAssistantText = lastProcessed && lastProcessed.role === "assistant" ? assistantAnswerText(lastProcessed.content) : "";
23872
23988
  const windowSignals = collectTwinSignals(processedToUse);
23873
23989
  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)));
23990
+ const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _808 => _808.has, 'call', _809 => _809(m.id)]), () => ( false)));
23875
23991
  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;
23992
+ const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _810 => _810.timestamp, 'optionalAccess', _811 => _811.getTime, 'call', _812 => _812()]), () => ( 0))) <= historyFetchedAt;
23877
23993
  let lastOlderPersistedIndex = -1;
23878
23994
  if (firstWindowIndex < 0) {
23879
23995
  for (const [index, m] of existingMessages.entries()) {
@@ -23891,7 +24007,7 @@ function mergeHistoryWithRealtime(input) {
23891
24007
  } else if (pm.role === "assistant") {
23892
24008
  windowHasUnstampedAssistant = true;
23893
24009
  }
23894
- const time = _optionalChain([pm, 'access', _806 => _806.timestamp, 'optionalAccess', _807 => _807.getTime, 'call', _808 => _808()]);
24010
+ const time = _optionalChain([pm, 'access', _813 => _813.timestamp, 'optionalAccess', _814 => _814.getTime, 'call', _815 => _815()]);
23895
24011
  if (typeof time === "number" && time < windowMinTime) windowMinTime = time;
23896
24012
  }
23897
24013
  const threadHasClientMintedRow = existingMessages.some((m) => isClientMintedId(m.id));
@@ -23909,14 +24025,14 @@ function mergeHistoryWithRealtime(input) {
23909
24025
  const verdict = twinVerdict(windowSignals, m);
23910
24026
  return verdict === "unknown" ? !seqCanMislead(m) : verdict === "distinct";
23911
24027
  }
23912
- const time = _optionalChain([m, 'access', _809 => _809.timestamp, 'optionalAccess', _810 => _810.getTime, 'call', _811 => _811()]);
24028
+ const time = _optionalChain([m, 'access', _816 => _816.timestamp, 'optionalAccess', _817 => _817.getTime, 'call', _818 => _818()]);
23913
24029
  if (typeof time !== "number" || time > historyFetchedAt) return false;
23914
24030
  if (!Number.isFinite(windowMinTime) || time >= windowMinTime) return false;
23915
24031
  return twinVerdict(windowSignals, m) === "distinct";
23916
24032
  };
23917
24033
  const keepRealtime = (m) => {
23918
24034
  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;
24035
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _819 => _819.timestamp, 'optionalAccess', _820 => _820.getTime, 'call', _821 => _821()]), () => ( 0))) <= historyFetchedAt;
23920
24036
  return !(canBeInSnapshot && windowSignals.userContents.has(userTwinKey(m)));
23921
24037
  }
23922
24038
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -23941,7 +24057,7 @@ function mergeHistoryWithRealtime(input) {
23941
24057
  } else if (typeof m.streamSeq === "number") {
23942
24058
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
23943
24059
  } else {
23944
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _815 => _815.timestamp, 'optionalAccess', _816 => _816.getTime, 'call', _817 => _817()]), () => ( 0))) <= historyFetchedAt;
24060
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _822 => _822.timestamp, 'optionalAccess', _823 => _823.getTime, 'call', _824 => _824()]), () => ( 0))) <= historyFetchedAt;
23945
24061
  }
23946
24062
  if (covered) return false;
23947
24063
  }
@@ -24050,7 +24166,7 @@ function normalizeHistoricalMessageData(md) {
24050
24166
  function isHistoricalUserTurn(m) {
24051
24167
  return !!m.owner;
24052
24168
  }
24053
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _818 => _818.type]) === "TEXT" && typeof d.text === "string";
24169
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _825 => _825.type]) === "TEXT" && typeof d.text === "string";
24054
24170
  var THINK_MS = 550;
24055
24171
  var TOKEN_MS = 55;
24056
24172
  var USER_MS = 480;
@@ -24683,7 +24799,7 @@ function useChatDialogManager({
24683
24799
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
24684
24800
  if (restoreTarget) {
24685
24801
  try {
24686
- await _optionalChain([unarchiveDialog, 'optionalCall', _819 => _819(restoreTarget.id)]);
24802
+ await _optionalChain([unarchiveDialog, 'optionalCall', _826 => _826(restoreTarget.id)]);
24687
24803
  } catch (err) {
24688
24804
  console.error("[useChatDialogManager] unarchive failed:", err);
24689
24805
  return;
@@ -24932,7 +25048,7 @@ function SourceChip({
24932
25048
  const Icon = cta.icon;
24933
25049
  const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
24934
25050
  const chipClass = chatChipClass({ tone: "secondary" });
24935
- const decideTab = (href, targetPlatform) => _chunk37NYF4W2cjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
25051
+ const decideTab = (href, targetPlatform) => _chunkQRUW4UXBcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
24936
25052
  if (src.items && src.items.length > 0) {
24937
25053
  const dropdownItems = src.items.map((item) => {
24938
25054
  const itemCta = resolveSourceRowCTA(
@@ -25025,7 +25141,7 @@ function SourceChip({
25025
25141
  "a",
25026
25142
  {
25027
25143
  href: resolvedHref,
25028
- ..._chunk37NYF4W2cjs.newTabAnchorAttrs.call(void 0, isNewTab),
25144
+ ..._chunkQRUW4UXBcjs.newTabAnchorAttrs.call(void 0, isNewTab),
25029
25145
  onClick: buildClickHandler(resolvedHref, null, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
25030
25146
  className: chipClass,
25031
25147
  children: chipBody(src.name)
@@ -25041,7 +25157,7 @@ function SourceChip({
25041
25157
  "a",
25042
25158
  {
25043
25159
  href: resolvedHref,
25044
- ..._chunk37NYF4W2cjs.newTabAnchorAttrs.call(void 0, isNewTab),
25160
+ ..._chunkQRUW4UXBcjs.newTabAnchorAttrs.call(void 0, isNewTab),
25045
25161
  onClick: buildClickHandler(resolvedHref, src.path, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
25046
25162
  className: chipClass,
25047
25163
  title: displayName,
@@ -25234,7 +25350,7 @@ function EmbeddableChatInner({
25234
25350
  }),
25235
25351
  [commandsUrl]
25236
25352
  );
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;
25353
+ 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
25354
  const effectiveModes = _react.useMemo.call(void 0, () => {
25239
25355
  if (modes) return modes;
25240
25356
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -25249,7 +25365,7 @@ function EmbeddableChatInner({
25249
25365
  if (controlledActiveMode === void 0) {
25250
25366
  setUncontrolledActiveMode(next);
25251
25367
  }
25252
- _optionalChain([onActiveModeChange, 'optionalCall', _827 => _827(next)]);
25368
+ _optionalChain([onActiveModeChange, 'optionalCall', _834 => _834(next)]);
25253
25369
  },
25254
25370
  [controlledActiveMode, onActiveModeChange]
25255
25371
  );
@@ -25276,7 +25392,7 @@ function EmbeddableChatInner({
25276
25392
  );
25277
25393
  const effectiveAssistantName = emptyStateConfig.name;
25278
25394
  const effectiveAssistantIcon = emptyStateConfig.icon;
25279
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _828 => _828.title]) === "string" ? guideWelcome.title : null)));
25395
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _835 => _835.title]) === "string" ? guideWelcome.title : null)));
25280
25396
  const {
25281
25397
  messages: rawMessages,
25282
25398
  isLoading: chatLoading,
@@ -25319,8 +25435,8 @@ function EmbeddableChatInner({
25319
25435
  const mingoCaps = _react.useMemo.call(void 0,
25320
25436
  () => ({
25321
25437
  ...dialogCapabilities,
25322
- canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _829 => _829.canRename]), () => ( false)),
25323
- canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _830 => _830.canArchive]), () => ( false))
25438
+ canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _836 => _836.canRename]), () => ( false)),
25439
+ canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _837 => _837.canArchive]), () => ( false))
25324
25440
  }),
25325
25441
  [dialogCapabilities]
25326
25442
  );
@@ -25335,7 +25451,7 @@ function EmbeddableChatInner({
25335
25451
  void sendMessage(guidePendingPrompt).catch((err) => {
25336
25452
  console.error("[EmbeddableChat] guide launcher prompt failed:", err);
25337
25453
  });
25338
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _831 => _831()]);
25454
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _838 => _838()]);
25339
25455
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
25340
25456
  const {
25341
25457
  attachments: stagedAttachments,
@@ -25346,7 +25462,7 @@ function EmbeddableChatInner({
25346
25462
  clear: clearAttachments
25347
25463
  } = useChatAttachments();
25348
25464
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
25349
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _832 => _832.maxItems]), () => ( 10));
25465
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _839 => _839.maxItems]), () => ( 10));
25350
25466
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
25351
25467
  const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
25352
25468
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -25367,10 +25483,10 @@ function EmbeddableChatInner({
25367
25483
  }, [activeDialogId, activeMode]);
25368
25484
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
25369
25485
  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);
25486
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _840 => _840.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
25371
25487
  return m;
25372
- }, [_optionalChain([contextPicker, 'optionalAccess', _834 => _834.entityTypes])]);
25373
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _835 => _835.entityTypes]);
25488
+ }, [_optionalChain([contextPicker, 'optionalAccess', _841 => _841.entityTypes])]);
25489
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _842 => _842.entityTypes]);
25374
25490
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
25375
25491
  const byType = /* @__PURE__ */ new Map();
25376
25492
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -25382,7 +25498,7 @@ function EmbeddableChatInner({
25382
25498
  if (mentionActiveRef.current) {
25383
25499
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
25384
25500
  if (contextItems.length >= contextMaxItems) return;
25385
- _optionalChain([chatInputRef, 'access', _836 => _836.current, 'optionalAccess', _837 => _837.commitMention, 'call', _838 => _838(mentionTokenOf(key, mentionMarkerByType), {
25501
+ _optionalChain([chatInputRef, 'access', _843 => _843.current, 'optionalAccess', _844 => _844.commitMention, 'call', _845 => _845(mentionTokenOf(key, mentionMarkerByType), {
25386
25502
  label: item.label,
25387
25503
  icon: resolveContextIcon(item)
25388
25504
  })]);
@@ -25405,9 +25521,9 @@ function EmbeddableChatInner({
25405
25521
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
25406
25522
  if (mentionKeysRef.current.has(key)) {
25407
25523
  mentionKeysRef.current.delete(key);
25408
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _839 => _839.current, 'optionalAccess', _840 => _840.getValue, 'call', _841 => _841()]), () => ( ""));
25524
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _846 => _846.current, 'optionalAccess', _847 => _847.getValue, 'call', _848 => _848()]), () => ( ""));
25409
25525
  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)]);
25526
+ _optionalChain([chatInputRef, 'access', _849 => _849.current, 'optionalAccess', _850 => _850.setValue, 'call', _851 => _851(next)]);
25411
25527
  }
25412
25528
  },
25413
25529
  [mentionMarkerByType]
@@ -25429,7 +25545,7 @@ function EmbeddableChatInner({
25429
25545
  }, []);
25430
25546
  const closeContextPicker = _react.useCallback.call(void 0, () => {
25431
25547
  if (mentionActiveRef.current) {
25432
- _optionalChain([chatInputRef, 'access', _845 => _845.current, 'optionalAccess', _846 => _846.removeMentionTrigger, 'call', _847 => _847()]);
25548
+ _optionalChain([chatInputRef, 'access', _852 => _852.current, 'optionalAccess', _853 => _853.removeMentionTrigger, 'call', _854 => _854()]);
25433
25549
  }
25434
25550
  setContextPickerOpen(false);
25435
25551
  setMentionQuery(null);
@@ -25463,8 +25579,8 @@ function EmbeddableChatInner({
25463
25579
  [effectiveAssistantIcon]
25464
25580
  );
25465
25581
  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;
25582
+ 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;
25583
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _860 => _860.avatarUrl, 'optionalAccess', _861 => _861.trim, 'call', _862 => _862()]) || void 0 : void 0;
25468
25584
  const messages = _react.useMemo.call(void 0, () => {
25469
25585
  const options = { userName: guideUserName, userAvatar: guideUserAvatar, timestampCache };
25470
25586
  const mapped = rawMessages.map((m) => mapHostMessage(m, options));
@@ -25639,7 +25755,7 @@ function EmbeddableChatInner({
25639
25755
  _react.useEffect.call(void 0, () => {
25640
25756
  if (!panelBoundary || typeof ResizeObserver === "undefined") return void 0;
25641
25757
  const ro = new ResizeObserver((entries) => {
25642
- const w = _optionalChain([entries, 'access', _856 => _856[0], 'optionalAccess', _857 => _857.contentRect, 'optionalAccess', _858 => _858.width]);
25758
+ const w = _optionalChain([entries, 'access', _863 => _863[0], 'optionalAccess', _864 => _864.contentRect, 'optionalAccess', _865 => _865.width]);
25643
25759
  if (typeof w === "number") setPanelWidth(w);
25644
25760
  });
25645
25761
  ro.observe(panelBoundary);
@@ -25683,18 +25799,18 @@ function EmbeddableChatInner({
25683
25799
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen && !emptyListSkipped;
25684
25800
  const headerShowBack = hasConversation || guideCanReturnToMingo;
25685
25801
  const freshConversationTitle = isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "New Chat";
25686
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _859 => _859.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
25802
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _866 => _866.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
25687
25803
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
25688
25804
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
25689
25805
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
25690
25806
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
25691
25807
  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;
25808
+ const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _867 => _867.onCopyLink, 'optionalCall', _868 => _868(activeDialog)]) : void 0;
25809
+ const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access', _869 => _869.compactDialog, 'optionalCall', _870 => _870(activeDialog)]) : void 0;
25694
25810
  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;
25811
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _871 => _871.owner]) : void 0;
25812
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _872 => _872.name, 'optionalAccess', _873 => _873.trim, 'call', _874 => _874()]) || headerUserName;
25813
+ 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
25814
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
25699
25815
  const handleNewChat = _react.useCallback.call(void 0, () => {
25700
25816
  resetToNewChat();
@@ -25872,7 +25988,7 @@ function EmbeddableChatInner({
25872
25988
  headerAvatar ? (
25873
25989
  // Owner avatar at the title cell's right edge (Figma 113:63273).
25874
25990
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25875
- _chunk37NYF4W2cjs.SquareAvatar,
25991
+ _chunkQRUW4UXBcjs.SquareAvatar,
25876
25992
  {
25877
25993
  variant: "round",
25878
25994
  sizePx: 32,
@@ -26046,9 +26162,9 @@ function EmbeddableChatInner({
26046
26162
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
26047
26163
  subtitleLoading: emptyStateLoading,
26048
26164
  ...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)),
26165
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _883 => _883.title]))),
26166
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _884 => _884.icon]))),
26167
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _885 => _885.quickActions]), () => ( guideSuggestedActions)),
26052
26168
  onQuickAction: (action) => {
26053
26169
  setQuickActionPreview(null);
26054
26170
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -26123,8 +26239,8 @@ function EmbeddableChatInner({
26123
26239
  selectedContextItems: contextItems,
26124
26240
  onToggleContextItem: toggleContextItem,
26125
26241
  onRemoveContextItem: removeContextItem,
26126
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _879 => _879.items]),
26127
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _880 => _880.onRemove]),
26242
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _886 => _886.items]),
26243
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _887 => _887.onRemove]),
26128
26244
  contextPickerOpen,
26129
26245
  onOpenContextPicker: openContextPicker,
26130
26246
  onCloseContextPicker: closeContextPicker,
@@ -26608,5 +26724,14 @@ function EmbeddableChatInner({
26608
26724
 
26609
26725
 
26610
26726
 
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
26727
+
26728
+
26729
+
26730
+
26731
+
26732
+
26733
+
26734
+
26735
+
26736
+ 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.DESIGN_DOC_READINESS = DESIGN_DOC_READINESS; exports.DESIGN_DOC_READINESS_DISPLAY = DESIGN_DOC_READINESS_DISPLAY; exports.designDocReadiness = designDocReadiness; exports.formatCompletionLabel = formatCompletionLabel; exports.formatCompletionLabelWithBlockers = formatCompletionLabelWithBlockers; exports.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;
26737
+ //# sourceMappingURL=chunk-ZYFDPD73.cjs.map