@flamingo-stack/openframe-frontend-core 0.0.594 → 0.0.595

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 (117) hide show
  1. package/dist/{chunk-5XQMEDGE.cjs → chunk-23UJ4EBJ.cjs} +10 -10
  2. package/dist/{chunk-5XQMEDGE.cjs.map → chunk-23UJ4EBJ.cjs.map} +1 -1
  3. package/dist/{chunk-DRZ224RU.js → chunk-2WLW5HDU.js} +7 -7
  4. package/dist/{chunk-3OQIZPUX.js → chunk-3WZLPCJ7.js} +3 -3
  5. package/dist/{chunk-NEFNARFF.cjs → chunk-4R6AZFNU.cjs} +30 -30
  6. package/dist/{chunk-NEFNARFF.cjs.map → chunk-4R6AZFNU.cjs.map} +1 -1
  7. package/dist/{chunk-CCLPJSY3.cjs → chunk-4ZY5MP46.cjs} +15 -15
  8. package/dist/{chunk-CCLPJSY3.cjs.map → chunk-4ZY5MP46.cjs.map} +1 -1
  9. package/dist/{chunk-Y22VQDVW.js → chunk-63PXZXCT.js} +4 -4
  10. package/dist/{chunk-C4YJC5X7.cjs → chunk-6PEFK4UH.cjs} +6 -6
  11. package/dist/{chunk-C4YJC5X7.cjs.map → chunk-6PEFK4UH.cjs.map} +1 -1
  12. package/dist/{chunk-MEWAFY6X.js → chunk-7N2NJPUK.js} +3 -3
  13. package/dist/{chunk-IKQVXZB5.js → chunk-A57HKYLY.js} +6 -6
  14. package/dist/{chunk-LKN2KKYZ.js → chunk-AQ65NLGJ.js} +39 -9
  15. package/dist/{chunk-LKN2KKYZ.js.map → chunk-AQ65NLGJ.js.map} +1 -1
  16. package/dist/{chunk-YZLUOZKR.js → chunk-BKMSI2AW.js} +2 -2
  17. package/dist/{chunk-66I2QUFE.cjs → chunk-CPWX46TL.cjs} +6 -6
  18. package/dist/{chunk-66I2QUFE.cjs.map → chunk-CPWX46TL.cjs.map} +1 -1
  19. package/dist/{chunk-PETYVGEQ.cjs → chunk-CZM2H5F5.cjs} +5 -5
  20. package/dist/{chunk-PETYVGEQ.cjs.map → chunk-CZM2H5F5.cjs.map} +1 -1
  21. package/dist/{chunk-N3RHX26N.js → chunk-DYXVQ24Q.js} +3 -3
  22. package/dist/{chunk-43ADGEWL.cjs → chunk-EO5GYWIX.cjs} +28 -28
  23. package/dist/{chunk-43ADGEWL.cjs.map → chunk-EO5GYWIX.cjs.map} +1 -1
  24. package/dist/{chunk-ZK3AZ5YF.cjs → chunk-FHEN27GM.cjs} +11 -11
  25. package/dist/{chunk-ZK3AZ5YF.cjs.map → chunk-FHEN27GM.cjs.map} +1 -1
  26. package/dist/{chunk-EWOFXJGH.cjs → chunk-HGWC7ABT.cjs} +57 -57
  27. package/dist/{chunk-EWOFXJGH.cjs.map → chunk-HGWC7ABT.cjs.map} +1 -1
  28. package/dist/{chunk-UBRVIVY4.cjs → chunk-JGDDPNSC.cjs} +192 -192
  29. package/dist/{chunk-UBRVIVY4.cjs.map → chunk-JGDDPNSC.cjs.map} +1 -1
  30. package/dist/{chunk-QAVT6P5F.cjs → chunk-MDUAU74C.cjs} +28 -28
  31. package/dist/{chunk-QAVT6P5F.cjs.map → chunk-MDUAU74C.cjs.map} +1 -1
  32. package/dist/{chunk-CQ35OMPJ.cjs → chunk-MHORK6KM.cjs} +3 -3
  33. package/dist/{chunk-CQ35OMPJ.cjs.map → chunk-MHORK6KM.cjs.map} +1 -1
  34. package/dist/{chunk-ZZHHKE2Q.js → chunk-MUNVPRT2.js} +2 -2
  35. package/dist/{chunk-ZEG3ZJPY.cjs → chunk-MX7DNV7X.cjs} +33 -33
  36. package/dist/{chunk-ZEG3ZJPY.cjs.map → chunk-MX7DNV7X.cjs.map} +1 -1
  37. package/dist/{chunk-3T7ZP3TL.js → chunk-NNMAMTA5.js} +3 -3
  38. package/dist/{chunk-ACU7J5BL.cjs → chunk-OGE4GSLZ.cjs} +80 -80
  39. package/dist/{chunk-ACU7J5BL.cjs.map → chunk-OGE4GSLZ.cjs.map} +1 -1
  40. package/dist/{chunk-HQWZ4IXU.cjs → chunk-OWWICTQR.cjs} +21 -21
  41. package/dist/{chunk-HQWZ4IXU.cjs.map → chunk-OWWICTQR.cjs.map} +1 -1
  42. package/dist/{chunk-KVNA3HU2.js → chunk-PYEJL2UG.js} +3 -3
  43. package/dist/{chunk-M5HGULIY.js → chunk-QLJMXCB5.js} +5 -5
  44. package/dist/{chunk-3XDPXOMS.js → chunk-SEVD4AST.js} +5 -5
  45. package/dist/{chunk-Y6I2DGKC.cjs → chunk-SK4IVCSI.cjs} +10 -2
  46. package/dist/{chunk-Y6I2DGKC.cjs.map → chunk-SK4IVCSI.cjs.map} +1 -1
  47. package/dist/{chunk-PMN7WDXI.js → chunk-T2JAJ7MR.js} +3 -3
  48. package/dist/{chunk-BTF3CNDP.js → chunk-TDEQ26A2.js} +10 -2
  49. package/dist/{chunk-BTF3CNDP.js.map → chunk-TDEQ26A2.js.map} +1 -1
  50. package/dist/{chunk-HOLK4ZMT.js → chunk-U4QRK4MX.js} +3 -3
  51. package/dist/{chunk-F5Q3DTP5.js → chunk-UPKN5CYH.js} +6 -6
  52. package/dist/{chunk-YLVPQNLO.cjs → chunk-YYHYCQD6.cjs} +389 -359
  53. package/dist/chunk-YYHYCQD6.cjs.map +1 -0
  54. package/dist/{chunk-GBIC3VNA.js → chunk-ZRXJX3JK.js} +4 -4
  55. package/dist/{chunk-S7VW4HVL.cjs → chunk-ZY3Z3F4X.cjs} +20 -20
  56. package/dist/{chunk-S7VW4HVL.cjs.map → chunk-ZY3Z3F4X.cjs.map} +1 -1
  57. package/dist/components/case-studies/index.cjs +10 -10
  58. package/dist/components/case-studies/index.js +4 -4
  59. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  60. package/dist/components/chat/index.cjs +3 -3
  61. package/dist/components/chat/index.js +2 -2
  62. package/dist/components/contact/index.cjs +5 -5
  63. package/dist/components/contact/index.js +4 -4
  64. package/dist/components/docs/index.cjs +8 -8
  65. package/dist/components/docs/index.js +7 -7
  66. package/dist/components/embeds/index.cjs +5 -5
  67. package/dist/components/embeds/index.js +4 -4
  68. package/dist/components/faq/index.cjs +5 -5
  69. package/dist/components/faq/index.js +4 -4
  70. package/dist/components/features/index.cjs +4 -4
  71. package/dist/components/features/index.js +3 -3
  72. package/dist/components/help-center-pages/index.cjs +24 -24
  73. package/dist/components/help-center-pages/index.js +15 -15
  74. package/dist/components/index.cjs +53 -53
  75. package/dist/components/index.js +15 -15
  76. package/dist/components/meeting-scheduler/index.cjs +31 -31
  77. package/dist/components/meeting-scheduler/index.js +3 -3
  78. package/dist/components/navigation/index.cjs +7 -7
  79. package/dist/components/navigation/index.js +6 -6
  80. package/dist/components/onboarding-guides/index.cjs +7 -7
  81. package/dist/components/onboarding-guides/index.js +6 -6
  82. package/dist/components/related-content/index.cjs +3 -3
  83. package/dist/components/related-content/index.js +2 -2
  84. package/dist/components/tickets/index.cjs +8 -8
  85. package/dist/components/tickets/index.js +7 -7
  86. package/dist/components/ui/index.cjs +4 -4
  87. package/dist/components/ui/index.js +3 -3
  88. package/dist/index.cjs +8 -8
  89. package/dist/index.js +7 -7
  90. package/dist/utils/index.cjs +11 -1
  91. package/dist/utils/index.cjs.map +1 -1
  92. package/dist/utils/index.js +11 -1
  93. package/dist/utils/index.js.map +1 -1
  94. package/dist/utils/list-url.d.ts.map +1 -1
  95. package/dist/utils/source-icons.d.ts.map +1 -1
  96. package/package.json +1 -1
  97. package/src/components/chat/entity-cards/dispatch.tsx +47 -16
  98. package/src/utils/__tests__/list-url.test.ts +6 -0
  99. package/src/utils/list-url.ts +8 -0
  100. package/src/utils/source-icons.ts +3 -0
  101. package/dist/chunk-YLVPQNLO.cjs.map +0 -1
  102. /package/dist/{chunk-DRZ224RU.js.map → chunk-2WLW5HDU.js.map} +0 -0
  103. /package/dist/{chunk-3OQIZPUX.js.map → chunk-3WZLPCJ7.js.map} +0 -0
  104. /package/dist/{chunk-Y22VQDVW.js.map → chunk-63PXZXCT.js.map} +0 -0
  105. /package/dist/{chunk-MEWAFY6X.js.map → chunk-7N2NJPUK.js.map} +0 -0
  106. /package/dist/{chunk-IKQVXZB5.js.map → chunk-A57HKYLY.js.map} +0 -0
  107. /package/dist/{chunk-YZLUOZKR.js.map → chunk-BKMSI2AW.js.map} +0 -0
  108. /package/dist/{chunk-N3RHX26N.js.map → chunk-DYXVQ24Q.js.map} +0 -0
  109. /package/dist/{chunk-ZZHHKE2Q.js.map → chunk-MUNVPRT2.js.map} +0 -0
  110. /package/dist/{chunk-3T7ZP3TL.js.map → chunk-NNMAMTA5.js.map} +0 -0
  111. /package/dist/{chunk-KVNA3HU2.js.map → chunk-PYEJL2UG.js.map} +0 -0
  112. /package/dist/{chunk-M5HGULIY.js.map → chunk-QLJMXCB5.js.map} +0 -0
  113. /package/dist/{chunk-3XDPXOMS.js.map → chunk-SEVD4AST.js.map} +0 -0
  114. /package/dist/{chunk-PMN7WDXI.js.map → chunk-T2JAJ7MR.js.map} +0 -0
  115. /package/dist/{chunk-HOLK4ZMT.js.map → chunk-U4QRK4MX.js.map} +0 -0
  116. /package/dist/{chunk-F5Q3DTP5.js.map → chunk-UPKN5CYH.js.map} +0 -0
  117. /package/dist/{chunk-GBIC3VNA.js.map → chunk-ZRXJX3JK.js.map} +0 -0
@@ -170,7 +170,7 @@ var _chunkGSQM4PDRcjs = require('./chunk-GSQM4PDR.cjs');
170
170
 
171
171
 
172
172
 
173
- var _chunkY6I2DGKCcjs = require('./chunk-Y6I2DGKC.cjs');
173
+ var _chunkSK4IVCSIcjs = require('./chunk-SK4IVCSI.cjs');
174
174
 
175
175
 
176
176
  var _chunkWLSFBRT5cjs = require('./chunk-WLSFBRT5.cjs');
@@ -4758,7 +4758,7 @@ function MspOrganizationCard({
4758
4758
  className
4759
4759
  ),
4760
4760
  children: [
4761
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.SquareAvatar, { src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
4761
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.SquareAvatar, { src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
4762
4762
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
4763
4763
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h3", children: _nullishCoalesce(title, () => ( `Your IT is managed by ${name}`)) }),
4764
4764
  website ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: website }) : null
@@ -4891,7 +4891,7 @@ var ChatHeader = _react.forwardRef.call(void 0,
4891
4891
  ] })
4892
4892
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
4893
4893
  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,
4894
- _chunkY6I2DGKCcjs.SquareAvatar,
4894
+ _chunkSK4IVCSIcjs.SquareAvatar,
4895
4895
  {
4896
4896
  src: userAvatar,
4897
4897
  alt: userName,
@@ -7254,7 +7254,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
7254
7254
  // Host-supplied brand icon (e.g. Mingo): render it directly,
7255
7255
  // no filled pill — the icon carries its own brand accent.
7256
7256
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-shrink-0 items-center justify-center", children: assistantIcon })
7257
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.SquareAvatar, { ...avatarProps })),
7257
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.SquareAvatar, { ...avatarProps })),
7258
7258
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
7259
7259
  "span",
7260
7260
  {
@@ -8040,7 +8040,7 @@ ChatMessageList.displayName = "ChatMessageList";
8040
8040
  // src/components/chat/hooks/use-proxied-image-url.ts
8041
8041
  function useProxiedImageUrl(url) {
8042
8042
  const r = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
8043
- return _nullishCoalesce(_chunkY6I2DGKCcjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
8043
+ return _nullishCoalesce(_chunkSK4IVCSIcjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
8044
8044
  proxyPrefix: r.endpoints.imageProxyUrlPrefix,
8045
8045
  skipDomains: r.endpoints.imageProxySkipDomains,
8046
8046
  directHttps: true
@@ -8066,7 +8066,7 @@ function ChatMessageRow({ displayName, avatarUrl, timeLabel, body, footer }) {
8066
8066
  height: 40,
8067
8067
  onError: () => setFailedSrc(_nullishCoalesce(resolvedAvatar, () => ( null)))
8068
8068
  }
8069
- ) : /* @__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: _chunkY6I2DGKCcjs.personInitials.call(void 0, displayName) || "?" }),
8069
+ ) : /* @__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: _chunkSK4IVCSIcjs.personInitials.call(void 0, displayName) || "?" }),
8070
8070
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 max-w-full flex-1", children: [
8071
8071
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex min-w-0 max-w-full items-center gap-2", children: [
8072
8072
  /* @__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 }),
@@ -9346,7 +9346,7 @@ function MingoChatHistoryRow({
9346
9346
  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")
9347
9347
  ),
9348
9348
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9349
- _chunkY6I2DGKCcjs.SquareAvatar,
9349
+ _chunkSK4IVCSIcjs.SquareAvatar,
9350
9350
  {
9351
9351
  variant: "round",
9352
9352
  sizePx: 24,
@@ -10487,7 +10487,7 @@ function ChatPanelHeader({
10487
10487
  avatar && (avatar.name || avatar.avatarUrl) ? (
10488
10488
  // Owner avatar at the title cell's right edge (Figma 113:63273).
10489
10489
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10490
- _chunkY6I2DGKCcjs.SquareAvatar,
10490
+ _chunkSK4IVCSIcjs.SquareAvatar,
10491
10491
  {
10492
10492
  variant: "round",
10493
10493
  sizePx: 32,
@@ -10701,8 +10701,8 @@ function AttachmentChip({ attachment, onRemove, disabled, size: size2 = "default
10701
10701
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "truncate text-ods-text-primary text-h6", title: file.name, children: file.name }),
10702
10702
  (!compact || status !== "ready") && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-ods-text-muted text-h6", children: [
10703
10703
  status === "sniffing" && "Checking\u2026",
10704
- status === "uploading" && `${progress}% \xB7 ${_chunkY6I2DGKCcjs.formatFileSize.call(void 0, file.size)}`,
10705
- status === "ready" && _chunkY6I2DGKCcjs.formatFileSize.call(void 0, file.size),
10704
+ status === "uploading" && `${progress}% \xB7 ${_chunkSK4IVCSIcjs.formatFileSize.call(void 0, file.size)}`,
10705
+ status === "ready" && _chunkSK4IVCSIcjs.formatFileSize.call(void 0, file.size),
10706
10706
  status === "error" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-error", title: errorMessage, children: _nullishCoalesce(errorMessage, () => ( "Upload failed")) })
10707
10707
  ] })
10708
10708
  ] }),
@@ -11499,10 +11499,10 @@ function resolveExternalNavigation(args) {
11499
11499
 
11500
11500
  // src/components/chat/utils/execute-navigation.ts
11501
11501
  function isForeignOriginHref(href) {
11502
- return /^https?:\/\//i.test(href) && !_chunkY6I2DGKCcjs.isSameOriginAbsoluteHref.call(void 0, href);
11502
+ return /^https?:\/\//i.test(href) && !_chunkSK4IVCSIcjs.isSameOriginAbsoluteHref.call(void 0, href);
11503
11503
  }
11504
11504
  function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
11505
- const isNewTab = runtime ? _chunkY6I2DGKCcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
11505
+ const isNewTab = runtime ? _chunkSK4IVCSIcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
11506
11506
  if (isNewTab) {
11507
11507
  if (_optionalChain([runtime, 'optionalAccess', _203 => _203.navigation, 'access', _204 => _204.openExternal])) runtime.navigation.openExternal(href);
11508
11508
  else window.open(href, "_blank", NEW_TAB_FEATURES);
@@ -11561,7 +11561,7 @@ function NavLinkAnchorViaRuntime({
11561
11561
  const router = _chunkSADRZ4YIcjs.useRouter.call(void 0, );
11562
11562
  const panel = useChatPanel();
11563
11563
  const resolvedHref = resolveHrefForRuntime(href, runtime);
11564
- const isNewTab = _chunkY6I2DGKCcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
11564
+ const isNewTab = _chunkSK4IVCSIcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
11565
11565
  const onClick = (e) => {
11566
11566
  const handled = executeNavigation({
11567
11567
  event: e,
@@ -11573,7 +11573,7 @@ function NavLinkAnchorViaRuntime({
11573
11573
  });
11574
11574
  if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _208 => _208.closeChat])) panel.closeChat();
11575
11575
  };
11576
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: resolvedHref, ..._chunkY6I2DGKCcjs.newTabAnchorAttrs.call(void 0, isNewTab), onClick, className, children });
11576
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: resolvedHref, ..._chunkSK4IVCSIcjs.newTabAnchorAttrs.call(void 0, isNewTab), onClick, className, children });
11577
11577
  }
11578
11578
 
11579
11579
  // src/components/chat/source-action-button.tsx
@@ -12815,9 +12815,9 @@ function UserDisplay({
12815
12815
  }) {
12816
12816
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "flex min-w-0 items-center gap-2", className), children: [
12817
12817
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12818
- _chunkY6I2DGKCcjs.SquareAvatar,
12818
+ _chunkSK4IVCSIcjs.SquareAvatar,
12819
12819
  {
12820
- src: avatarUrl ? _chunkY6I2DGKCcjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
12820
+ src: avatarUrl ? _chunkSK4IVCSIcjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
12821
12821
  fallback: name,
12822
12822
  alt: name,
12823
12823
  sizePx: size2,
@@ -13317,7 +13317,7 @@ function VideoHoverPreviewSurface({
13317
13317
  return () => io.disconnect();
13318
13318
  }, [gateControlled]);
13319
13319
  const showMedia = continuation || (gateControlled ? playerMounted : isNear);
13320
- const { src: posterSrc, onError: onPosterError } = _chunkY6I2DGKCcjs.useCoverImageFallback.call(void 0, posterUrl);
13320
+ const { src: posterSrc, onError: onPosterError } = _chunkSK4IVCSIcjs.useCoverImageFallback.call(void 0, posterUrl);
13321
13321
  const facadeSkipped = preload === "none" && !posterSrc;
13322
13322
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootElRef, className: _chunk23V5BSHDcjs.cn.call(void 0, "absolute inset-0", className), inert: isClone || void 0, children: showMedia ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
13323
13323
  posterSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -13435,7 +13435,7 @@ function groupByAspectRatio(items, getAspectRatio) {
13435
13435
 
13436
13436
  function VideoBitesStrip({
13437
13437
  bites,
13438
- title = _chunkY6I2DGKCcjs.DEFAULT_VIDEO_BITES_TITLE,
13438
+ title = _chunkSK4IVCSIcjs.DEFAULT_VIDEO_BITES_TITLE,
13439
13439
  showTitle = true,
13440
13440
  filterPublished = true,
13441
13441
  profile = null,
@@ -13448,7 +13448,7 @@ function VideoBitesStrip({
13448
13448
  cardHeightMobile = 300,
13449
13449
  showChevrons = true,
13450
13450
  onBiteNavigate,
13451
- sortComparator = _chunkY6I2DGKCcjs.sortBitesByCreatedAtDesc,
13451
+ sortComparator = _chunkSK4IVCSIcjs.sortBitesByCreatedAtDesc,
13452
13452
  className
13453
13453
  }) {
13454
13454
  const items = _react.useMemo.call(void 0, () => {
@@ -13673,7 +13673,7 @@ function EntityVideoSection({
13673
13673
  title = "Video",
13674
13674
  videoSummary,
13675
13675
  videoBites,
13676
- bitesTitle = _chunkY6I2DGKCcjs.DEFAULT_VIDEO_BITES_TITLE,
13676
+ bitesTitle = _chunkSK4IVCSIcjs.DEFAULT_VIDEO_BITES_TITLE,
13677
13677
  filterPublishedBites = true,
13678
13678
  bitesProfile = null,
13679
13679
  bitesHref,
@@ -13912,7 +13912,7 @@ function ReviewStateBadge({ state, className = "" }) {
13912
13912
  function GitHubActivityCard({ item, variant = "compact", className, anchorProps }) {
13913
13913
  const kind = _nullishCoalesce(item.kind, () => ( "commit"));
13914
13914
  const repo = _nullishCoalesce(_nullishCoalesce(item.repo, () => ( parseRepoFromUrl(item.url))), () => ( ""));
13915
- const dateText = _chunkY6I2DGKCcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
13915
+ const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
13916
13916
  const idLabel = formatActivityId(item.id, kind);
13917
13917
  const { display: title, reviewState } = parseGithubTitle(item.title, kind);
13918
13918
  const primaryText = kind === "pr_review" ? title.replace(/^by\s+/i, "").trim() || "Reviewer" : title;
@@ -13946,26 +13946,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
13946
13946
  metaParts.push(
13947
13947
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
13948
13948
  );
13949
- const href = _chunkY6I2DGKCcjs.safeHref.call(void 0, item.url);
13949
+ const href = _chunkSK4IVCSIcjs.safeHref.call(void 0, item.url);
13950
13950
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
13951
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
13952
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TEXT_COL, children: [
13953
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
13951
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
13952
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
13953
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
13954
13954
  reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
13955
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TITLE, children: primaryText })
13955
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE, children: primaryText })
13956
13956
  ] }),
13957
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
13957
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
13958
13958
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
13959
13959
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
13960
13960
  ] }, i)) }) }),
13961
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_SUMMARY, children: _chunkY6I2DGKCcjs.COMPACT_CARD_ROW_FILLER }) })
13961
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SUMMARY, children: _chunkSK4IVCSIcjs.COMPACT_CARD_ROW_FILLER }) })
13962
13962
  ] }),
13963
13963
  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
13964
13964
  ] });
13965
13965
  if (anchorProps) {
13966
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
13966
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
13967
13967
  }
13968
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
13968
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
13969
13969
  }
13970
13970
  function GitHubActivityCardSkeleton({
13971
13971
  variant = "compact",
@@ -13982,12 +13982,12 @@ function GitHubActivityCardSkeleton({
13982
13982
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
13983
13983
  ] });
13984
13984
  }
13985
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
13986
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
13987
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TEXT_COL, children: [
13988
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
13989
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
13990
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_SUMMARY, children: _chunkY6I2DGKCcjs.COMPACT_CARD_ROW_FILLER }) })
13985
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
13986
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
13987
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
13988
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
13989
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
13990
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SUMMARY, children: _chunkSK4IVCSIcjs.COMPACT_CARD_ROW_FILLER }) })
13991
13991
  ] }),
13992
13992
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
13993
13993
  ] });
@@ -14011,7 +14011,7 @@ function parseChannelFromUrl(url) {
14011
14011
  }
14012
14012
  function SlackMessageCard({ item, variant = "compact", className, anchorProps }) {
14013
14013
  const channel = _nullishCoalesce(_nullishCoalesce(item.channel, () => ( parseChannelFromUrl(item.url))), () => ( null));
14014
- const dateText = _chunkY6I2DGKCcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14014
+ const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14015
14015
  if (variant === "row") {
14016
14016
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
14017
14017
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5EM6NGBKcjs.SlackIcon, { className: "h-3.5 w-3.5 shrink-0" }),
@@ -14037,23 +14037,23 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
14037
14037
  metaParts.push(
14038
14038
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14039
14039
  );
14040
- const href = _chunkY6I2DGKCcjs.safeHref.call(void 0, item.url);
14040
+ const href = _chunkSK4IVCSIcjs.safeHref.call(void 0, item.url);
14041
14041
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14042
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5EM6NGBKcjs.SlackIcon, { className: "h-5 w-5" }) }),
14043
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TEXT_COL, children: [
14044
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TITLE, children: item.title }) }),
14045
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkY6I2DGKCcjs.COMPACT_CARD_ROW_FILLER }) }),
14046
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14042
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5EM6NGBKcjs.SlackIcon, { className: "h-5 w-5" }) }),
14043
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
14044
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE, children: item.title }) }),
14045
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkSK4IVCSIcjs.COMPACT_CARD_ROW_FILLER }) }),
14046
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14047
14047
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14048
14048
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
14049
- ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_SUMMARY, children: _chunkY6I2DGKCcjs.COMPACT_CARD_ROW_FILLER }) }) })
14049
+ ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SUMMARY, children: _chunkSK4IVCSIcjs.COMPACT_CARD_ROW_FILLER }) }) })
14050
14050
  ] }),
14051
14051
  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
14052
14052
  ] });
14053
14053
  if (anchorProps) {
14054
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14054
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14055
14055
  }
14056
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14056
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14057
14057
  }
14058
14058
  function SlackMessageCardSkeleton({
14059
14059
  variant = "compact",
@@ -14068,12 +14068,12 @@ function SlackMessageCardSkeleton({
14068
14068
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14069
14069
  ] });
14070
14070
  }
14071
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14072
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14073
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TEXT_COL, children: [
14074
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14075
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
14076
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14071
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14072
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14073
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
14074
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
14075
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
14076
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14077
14077
  ] }),
14078
14078
  /* @__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" }) })
14079
14079
  ] });
@@ -14104,12 +14104,12 @@ function statusScheme(status) {
14104
14104
  function HubspotTicketCard({ item, variant = "compact", className, anchorProps }) {
14105
14105
  const statusText = _nullishCoalesce(item.statusLabel, () => ( formatToken(item.status)));
14106
14106
  const priorityText = formatToken(item.priority);
14107
- const dateText = _chunkY6I2DGKCcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14107
+ const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14108
14108
  if (variant === "row") {
14109
14109
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
14110
14110
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "max-w-[260px] shrink-0 truncate text-ods-text-primary text-h6", children: item.title }),
14111
14111
  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,
14112
- statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
14112
+ statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
14113
14113
  dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-24 shrink-0 text-right text-ods-text-secondary text-h6", children: dateText }) : null
14114
14114
  ] });
14115
14115
  }
@@ -14123,13 +14123,13 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14123
14123
  metaParts.push(
14124
14124
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
14125
14125
  );
14126
- const href = _chunkY6I2DGKCcjs.safeHref.call(void 0, item.url);
14126
+ const href = _chunkSK4IVCSIcjs.safeHref.call(void 0, item.url);
14127
14127
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14128
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TEXT_COL, children: [
14128
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
14129
14129
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14130
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14130
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14131
14131
  priorityText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14132
- _chunkY6I2DGKCcjs.StatusBadge,
14132
+ _chunkSK4IVCSIcjs.StatusBadge,
14133
14133
  {
14134
14134
  text: priorityText,
14135
14135
  variant: "button",
@@ -14138,7 +14138,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14138
14138
  }
14139
14139
  ) : null,
14140
14140
  statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14141
- _chunkY6I2DGKCcjs.StatusBadge,
14141
+ _chunkSK4IVCSIcjs.StatusBadge,
14142
14142
  {
14143
14143
  text: statusText,
14144
14144
  variant: "button",
@@ -14152,7 +14152,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14152
14152
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
14153
14153
  ] }) : null,
14154
14154
  /* @__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." }) }) }),
14155
- metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14155
+ metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
14156
14156
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
14157
14157
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
14158
14158
  ] }, i)) }) }) : null
@@ -14160,9 +14160,9 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
14160
14160
  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
14161
14161
  ] });
14162
14162
  if (anchorProps) {
14163
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14163
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14164
14164
  }
14165
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14165
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14166
14166
  }
14167
14167
  function HubspotTicketCardSkeleton({
14168
14168
  variant = "compact",
@@ -14176,8 +14176,8 @@ function HubspotTicketCardSkeleton({
14176
14176
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
14177
14177
  ] });
14178
14178
  }
14179
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14180
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TEXT_COL, children: [
14179
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14180
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
14181
14181
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14182
14182
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14183
14183
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
@@ -14190,7 +14190,7 @@ function HubspotTicketCardSkeleton({
14190
14190
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
14191
14191
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
14192
14192
  ] }),
14193
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14193
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
14194
14194
  ] }),
14195
14195
  /* @__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" }) })
14196
14196
  ] });
@@ -14201,10 +14201,10 @@ function HubspotTicketCardSkeleton({
14201
14201
 
14202
14202
  function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
14203
14203
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14204
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TEXT_COL, children: [
14204
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
14205
14205
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14206
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14207
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
14206
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14207
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
14208
14208
  ] }),
14209
14209
  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: [
14210
14210
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
@@ -14215,13 +14215,13 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
14215
14215
  _optionalChain([anchorProps, 'optionalAccess', _343 => _343.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
14216
14216
  ] });
14217
14217
  if (!anchorProps) {
14218
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14218
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14219
14219
  }
14220
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14220
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14221
14221
  }
14222
14222
  function DataRoomDocCardSkeleton({ className }) {
14223
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14224
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TEXT_COL, children: [
14223
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14224
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
14225
14225
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
14226
14226
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14227
14227
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
@@ -14242,29 +14242,29 @@ function DataRoomDocCardSkeleton({ className }) {
14242
14242
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
14243
14243
  const goalsCount = _optionalChain([campaign, 'access', _344 => _344.goals, 'optionalAccess', _345 => _345.length]) || 0;
14244
14244
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14245
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
14246
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TEXT_COL, children: [
14247
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
14248
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_SUBTITLE, children: [
14249
- campaign.start_date ? _chunkY6I2DGKCcjs.formatDateShort.call(void 0, campaign.start_date) : null,
14245
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
14246
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
14247
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
14248
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SUBTITLE, children: [
14249
+ campaign.start_date ? _chunkSK4IVCSIcjs.formatDateShort.call(void 0, campaign.start_date) : null,
14250
14250
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
14251
14251
  "Marketing campaign"
14252
14252
  ].filter(Boolean).join(" \xB7 ") }) }),
14253
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkY6I2DGKCcjs.COMPACT_CARD_ROW_FILLER }) })
14253
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkSK4IVCSIcjs.COMPACT_CARD_ROW_FILLER }) })
14254
14254
  ] })
14255
14255
  ] });
14256
14256
  if (anchorProps) {
14257
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
14257
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
14258
14258
  }
14259
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
14259
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
14260
14260
  }
14261
14261
  function CampaignCardAdminSkeleton({ className }) {
14262
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14263
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14264
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TEXT_COL, children: [
14265
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
14266
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14267
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
14262
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14263
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
14264
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
14265
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
14266
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
14267
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
14268
14268
  ] })
14269
14269
  ] });
14270
14270
  }
@@ -14273,14 +14273,14 @@ function CampaignCardAdminSkeleton({ className }) {
14273
14273
 
14274
14274
 
14275
14275
  function GenericEntityCard({ item, className, anchorProps }) {
14276
- const href = _chunkY6I2DGKCcjs.safeHref.call(void 0, item.url);
14277
- const dateText = _chunkY6I2DGKCcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14276
+ const href = _chunkSK4IVCSIcjs.safeHref.call(void 0, item.url);
14277
+ const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
14278
14278
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14279
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TEXT_COL, children: [
14279
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
14280
14280
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
14281
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14281
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
14282
14282
  item.badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14283
- _chunkY6I2DGKCcjs.StatusBadge,
14283
+ _chunkSK4IVCSIcjs.StatusBadge,
14284
14284
  {
14285
14285
  text: item.badge.text,
14286
14286
  variant: "button",
@@ -14298,18 +14298,18 @@ function GenericEntityCard({ item, className, anchorProps }) {
14298
14298
  ] }),
14299
14299
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-medium text-ods-text-primary", children: f.value })
14300
14300
  ] }, i)) }) : null,
14301
- dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
14301
+ dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
14302
14302
  ] }),
14303
14303
  href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
14304
14304
  ] });
14305
14305
  if (anchorProps) {
14306
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14306
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
14307
14307
  }
14308
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14308
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
14309
14309
  }
14310
14310
  function GenericEntityCardSkeleton({ className }) {
14311
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14312
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TEXT_COL, children: [
14311
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
14312
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
14313
14313
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
14314
14314
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
14315
14315
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
@@ -14358,8 +14358,8 @@ function useChatCardItem(type, id) {
14358
14358
  const res = await _chunkYH6IQTPIcjs.embedAuthedFetch.call(void 0, url);
14359
14359
  if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
14360
14360
  const data = await res.json();
14361
- const items = _chunkY6I2DGKCcjs.extractItems.call(void 0, data);
14362
- const match = items.find((it) => _chunkY6I2DGKCcjs.extractItemId.call(void 0, type, it) === id);
14361
+ const items = _chunkSK4IVCSIcjs.extractItems.call(void 0, data);
14362
+ const match = items.find((it) => _chunkSK4IVCSIcjs.extractItemId.call(void 0, type, it) === id);
14363
14363
  return _nullishCoalesce(match, () => ( null));
14364
14364
  },
14365
14365
  enabled: !!url && id.length > 0,
@@ -14392,7 +14392,7 @@ function useChatCardItem(type, id) {
14392
14392
  function CardMedia({ imageSrc, imageAlt, icon }) {
14393
14393
  if (imageSrc) {
14394
14394
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative block size-10 shrink-0", children: [
14395
- /* @__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: _chunkY6I2DGKCcjs.personInitials.call(void 0, imageAlt) || "?" }),
14395
+ /* @__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: _chunkSK4IVCSIcjs.personInitials.call(void 0, imageAlt) || "?" }),
14396
14396
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14397
14397
  _chunkWLSFBRT5cjs.next_image_default,
14398
14398
  {
@@ -14550,7 +14550,7 @@ function resolveFetchedCardHref({
14550
14550
  composeContentUrl
14551
14551
  }) {
14552
14552
  if (!composeContentUrl || !contentRefType || !id) return null;
14553
- const canonicalType = _chunkY6I2DGKCcjs.canonicalContentRefType.call(void 0, contentRefType);
14553
+ const canonicalType = _chunkSK4IVCSIcjs.canonicalContentRefType.call(void 0, contentRefType);
14554
14554
  return composeContentUrl({
14555
14555
  // The card registry keys some entries by the legacy rail vocabulary
14556
14556
  // (`blog_post_existing`) because that is what `buildListUrl` expects.
@@ -14578,6 +14578,7 @@ var SOURCE_ICON_NAMES = {
14578
14578
  events: "calendar",
14579
14579
  podcasts: "headphones",
14580
14580
  "customer-interviews": "users",
14581
+ faqs: "info",
14581
14582
  // Financials
14582
14583
  "investor-updates": "mail",
14583
14584
  "financial-kpis": "activity",
@@ -14626,6 +14627,7 @@ var SOURCE_LABELS_BY_TABLE = {
14626
14627
  events: "Events",
14627
14628
  podcasts: "Podcasts",
14628
14629
  "customer-interviews": "Customer Interviews",
14630
+ faqs: "FAQs",
14629
14631
  // Financials
14630
14632
  "investor-updates": "Investor Updates",
14631
14633
  "financial-kpis": "Financial KPIs",
@@ -14679,6 +14681,7 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
14679
14681
  event: "events",
14680
14682
  podcast: "podcasts",
14681
14683
  customer_interview: "customer-interviews",
14684
+ faq: "faqs",
14682
14685
  // Financials
14683
14686
  investor_update: "investor-updates",
14684
14687
  financial_kpi: "financial-kpis",
@@ -14751,16 +14754,16 @@ function resolveSourceRowCTA(row, ctx = {}) {
14751
14754
  if (docTarget) {
14752
14755
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
14753
14756
  const base = `${_chunk23V5BSHDcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
14754
- href = _nullishCoalesce(_chunkY6I2DGKCcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14757
+ href = _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14755
14758
  targetPlatform = docTarget.platform;
14756
14759
  } else if (ctx.chipBasePlatform) {
14757
14760
  const base = `${_chunk23V5BSHDcjs.getBaseUrl.call(void 0, ctx.chipBasePlatform)}/knowledge-base/`;
14758
- href = _nullishCoalesce(_chunkY6I2DGKCcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14761
+ href = _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
14759
14762
  targetPlatform = ctx.chipBasePlatform;
14760
14763
  } else if (ctx.baseRoute) {
14761
14764
  const synthetic = `https://_internal_.local${ctx.baseRoute.startsWith("/") ? ctx.baseRoute : "/" + ctx.baseRoute}/`;
14762
14765
  const absolute = new URL(safePath, synthetic).toString();
14763
- href = _nullishCoalesce(_chunkY6I2DGKCcjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
14766
+ href = _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
14764
14767
  targetPlatform = _nullishCoalesce(ctx.currentPlatform, () => ( null));
14765
14768
  }
14766
14769
  }
@@ -14769,15 +14772,15 @@ function resolveSourceRowCTA(row, ctx = {}) {
14769
14772
  // Canonical vocabulary only — a rail-vocab alias would miss the host's
14770
14773
  // `hostedTypes` / `overrides` and fall through to the seam's default
14771
14774
  // `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
14772
- type: _chunkY6I2DGKCcjs.canonicalContentRefType.call(void 0, row.documentType),
14775
+ type: _chunkSK4IVCSIcjs.canonicalContentRefType.call(void 0, row.documentType),
14773
14776
  identifier: idValue,
14774
14777
  externalUrl: row.externalUrl,
14775
14778
  targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
14776
14779
  });
14777
- href = composed.href ? _nullishCoalesce(_chunkY6I2DGKCcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
14780
+ href = composed.href ? _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
14778
14781
  targetPlatform = composed.targetPlatform;
14779
14782
  } else if (row.externalUrl) {
14780
- href = _nullishCoalesce(_chunkY6I2DGKCcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
14783
+ href = _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
14781
14784
  targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
14782
14785
  }
14783
14786
  const documentType = row.documentType;
@@ -14812,11 +14815,11 @@ function resolveSourceIcon(input, ctx = {}) {
14812
14815
 
14813
14816
  function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
14814
14817
  const label = entityLabel || "Item";
14815
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
14816
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
14817
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TEXT_COL, children: [
14818
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkY6I2DGKCcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
14819
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkY6I2DGKCcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
14818
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
14819
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
14820
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
14821
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
14822
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
14820
14823
  label,
14821
14824
  " deleted",
14822
14825
  recoveryNote ? ` \xB7 ${recoveryNote}` : ""
@@ -14862,7 +14865,7 @@ function GitHubChatCard({
14862
14865
  const title = kind === "pr_review" ? display.replace(/^by\s+/i, "").trim() || "Reviewer" : display;
14863
14866
  const status = kind === "pr_review" && reviewState ? { label: reviewStateLabel(reviewState), variant: reviewStateToVariant(reviewState) } : { label: kindLabel(kind), variant: "grey" };
14864
14867
  const idLabel = formatActivityId(chatRef.id, kind);
14865
- const dateText = _chunkY6I2DGKCcjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
14868
+ const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
14866
14869
  const description = [idLabel, dateText].filter(Boolean).join(" \xB7 ") || void 0;
14867
14870
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14868
14871
  MingoInfoCard,
@@ -14871,7 +14874,7 @@ function GitHubChatCard({
14871
14874
  description,
14872
14875
  icon: githubKindIcon(kind),
14873
14876
  status,
14874
- anchorProps: _chunkY6I2DGKCcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14877
+ anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
14875
14878
  menuGroups: cardMenuGroups(chatRef.url, discuss),
14876
14879
  menuAriaLabel: "Activity actions"
14877
14880
  }
@@ -15018,7 +15021,7 @@ function HubspotTicketChatCard({
15018
15021
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15019
15022
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TagIcon, { size: 24 }),
15020
15023
  status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
15021
- anchorProps: _chunkY6I2DGKCcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15024
+ anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15022
15025
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
15023
15026
  label: "Open Ticket Details",
15024
15027
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TagIcon, { size: 20 })
@@ -15041,7 +15044,7 @@ function FaqChatCard({
15041
15044
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15042
15045
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.QuestionCircleIcon, { size: 24 }),
15043
15046
  status: { label: statusLabel, variant: "grey" },
15044
- anchorProps: _chunkY6I2DGKCcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15047
+ anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15045
15048
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15046
15049
  menuAriaLabel: "FAQ actions"
15047
15050
  }
@@ -15061,13 +15064,13 @@ function SlackChatCard({
15061
15064
  title,
15062
15065
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15063
15066
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.SlackLogoGreyIcon, { size: 24 }),
15064
- anchorProps: _chunkY6I2DGKCcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15067
+ anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15065
15068
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15066
15069
  menuAriaLabel: "Message actions"
15067
15070
  }
15068
15071
  );
15069
15072
  }
15070
- function RefOnlyChatCard({
15073
+ function GlyphChatCard({
15071
15074
  chatRef,
15072
15075
  icon,
15073
15076
  isNewTab,
@@ -15079,7 +15082,7 @@ function RefOnlyChatCard({
15079
15082
  title: chatRef.title,
15080
15083
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15081
15084
  icon,
15082
- anchorProps: _chunkY6I2DGKCcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15085
+ anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15083
15086
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15084
15087
  menuAriaLabel: "Card actions"
15085
15088
  }
@@ -15098,7 +15101,7 @@ function DataRoomDocChatCard({
15098
15101
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
15099
15102
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.FileContentIcon, { size: 24 }),
15100
15103
  status: { label: badgeText, variant: "grey" },
15101
- anchorProps: _chunkY6I2DGKCcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15104
+ anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15102
15105
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15103
15106
  menuAriaLabel: "Document actions"
15104
15107
  }
@@ -15117,7 +15120,7 @@ function GenericFinancialChatCard({
15117
15120
  title: chatRef.title,
15118
15121
  description: subtitle,
15119
15122
  icon,
15120
- anchorProps: _chunkY6I2DGKCcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15123
+ anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15121
15124
  menuGroups: cardMenuGroups(chatRef.url, discuss),
15122
15125
  menuAriaLabel: "Document actions"
15123
15126
  }
@@ -15203,7 +15206,7 @@ function CampaignChatCard({
15203
15206
  }) {
15204
15207
  const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _377 => _377.goals])) ? item.goals.length : 0;
15205
15208
  const meta = [
15206
- _optionalChain([item, 'optionalAccess', _378 => _378.start_date]) ? _chunkY6I2DGKCcjs.formatDateShort.call(void 0, item.start_date) : null,
15209
+ _optionalChain([item, 'optionalAccess', _378 => _378.start_date]) ? _chunkSK4IVCSIcjs.formatDateShort.call(void 0, item.start_date) : null,
15207
15210
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
15208
15211
  "Marketing campaign"
15209
15212
  ].filter(Boolean).join(" \xB7 ");
@@ -15242,7 +15245,7 @@ function EntityMingoCard({
15242
15245
  imageAlt: typeof title === "string" ? title : void 0,
15243
15246
  icon: fallbackIcon,
15244
15247
  status,
15245
- anchorProps: _chunkY6I2DGKCcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15248
+ anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
15246
15249
  menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
15247
15250
  menuAriaLabel
15248
15251
  }
@@ -15254,7 +15257,7 @@ function entityCover(image, ogPlaceholder) {
15254
15257
  function statusPill(status) {
15255
15258
  const s = typeof status === "string" ? status.trim() : "";
15256
15259
  if (!s) return void 0;
15257
- const scheme = _chunkY6I2DGKCcjs.getStatusColorScheme.call(void 0, s);
15260
+ const scheme = _chunkSK4IVCSIcjs.getStatusColorScheme.call(void 0, s);
15258
15261
  const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
15259
15262
  return { label: s, variant };
15260
15263
  }
@@ -15341,7 +15344,7 @@ function InvestorUpdateChatCard({
15341
15344
  EntityMingoCard,
15342
15345
  {
15343
15346
  title,
15344
- description: _optionalChain([item, 'optionalAccess', _406 => _406.strategic_update]) || _optionalChain([item, 'optionalAccess', _407 => _407.content]) || _chunkY6I2DGKCcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _408 => _408.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _409 => _409.period_end]), () => ( null))) || void 0,
15347
+ description: _optionalChain([item, 'optionalAccess', _406 => _406.strategic_update]) || _optionalChain([item, 'optionalAccess', _407 => _407.content]) || _chunkSK4IVCSIcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _408 => _408.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _409 => _409.period_end]), () => ( null))) || void 0,
15345
15348
  cover: entityCover(_optionalChain([item, 'optionalAccess', _410 => _410.featured_image]), ogPlaceholder),
15346
15349
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PresentationLineIcon, { size: 24 }),
15347
15350
  status: { label: "Investor update", variant: "grey" },
@@ -15388,15 +15391,15 @@ function ProgramChatCard({
15388
15391
  const isScheduled = _optionalChain([item, 'optionalAccess', _417 => _417.status]) === "scheduled";
15389
15392
  let typeMeta;
15390
15393
  if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _418 => _418.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
15391
- typeMeta = _chunkY6I2DGKCcjs.formatDurationCompact.call(void 0, item.duration_seconds);
15394
+ typeMeta = _chunkSK4IVCSIcjs.formatDurationCompact.call(void 0, item.duration_seconds);
15392
15395
  } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _419 => _419.location_name]) === "string" && item.location_name.trim().length > 0) {
15393
15396
  typeMeta = item.location_name;
15394
15397
  } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _420 => _420.start_at])) {
15395
- const time = _chunkY6I2DGKCcjs.formatTimeWithTimezone.call(void 0, item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
15396
- const dur = _chunkY6I2DGKCcjs.formatDurationFromRange.call(void 0, item.start_at, item.end_at);
15398
+ const time = _chunkSK4IVCSIcjs.formatTimeWithTimezone.call(void 0, item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
15399
+ const dur = _chunkSK4IVCSIcjs.formatDurationFromRange.call(void 0, item.start_at, item.end_at);
15397
15400
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
15398
15401
  }
15399
- const itemDate = _chunkY6I2DGKCcjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.date]), () => ( null)), { fallback: "", timezone: "local" });
15402
+ const itemDate = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.date]), () => ( null)), { fallback: "", timezone: "local" });
15400
15403
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
15401
15404
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15402
15405
  EntityMingoCard,
@@ -15423,7 +15426,7 @@ function RoadmapChatCard({
15423
15426
  const logoUrl = typeof _optionalChain([item, 'optionalAccess', _425 => _425.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
15424
15427
  const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _426 => _426.customItemId]) != null;
15425
15428
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MapIcon, { size: 24 });
15426
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _427 => _427.customItemId]), className: "size-6" }) : logoUrl ? (
15429
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _427 => _427.customItemId]), className: "size-6" }) : logoUrl ? (
15427
15430
  // Contained (not full-bleed) so the integration logo keeps its aspect
15428
15431
  // ratio inside the bordered icon box — matches RoadmapCard.
15429
15432
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWLSFBRT5cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
@@ -15492,17 +15495,43 @@ var GITHUB_CARD_CONFIGS = {
15492
15495
  github_pr_review: { label: "GitHub review", kind: "pr_review" },
15493
15496
  github_pr_review_public: { label: "GitHub review (public)", kind: "pr_review" }
15494
15497
  };
15495
- var REF_ONLY_CARD_CONFIGS = {
15498
+ var REF_GLYPH_CARD_CONFIGS = {
15496
15499
  design_doc: { label: "Design doc", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.FileContentIcon, { size: 24 }) },
15497
- openframe_tenant: { label: "OpenFrame tenant", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.BuildingsIcon, { size: 24 }) },
15500
+ openframe_tenant: { label: "OpenFrame tenant", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.BuildingsIcon, { size: 24 }) }
15501
+ };
15502
+ function refGlyphRegistryEntries() {
15503
+ return registryEntries(
15504
+ REF_GLYPH_CARD_CONFIGS,
15505
+ (cfg, docType) => refHydratedEntry(docType, cfg.label, (displayRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, GlyphChatCard, { chatRef: displayRef, icon: cfg.icon(), isNewTab: opts.isNewTab, discuss: opts.discuss }))
15506
+ );
15507
+ }
15508
+ function fetchedEmployeeEntryDisplayRef(item, chatRef) {
15509
+ const it = item;
15510
+ const title = typeof _optionalChain([it, 'optionalAccess', _432 => _432.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
15511
+ const author = typeof _optionalChain([it, 'optionalAccess', _433 => _433.author, 'optionalAccess', _434 => _434.full_name]) === "string" ? it.author.full_name.trim() : "";
15512
+ const summary = typeof _optionalChain([it, 'optionalAccess', _435 => _435.summary]) === "string" ? it.summary.trim() : "";
15513
+ const preview = [author, summary].filter((x) => x.length > 0).join(" \xB7 ");
15514
+ return { ...chatRef, title, preview: preview.length > 0 ? preview : chatRef.preview };
15515
+ }
15516
+ var EMPLOYEE_ENTRY_CARD_CONFIGS = {
15498
15517
  what_i_shipped: { label: "What I Shipped", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Rocket02Icon, { size: 24 }) },
15499
15518
  how_i_work: { label: "How I Work", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.ClipboardListIcon, { size: 24 }) }
15500
15519
  };
15501
- function refOnlyRegistryEntries() {
15502
- return registryEntries(REF_ONLY_CARD_CONFIGS, (cfg) => ({
15520
+ function employeeEntryRegistryEntries() {
15521
+ return registryEntries(EMPLOYEE_ENTRY_CARD_CONFIGS, (cfg, docType) => ({
15503
15522
  label: cfg.label,
15504
15523
  bareInline: true,
15505
- render: (_item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RefOnlyChatCard, { chatRef, icon: cfg.icon(), isNewTab: opts.isNewTab, discuss: opts.discuss })
15524
+ contentRefType: docType,
15525
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
15526
+ render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15527
+ GlyphChatCard,
15528
+ {
15529
+ chatRef: fetchedEmployeeEntryDisplayRef(item, chatRef),
15530
+ icon: cfg.icon(),
15531
+ isNewTab: opts.isNewTab,
15532
+ discuss: opts.discuss
15533
+ }
15534
+ )
15506
15535
  }));
15507
15536
  }
15508
15537
  function githubRegistryEntries() {
@@ -15521,7 +15550,7 @@ function programRegistryEntries() {
15521
15550
  label: cfg.label,
15522
15551
  contentRefType: cfg.contentRefType,
15523
15552
  bareInline: true,
15524
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.ProgramCardSkeleton, { size: "sm" }),
15553
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.ProgramCardSkeleton, { size: "sm" }),
15525
15554
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15526
15555
  ProgramChatCard,
15527
15556
  {
@@ -15531,7 +15560,7 @@ function programRegistryEntries() {
15531
15560
  discuss: opts.discuss,
15532
15561
  configKey: cfg.configKey,
15533
15562
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
15534
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _432 => _432.extras, 'optionalAccess', _433 => _433.buildOgPlaceholderUrl, 'optionalCall', _434 => _434(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _435 => _435.title]), () => ( "")))]), () => ( null))
15563
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _436 => _436.extras, 'optionalAccess', _437 => _437.buildOgPlaceholderUrl, 'optionalCall', _438 => _438(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _439 => _439.title]), () => ( "")))]), () => ( null))
15535
15564
  }
15536
15565
  )
15537
15566
  }));
@@ -15552,7 +15581,7 @@ var ROADMAP_CARD_CONFIGS = {
15552
15581
  // The card's destination IS the ClickUp deep link, derived from the
15553
15582
  // task id post-fetch (the refs frame used to carry it).
15554
15583
  noComposedHref: true,
15555
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _436 => _436.id]) != null ? clickupTaskUrl(String(item.id)) : null
15584
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _440 => _440.id]) != null ? clickupTaskUrl(String(item.id)) : null
15556
15585
  }
15557
15586
  };
15558
15587
  function roadmapRegistryEntries() {
@@ -15562,7 +15591,7 @@ function roadmapRegistryEntries() {
15562
15591
  bareInline: true,
15563
15592
  ...cfg.noComposedHref ? { noComposedHref: true } : {},
15564
15593
  ...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
15565
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.RoadmapCardSkeleton, { size: "sm" }),
15594
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.RoadmapCardSkeleton, { size: "sm" }),
15566
15595
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15567
15596
  RoadmapChatCard,
15568
15597
  {
@@ -15594,13 +15623,14 @@ var CHAT_CARD_REGISTRY = {
15594
15623
  DeletedDataCard,
15595
15624
  {
15596
15625
  title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
15597
- entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _437 => _437.metadata, 'optionalAccess', _438 => _438.entity_label]), () => ( null)),
15598
- recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _439 => _439.metadata, 'optionalAccess', _440 => _440.recovery_note]), () => ( null))
15626
+ entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _441 => _441.metadata, 'optionalAccess', _442 => _442.entity_label]), () => ( null)),
15627
+ recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _443 => _443.metadata, 'optionalAccess', _444 => _444.recovery_note]), () => ( null))
15599
15628
  }
15600
15629
  )
15601
15630
  },
15602
15631
  // ───────── ref-only types (no list endpoint; the ChatRef IS the card) ─────────
15603
- ...refOnlyRegistryEntries(),
15632
+ ...refGlyphRegistryEntries(),
15633
+ ...employeeEntryRegistryEntries(),
15604
15634
  slack_message: refHydratedEntry("slack_message", "Slack message", (displayRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SlackChatCard, { chatRef: displayRef, isNewTab: opts.isNewTab, discuss: opts.discuss })),
15605
15635
  // FAQ hydrates from its EXISTING public list API (`/api/faqs?ids=` —
15606
15636
  // also feeding related-content rails, so its base path must not move).
@@ -15611,7 +15641,7 @@ var CHAT_CARD_REGISTRY = {
15611
15641
  bareInline: true,
15612
15642
  contentRefType: "faq",
15613
15643
  noComposedHref: true,
15614
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _441 => _441.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
15644
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _445 => _445.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
15615
15645
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
15616
15646
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
15617
15647
  },
@@ -15637,7 +15667,7 @@ var CHAT_CARD_REGISTRY = {
15637
15667
  label: "Blog post",
15638
15668
  contentRefType: "blog_post_existing",
15639
15669
  bareInline: true,
15640
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.BlogCardSkeleton, { size: "sm" }),
15670
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.BlogCardSkeleton, { size: "sm" }),
15641
15671
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15642
15672
  BlogChatCard,
15643
15673
  {
@@ -15645,8 +15675,8 @@ var CHAT_CARD_REGISTRY = {
15645
15675
  chatRef,
15646
15676
  isNewTab: opts.isNewTab,
15647
15677
  discuss: opts.discuss,
15648
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _442 => _442.extras, 'optionalAccess', _443 => _443.buildOgPlaceholderUrl, 'optionalCall', _444 => _444(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _445 => _445.title]), () => ( "")))]), () => ( null)),
15649
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _446 => _446.metadata, 'optionalAccess', _447 => _447.hasEmbeddedVideo]) === true
15678
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _446 => _446.extras, 'optionalAccess', _447 => _447.buildOgPlaceholderUrl, 'optionalCall', _448 => _448(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _449 => _449.title]), () => ( "")))]), () => ( null)),
15679
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _450 => _450.metadata, 'optionalAccess', _451 => _451.hasEmbeddedVideo]) === true
15650
15680
  }
15651
15681
  )
15652
15682
  },
@@ -15654,7 +15684,7 @@ var CHAT_CARD_REGISTRY = {
15654
15684
  label: "Case study",
15655
15685
  contentRefType: "case_study",
15656
15686
  bareInline: true,
15657
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.CaseStudyCardSkeleton, { size: "sm" }),
15687
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.CaseStudyCardSkeleton, { size: "sm" }),
15658
15688
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15659
15689
  CaseStudyChatCard,
15660
15690
  {
@@ -15662,7 +15692,7 @@ var CHAT_CARD_REGISTRY = {
15662
15692
  chatRef,
15663
15693
  isNewTab: opts.isNewTab,
15664
15694
  discuss: opts.discuss,
15665
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _448 => _448.extras, 'optionalAccess', _449 => _449.buildOgPlaceholderUrl, 'optionalCall', _450 => _450(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _451 => _451.title]), () => ( "")))]), () => ( null))
15695
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _452 => _452.extras, 'optionalAccess', _453 => _453.buildOgPlaceholderUrl, 'optionalCall', _454 => _454(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _455 => _455.title]), () => ( "")))]), () => ( null))
15666
15696
  }
15667
15697
  )
15668
15698
  },
@@ -15670,7 +15700,7 @@ var CHAT_CARD_REGISTRY = {
15670
15700
  label: "Customer interview",
15671
15701
  contentRefType: "customer_interview",
15672
15702
  bareInline: true,
15673
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.CustomerInterviewCardSkeleton, { size: "sm" }),
15703
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.CustomerInterviewCardSkeleton, { size: "sm" }),
15674
15704
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15675
15705
  CustomerInterviewChatCard,
15676
15706
  {
@@ -15678,7 +15708,7 @@ var CHAT_CARD_REGISTRY = {
15678
15708
  chatRef,
15679
15709
  isNewTab: opts.isNewTab,
15680
15710
  discuss: opts.discuss,
15681
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _452 => _452.extras, 'optionalAccess', _453 => _453.buildOgPlaceholderUrl, 'optionalCall', _454 => _454(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _455 => _455.title]), () => ( "")))]), () => ( null))
15711
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _456 => _456.extras, 'optionalAccess', _457 => _457.buildOgPlaceholderUrl, 'optionalCall', _458 => _458(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _459 => _459.title]), () => ( "")))]), () => ( null))
15682
15712
  }
15683
15713
  )
15684
15714
  },
@@ -15686,9 +15716,9 @@ var CHAT_CARD_REGISTRY = {
15686
15716
  label: "Product release",
15687
15717
  contentRefType: "product_release",
15688
15718
  bareInline: true,
15689
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.ProductReleaseCardSkeleton, { size: "sm" }),
15719
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.ProductReleaseCardSkeleton, { size: "sm" }),
15690
15720
  render: (item, chatRef, opts) => {
15691
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _456 => _456.extras, 'optionalAccess', _457 => _457.buildProductReleaseCardProps]), () => ( _chunkY6I2DGKCcjs.defaultBuildProductReleaseCardProps));
15721
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _460 => _460.extras, 'optionalAccess', _461 => _461.buildProductReleaseCardProps]), () => ( _chunkSK4IVCSIcjs.defaultBuildProductReleaseCardProps));
15692
15722
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15693
15723
  ProductReleaseChatCard,
15694
15724
  {
@@ -15706,7 +15736,7 @@ var CHAT_CARD_REGISTRY = {
15706
15736
  label: "Investor update",
15707
15737
  contentRefType: "investor_update",
15708
15738
  bareInline: true,
15709
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.InvestorUpdateCardSkeleton, { size: "sm" }),
15739
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.InvestorUpdateCardSkeleton, { size: "sm" }),
15710
15740
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15711
15741
  InvestorUpdateChatCard,
15712
15742
  {
@@ -15714,7 +15744,7 @@ var CHAT_CARD_REGISTRY = {
15714
15744
  chatRef,
15715
15745
  isNewTab: opts.isNewTab,
15716
15746
  discuss: opts.discuss,
15717
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _458 => _458.extras, 'optionalAccess', _459 => _459.buildOgPlaceholderUrl, 'optionalCall', _460 => _460(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _461 => _461.title]), () => ( "")))]), () => ( null))
15747
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _462 => _462.extras, 'optionalAccess', _463 => _463.buildOgPlaceholderUrl, 'optionalCall', _464 => _464(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _465 => _465.title]), () => ( "")))]), () => ( null))
15718
15748
  }
15719
15749
  )
15720
15750
  },
@@ -15724,7 +15754,7 @@ var CHAT_CARD_REGISTRY = {
15724
15754
  bareInline: true,
15725
15755
  // "Display" affordance (verbatim guide body) instead of "Ask".
15726
15756
  displayAction: true,
15727
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY6I2DGKCcjs.OnboardingGuideCardSkeleton, { size: "sm" }),
15757
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.OnboardingGuideCardSkeleton, { size: "sm" }),
15728
15758
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15729
15759
  OnboardingGuideChatCard,
15730
15760
  {
@@ -15732,7 +15762,7 @@ var CHAT_CARD_REGISTRY = {
15732
15762
  chatRef,
15733
15763
  isNewTab: opts.isNewTab,
15734
15764
  discuss: opts.discuss,
15735
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _462 => _462.extras, 'optionalAccess', _463 => _463.buildOgPlaceholderUrl, 'optionalCall', _464 => _464(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _465 => _465.title]), () => ( "")))]), () => ( null))
15765
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _466 => _466.extras, 'optionalAccess', _467 => _467.buildOgPlaceholderUrl, 'optionalCall', _468 => _468(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _469 => _469.title]), () => ( "")))]), () => ( null))
15736
15766
  }
15737
15767
  )
15738
15768
  },
@@ -15743,7 +15773,7 @@ var CHAT_CARD_REGISTRY = {
15743
15773
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
15744
15774
  // No public viewer — synthesize the hub-internal admin URL post-fetch
15745
15775
  // so the wrapper + isNewTab computation see the actual destination.
15746
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _466 => _466.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
15776
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _470 => _470.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
15747
15777
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
15748
15778
  },
15749
15779
  ...roadmapRegistryEntries()
@@ -15762,13 +15792,13 @@ function ChatCardNavWrap({
15762
15792
  if (!href) return;
15763
15793
  const targetEl = e.target;
15764
15794
  const host = e.currentTarget;
15765
- if (!_optionalChain([host, 'optionalAccess', _467 => _467.contains, 'call', _468 => _468(targetEl)])) return;
15766
- if (_optionalChain([targetEl, 'optionalAccess', _469 => _469.closest, 'optionalCall', _470 => _470("button")])) return;
15767
- if (!_optionalChain([targetEl, 'optionalAccess', _471 => _471.closest, 'optionalCall', _472 => _472("a")])) return;
15795
+ if (!_optionalChain([host, 'optionalAccess', _471 => _471.contains, 'call', _472 => _472(targetEl)])) return;
15796
+ if (_optionalChain([targetEl, 'optionalAccess', _473 => _473.closest, 'optionalCall', _474 => _474("button")])) return;
15797
+ if (!_optionalChain([targetEl, 'optionalAccess', _475 => _475.closest, 'optionalCall', _476 => _476("a")])) return;
15768
15798
  const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
15769
15799
  if (!handled) return;
15770
15800
  e.stopPropagation();
15771
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _473 => _473.closeChat])) panel.closeChat();
15801
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _477 => _477.closeChat])) panel.closeChat();
15772
15802
  };
15773
15803
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
15774
15804
  }
@@ -15790,7 +15820,7 @@ function ChatCardLoader({
15790
15820
  title: chatRef.title,
15791
15821
  externalUrl: chatRef.url,
15792
15822
  targetPlatform: chatRef.targetPlatform,
15793
- path: typeof _optionalChain([chatRef, 'access', _474 => _474.metadata, 'optionalAccess', _475 => _475.path]) === "string" ? chatRef.metadata.path : null
15823
+ path: typeof _optionalChain([chatRef, 'access', _478 => _478.metadata, 'optionalAccess', _479 => _479.path]) === "string" ? chatRef.metadata.path : null
15794
15824
  },
15795
15825
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
15796
15826
  );
@@ -15804,11 +15834,11 @@ function ChatCardLoader({
15804
15834
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
15805
15835
  const fetchEntry = entry && entry.contentRefType ? entry : null;
15806
15836
  const { item, isLoading, isError, isFetched } = useChatCardItem(
15807
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _476 => _476.contentRefType]), () => ( "")),
15837
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _480 => _480.contentRefType]), () => ( "")),
15808
15838
  fetchEntry ? resolvedChatRef.id : ""
15809
15839
  );
15810
15840
  if (!entry) return null;
15811
- const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _477 => _477.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
15841
+ const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _481 => _481.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
15812
15842
  contentRefType: fetchEntry.contentRefType,
15813
15843
  id: resolvedChatRef.id,
15814
15844
  item,
@@ -15816,18 +15846,18 @@ function ChatCardLoader({
15816
15846
  }) : null;
15817
15847
  const hrefChoice = fetchEntry && !resolvedChatRef.url && item ? pickFetchedCardHref({
15818
15848
  composed: composedHref,
15819
- itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _478 => _478.fallbackHref, 'optionalCall', _479 => _479(item)]), () => ( null)),
15849
+ itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _482 => _482.fallbackHref, 'optionalCall', _483 => _483(item)]), () => ( null)),
15820
15850
  allowComposed: !fetchEntry.noComposedHref
15821
15851
  }) : null;
15822
15852
  const hrefResolvedChatRef = hrefChoice ? {
15823
15853
  ...resolvedChatRef,
15824
- url: _chunkY6I2DGKCcjs.safeHref.call(void 0, hrefChoice.href),
15854
+ url: _chunkSK4IVCSIcjs.safeHref.call(void 0, hrefChoice.href),
15825
15855
  // The `item` branch carries no platform of its own — keep the ref's.
15826
15856
  targetPlatform: _nullishCoalesce(_nullishCoalesce(hrefChoice.targetPlatform, () => ( resolvedChatRef.targetPlatform)), () => ( null))
15827
15857
  } : resolvedChatRef;
15828
15858
  const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
15829
15859
  const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
15830
- const isNewTab = _chunkY6I2DGKCcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
15860
+ const isNewTab = _chunkSK4IVCSIcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
15831
15861
  const useDisplay = !!entry.displayAction && !!onDisplay;
15832
15862
  const discussFn = useDisplay ? onDisplay : onDiscuss;
15833
15863
  const discuss = discussFn ? {
@@ -15850,7 +15880,7 @@ function ChatCardLoader({
15850
15880
  isNewTab,
15851
15881
  discuss
15852
15882
  };
15853
- const path = typeof _optionalChain([finalChatRef, 'access', _480 => _480.metadata, 'optionalAccess', _481 => _481.path]) === "string" ? finalChatRef.metadata.path : null;
15883
+ const path = typeof _optionalChain([finalChatRef, 'access', _484 => _484.metadata, 'optionalAccess', _485 => _485.path]) === "string" ? finalChatRef.metadata.path : null;
15854
15884
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15855
15885
  ChatCardNavWrap,
15856
15886
  {
@@ -15874,7 +15904,7 @@ function ChatCardLoader({
15874
15904
  if (!fetchEntry) {
15875
15905
  return finish(entry.render(void 0, finalChatRef, renderOpts));
15876
15906
  }
15877
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _482 => _482.skeleton, 'optionalCall', _483 => _483()]), () => ( null)) });
15907
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _486 => _486.skeleton, 'optionalCall', _487 => _487()]), () => ( null)) });
15878
15908
  if (!item) {
15879
15909
  if (isError) {
15880
15910
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
@@ -16234,7 +16264,7 @@ function useChunkCatchup({
16234
16264
  if (catchupRun.current === run) {
16235
16265
  if (currentDialogId !== dialogIdRef.current) {
16236
16266
  catchupRun.current = null;
16237
- if (_optionalChain([pendingCatchupRef, 'access', _484 => _484.current, 'optionalAccess', _485 => _485.dialogId]) === currentDialogId) {
16267
+ if (_optionalChain([pendingCatchupRef, 'access', _488 => _488.current, 'optionalAccess', _489 => _489.dialogId]) === currentDialogId) {
16238
16268
  pendingCatchupRef.current = null;
16239
16269
  }
16240
16270
  } else {
@@ -16245,7 +16275,7 @@ function useChunkCatchup({
16245
16275
  if (pending.dialogId === currentDialogId) {
16246
16276
  rearmForQueuedCatchup();
16247
16277
  try {
16248
- await _optionalChain([catchUpChunksRef, 'access', _486 => _486.current, 'optionalCall', _487 => _487(pending.fromSequenceId)]);
16278
+ await _optionalChain([catchUpChunksRef, 'access', _490 => _490.current, 'optionalCall', _491 => _491(pending.fromSequenceId)]);
16249
16279
  } catch (rerunError) {
16250
16280
  console.error("Queued catch-up re-run failed:", rerunError);
16251
16281
  }
@@ -16312,7 +16342,7 @@ function useChunkCatchup({
16312
16342
 
16313
16343
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
16314
16344
  function prefersReducedMotion() {
16315
- return typeof window !== "undefined" && _optionalChain([window, 'access', _488 => _488.matchMedia, 'optionalCall', _489 => _489("(prefers-reduced-motion: reduce)"), 'access', _490 => _490.matches]) === true;
16345
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _492 => _492.matchMedia, 'optionalCall', _493 => _493("(prefers-reduced-motion: reduce)"), 'access', _494 => _494.matches]) === true;
16316
16346
  }
16317
16347
  function useScriptedStream(frames, resetKey, enabled = true) {
16318
16348
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -16323,7 +16353,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
16323
16353
  setIndex(0);
16324
16354
  }
16325
16355
  _react.useEffect.call(void 0, () => {
16326
- const mq = _optionalChain([window, 'access', _491 => _491.matchMedia, 'optionalCall', _492 => _492("(prefers-reduced-motion: reduce)")]);
16356
+ const mq = _optionalChain([window, 'access', _495 => _495.matchMedia, 'optionalCall', _496 => _496("(prefers-reduced-motion: reduce)")]);
16327
16357
  const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
16328
16358
  sync();
16329
16359
  if (!mq) return void 0;
@@ -16466,7 +16496,7 @@ function useJetStreamDialogSubscription({
16466
16496
  const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
16467
16497
  conn: sharedConn,
16468
16498
  wsUrl,
16469
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _493 => _493.current, 'optionalCall', _494 => _494()]),
16499
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _497 => _497.current, 'optionalCall', _498 => _498()]),
16470
16500
  backoff: reconnectionBackoffRef.current,
16471
16501
  getFreshUrl: () => getNatsWsUrlRef.current(),
16472
16502
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -16481,7 +16511,7 @@ function useJetStreamDialogSubscription({
16481
16511
  setReconnectionCount((c) => c + 1);
16482
16512
  }
16483
16513
  hadConnectionBeforeRef.current = true;
16484
- _optionalChain([onConnectRef, 'access', _495 => _495.current, 'optionalCall', _496 => _496()]);
16514
+ _optionalChain([onConnectRef, 'access', _499 => _499.current, 'optionalCall', _500 => _500()]);
16485
16515
  }
16486
16516
  if (status === "error") {
16487
16517
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -16491,7 +16521,7 @@ function useJetStreamDialogSubscription({
16491
16521
  setIsConnected(false);
16492
16522
  setIsSubscribed(false);
16493
16523
  tearDownSubscription();
16494
- _optionalChain([onDisconnectRef, 'access', _497 => _497.current, 'optionalCall', _498 => _498()]);
16524
+ _optionalChain([onDisconnectRef, 'access', _501 => _501.current, 'optionalCall', _502 => _502()]);
16495
16525
  }
16496
16526
  }
16497
16527
  });
@@ -16617,7 +16647,7 @@ function useJetStreamDialogSubscription({
16617
16647
  }
16618
16648
  subscriptionRef.current = handle;
16619
16649
  setIsSubscribed(true);
16620
- _optionalChain([onSubscribedRef, 'access', _499 => _499.current, 'optionalCall', _500 => _500()]);
16650
+ _optionalChain([onSubscribedRef, 'access', _503 => _503.current, 'optionalCall', _504 => _504()]);
16621
16651
  } catch (e50) {
16622
16652
  if (!cancelled) {
16623
16653
  setIsSubscribed(false);
@@ -16733,20 +16763,20 @@ function useNatsDialogSubscription({
16733
16763
  const tearDownSubscriptions = () => {
16734
16764
  subscriptionRefs.current.forEach((sub) => {
16735
16765
  try {
16736
- _optionalChain([sub, 'optionalAccess', _501 => _501.unsubscribe, 'call', _502 => _502()]);
16766
+ _optionalChain([sub, 'optionalAccess', _505 => _505.unsubscribe, 'call', _506 => _506()]);
16737
16767
  } catch (e52) {
16738
16768
  }
16739
16769
  });
16740
16770
  subscriptionRefs.current.clear();
16741
16771
  lastSubscribedDialogIdRef.current = null;
16742
- _optionalChain([abortControllerRef, 'access', _503 => _503.current, 'optionalAccess', _504 => _504.abort, 'call', _505 => _505()]);
16772
+ _optionalChain([abortControllerRef, 'access', _507 => _507.current, 'optionalAccess', _508 => _508.abort, 'call', _509 => _509()]);
16743
16773
  abortControllerRef.current = null;
16744
16774
  };
16745
16775
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
16746
16776
  const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
16747
16777
  conn: sharedConn,
16748
16778
  wsUrl,
16749
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _506 => _506.current, 'optionalCall', _507 => _507()]),
16779
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _510 => _510.current, 'optionalCall', _511 => _511()]),
16750
16780
  backoff: reconnectionBackoffRef.current,
16751
16781
  getFreshUrl: () => getNatsWsUrlRef.current(),
16752
16782
  shouldRetryOn: isDisconnectStatus,
@@ -16757,7 +16787,7 @@ function useNatsDialogSubscription({
16757
16787
  setReconnectionCount((c) => c + 1);
16758
16788
  }
16759
16789
  hadConnectionBeforeRef.current = true;
16760
- _optionalChain([onConnectRef, 'access', _508 => _508.current, 'optionalCall', _509 => _509()]);
16790
+ _optionalChain([onConnectRef, 'access', _512 => _512.current, 'optionalCall', _513 => _513()]);
16761
16791
  }
16762
16792
  if (status === "error") {
16763
16793
  console.warn("[NATS] protocol error:", evt.data);
@@ -16767,7 +16797,7 @@ function useNatsDialogSubscription({
16767
16797
  setIsConnected(false);
16768
16798
  setIsSubscribed(false);
16769
16799
  tearDownSubscriptions();
16770
- _optionalChain([onDisconnectRef, 'access', _510 => _510.current, 'optionalCall', _511 => _511()]);
16800
+ _optionalChain([onDisconnectRef, 'access', _514 => _514.current, 'optionalCall', _515 => _515()]);
16771
16801
  }
16772
16802
  }
16773
16803
  });
@@ -16798,13 +16828,13 @@ function useNatsDialogSubscription({
16798
16828
  setIsSubscribed(false);
16799
16829
  subscriptionRefs.current.forEach((sub) => {
16800
16830
  try {
16801
- _optionalChain([sub, 'optionalAccess', _512 => _512.unsubscribe, 'call', _513 => _513()]);
16831
+ _optionalChain([sub, 'optionalAccess', _516 => _516.unsubscribe, 'call', _517 => _517()]);
16802
16832
  } catch (e53) {
16803
16833
  }
16804
16834
  });
16805
16835
  subscriptionRefs.current.clear();
16806
16836
  lastSubscribedDialogIdRef.current = null;
16807
- _optionalChain([abortControllerRef, 'access', _514 => _514.current, 'optionalAccess', _515 => _515.abort, 'call', _516 => _516()]);
16837
+ _optionalChain([abortControllerRef, 'access', _518 => _518.current, 'optionalAccess', _519 => _519.abort, 'call', _520 => _520()]);
16808
16838
  abortControllerRef.current = null;
16809
16839
  }
16810
16840
  return void 0;
@@ -16816,12 +16846,12 @@ function useNatsDialogSubscription({
16816
16846
  if (subscriptionRefs.current.size > 0) {
16817
16847
  subscriptionRefs.current.forEach((sub) => {
16818
16848
  try {
16819
- _optionalChain([sub, 'optionalAccess', _517 => _517.unsubscribe, 'call', _518 => _518()]);
16849
+ _optionalChain([sub, 'optionalAccess', _521 => _521.unsubscribe, 'call', _522 => _522()]);
16820
16850
  } catch (e54) {
16821
16851
  }
16822
16852
  });
16823
16853
  subscriptionRefs.current.clear();
16824
- _optionalChain([abortControllerRef, 'access', _519 => _519.current, 'optionalAccess', _520 => _520.abort, 'call', _521 => _521()]);
16854
+ _optionalChain([abortControllerRef, 'access', _523 => _523.current, 'optionalAccess', _524 => _524.abort, 'call', _525 => _525()]);
16825
16855
  }
16826
16856
  abortControllerRef.current = new AbortController();
16827
16857
  const abort = abortControllerRef.current;
@@ -16851,7 +16881,7 @@ function useNatsDialogSubscription({
16851
16881
  });
16852
16882
  lastSubscribedDialogIdRef.current = dialogId;
16853
16883
  setIsSubscribed(true);
16854
- _optionalChain([onSubscribedRef, 'access', _522 => _522.current, 'optionalCall', _523 => _523()]);
16884
+ _optionalChain([onSubscribedRef, 'access', _526 => _526.current, 'optionalCall', _527 => _527()]);
16855
16885
  };
16856
16886
  if (isConnectedRef.current) {
16857
16887
  createSubscriptions();
@@ -16862,7 +16892,7 @@ function useNatsDialogSubscription({
16862
16892
  abort.abort();
16863
16893
  subscriptions.forEach((sub) => {
16864
16894
  try {
16865
- _optionalChain([sub, 'optionalAccess', _524 => _524.unsubscribe, 'call', _525 => _525()]);
16895
+ _optionalChain([sub, 'optionalAccess', _528 => _528.unsubscribe, 'call', _529 => _529()]);
16866
16896
  } catch (e56) {
16867
16897
  }
16868
16898
  });
@@ -16901,7 +16931,7 @@ function useNatsDialogSubscription({
16901
16931
  });
16902
16932
  lastSubscribedDialogIdRef.current = currentDialogId;
16903
16933
  setIsSubscribed(true);
16904
- _optionalChain([onSubscribedRef, 'access', _526 => _526.current, 'optionalCall', _527 => _527()]);
16934
+ _optionalChain([onSubscribedRef, 'access', _530 => _530.current, 'optionalCall', _531 => _531()]);
16905
16935
  } else if (subscriptionRefs.current.size > 0) {
16906
16936
  setIsSubscribed(true);
16907
16937
  }
@@ -16909,10 +16939,10 @@ function useNatsDialogSubscription({
16909
16939
  return { isConnected, isSubscribed, reconnectionCount };
16910
16940
  }
16911
16941
  function buildNatsWsUrl(apiBaseUrl, options) {
16912
- const path = _optionalChain([options, 'optionalAccess', _528 => _528.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
16942
+ const path = _optionalChain([options, 'optionalAccess', _532 => _532.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
16913
16943
  const u = new URL(path, apiBaseUrl);
16914
16944
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
16915
- if (_optionalChain([options, 'optionalAccess', _529 => _529.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _530 => _530.token])) {
16945
+ if (_optionalChain([options, 'optionalAccess', _533 => _533.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _534 => _534.token])) {
16916
16946
  u.searchParams.set("authorization", options.token);
16917
16947
  }
16918
16948
  return u.toString();
@@ -16930,7 +16960,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
16930
16960
  const data = await res.json();
16931
16961
  return _nullishCoalesce(data.commands, () => ( []));
16932
16962
  } catch (err) {
16933
- if (_optionalChain([err, 'optionalAccess', _531 => _531.name]) === "AbortError") throw err;
16963
+ if (_optionalChain([err, 'optionalAccess', _535 => _535.name]) === "AbortError") throw err;
16934
16964
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
16935
16965
  return [];
16936
16966
  }
@@ -16938,8 +16968,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
16938
16968
  var NO_COMMANDS = [];
16939
16969
  function useSlashCommands(prefix, commandsUrl) {
16940
16970
  const [answered, setAnswered] = _react.useState.call(void 0, null);
16941
- const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _532 => _532.prefix]) === prefix ? answered.commands : NO_COMMANDS;
16942
- const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _533 => _533.prefix]) !== prefix;
16971
+ const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _536 => _536.prefix]) === prefix ? answered.commands : NO_COMMANDS;
16972
+ const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _537 => _537.prefix]) !== prefix;
16943
16973
  _react.useEffect.call(void 0, () => {
16944
16974
  if (prefix == null) return void 0;
16945
16975
  let cancelled = false;
@@ -16949,7 +16979,7 @@ function useSlashCommands(prefix, commandsUrl) {
16949
16979
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
16950
16980
  if (!cancelled) setAnswered({ prefix, commands: next });
16951
16981
  } catch (err) {
16952
- if (!cancelled && _optionalChain([err, 'optionalAccess', _534 => _534.name]) !== "AbortError") {
16982
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _538 => _538.name]) !== "AbortError") {
16953
16983
  console.warn("[use-slash-commands] fetch failed:", err);
16954
16984
  setAnswered({ prefix, commands: NO_COMMANDS });
16955
16985
  }
@@ -16972,7 +17002,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
16972
17002
  const query = _reactquery.useQuery.call(void 0, {
16973
17003
  queryKey: ["chat-slash-commands", commandsUrl],
16974
17004
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
16975
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _535 => _535.enabled]), () => ( true)),
17005
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _539 => _539.enabled]), () => ( true)),
16976
17006
  staleTime: Infinity,
16977
17007
  gcTime: Infinity,
16978
17008
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -17011,21 +17041,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
17011
17041
  }
17012
17042
  const data = await res.json();
17013
17043
  return {
17014
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _536 => _536.name]), () => ( null)),
17015
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _537 => _537.icon]), () => ( null)),
17016
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _538 => _538.greeting]), () => ( null)),
17017
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _539 => _539.enabledRagTableIds]), () => ( [])),
17018
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _540 => _540.quickActions]), () => ( [])),
17019
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _541 => _541.suggestedQueries]), () => ( []))
17044
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _540 => _540.name]), () => ( null)),
17045
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _541 => _541.icon]), () => ( null)),
17046
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _542 => _542.greeting]), () => ( null)),
17047
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _543 => _543.enabledRagTableIds]), () => ( [])),
17048
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _544 => _544.quickActions]), () => ( [])),
17049
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _545 => _545.suggestedQueries]), () => ( []))
17020
17050
  };
17021
17051
  } catch (err) {
17022
- if (_optionalChain([err, 'optionalAccess', _542 => _542.name]) === "AbortError") throw err;
17052
+ if (_optionalChain([err, 'optionalAccess', _546 => _546.name]) === "AbortError") throw err;
17023
17053
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
17024
17054
  return EMPTY_STATE_FALLBACK;
17025
17055
  }
17026
17056
  }
17027
17057
  function useEmptyStateConfig(emptyStateUrl, options) {
17028
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _543 => _543.enabled]), () => ( true))) && !!emptyStateUrl;
17058
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _547 => _547.enabled]), () => ( true))) && !!emptyStateUrl;
17029
17059
  const query = _reactquery.useQuery.call(void 0, {
17030
17060
  queryKey: ["chat-empty-state", emptyStateUrl],
17031
17061
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -17054,7 +17084,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
17054
17084
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
17055
17085
  function uploadWithProgress(url, file, token, onProgress, signal) {
17056
17086
  return new Promise((resolve, reject) => {
17057
- if (_optionalChain([signal, 'optionalAccess', _544 => _544.aborted])) {
17087
+ if (_optionalChain([signal, 'optionalAccess', _548 => _548.aborted])) {
17058
17088
  reject(new Error("Upload cancelled"));
17059
17089
  return;
17060
17090
  }
@@ -17096,7 +17126,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
17096
17126
  const handleSignalAbort = () => {
17097
17127
  xhr.abort();
17098
17128
  };
17099
- _optionalChain([signal, 'optionalAccess', _545 => _545.addEventListener, 'call', _546 => _546("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
17129
+ _optionalChain([signal, 'optionalAccess', _549 => _549.addEventListener, 'call', _550 => _550("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
17100
17130
  xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
17101
17131
  xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
17102
17132
  xhr.addEventListener("error", handleError, { signal: listeners.signal });
@@ -17140,10 +17170,10 @@ function useChatAttachments() {
17140
17170
  try {
17141
17171
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
17142
17172
  } catch (err) {
17143
- if (_optionalChain([ctrl, 'optionalAccess', _547 => _547.signal, 'access', _548 => _548.aborted])) return;
17173
+ if (_optionalChain([ctrl, 'optionalAccess', _551 => _551.signal, 'access', _552 => _552.aborted])) return;
17144
17174
  throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
17145
17175
  }
17146
- if (_optionalChain([ctrl, 'optionalAccess', _549 => _549.signal, 'access', _550 => _550.aborted])) return;
17176
+ if (_optionalChain([ctrl, 'optionalAccess', _553 => _553.signal, 'access', _554 => _554.aborted])) return;
17147
17177
  if (!sniffed) {
17148
17178
  throw new Error("Unrecognized file format");
17149
17179
  }
@@ -17157,7 +17187,7 @@ function useChatAttachments() {
17157
17187
  const urlResp = await _chunkYH6IQTPIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
17158
17188
  method: "POST",
17159
17189
  headers: { "Content-Type": "application/json" },
17160
- signal: _optionalChain([ctrl, 'optionalAccess', _551 => _551.signal]),
17190
+ signal: _optionalChain([ctrl, 'optionalAccess', _555 => _555.signal]),
17161
17191
  body: JSON.stringify({
17162
17192
  fileName: att.file.name,
17163
17193
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -17186,9 +17216,9 @@ function useChatAttachments() {
17186
17216
  (pct) => {
17187
17217
  updateOne(att.id, { progress: pct });
17188
17218
  },
17189
- _optionalChain([ctrl, 'optionalAccess', _552 => _552.signal])
17219
+ _optionalChain([ctrl, 'optionalAccess', _556 => _556.signal])
17190
17220
  );
17191
- if (_optionalChain([ctrl, 'optionalAccess', _553 => _553.signal, 'access', _554 => _554.aborted])) return;
17221
+ if (_optionalChain([ctrl, 'optionalAccess', _557 => _557.signal, 'access', _558 => _558.aborted])) return;
17192
17222
  updateOne(att.id, {
17193
17223
  status: "ready",
17194
17224
  progress: 100,
@@ -17196,7 +17226,7 @@ function useChatAttachments() {
17196
17226
  viewToken: mintData.viewToken
17197
17227
  });
17198
17228
  } catch (err) {
17199
- if (_optionalChain([ctrl, 'optionalAccess', _555 => _555.signal, 'access', _556 => _556.aborted])) return;
17229
+ if (_optionalChain([ctrl, 'optionalAccess', _559 => _559.signal, 'access', _560 => _560.aborted])) return;
17200
17230
  const message = err instanceof Error ? err.message : String(err);
17201
17231
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
17202
17232
  } finally {
@@ -17318,7 +17348,7 @@ function useChatAttachmentImageGallery() {
17318
17348
  return () => root.removeEventListener("click", onClick);
17319
17349
  }, [viewUrlPrefix]);
17320
17350
  const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17321
- _chunkY6I2DGKCcjs.ImageGalleryModal,
17351
+ _chunkSK4IVCSIcjs.ImageGalleryModal,
17322
17352
  {
17323
17353
  images: state.images,
17324
17354
  isOpen: state.isOpen,
@@ -17345,11 +17375,11 @@ var ANON_DEFAULTS = {
17345
17375
  function useResolveChatIdentity(enabled) {
17346
17376
  const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
17347
17377
  const url = runtime.endpoints.identityUrl;
17348
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkYH6IQTPIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _557 => _557.email]), () => ( null));
17378
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkYH6IQTPIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _561 => _561.email]), () => ( null));
17349
17379
  const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
17350
17380
  const [resolved, setResolved] = _react.useState.call(void 0, null);
17351
- const data = _optionalChain([resolved, 'optionalAccess', _558 => _558.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
17352
- const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _559 => _559.key]) !== requestKey;
17381
+ const data = _optionalChain([resolved, 'optionalAccess', _562 => _562.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
17382
+ const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _563 => _563.key]) !== requestKey;
17353
17383
  _react.useEffect.call(void 0, () => {
17354
17384
  if (requestKey === null) return void 0;
17355
17385
  let cancelled = false;
@@ -17496,7 +17526,7 @@ function useChat({
17496
17526
  onMessagesChangeRef.current = onMessagesChange;
17497
17527
  });
17498
17528
  _react.useEffect.call(void 0, () => {
17499
- _optionalChain([onMessagesChangeRef, 'access', _560 => _560.current, 'optionalCall', _561 => _561(messages)]);
17529
+ _optionalChain([onMessagesChangeRef, 'access', _564 => _564.current, 'optionalCall', _565 => _565(messages)]);
17500
17530
  }, [messages]);
17501
17531
  const {
17502
17532
  streamMessage,
@@ -17533,7 +17563,7 @@ function useChat({
17533
17563
  name: "You",
17534
17564
  content: text,
17535
17565
  timestamp: /* @__PURE__ */ new Date(),
17536
- ..._optionalChain([options, 'optionalAccess', _562 => _562.hidden]) ? { hidden: true } : {}
17566
+ ..._optionalChain([options, 'optionalAccess', _566 => _566.hidden]) ? { hidden: true } : {}
17537
17567
  };
17538
17568
  addMessage(userMessage);
17539
17569
  setIsTyping(true);
@@ -17747,7 +17777,7 @@ function buildConfirmToolBody(request) {
17747
17777
  async function readServerErrorMessage(response) {
17748
17778
  try {
17749
17779
  const body = await response.json();
17750
- if (typeof _optionalChain([body, 'optionalAccess', _563 => _563.error]) === "string" && body.error.length > 0) return body.error;
17780
+ if (typeof _optionalChain([body, 'optionalAccess', _567 => _567.error]) === "string" && body.error.length > 0) return body.error;
17751
17781
  } catch (e58) {
17752
17782
  }
17753
17783
  return null;
@@ -18092,9 +18122,9 @@ function appendToTrailingAssistant(prev, segments) {
18092
18122
  for (const seg of segments) {
18093
18123
  const tail = merged[merged.length - 1];
18094
18124
  const key = upsertKey(seg);
18095
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _564 => _564.type]) === "text") {
18125
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _568 => _568.type]) === "text") {
18096
18126
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
18097
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _565 => _565.type]) === "thinking") {
18127
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _569 => _569.type]) === "thinking") {
18098
18128
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
18099
18129
  } else if (key) {
18100
18130
  let idx = merged.findIndex((m) => upsertKey(m) === key);
@@ -18135,7 +18165,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
18135
18165
  }
18136
18166
  if (s.type !== "approval_batch") return s;
18137
18167
  const isAnchor = s.data.approvalRequestId === requestId;
18138
- const hasRow = _optionalChain([s, 'access', _566 => _566.data, 'access', _567 => _567.toolCalls, 'optionalAccess', _568 => _568.some, 'call', _569 => _569((c) => c.toolExecutionRequestId === requestId)]);
18168
+ const hasRow = _optionalChain([s, 'access', _570 => _570.data, 'access', _571 => _571.toolCalls, 'optionalAccess', _572 => _572.some, 'call', _573 => _573((c) => c.toolExecutionRequestId === requestId)]);
18139
18169
  if (!isAnchor && !hasRow) return s;
18140
18170
  const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
18141
18171
  const nextExecutions = hasRow ? {
@@ -18157,8 +18187,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
18157
18187
  };
18158
18188
  }
18159
18189
  function nextBatchExecution(prevExec, toolData) {
18160
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _570 => _570.status]) === "done") return null;
18161
- return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _571 => _571.result]), success: _optionalChain([prevExec, 'optionalAccess', _572 => _572.success]) };
18190
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _574 => _574.status]) === "done") return null;
18191
+ return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _575 => _575.result]), success: _optionalChain([prevExec, 'optionalAccess', _576 => _576.success]) };
18162
18192
  }
18163
18193
  function withBatchExecution(seg, execId, state) {
18164
18194
  return {
@@ -18175,11 +18205,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
18175
18205
  }
18176
18206
  function projectBatchRowFailureToMessages(prev, rowRequestId) {
18177
18207
  return mapSegments(prev, (s) => {
18178
- if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _573 => _573.data, 'access', _574 => _574.toolCalls, 'optionalAccess', _575 => _575.some, 'call', _576 => _576((c) => c.toolExecutionRequestId === rowRequestId)])) {
18208
+ if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _577 => _577.data, 'access', _578 => _578.toolCalls, 'optionalAccess', _579 => _579.some, 'call', _580 => _580((c) => c.toolExecutionRequestId === rowRequestId)])) {
18179
18209
  return s;
18180
18210
  }
18181
- const existing = _optionalChain([s, 'access', _577 => _577.data, 'access', _578 => _578.executions, 'optionalAccess', _579 => _579[rowRequestId]]);
18182
- if (_optionalChain([existing, 'optionalAccess', _580 => _580.status]) === "done") return s;
18211
+ const existing = _optionalChain([s, 'access', _581 => _581.data, 'access', _582 => _582.executions, 'optionalAccess', _583 => _583[rowRequestId]]);
18212
+ if (_optionalChain([existing, 'optionalAccess', _584 => _584.status]) === "done") return s;
18183
18213
  return withBatchExecution(s, rowRequestId, { status: "done", success: false });
18184
18214
  });
18185
18215
  }
@@ -18215,7 +18245,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
18215
18245
  for (let j = message.segments.length - 1; j >= 0; j--) {
18216
18246
  const seg = message.segments[j];
18217
18247
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
18218
- const prevExec = _optionalChain([seg, 'access', _581 => _581.data, 'access', _582 => _582.executions, 'optionalAccess', _583 => _583[execId]]);
18248
+ const prevExec = _optionalChain([seg, 'access', _585 => _585.data, 'access', _586 => _586.executions, 'optionalAccess', _587 => _587[execId]]);
18219
18249
  const nextExec = nextBatchExecution(prevExec, toolData);
18220
18250
  if (nextExec === null) return prev;
18221
18251
  if (sameExecutionState(prevExec, nextExec)) return prev;
@@ -18388,9 +18418,9 @@ var MessageSegmentAccumulator = class {
18388
18418
  type: "tool_execution",
18389
18419
  data: {
18390
18420
  ...toolData,
18391
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _584 => _584.data, 'access', _585 => _585.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _586 => _586.toolTitle]))),
18392
- toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _587 => _587.data, 'access', _588 => _588.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _589 => _589.toolExplanation]))),
18393
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _590 => _590.parameters])
18421
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _588 => _588.data, 'access', _589 => _589.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _590 => _590.toolTitle]))),
18422
+ toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _591 => _591.data, 'access', _592 => _592.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _593 => _593.toolExplanation]))),
18423
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _594 => _594.parameters])
18394
18424
  }
18395
18425
  };
18396
18426
  if (existingIndex !== -1) {
@@ -18414,7 +18444,7 @@ var MessageSegmentAccumulator = class {
18414
18444
  if (seg.type !== "approval_batch") return seg;
18415
18445
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
18416
18446
  if (!hasCall) return seg;
18417
- const prev = _optionalChain([seg, 'access', _591 => _591.data, 'access', _592 => _592.executions, 'optionalAccess', _593 => _593[execId]]);
18447
+ const prev = _optionalChain([seg, 'access', _595 => _595.data, 'access', _596 => _596.executions, 'optionalAccess', _597 => _597[execId]]);
18418
18448
  const next = nextBatchExecution(prev, toolData);
18419
18449
  matched = true;
18420
18450
  if (next === null) return seg;
@@ -18548,8 +18578,8 @@ var MessageSegmentAccumulator = class {
18548
18578
  requestId,
18549
18579
  {
18550
18580
  ...pendingApproval,
18551
- command: _optionalChain([pendingApproval, 'optionalAccess', _594 => _594.command]) || "",
18552
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _595 => _595.approvalType]) || approvalType
18581
+ command: _optionalChain([pendingApproval, 'optionalAccess', _598 => _598.command]) || "",
18582
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _599 => _599.approvalType]) || approvalType
18553
18583
  },
18554
18584
  status
18555
18585
  );
@@ -18574,9 +18604,9 @@ var MessageSegmentAccumulator = class {
18574
18604
  type: "escalation_offer",
18575
18605
  // The resolved chunk carries no text/origin — a redelivered offer must
18576
18606
  // not blank the card the PENDING chunk already painted.
18577
- data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _596 => _596.data, 'access', _597 => _597.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _598 => _598.data, 'access', _599 => _599.origin]))) },
18607
+ data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _600 => _600.data, 'access', _601 => _601.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _602 => _602.data, 'access', _603 => _603.origin]))) },
18578
18608
  status,
18579
- resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _600 => _600.resolvedByName]))),
18609
+ resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _604 => _604.resolvedByName]))),
18580
18610
  onApprove: this.callbacks.onEscalationApprove,
18581
18611
  onReject: this.callbacks.onEscalationReject
18582
18612
  };
@@ -18901,7 +18931,7 @@ function createChatStreamReducer(options = {}) {
18901
18931
  let stateCache = null;
18902
18932
  function invalidate() {
18903
18933
  stateCache = null;
18904
- _optionalChain([onChange, 'optionalCall', _601 => _601()]);
18934
+ _optionalChain([onChange, 'optionalCall', _605 => _605()]);
18905
18935
  }
18906
18936
  function getState() {
18907
18937
  if (!stateCache) {
@@ -18917,7 +18947,7 @@ function createChatStreamReducer(options = {}) {
18917
18947
  return stateCache;
18918
18948
  }
18919
18949
  function emit(name, ...args) {
18920
- _optionalChain([onEffect, 'optionalCall', _602 => _602({ name, args })]);
18950
+ _optionalChain([onEffect, 'optionalCall', _606 => _606({ name, args })]);
18921
18951
  }
18922
18952
  function setMessagesInternal(next) {
18923
18953
  if (next !== messages) {
@@ -18948,12 +18978,12 @@ function createChatStreamReducer(options = {}) {
18948
18978
  return [...next.slice(0, -1), { ...last, streamSeq: seq }];
18949
18979
  }
18950
18980
  function applySegmentsToState(segments, meta) {
18951
- const seq = _optionalChain([meta, 'optionalAccess', _603 => _603.streamSeq]);
18952
- if (_optionalChain([meta, 'optionalAccess', _604 => _604.append]) && meta.isCompacting) {
18981
+ const seq = _optionalChain([meta, 'optionalAccess', _607 => _607.streamSeq]);
18982
+ if (_optionalChain([meta, 'optionalAccess', _608 => _608.append]) && meta.isCompacting) {
18953
18983
  setMessagesInternal(stampTrailingAssistantSeq(upsertTrailingCompaction(messages, segments), seq));
18954
18984
  return;
18955
18985
  }
18956
- if (_optionalChain([meta, 'optionalAccess', _605 => _605.append])) {
18986
+ if (_optionalChain([meta, 'optionalAccess', _609 => _609.append])) {
18957
18987
  setMessagesInternal(stampTrailingAssistantSeq(appendToTrailingAssistant(messages, segments), seq));
18958
18988
  return;
18959
18989
  }
@@ -18965,7 +18995,7 @@ function createChatStreamReducer(options = {}) {
18965
18995
  adoptTrailingAssistant = false;
18966
18996
  const last = messages[messages.length - 1];
18967
18997
  if (!last || last.role !== "assistant" || adoptTail) return;
18968
- const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _606 => _606.segments, 'optionalAccess', _607 => _607.length]), () => ( 0))) > 0 || last.content !== "";
18998
+ const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _610 => _610.segments, 'optionalAccess', _611 => _611.length]), () => ( 0))) > 0 || last.content !== "";
18969
18999
  if (!hasContent) return;
18970
19000
  setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
18971
19001
  }
@@ -19175,13 +19205,13 @@ function createChatStreamReducer(options = {}) {
19175
19205
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
19176
19206
  pendingEscalated.set(requestId, {
19177
19207
  command: summary,
19178
- explanation: _optionalChain([required, 'optionalAccess', _608 => _608.toolExplanation]),
19208
+ explanation: _optionalChain([required, 'optionalAccess', _612 => _612.toolExplanation]),
19179
19209
  approvalType,
19180
19210
  toolCalls
19181
19211
  });
19182
19212
  emit("onEscalatedApproval", requestId, {
19183
19213
  command: summary,
19184
- explanation: _optionalChain([required, 'optionalAccess', _609 => _609.toolExplanation]),
19214
+ explanation: _optionalChain([required, 'optionalAccess', _613 => _613.toolExplanation]),
19185
19215
  approvalType
19186
19216
  });
19187
19217
  break;
@@ -19565,7 +19595,7 @@ function createChatStreamReducer(options = {}) {
19565
19595
  const resolveBatch = (status, confirm) => async () => {
19566
19596
  setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
19567
19597
  for (const id of ids) {
19568
- const ok = await _optionalChain([confirm, 'optionalCall', _610 => _610(id)]);
19598
+ const ok = await _optionalChain([confirm, 'optionalCall', _614 => _614(id)]);
19569
19599
  if (ok === false) {
19570
19600
  setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
19571
19601
  }
@@ -19701,8 +19731,8 @@ function createChatStreamReducer(options = {}) {
19701
19731
  }
19702
19732
  }
19703
19733
  }
19704
- hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _611 => _611.resumed]), () => ( messages.length > 0)));
19705
- if (_optionalChain([extras, 'optionalAccess', _612 => _612.agentBusy])) agentBusyState();
19734
+ hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _615 => _615.resumed]), () => ( messages.length > 0)));
19735
+ if (_optionalChain([extras, 'optionalAccess', _616 => _616.agentBusy])) agentBusyState();
19706
19736
  invalidate();
19707
19737
  }
19708
19738
  return {
@@ -19787,7 +19817,7 @@ function createChatStreamReducer(options = {}) {
19787
19817
  },
19788
19818
  endSseTurn() {
19789
19819
  const last = messages[messages.length - 1];
19790
- if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _613 => _613.segments, 'optionalAccess', _614 => _614.length]), () => ( 0))) === 0 && last.content === "") {
19820
+ if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _617 => _617.segments, 'optionalAccess', _618 => _618.length]), () => ( 0))) === 0 && last.content === "") {
19791
19821
  messages = messages.slice(0, -1);
19792
19822
  }
19793
19823
  sseCurrentText = "";
@@ -19940,10 +19970,10 @@ function createChatDialogStore(options = {}) {
19940
19970
  if (onEvict) {
19941
19971
  const sep = key.indexOf(KEY_SEP);
19942
19972
  onEvict(key.slice(0, sep), key.slice(sep + 1), {
19943
- messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _615 => _615.state, 'access', _616 => _616.messages]), () => ( EMPTY_STATE.messages)),
19944
- approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _617 => _617.state, 'access', _618 => _618.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
19945
- lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _619 => _619.getLastAppliedSeq, 'call', _620 => _620()]), () => ( Number.NEGATIVE_INFINITY)),
19946
- pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _621 => _621.getPendingEchoes, 'call', _622 => _622()]), () => ( EMPTY_PENDING_ECHOES))
19973
+ messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _619 => _619.state, 'access', _620 => _620.messages]), () => ( EMPTY_STATE.messages)),
19974
+ approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _621 => _621.state, 'access', _622 => _622.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
19975
+ lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _623 => _623.getLastAppliedSeq, 'call', _624 => _624()]), () => ( Number.NEGATIVE_INFINITY)),
19976
+ pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _625 => _625.getPendingEchoes, 'call', _626 => _626()]), () => ( EMPTY_PENDING_ECHOES))
19947
19977
  });
19948
19978
  }
19949
19979
  }
@@ -19953,12 +19983,12 @@ function createChatDialogStore(options = {}) {
19953
19983
  const key = keyOf(dialogId, side);
19954
19984
  let reducer = reducers.get(key);
19955
19985
  if (!reducer) {
19956
- const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _623 => _623(dialogId, side)]), () => ( {}));
19986
+ const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _627 => _627(dialogId, side)]), () => ( {}));
19957
19987
  const userOnChange = base.onChange;
19958
19988
  reducer = createChatStreamReducer({
19959
19989
  ...base,
19960
19990
  onChange: () => {
19961
- _optionalChain([userOnChange, 'optionalCall', _624 => _624()]);
19991
+ _optionalChain([userOnChange, 'optionalCall', _628 => _628()]);
19962
19992
  notify();
19963
19993
  }
19964
19994
  });
@@ -20003,7 +20033,7 @@ function createChatDialogStore(options = {}) {
20003
20033
  };
20004
20034
  }
20005
20035
  function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
20006
- return _nullishCoalesce(_optionalChain([reducers, 'access', _625 => _625.get, 'call', _626 => _626(keyOf(dialogId, side)), 'optionalAccess', _627 => _627.state]), () => ( EMPTY_STATE));
20036
+ return _nullishCoalesce(_optionalChain([reducers, 'access', _629 => _629.get, 'call', _630 => _630(keyOf(dialogId, side)), 'optionalAccess', _631 => _631.state]), () => ( EMPTY_STATE));
20007
20037
  }
20008
20038
  function getServerSnapshot2() {
20009
20039
  return EMPTY_STATE;
@@ -20095,7 +20125,7 @@ function createDeltaBatcher({
20095
20125
  pending = [];
20096
20126
  const key = pendingKey;
20097
20127
  for (const delta of batch) applyOne(delta, key);
20098
- _optionalChain([onFlushed, 'optionalCall', _628 => _628(batch.length)]);
20128
+ _optionalChain([onFlushed, 'optionalCall', _632 => _632(batch.length)]);
20099
20129
  }
20100
20130
  function schedule() {
20101
20131
  if (raf !== null || timer !== null) return;
@@ -20119,7 +20149,7 @@ function createDeltaBatcher({
20119
20149
  }
20120
20150
  if (!isDeltaEvent(event)) return false;
20121
20151
  const tail = pending[pending.length - 1];
20122
- const seqAdvances = _optionalChain([tail, 'optionalAccess', _629 => _629.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
20152
+ const seqAdvances = _optionalChain([tail, 'optionalAccess', _633 => _633.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
20123
20153
  if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
20124
20154
  pending[pending.length - 1] = {
20125
20155
  ...tail,
@@ -20150,7 +20180,7 @@ function useChatStreamReducer({
20150
20180
  side = DEFAULT_DIALOG_SIDE,
20151
20181
  createReducerOptions
20152
20182
  }) {
20153
- const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _630 => _630()]), () => ( {})));
20183
+ const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _634 => _634()]), () => ( {})));
20154
20184
  const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
20155
20185
  const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
20156
20186
  const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
@@ -20189,7 +20219,7 @@ var STORAGE_KEY = "conversation";
20189
20219
  var namespaceFor = (source) => {
20190
20220
  const base = `mingo-chat-${source}`;
20191
20221
  const auth = _chunkYH6IQTPIcjs.getEmbedProxyAuth.call(void 0, );
20192
- return _optionalChain([auth, 'optionalAccess', _631 => _631.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
20222
+ return _optionalChain([auth, 'optionalAccess', _635 => _635.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
20193
20223
  };
20194
20224
  function createChatConversationStorage(source) {
20195
20225
  return _chunkYH6IQTPIcjs.createLocalStorageAdapter.call(void 0, {
@@ -20253,7 +20283,7 @@ function formatSingularLookupInvocation(cmdId, value) {
20253
20283
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
20254
20284
  }
20255
20285
  function extractEntityIdFilter(override, expectedTableId) {
20256
- const f = _optionalChain([override, 'optionalAccess', _632 => _632.entityIdFilter]);
20286
+ const f = _optionalChain([override, 'optionalAccess', _636 => _636.entityIdFilter]);
20257
20287
  if (!f) return null;
20258
20288
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
20259
20289
  const id = typeof f.id === "string" ? f.id : "";
@@ -20292,7 +20322,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
20292
20322
  function buildAutoContinuationDirective(toolName, opts = {}) {
20293
20323
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
20294
20324
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
20295
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _633 => _633.status, 'optionalAccess', _634 => _634.toUpperCase, 'call', _635 => _635()]) === "CLOSED";
20325
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _637 => _637.status, 'optionalAccess', _638 => _638.toUpperCase, 'call', _639 => _639()]) === "CLOSED";
20296
20326
  if (toolName === "create_ticket") {
20297
20327
  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.`;
20298
20328
  }
@@ -20415,7 +20445,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20415
20445
  const { active = true } = runtimeOptions;
20416
20446
  const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
20417
20447
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
20418
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _636 => _636.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
20448
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _640 => _640.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
20419
20449
  const sendMessageRef = _react.useRef.call(void 0,
20420
20450
  () => Promise.resolve(true)
20421
20451
  );
@@ -20452,7 +20482,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20452
20482
  if (!restoredConversationRef.current) {
20453
20483
  restoredConversationRef.current = true;
20454
20484
  pruneStaleChatConversationStorage(source);
20455
- conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _637 => _637.load, 'call', _638 => _638(), 'optionalAccess', _639 => _639.conversationId]), () => ( null));
20485
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _641 => _641.load, 'call', _642 => _642(), 'optionalAccess', _643 => _643.conversationId]), () => ( null));
20456
20486
  }
20457
20487
  const commandsUrl = runtime.endpoints.commandsUrl;
20458
20488
  const { commands: slashCommands } = useSlashCommandRegistry(commandsUrl, {
@@ -20557,7 +20587,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20557
20587
  const serverMessage = await readServerErrorMessage(response);
20558
20588
  throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
20559
20589
  }
20560
- const reader = _optionalChain([response, 'access', _640 => _640.body, 'optionalAccess', _641 => _641.getReader, 'call', _642 => _642()]);
20590
+ const reader = _optionalChain([response, 'access', _644 => _644.body, 'optionalAccess', _645 => _645.getReader, 'call', _646 => _646()]);
20561
20591
  if (!reader) throw new Error("No response body");
20562
20592
  const frameDecoder = createSseFrameDecoder();
20563
20593
  let finished = false;
@@ -20580,7 +20610,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20580
20610
  }
20581
20611
  return true;
20582
20612
  } catch (err) {
20583
- if (_optionalChain([err, 'optionalAccess', _643 => _643.name]) === "AbortError" || ctrl.signal.aborted) {
20613
+ if (_optionalChain([err, 'optionalAccess', _647 => _647.name]) === "AbortError" || ctrl.signal.aborted) {
20584
20614
  return true;
20585
20615
  }
20586
20616
  flushDeltas();
@@ -20600,7 +20630,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20600
20630
  );
20601
20631
  sendMessageRef.current = sendMessage;
20602
20632
  const stopMessage = _react.useCallback.call(void 0, () => {
20603
- _optionalChain([abortControllerRef, 'access', _644 => _644.current, 'optionalAccess', _645 => _645.abort, 'call', _646 => _646()]);
20633
+ _optionalChain([abortControllerRef, 'access', _648 => _648.current, 'optionalAccess', _649 => _649.abort, 'call', _650 => _650()]);
20604
20634
  flushDeltas();
20605
20635
  mutate((r) => r.setPhase("idle"));
20606
20636
  }, [mutate, flushDeltas]);
@@ -20616,7 +20646,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20616
20646
  let sendIdx = -1;
20617
20647
  return state.messages.map((m) => {
20618
20648
  const segments = m.segments;
20619
- const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _647 => _647.filter, 'call', _648 => _648((s) => s.type === "text"), 'access', _649 => _649.map, 'call', _650 => _650((s) => s.text), 'access', _651 => _651.join, 'call', _652 => _652("")]), () => ( ""));
20649
+ const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _651 => _651.filter, 'call', _652 => _652((s) => s.type === "text"), 'access', _653 => _653.map, 'call', _654 => _654((s) => s.text), 'access', _655 => _655.join, 'call', _656 => _656("")]), () => ( ""));
20620
20650
  let sources;
20621
20651
  let scrollAnchor;
20622
20652
  if (m.role === "user" && !m.hidden) {
@@ -20625,7 +20655,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20625
20655
  if (m.role === "assistant") {
20626
20656
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
20627
20657
  sources = sourcesMap.get(lookupIdx);
20628
- scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _653 => _653.get, 'call', _654 => _654(lookupIdx), 'optionalAccess', _655 => _655.scrollAnchor]), () => ( void 0));
20658
+ scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _657 => _657.get, 'call', _658 => _658(lookupIdx), 'optionalAccess', _659 => _659.scrollAnchor]), () => ( void 0));
20629
20659
  }
20630
20660
  return {
20631
20661
  id: m.id,
@@ -20652,7 +20682,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20652
20682
  );
20653
20683
  return;
20654
20684
  }
20655
- const refSlug = typeof _optionalChain([reference, 'access', _656 => _656.metadata, 'optionalAccess', _657 => _657.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
20685
+ const refSlug = typeof _optionalChain([reference, 'access', _660 => _660.metadata, 'optionalAccess', _661 => _661.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
20656
20686
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
20657
20687
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
20658
20688
  const text = `/${cmdId} display "${escaped}"`;
@@ -20698,18 +20728,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20698
20728
  /** True while the mount-time rebuild from the server transcript runs. */
20699
20729
  isHydratingHistory,
20700
20730
  /** Provider key for the lib's `<ModelDisplay>` icon. */
20701
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _658 => _658.provider]), () => ( null)),
20702
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _659 => _659.modelLabel]), () => ( null)),
20703
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _660 => _660.contextWindowMaxTokens]), () => ( null)),
20731
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _662 => _662.provider]), () => ( null)),
20732
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _663 => _663.modelLabel]), () => ( null)),
20733
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _664 => _664.contextWindowMaxTokens]), () => ( null)),
20704
20734
  /** Input tokens (known after server's message_start frame; null until). */
20705
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _661 => _661.inputTokens]), () => ( null)),
20735
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _665 => _665.inputTokens]), () => ( null)),
20706
20736
  /** Output tokens (known only after server's trailing usage frame). */
20707
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _662 => _662.outputTokens]), () => ( null)),
20737
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _666 => _666.outputTokens]), () => ( null)),
20708
20738
  /** Cache hit % (read / total-input × 100). null during streaming. */
20709
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _663 => _663.cacheHitRatePct]), () => ( null)),
20739
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _667 => _667.cacheHitRatePct]), () => ( null)),
20710
20740
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
20711
20741
  * token counts). null until the trailing usage frame lands. */
20712
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _664 => _664.breakdown]), () => ( null)),
20742
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _668 => _668.breakdown]), () => ( null)),
20713
20743
  // ─── Dialog management — stubs for v1 ────────────────────────────────
20714
20744
  // Guide mode keeps ONE server-side conversation per stored id
20715
20745
  // (`chat_conversations`, hydrated on mount). Surfacing multiple threads
@@ -20954,7 +20984,7 @@ function decodeNatsChunk(chunk) {
20954
20984
  userId: typeof data.userId === "string" ? data.userId : void 0,
20955
20985
  // Wire shape carries no label; fall back to the id (parity with
20956
20986
  // the history path in `process-historical-messages.ts`).
20957
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _665 => _665.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _666 => _666.id]) === "string").map((it) => ({
20987
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _669 => _669.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _670 => _670.id]) === "string").map((it) => ({
20958
20988
  type: it.type,
20959
20989
  id: it.id,
20960
20990
  label: it.id
@@ -21045,7 +21075,7 @@ function extractIncompleteMessageState(lastMessage) {
21045
21075
  }
21046
21076
  break;
21047
21077
  case "approval_batch": {
21048
- const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _667 => _667.data, 'access', _668 => _668.executions, 'optionalAccess', _669 => _669[c.toolExecutionRequestId], 'optionalAccess', _670 => _670.status]) === "done");
21078
+ const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _671 => _671.data, 'access', _672 => _672.executions, 'optionalAccess', _673 => _673[c.toolExecutionRequestId], 'optionalAccess', _674 => _674.status]) === "done");
21049
21079
  if (segment.status !== "rejected" && !allDone) {
21050
21080
  hasIncompleteState = true;
21051
21081
  }
@@ -21107,11 +21137,11 @@ function extractIncompleteMessageState(lastMessage) {
21107
21137
  function extractIncompleteTailState(messages) {
21108
21138
  if (!messages || messages.length === 0) return void 0;
21109
21139
  let start = messages.length;
21110
- while (start > 0 && _optionalChain([messages, 'access', _671 => _671[start - 1], 'optionalAccess', _672 => _672.role]) === "assistant") start -= 1;
21140
+ while (start > 0 && _optionalChain([messages, 'access', _675 => _675[start - 1], 'optionalAccess', _676 => _676.role]) === "assistant") start -= 1;
21111
21141
  if (start === messages.length) return void 0;
21112
21142
  const segments = [];
21113
21143
  for (let i = start; i < messages.length; i += 1) {
21114
- const content = _optionalChain([messages, 'access', _673 => _673[i], 'optionalAccess', _674 => _674.content]);
21144
+ const content = _optionalChain([messages, 'access', _677 => _677[i], 'optionalAccess', _678 => _678.content]);
21115
21145
  if (Array.isArray(content)) segments.push(...content);
21116
21146
  }
21117
21147
  if (segments.length === 0) return void 0;
@@ -21124,15 +21154,15 @@ function extractIncompleteTailState(messages) {
21124
21154
 
21125
21155
  // src/components/chat/utils/process-historical-messages.ts
21126
21156
  function getOwnerDisplayName(owner) {
21127
- if (_optionalChain([owner, 'optionalAccess', _675 => _675.type]) === OWNER_TYPE.ADMIN && owner.user) {
21157
+ if (_optionalChain([owner, 'optionalAccess', _679 => _679.type]) === OWNER_TYPE.ADMIN && owner.user) {
21128
21158
  const { firstName, lastName } = owner.user;
21129
21159
  const name = [firstName, lastName].filter(Boolean).join(" ");
21130
21160
  if (name) return name;
21131
21161
  }
21132
- return _optionalChain([owner, 'optionalAccess', _676 => _676.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
21162
+ return _optionalChain([owner, 'optionalAccess', _680 => _680.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
21133
21163
  }
21134
21164
  function getOwnerAvatar(owner) {
21135
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _677 => _677.user, 'optionalAccess', _678 => _678.image, 'optionalAccess', _679 => _679.imageUrl]), () => ( void 0));
21165
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _681 => _681.user, 'optionalAccess', _682 => _682.image, 'optionalAccess', _683 => _683.imageUrl]), () => ( void 0));
21136
21166
  }
21137
21167
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
21138
21168
  messageDataArray.forEach((data) => {
@@ -21316,7 +21346,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21316
21346
  event.offerId,
21317
21347
  event.text,
21318
21348
  event.origin,
21319
- _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _680 => _680[event.offerId]]), () => ( "pending"))
21349
+ _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _684 => _684[event.offerId]]), () => ( "pending"))
21320
21350
  );
21321
21351
  break;
21322
21352
  case "ticket-escalated":
@@ -21350,7 +21380,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21350
21380
  );
21351
21381
  break;
21352
21382
  case "escalation-offer-resolved":
21353
- _optionalChain([offerResolutions, 'optionalAccess', _681 => _681.set, 'call', _682 => _682(event.offerId, {
21383
+ _optionalChain([offerResolutions, 'optionalAccess', _685 => _685.set, 'call', _686 => _686(event.offerId, {
21354
21384
  status: event.status,
21355
21385
  resolvedByName: event.resolvedByName
21356
21386
  })]);
@@ -21414,7 +21444,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21414
21444
  }
21415
21445
  }
21416
21446
  } else {
21417
- _optionalChain([escalatedApprovals, 'optionalAccess', _683 => _683.set, 'call', _684 => _684(event.requestId, {
21447
+ _optionalChain([escalatedApprovals, 'optionalAccess', _687 => _687.set, 'call', _688 => _688(event.requestId, {
21418
21448
  command: event.command || "",
21419
21449
  explanation: event.explanation,
21420
21450
  approvalType,
@@ -21429,8 +21459,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21429
21459
  const existingStatus = approvalStatuses[requestId];
21430
21460
  const status = existingStatus || event.status;
21431
21461
  const resolvedByName = event.resolvedByName;
21432
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _685 => _685.get, 'call', _686 => _686(requestId)]);
21433
- if (_optionalChain([escalatedData, 'optionalAccess', _687 => _687.toolCalls]) && escalatedData.toolCalls.length > 0) {
21462
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _689 => _689.get, 'call', _690 => _690(requestId)]);
21463
+ if (_optionalChain([escalatedData, 'optionalAccess', _691 => _691.toolCalls]) && escalatedData.toolCalls.length > 0) {
21434
21464
  if (batchApprovalsEnabled) {
21435
21465
  accumulator.addApprovalBatch(
21436
21466
  requestId,
@@ -21452,7 +21482,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21452
21482
  );
21453
21483
  }
21454
21484
  }
21455
- _optionalChain([escalatedApprovals, 'optionalAccess', _688 => _688.delete, 'call', _689 => _689(requestId)]);
21485
+ _optionalChain([escalatedApprovals, 'optionalAccess', _692 => _692.delete, 'call', _693 => _693(requestId)]);
21456
21486
  break;
21457
21487
  }
21458
21488
  if (escalatedData) {
@@ -21461,7 +21491,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21461
21491
  explanation: escalatedData.explanation,
21462
21492
  approvalType: escalatedData.approvalType
21463
21493
  });
21464
- _optionalChain([escalatedApprovals, 'optionalAccess', _690 => _690.delete, 'call', _691 => _691(requestId)]);
21494
+ _optionalChain([escalatedApprovals, 'optionalAccess', _694 => _694.delete, 'call', _695 => _695(requestId)]);
21465
21495
  }
21466
21496
  const before = accumulator.getSegments();
21467
21497
  const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
@@ -21550,14 +21580,14 @@ function processHistoricalMessages(messages, options = {}) {
21550
21580
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
21551
21581
  return;
21552
21582
  }
21553
- const isUserMessage = _optionalChain([msg, 'access', _692 => _692.owner, 'optionalAccess', _693 => _693.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _694 => _694.owner, 'optionalAccess', _695 => _695.type]) === OWNER_TYPE.ADMIN;
21583
+ const isUserMessage = _optionalChain([msg, 'access', _696 => _696.owner, 'optionalAccess', _697 => _697.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _698 => _698.owner, 'optionalAccess', _699 => _699.type]) === OWNER_TYPE.ADMIN;
21554
21584
  if (isUserMessage) {
21555
21585
  flushAssistantMessage();
21556
- const userAuthorType = _optionalChain([msg, 'access', _696 => _696.owner, 'optionalAccess', _697 => _697.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
21586
+ const userAuthorType = _optionalChain([msg, 'access', _700 => _700.owner, 'optionalAccess', _701 => _701.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
21557
21587
  messageDataArray.forEach((data) => {
21558
21588
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
21559
21589
  const rawContext = data.contextItems;
21560
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _698 => _698.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _699 => _699.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
21590
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _702 => _702.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _703 => _703.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
21561
21591
  processedMessages.push({
21562
21592
  id: msg.id,
21563
21593
  role: "user",
@@ -21600,7 +21630,7 @@ function processHistoricalMessages(messages, options = {}) {
21600
21630
  });
21601
21631
  const nextMsg = messages[index + 1];
21602
21632
  const isLastMessage = index === messages.length - 1;
21603
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _700 => _700.owner, 'optionalAccess', _701 => _701.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _702 => _702.owner, 'optionalAccess', _703 => _703.type]) === OWNER_TYPE.ADMIN);
21633
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _704 => _704.owner, 'optionalAccess', _705 => _705.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _706 => _706.owner, 'optionalAccess', _707 => _707.type]) === OWNER_TYPE.ADMIN);
21604
21634
  if (isLastMessage || nextIsFromUser) {
21605
21635
  flushAssistantMessage();
21606
21636
  }
@@ -21998,7 +22028,7 @@ function useNatsChatAdapter(config, options = {}) {
21998
22028
  }, [active, fetchDialogs, loadDialogsPage]);
21999
22029
  const sendMessage = _react.useCallback.call(void 0,
22000
22030
  async (text, sendOptions) => {
22001
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _704 => _704.hidden]), () => ( false));
22031
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _708 => _708.hidden]), () => ( false));
22002
22032
  mutate((r) => r.pushOptimisticSend(text, hidden));
22003
22033
  await publishUserMessage(text, { hidden, dialogId });
22004
22034
  },
@@ -22144,11 +22174,11 @@ function useNatsChatAdapter(config, options = {}) {
22144
22174
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
22145
22175
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
22146
22176
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
22147
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _705 => _705.provider]), () => ( modelProvider)), () => ( null)),
22148
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _706 => _706.modelLabel]), () => ( modelLabel)), () => ( null)),
22149
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _707 => _707.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _708 => _708.contextWindowMaxTokens]))), () => ( null)),
22150
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _709 => _709.inputTokensSize]), () => ( null)),
22151
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _710 => _710.outputTokensSize]), () => ( null)),
22177
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _709 => _709.provider]), () => ( modelProvider)), () => ( null)),
22178
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _710 => _710.modelLabel]), () => ( modelLabel)), () => ( null)),
22179
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _711 => _711.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _712 => _712.contextWindowMaxTokens]))), () => ( null)),
22180
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _713 => _713.inputTokensSize]), () => ( null)),
22181
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _714 => _714.outputTokensSize]), () => ( null)),
22152
22182
  currentCacheHitRatePct: null,
22153
22183
  currentUsageBreakdown: null,
22154
22184
  // Dialog management
@@ -22249,7 +22279,7 @@ function useUnifiedChat(options) {
22249
22279
  []
22250
22280
  );
22251
22281
  const displayRefForward = _react.useCallback.call(void 0,
22252
- (ref) => _optionalChain([activeStateRef, 'access', _711 => _711.current, 'access', _712 => _712.displayRef, 'optionalCall', _713 => _713(ref)]),
22282
+ (ref) => _optionalChain([activeStateRef, 'access', _715 => _715.current, 'access', _716 => _716.displayRef, 'optionalCall', _717 => _717(ref)]),
22253
22283
  []
22254
22284
  );
22255
22285
  const displayRef = activeState.displayRef ? displayRefForward : void 0;
@@ -22259,7 +22289,7 @@ function useUnifiedChat(options) {
22259
22289
  const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
22260
22290
  const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
22261
22291
  const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
22262
- const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _714 => _714.current, 'access', _715 => _715.setDialogScope, 'optionalCall', _716 => _716(scope)]), []);
22292
+ const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _718 => _718.current, 'access', _719 => _719.setDialogScope, 'optionalCall', _720 => _720(scope)]), []);
22263
22293
  const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
22264
22294
  const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
22265
22295
  const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
@@ -22352,19 +22382,19 @@ function turnRequestKeys(content) {
22352
22382
  if (!Array.isArray(content)) return keys;
22353
22383
  for (const seg of content) {
22354
22384
  if (seg.type === "tool_execution") {
22355
- const id = _optionalChain([seg, 'access', _717 => _717.data, 'optionalAccess', _718 => _718.toolExecutionRequestId]);
22385
+ const id = _optionalChain([seg, 'access', _721 => _721.data, 'optionalAccess', _722 => _722.toolExecutionRequestId]);
22356
22386
  if (id) keys.add(id);
22357
22387
  } else if (seg.type === "approval_request") {
22358
- const id = _optionalChain([seg, 'access', _719 => _719.data, 'optionalAccess', _720 => _720.requestId]);
22388
+ const id = _optionalChain([seg, 'access', _723 => _723.data, 'optionalAccess', _724 => _724.requestId]);
22359
22389
  if (id) keys.add(id);
22360
22390
  } else if (seg.type === "escalation_offer") {
22361
- const id = _optionalChain([seg, 'access', _721 => _721.data, 'optionalAccess', _722 => _722.offerId]);
22391
+ const id = _optionalChain([seg, 'access', _725 => _725.data, 'optionalAccess', _726 => _726.offerId]);
22362
22392
  if (id) keys.add(id);
22363
22393
  } else if (seg.type === "approval_batch") {
22364
22394
  const data = seg.data;
22365
- if (_optionalChain([data, 'optionalAccess', _723 => _723.approvalRequestId])) keys.add(data.approvalRequestId);
22366
- for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _724 => _724.toolCalls]), () => ( []))) {
22367
- if (_optionalChain([call, 'optionalAccess', _725 => _725.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
22395
+ if (_optionalChain([data, 'optionalAccess', _727 => _727.approvalRequestId])) keys.add(data.approvalRequestId);
22396
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _728 => _728.toolCalls]), () => ( []))) {
22397
+ if (_optionalChain([call, 'optionalAccess', _729 => _729.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
22368
22398
  }
22369
22399
  }
22370
22400
  }
@@ -22416,18 +22446,18 @@ function mergeHistoryWithRealtime(input) {
22416
22446
  }
22417
22447
  }
22418
22448
  const trailing = processedHistory[processedHistory.length - 1];
22419
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _726 => _726.role]) === "assistant" ? trailing : null;
22420
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _727 => _727.content, 'access', _728 => _728.find, 'call', _729 => _729((s) => s.type === "approval_batch"), 'optionalAccess', _730 => _730.data, 'optionalAccess', _731 => _731.approvalRequestId]), () => ( null)) : null;
22449
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _730 => _730.role]) === "assistant" ? trailing : null;
22450
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _731 => _731.content, 'access', _732 => _732.find, 'call', _733 => _733((s) => s.type === "approval_batch"), 'optionalAccess', _734 => _734.data, 'optionalAccess', _735 => _735.approvalRequestId]), () => ( null)) : null;
22421
22451
  let processedToUse = processedHistory;
22422
22452
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
22423
22453
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
22424
22454
  if (historyBatchId) {
22425
22455
  const batchTwins = existingMessages.filter(
22426
- (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _732 => _732.data, 'optionalAccess', _733 => _733.approvalRequestId]) === historyBatchId)
22456
+ (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _736 => _736.data, 'optionalAccess', _737 => _737.approvalRequestId]) === historyBatchId)
22427
22457
  );
22428
22458
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
22429
22459
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
22430
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _734 => _734.content])) ? historyTrailingAssistant.content.length : 0;
22460
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _738 => _738.content])) ? historyTrailingAssistant.content.length : 0;
22431
22461
  const realtimeSize = existingWithSameBatch.content.length;
22432
22462
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
22433
22463
  processedToUse = processedHistory.slice(0, -1);
@@ -22469,9 +22499,9 @@ function mergeHistoryWithRealtime(input) {
22469
22499
  if (pinnedSyntheticIds.has(m.id)) return true;
22470
22500
  if (droppedSyntheticIds.has(m.id)) return false;
22471
22501
  if (processedIds.has(m.id)) return false;
22472
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _735 => _735.has, 'call', _736 => _736(m.id)])) return false;
22502
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _739 => _739.has, 'call', _740 => _740(m.id)])) return false;
22473
22503
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
22474
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _737 => _737.timestamp, 'optionalAccess', _738 => _738.getTime, 'call', _739 => _739()]), () => ( 0))) <= historyFetchedAt;
22504
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _741 => _741.timestamp, 'optionalAccess', _742 => _742.getTime, 'call', _743 => _743()]), () => ( 0))) <= historyFetchedAt;
22475
22505
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
22476
22506
  }
22477
22507
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -22495,7 +22525,7 @@ function mergeHistoryWithRealtime(input) {
22495
22525
  } else if (typeof m.streamSeq === "number") {
22496
22526
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
22497
22527
  } else {
22498
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _740 => _740.timestamp, 'optionalAccess', _741 => _741.getTime, 'call', _742 => _742()]), () => ( 0))) <= historyFetchedAt;
22528
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _744 => _744.timestamp, 'optionalAccess', _745 => _745.getTime, 'call', _746 => _746()]), () => ( 0))) <= historyFetchedAt;
22499
22529
  }
22500
22530
  if (covered) return false;
22501
22531
  }
@@ -22565,7 +22595,7 @@ function normalizeHistoricalMessageData(md) {
22565
22595
  function isHistoricalUserTurn(m) {
22566
22596
  return !!m.owner;
22567
22597
  }
22568
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _743 => _743.type]) === "TEXT" && typeof d.text === "string";
22598
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _747 => _747.type]) === "TEXT" && typeof d.text === "string";
22569
22599
  var THINK_MS = 550;
22570
22600
  var TOKEN_MS = 55;
22571
22601
  var USER_MS = 480;
@@ -23185,7 +23215,7 @@ function useChatDialogManager({
23185
23215
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
23186
23216
  if (restoreTarget) {
23187
23217
  try {
23188
- await _optionalChain([unarchiveDialog, 'optionalCall', _744 => _744(restoreTarget.id)]);
23218
+ await _optionalChain([unarchiveDialog, 'optionalCall', _748 => _748(restoreTarget.id)]);
23189
23219
  } catch (err) {
23190
23220
  console.error("[useChatDialogManager] unarchive failed:", err);
23191
23221
  return;
@@ -23368,7 +23398,7 @@ function SourceChip({
23368
23398
  const Icon = cta.icon;
23369
23399
  const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
23370
23400
  const chipClass = chatChipClass({ tone: "secondary" });
23371
- const decideTab = (href, targetPlatform) => _chunkY6I2DGKCcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
23401
+ const decideTab = (href, targetPlatform) => _chunkSK4IVCSIcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
23372
23402
  if (src.items && src.items.length > 0) {
23373
23403
  const dropdownItems = src.items.map((item) => {
23374
23404
  const itemCta = resolveSourceRowCTA(
@@ -23457,7 +23487,7 @@ function SourceChip({
23457
23487
  "a",
23458
23488
  {
23459
23489
  href: resolvedHref,
23460
- ..._chunkY6I2DGKCcjs.newTabAnchorAttrs.call(void 0, isNewTab),
23490
+ ..._chunkSK4IVCSIcjs.newTabAnchorAttrs.call(void 0, isNewTab),
23461
23491
  onClick: buildClickHandler(resolvedHref, null, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
23462
23492
  className: chipClass,
23463
23493
  children: chipBody(src.name)
@@ -23473,7 +23503,7 @@ function SourceChip({
23473
23503
  "a",
23474
23504
  {
23475
23505
  href: resolvedHref,
23476
- ..._chunkY6I2DGKCcjs.newTabAnchorAttrs.call(void 0, isNewTab),
23506
+ ..._chunkSK4IVCSIcjs.newTabAnchorAttrs.call(void 0, isNewTab),
23477
23507
  onClick: buildClickHandler(resolvedHref, src.path, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
23478
23508
  className: chipClass,
23479
23509
  title: displayName,
@@ -23665,7 +23695,7 @@ function EmbeddableChatInner({
23665
23695
  }),
23666
23696
  [commandsUrl]
23667
23697
  );
23668
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _745 => _745.name, 'optionalAccess', _746 => _746.trim, 'call', _747 => _747()]) || [_optionalChain([identityUser, 'optionalAccess', _748 => _748.firstName]), _optionalChain([identityUser, 'optionalAccess', _749 => _749.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _750 => _750.trim, 'call', _751 => _751()]) || void 0;
23698
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _749 => _749.name, 'optionalAccess', _750 => _750.trim, 'call', _751 => _751()]) || [_optionalChain([identityUser, 'optionalAccess', _752 => _752.firstName]), _optionalChain([identityUser, 'optionalAccess', _753 => _753.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _754 => _754.trim, 'call', _755 => _755()]) || void 0;
23669
23699
  const effectiveModes = _react.useMemo.call(void 0, () => {
23670
23700
  if (modes) return modes;
23671
23701
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -23674,20 +23704,20 @@ function EmbeddableChatInner({
23674
23704
  const mingoCaps = _react.useMemo.call(void 0, () => {
23675
23705
  if (mingoState) {
23676
23706
  return {
23677
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _752 => _752.canRename]), () => ( false)),
23678
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _753 => _753.canArchive]), () => ( false)),
23679
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _754 => _754.fetchArchivedDialogs]),
23680
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _755 => _755.unarchiveDialog]),
23681
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _756 => _756.searchQuery]),
23682
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _757 => _757.onSearchChange]),
23683
- onCopyLink: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _758 => _758.onCopyLink])
23707
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _756 => _756.canRename]), () => ( false)),
23708
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _757 => _757.canArchive]), () => ( false)),
23709
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _758 => _758.fetchArchivedDialogs]),
23710
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _759 => _759.unarchiveDialog]),
23711
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _760 => _760.searchQuery]),
23712
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _761 => _761.onSearchChange]),
23713
+ onCopyLink: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _762 => _762.onCopyLink])
23684
23714
  };
23685
23715
  }
23686
23716
  return {
23687
- canRename: !!_optionalChain([effectiveModes, 'access', _759 => _759.mingo, 'optionalAccess', _760 => _760.renameDialog]),
23688
- canArchive: !!_optionalChain([effectiveModes, 'access', _761 => _761.mingo, 'optionalAccess', _762 => _762.archiveDialog]),
23689
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _763 => _763.mingo, 'optionalAccess', _764 => _764.fetchArchivedDialogs]),
23690
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _765 => _765.mingo, 'optionalAccess', _766 => _766.unarchiveDialog]),
23717
+ canRename: !!_optionalChain([effectiveModes, 'access', _763 => _763.mingo, 'optionalAccess', _764 => _764.renameDialog]),
23718
+ canArchive: !!_optionalChain([effectiveModes, 'access', _765 => _765.mingo, 'optionalAccess', _766 => _766.archiveDialog]),
23719
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _767 => _767.mingo, 'optionalAccess', _768 => _768.fetchArchivedDialogs]),
23720
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _769 => _769.mingo, 'optionalAccess', _770 => _770.unarchiveDialog]),
23691
23721
  searchQuery: void 0,
23692
23722
  onSearchChange: void 0,
23693
23723
  onCopyLink: void 0
@@ -23702,7 +23732,7 @@ function EmbeddableChatInner({
23702
23732
  if (controlledActiveMode === void 0) {
23703
23733
  setUncontrolledActiveMode(next);
23704
23734
  }
23705
- _optionalChain([onActiveModeChange, 'optionalCall', _767 => _767(next)]);
23735
+ _optionalChain([onActiveModeChange, 'optionalCall', _771 => _771(next)]);
23706
23736
  },
23707
23737
  [controlledActiveMode, onActiveModeChange]
23708
23738
  );
@@ -23729,7 +23759,7 @@ function EmbeddableChatInner({
23729
23759
  );
23730
23760
  const effectiveAssistantName = emptyStateConfig.name;
23731
23761
  const effectiveAssistantIcon = emptyStateConfig.icon;
23732
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _768 => _768.title]) === "string" ? guideWelcome.title : null)));
23762
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _772 => _772.title]) === "string" ? guideWelcome.title : null)));
23733
23763
  const {
23734
23764
  messages: rawMessages,
23735
23765
  isLoading: chatLoading,
@@ -23773,7 +23803,7 @@ function EmbeddableChatInner({
23773
23803
  void sendMessage(guidePendingPrompt).catch((err) => {
23774
23804
  console.error("[EmbeddableChat] guide launcher prompt failed:", err);
23775
23805
  });
23776
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _769 => _769()]);
23806
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _773 => _773()]);
23777
23807
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
23778
23808
  const {
23779
23809
  attachments: stagedAttachments,
@@ -23784,7 +23814,7 @@ function EmbeddableChatInner({
23784
23814
  clear: clearAttachments
23785
23815
  } = useChatAttachments();
23786
23816
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
23787
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _770 => _770.maxItems]), () => ( 10));
23817
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _774 => _774.maxItems]), () => ( 10));
23788
23818
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
23789
23819
  const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
23790
23820
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -23805,10 +23835,10 @@ function EmbeddableChatInner({
23805
23835
  }, [activeDialogId, activeMode]);
23806
23836
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
23807
23837
  const m = /* @__PURE__ */ new Map();
23808
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _771 => _771.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
23838
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _775 => _775.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
23809
23839
  return m;
23810
- }, [_optionalChain([contextPicker, 'optionalAccess', _772 => _772.entityTypes])]);
23811
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _773 => _773.entityTypes]);
23840
+ }, [_optionalChain([contextPicker, 'optionalAccess', _776 => _776.entityTypes])]);
23841
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _777 => _777.entityTypes]);
23812
23842
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
23813
23843
  const byType = /* @__PURE__ */ new Map();
23814
23844
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -23820,7 +23850,7 @@ function EmbeddableChatInner({
23820
23850
  if (mentionActiveRef.current) {
23821
23851
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
23822
23852
  if (contextItems.length >= contextMaxItems) return;
23823
- _optionalChain([chatInputRef, 'access', _774 => _774.current, 'optionalAccess', _775 => _775.commitMention, 'call', _776 => _776(mentionTokenOf(key, mentionMarkerByType), {
23853
+ _optionalChain([chatInputRef, 'access', _778 => _778.current, 'optionalAccess', _779 => _779.commitMention, 'call', _780 => _780(mentionTokenOf(key, mentionMarkerByType), {
23824
23854
  label: item.label,
23825
23855
  icon: resolveContextIcon(item)
23826
23856
  })]);
@@ -23843,9 +23873,9 @@ function EmbeddableChatInner({
23843
23873
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
23844
23874
  if (mentionKeysRef.current.has(key)) {
23845
23875
  mentionKeysRef.current.delete(key);
23846
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _777 => _777.current, 'optionalAccess', _778 => _778.getValue, 'call', _779 => _779()]), () => ( ""));
23876
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _781 => _781.current, 'optionalAccess', _782 => _782.getValue, 'call', _783 => _783()]), () => ( ""));
23847
23877
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
23848
- _optionalChain([chatInputRef, 'access', _780 => _780.current, 'optionalAccess', _781 => _781.setValue, 'call', _782 => _782(next)]);
23878
+ _optionalChain([chatInputRef, 'access', _784 => _784.current, 'optionalAccess', _785 => _785.setValue, 'call', _786 => _786(next)]);
23849
23879
  }
23850
23880
  },
23851
23881
  [mentionMarkerByType]
@@ -23867,7 +23897,7 @@ function EmbeddableChatInner({
23867
23897
  }, []);
23868
23898
  const closeContextPicker = _react.useCallback.call(void 0, () => {
23869
23899
  if (mentionActiveRef.current) {
23870
- _optionalChain([chatInputRef, 'access', _783 => _783.current, 'optionalAccess', _784 => _784.removeMentionTrigger, 'call', _785 => _785()]);
23900
+ _optionalChain([chatInputRef, 'access', _787 => _787.current, 'optionalAccess', _788 => _788.removeMentionTrigger, 'call', _789 => _789()]);
23871
23901
  }
23872
23902
  setContextPickerOpen(false);
23873
23903
  setMentionQuery(null);
@@ -23901,8 +23931,8 @@ function EmbeddableChatInner({
23901
23931
  [effectiveAssistantIcon]
23902
23932
  );
23903
23933
  const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
23904
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _786 => _786.firstName]), _optionalChain([identityUser, 'optionalAccess', _787 => _787.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _788 => _788.name, 'optionalAccess', _789 => _789.trim, 'call', _790 => _790()]) || void 0 : void 0;
23905
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _791 => _791.avatarUrl, 'optionalAccess', _792 => _792.trim, 'call', _793 => _793()]) || void 0 : void 0;
23934
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _790 => _790.firstName]), _optionalChain([identityUser, 'optionalAccess', _791 => _791.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _792 => _792.name, 'optionalAccess', _793 => _793.trim, 'call', _794 => _794()]) || void 0 : void 0;
23935
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _795 => _795.avatarUrl, 'optionalAccess', _796 => _796.trim, 'call', _797 => _797()]) || void 0 : void 0;
23906
23936
  const messages = _react.useMemo.call(void 0, () => {
23907
23937
  const cache = timestampCache;
23908
23938
  const seenIds = /* @__PURE__ */ new Set();
@@ -24091,9 +24121,9 @@ function EmbeddableChatInner({
24091
24121
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
24092
24122
  const lastSources = _react.useMemo.call(void 0, () => {
24093
24123
  if (chatLoading) return void 0;
24094
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _794 => _794.sources]);
24124
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _798 => _798.sources]);
24095
24125
  if (!sources || sources.length === 0) return void 0;
24096
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _795 => _795.content]) || "";
24126
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _799 => _799.content]) || "";
24097
24127
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map((m) => parseInt(m[1], 10));
24098
24128
  const seenOrder = /* @__PURE__ */ new Map();
24099
24129
  citationOrder.forEach((idx) => {
@@ -24111,7 +24141,7 @@ function EmbeddableChatInner({
24111
24141
  const el = panelMeasureRef.current;
24112
24142
  if (!el || typeof ResizeObserver === "undefined") return void 0;
24113
24143
  const ro = new ResizeObserver((entries) => {
24114
- const w = _optionalChain([entries, 'access', _796 => _796[0], 'optionalAccess', _797 => _797.contentRect, 'optionalAccess', _798 => _798.width]);
24144
+ const w = _optionalChain([entries, 'access', _800 => _800[0], 'optionalAccess', _801 => _801.contentRect, 'optionalAccess', _802 => _802.width]);
24115
24145
  if (typeof w === "number") setPanelWidth(w);
24116
24146
  });
24117
24147
  ro.observe(el);
@@ -24154,17 +24184,17 @@ function EmbeddableChatInner({
24154
24184
  const isMingoMode = activeMode === "mingo";
24155
24185
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
24156
24186
  const headerShowBack = hasConversation || guideCanReturnToMingo;
24157
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _799 => _799.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
24187
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _803 => _803.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
24158
24188
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
24159
24189
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
24160
24190
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
24161
24191
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
24162
24192
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
24163
- const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _800 => _800.onCopyLink, 'optionalCall', _801 => _801(activeDialog)]) : void 0;
24193
+ const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _804 => _804.onCopyLink, 'optionalCall', _805 => _805(activeDialog)]) : void 0;
24164
24194
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
24165
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _802 => _802.owner]) : void 0;
24166
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _803 => _803.name, 'optionalAccess', _804 => _804.trim, 'call', _805 => _805()]) || headerUserName;
24167
- const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _806 => _806.avatarUrl, 'optionalAccess', _807 => _807.trim, 'call', _808 => _808()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _809 => _809.avatarUrl, 'optionalAccess', _810 => _810.trim, 'call', _811 => _811()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _812 => _812.trim, 'call', _813 => _813()]) || void 0;
24195
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _806 => _806.owner]) : void 0;
24196
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _807 => _807.name, 'optionalAccess', _808 => _808.trim, 'call', _809 => _809()]) || headerUserName;
24197
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _810 => _810.avatarUrl, 'optionalAccess', _811 => _811.trim, 'call', _812 => _812()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _813 => _813.avatarUrl, 'optionalAccess', _814 => _814.trim, 'call', _815 => _815()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _816 => _816.trim, 'call', _817 => _817()]) || void 0;
24168
24198
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
24169
24199
  const handleNewChat = _react.useCallback.call(void 0, () => {
24170
24200
  resetToNewChat();
@@ -24310,7 +24340,7 @@ function EmbeddableChatInner({
24310
24340
  headerAvatar ? (
24311
24341
  // Owner avatar at the title cell's right edge (Figma 113:63273).
24312
24342
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24313
- _chunkY6I2DGKCcjs.SquareAvatar,
24343
+ _chunkSK4IVCSIcjs.SquareAvatar,
24314
24344
  {
24315
24345
  variant: "round",
24316
24346
  sizePx: 32,
@@ -24494,9 +24524,9 @@ function EmbeddableChatInner({
24494
24524
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
24495
24525
  subtitleLoading: emptyStateLoading,
24496
24526
  ...guideWelcome,
24497
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _814 => _814.title]))),
24498
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _815 => _815.icon]))),
24499
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _816 => _816.quickActions]), () => ( guideSuggestedActions)),
24527
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _818 => _818.title]))),
24528
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _819 => _819.icon]))),
24529
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _820 => _820.quickActions]), () => ( guideSuggestedActions)),
24500
24530
  onQuickAction: (action) => {
24501
24531
  setQuickActionPreview(null);
24502
24532
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -24570,8 +24600,8 @@ function EmbeddableChatInner({
24570
24600
  selectedContextItems: contextItems,
24571
24601
  onToggleContextItem: toggleContextItem,
24572
24602
  onRemoveContextItem: removeContextItem,
24573
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _817 => _817.items]),
24574
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _818 => _818.onRemove]),
24603
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _821 => _821.items]),
24604
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _822 => _822.onRemove]),
24575
24605
  contextPickerOpen,
24576
24606
  onOpenContextPicker: openContextPicker,
24577
24607
  onCloseContextPicker: closeContextPicker,
@@ -25033,4 +25063,4 @@ function EmbeddableChatInner({
25033
25063
 
25034
25064
 
25035
25065
  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.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.useChatCardItem = useChatCardItem; exports.clickupTaskUrl = clickupTaskUrl; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.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.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat;
25036
- //# sourceMappingURL=chunk-YLVPQNLO.cjs.map
25066
+ //# sourceMappingURL=chunk-YYHYCQD6.cjs.map