@flamingo-stack/openframe-frontend-core 0.0.488 → 0.0.489

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-FOQV6RCO.cjs → chunk-2IHN7NNB.cjs} +29 -29
  2. package/dist/{chunk-FOQV6RCO.cjs.map → chunk-2IHN7NNB.cjs.map} +1 -1
  3. package/dist/{chunk-GQX6LFFA.cjs → chunk-2RNJYJWO.cjs} +42 -42
  4. package/dist/{chunk-GQX6LFFA.cjs.map → chunk-2RNJYJWO.cjs.map} +1 -1
  5. package/dist/{chunk-RZSA6MZL.cjs → chunk-3OIB763B.cjs} +15 -15
  6. package/dist/{chunk-RZSA6MZL.cjs.map → chunk-3OIB763B.cjs.map} +1 -1
  7. package/dist/{chunk-LLWBPPZ4.js → chunk-5VSEMWWE.js} +6 -6
  8. package/dist/{chunk-DX6AOHNU.cjs → chunk-5YMY4BAW.cjs} +77 -77
  9. package/dist/{chunk-DX6AOHNU.cjs.map → chunk-5YMY4BAW.cjs.map} +1 -1
  10. package/dist/{chunk-KFQXO7QB.js → chunk-6GT557KN.js} +1 -1
  11. package/dist/chunk-6GT557KN.js.map +1 -0
  12. package/dist/{chunk-3BFX6HJM.js → chunk-B4YR342L.js} +6 -6
  13. package/dist/{chunk-SCCTJ2UI.js → chunk-BGWDDB7Y.js} +4 -4
  14. package/dist/{chunk-A7IPON2V.cjs → chunk-BIKOJ4FH.cjs} +5 -5
  15. package/dist/{chunk-A7IPON2V.cjs.map → chunk-BIKOJ4FH.cjs.map} +1 -1
  16. package/dist/{chunk-PNXNWGBY.js → chunk-EU6QNO4S.js} +2 -2
  17. package/dist/{chunk-F6BYUO5U.js → chunk-FKPXFTZT.js} +3 -3
  18. package/dist/{chunk-EUYIFALO.cjs → chunk-H3YRJ3LZ.cjs} +14 -14
  19. package/dist/{chunk-EUYIFALO.cjs.map → chunk-H3YRJ3LZ.cjs.map} +1 -1
  20. package/dist/{chunk-5RXKOGH6.cjs → chunk-IN4IO7BL.cjs} +386 -327
  21. package/dist/chunk-IN4IO7BL.cjs.map +1 -0
  22. package/dist/{chunk-V3CNNMY3.cjs → chunk-J7H32E3R.cjs} +18 -18
  23. package/dist/{chunk-V3CNNMY3.cjs.map → chunk-J7H32E3R.cjs.map} +1 -1
  24. package/dist/{chunk-AJNDDXKC.js → chunk-K7MNWYYI.js} +3 -3
  25. package/dist/{chunk-PECGZWQR.cjs → chunk-KP5KRRD6.cjs} +3 -3
  26. package/dist/{chunk-PECGZWQR.cjs.map → chunk-KP5KRRD6.cjs.map} +1 -1
  27. package/dist/{chunk-2B6773QM.cjs → chunk-LILQJ3UZ.cjs} +1 -1
  28. package/dist/chunk-LILQJ3UZ.cjs.map +1 -0
  29. package/dist/{chunk-H7JX2BG7.cjs → chunk-LLEDO4P7.cjs} +75 -75
  30. package/dist/{chunk-H7JX2BG7.cjs.map → chunk-LLEDO4P7.cjs.map} +1 -1
  31. package/dist/{chunk-AHDJMEEN.js → chunk-N4MTNTSX.js} +7 -7
  32. package/dist/{chunk-KLYHZRAD.js → chunk-PB3BTZDU.js} +2 -2
  33. package/dist/{chunk-YEEHB4T6.cjs → chunk-RO7Q56ZK.cjs} +40 -40
  34. package/dist/{chunk-YEEHB4T6.cjs.map → chunk-RO7Q56ZK.cjs.map} +1 -1
  35. package/dist/{chunk-CWQACI4Z.js → chunk-RW2LPL72.js} +2 -2
  36. package/dist/{chunk-HQYJINFV.js → chunk-TWGYBXYV.js} +4 -4
  37. package/dist/{chunk-YJSKQ2ZV.js → chunk-VL4LUO32.js} +3 -3
  38. package/dist/{chunk-FZOBQG6M.cjs → chunk-VLOE7MI2.cjs} +35 -35
  39. package/dist/{chunk-FZOBQG6M.cjs.map → chunk-VLOE7MI2.cjs.map} +1 -1
  40. package/dist/{chunk-S52LJNMU.js → chunk-W6ZUOWSB.js} +7 -7
  41. package/dist/{chunk-PXF5J24T.js → chunk-X2YF5TJS.js} +2 -2
  42. package/dist/{chunk-77DFPD35.js → chunk-YMJZOANX.js} +268 -209
  43. package/dist/chunk-YMJZOANX.js.map +1 -0
  44. package/dist/{chunk-SIKCXKGB.cjs → chunk-Z7Y63IFU.cjs} +7 -7
  45. package/dist/{chunk-SIKCXKGB.cjs.map → chunk-Z7Y63IFU.cjs.map} +1 -1
  46. package/dist/{chunk-EYEIVYYF.cjs → chunk-ZIAS5NNL.cjs} +7 -7
  47. package/dist/{chunk-EYEIVYYF.cjs.map → chunk-ZIAS5NNL.cjs.map} +1 -1
  48. package/dist/components/case-studies/index.cjs +10 -10
  49. package/dist/components/case-studies/index.js +4 -4
  50. package/dist/components/chat/hooks/use-chat-history-hydration.d.ts +47 -0
  51. package/dist/components/chat/hooks/use-chat-history-hydration.d.ts.map +1 -0
  52. package/dist/components/chat/hooks/use-chat.d.ts +1 -0
  53. package/dist/components/chat/hooks/use-chat.d.ts.map +1 -1
  54. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +4 -0
  55. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
  56. package/dist/components/chat/index.cjs +4 -4
  57. package/dist/components/chat/index.js +3 -3
  58. package/dist/components/chat/types/unified-chat-state.types.d.ts +5 -0
  59. package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
  60. package/dist/components/chat/utils/chat-conversation-storage.d.ts +34 -0
  61. package/dist/components/chat/utils/chat-conversation-storage.d.ts.map +1 -0
  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 +7 -7
  65. package/dist/components/docs/index.js +6 -6
  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 +6 -6
  69. package/dist/components/faq/index.js +5 -5
  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 +23 -23
  73. package/dist/components/help-center-pages/index.js +14 -14
  74. package/dist/components/index.cjs +140 -140
  75. package/dist/components/index.js +12 -12
  76. package/dist/components/navigation/index.cjs +4 -4
  77. package/dist/components/navigation/index.js +3 -3
  78. package/dist/components/onboarding-guides/index.cjs +8 -8
  79. package/dist/components/onboarding-guides/index.js +7 -7
  80. package/dist/components/related-content/index.cjs +6 -6
  81. package/dist/components/related-content/index.js +5 -5
  82. package/dist/components/tickets/index.cjs +7 -7
  83. package/dist/components/tickets/index.js +6 -6
  84. package/dist/components/ui/index.cjs +4 -4
  85. package/dist/components/ui/index.js +3 -3
  86. package/dist/contexts/chat-runtime-context.d.ts +8 -0
  87. package/dist/contexts/chat-runtime-context.d.ts.map +1 -1
  88. package/dist/contexts/index.cjs +2 -2
  89. package/dist/contexts/index.js +1 -1
  90. package/dist/hooks/index.cjs +3 -3
  91. package/dist/hooks/index.js +2 -2
  92. package/dist/index.cjs +4 -4
  93. package/dist/index.js +3 -3
  94. package/package.json +1 -1
  95. package/src/components/chat/hooks/use-chat-history-hydration.ts +142 -0
  96. package/src/components/chat/hooks/use-chat.ts +12 -0
  97. package/src/components/chat/hooks/use-sse-chat-adapter.ts +109 -162
  98. package/src/components/chat/types/unified-chat-state.types.ts +6 -0
  99. package/src/components/chat/utils/chat-conversation-storage.ts +83 -0
  100. package/src/contexts/chat-runtime-context.tsx +8 -0
  101. package/dist/chunk-2B6773QM.cjs.map +0 -1
  102. package/dist/chunk-5RXKOGH6.cjs.map +0 -1
  103. package/dist/chunk-77DFPD35.js.map +0 -1
  104. package/dist/chunk-KFQXO7QB.js.map +0 -1
  105. /package/dist/{chunk-LLWBPPZ4.js.map → chunk-5VSEMWWE.js.map} +0 -0
  106. /package/dist/{chunk-3BFX6HJM.js.map → chunk-B4YR342L.js.map} +0 -0
  107. /package/dist/{chunk-SCCTJ2UI.js.map → chunk-BGWDDB7Y.js.map} +0 -0
  108. /package/dist/{chunk-PNXNWGBY.js.map → chunk-EU6QNO4S.js.map} +0 -0
  109. /package/dist/{chunk-F6BYUO5U.js.map → chunk-FKPXFTZT.js.map} +0 -0
  110. /package/dist/{chunk-AJNDDXKC.js.map → chunk-K7MNWYYI.js.map} +0 -0
  111. /package/dist/{chunk-AHDJMEEN.js.map → chunk-N4MTNTSX.js.map} +0 -0
  112. /package/dist/{chunk-KLYHZRAD.js.map → chunk-PB3BTZDU.js.map} +0 -0
  113. /package/dist/{chunk-CWQACI4Z.js.map → chunk-RW2LPL72.js.map} +0 -0
  114. /package/dist/{chunk-HQYJINFV.js.map → chunk-TWGYBXYV.js.map} +0 -0
  115. /package/dist/{chunk-YJSKQ2ZV.js.map → chunk-VL4LUO32.js.map} +0 -0
  116. /package/dist/{chunk-S52LJNMU.js.map → chunk-W6ZUOWSB.js.map} +0 -0
  117. /package/dist/{chunk-PXF5J24T.js.map → chunk-X2YF5TJS.js.map} +0 -0
@@ -34,7 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- var _chunkA7IPON2Vcjs = require('./chunk-A7IPON2V.cjs');
37
+ var _chunkBIKOJ4FHcjs = require('./chunk-BIKOJ4FH.cjs');
38
38
 
39
39
 
40
40
 
@@ -160,7 +160,7 @@ var _chunkBGD345ZVcjs = require('./chunk-BGD345ZV.cjs');
160
160
 
161
161
 
162
162
 
163
- var _chunk2B6773QMcjs = require('./chunk-2B6773QM.cjs');
163
+ var _chunkLILQJ3UZcjs = require('./chunk-LILQJ3UZ.cjs');
164
164
 
165
165
 
166
166
  var _chunkBZFW3FOFcjs = require('./chunk-BZFW3FOF.cjs');
@@ -808,7 +808,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution, showExe
808
808
  onClick: onToggle,
809
809
  className: "flex gap-[var(--spacing-system-xsf)] items-start w-full p-[var(--spacing-system-sf)] cursor-pointer text-left",
810
810
  children: [
811
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7IPON2Vcjs.ToolIcon, { toolType, size: 16 }) }),
811
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIKOJ4FHcjs.ToolIcon, { toolType, size: 16 }) }),
812
812
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
813
813
  "div",
814
814
  {
@@ -1472,7 +1472,7 @@ var MermaidDiagram = ({ chart }) => {
1472
1472
  ) }) });
1473
1473
  };
1474
1474
  var MarkdownContentImage = ({ src, alt }) => {
1475
- const resolvedSrc = _chunkA7IPON2Vcjs.useAuthedImageSrc.call(void 0, src);
1475
+ const resolvedSrc = _chunkBIKOJ4FHcjs.useAuthedImageSrc.call(void 0, src);
1476
1476
  if (!resolvedSrc) return null;
1477
1477
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1478
1478
  _chunkXL4V2PYGcjs.next_image_default,
@@ -2247,7 +2247,7 @@ function formatBioText(aboutHtml, fallback = "") {
2247
2247
 
2248
2248
  var SquareAvatar = React2.memo(React2.forwardRef(
2249
2249
  ({ className, src, alt, size: size2 = "md", sizePx, fallback, variant = "square", initialsClassName, style, ...props }, ref) => {
2250
- const resolvedSrc = _chunkA7IPON2Vcjs.useAuthedImageSrc.call(void 0, src);
2250
+ const resolvedSrc = _chunkBIKOJ4FHcjs.useAuthedImageSrc.call(void 0, src);
2251
2251
  const sizeClasses2 = {
2252
2252
  sm: "h-8 w-8",
2253
2253
  md: "h-10 w-10",
@@ -4935,7 +4935,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
4935
4935
  return null;
4936
4936
  };
4937
4937
  const headerContent = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
4938
- !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7IPON2Vcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4938
+ !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIKOJ4FHcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4939
4939
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4940
4940
  "div",
4941
4941
  {
@@ -6425,7 +6425,7 @@ function generateImageSizes(_url) {
6425
6425
 
6426
6426
  // src/components/chat/hooks/use-proxied-image-url.ts
6427
6427
  function useProxiedImageUrl(url) {
6428
- const r = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
6428
+ const r = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
6429
6429
  return _nullishCoalesce(getProxiedImageUrl(_nullishCoalesce(url, () => ( "")), {
6430
6430
  proxyPrefix: r.endpoints.imageProxyUrlPrefix,
6431
6431
  skipDomains: r.endpoints.imageProxySkipDomains,
@@ -6751,7 +6751,7 @@ function CloneCopy({
6751
6751
  style,
6752
6752
  children
6753
6753
  }) {
6754
- const ref = _chunkA7IPON2Vcjs.useSuppressCloneFocus.call(void 0, true);
6754
+ const ref = _chunkBIKOJ4FHcjs.useSuppressCloneFocus.call(void 0, true);
6755
6755
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, "aria-hidden": true, "data-marquee-copy": "clone", className, style, children });
6756
6756
  }
6757
6757
  function MarqueeWall({
@@ -6778,7 +6778,7 @@ function MarqueeWall({
6778
6778
  const containerRef = React12.useRef(null);
6779
6779
  const trackRef = React12.useRef(null);
6780
6780
  const copyRef = React12.useRef(null);
6781
- const reducedMotion = _nullishCoalesce(_chunkA7IPON2Vcjs.useMediaQuery.call(void 0, "(prefers-reduced-motion: reduce)"), () => ( false));
6781
+ const reducedMotion = _nullishCoalesce(_chunkBIKOJ4FHcjs.useMediaQuery.call(void 0, "(prefers-reduced-motion: reduce)"), () => ( false));
6782
6782
  const [overflows, setOverflows] = React12.useState(false);
6783
6783
  const copySizeRef = React12.useRef(0);
6784
6784
  const wrapSizeRef = React12.useRef(0);
@@ -6811,7 +6811,7 @@ function MarqueeWall({
6811
6811
  if (!el || typeof IntersectionObserver === "undefined") return;
6812
6812
  const io = new IntersectionObserver(
6813
6813
  (entries) => setNearViewport(_nullishCoalesce(_optionalChain([entries, 'access', _123 => _123[0], 'optionalAccess', _124 => _124.isIntersecting]), () => ( true))),
6814
- { rootMargin: _chunkA7IPON2Vcjs.NEAR_VIEWPORT_ROOT_MARGIN }
6814
+ { rootMargin: _chunkBIKOJ4FHcjs.NEAR_VIEWPORT_ROOT_MARGIN }
6815
6815
  );
6816
6816
  io.observe(el);
6817
6817
  return () => io.disconnect();
@@ -6828,7 +6828,7 @@ function MarqueeWall({
6828
6828
  if (e.pointerType === "touch") return;
6829
6829
  pointerInsideRef.current = false;
6830
6830
  }, []);
6831
- _chunkA7IPON2Vcjs.useResetOnPageHidden.call(void 0, clearPointerInside);
6831
+ _chunkBIKOJ4FHcjs.useResetOnPageHidden.call(void 0, clearPointerInside);
6832
6832
  const draggingRef = React12.useRef(false);
6833
6833
  const dragSuppressUntilRef = React12.useRef(0);
6834
6834
  const applyTransform = React12.useCallback(
@@ -6883,7 +6883,7 @@ function MarqueeWall({
6883
6883
  }
6884
6884
  };
6885
6885
  }, [sync, applyTransform]);
6886
- const { posRef, wrap } = _chunkA7IPON2Vcjs.useMarqueeEngine.call(void 0, {
6886
+ const { posRef, wrap } = _chunkBIKOJ4FHcjs.useMarqueeEngine.call(void 0, {
6887
6887
  active: marqueeActive && nearViewport && isDriver,
6888
6888
  speed,
6889
6889
  isPaused: (now) => pauseOnHover && pointerInsideRef.current || draggingRef.current || now < dragSuppressUntilRef.current || document.visibilityState === "hidden",
@@ -8663,7 +8663,7 @@ function ChatHeaderSearchField({
8663
8663
  className
8664
8664
  }) {
8665
8665
  const [value, setValue] = React26.useState(_nullishCoalesce(initialValue, () => ( "")));
8666
- const debounced = _chunkA7IPON2Vcjs.useDebounce.call(void 0, value, 300);
8666
+ const debounced = _chunkBIKOJ4FHcjs.useDebounce.call(void 0, value, 300);
8667
8667
  const lastEmitted = React26.useRef(_nullishCoalesce(initialValue, () => ( "")));
8668
8668
  const [exiting, setExiting] = React26.useState(false);
8669
8669
  const collapsedRef = React26.useRef(false);
@@ -10010,7 +10010,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
10010
10010
  return;
10011
10011
  }
10012
10012
  const target = stripSameOriginToPath(href);
10013
- if (target.includes("#") && _chunkA7IPON2Vcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkA7IPON2Vcjs.STICKY_HEADER_OFFSET_PX })) {
10013
+ if (target.includes("#") && _chunkBIKOJ4FHcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkBIKOJ4FHcjs.STICKY_HEADER_OFFSET_PX })) {
10014
10014
  return;
10015
10015
  }
10016
10016
  const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _177 => _177.navigation, 'access', _178 => _178.navigate, 'optionalCall', _179 => _179({ href, path, targetPlatform })]), () => ( false));
@@ -10067,7 +10067,7 @@ function NavLinkAnchorViaRuntime({
10067
10067
  className,
10068
10068
  children
10069
10069
  }) {
10070
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
10070
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
10071
10071
  const router = _chunkSSJNN5BScjs.useRouter.call(void 0, );
10072
10072
  const panel = useChatPanel();
10073
10073
  const resolvedHref = resolveHrefForRuntime(href, runtime);
@@ -10479,7 +10479,7 @@ function EntityPortraitCard({
10479
10479
  setIsWide(img.naturalWidth / img.naturalHeight >= MIN_WIDE_RATIO);
10480
10480
  }
10481
10481
  };
10482
- const edgeColor = _chunkA7IPON2Vcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--color-bg-surface)");
10482
+ const edgeColor = _chunkBIKOJ4FHcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--color-bg-surface)");
10483
10483
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target, rel, className: _chunkA62C4C4Vcjs.cn.call(void 0, "block h-full", className), "aria-label": `Open ${title}`, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { className: "bg-ods-card border border-ods-border hover:border-ods-accent hover:shadow-lg hover:shadow-ods-accent/[0.08] transition-all duration-200 p-6 flex flex-col gap-6 overflow-hidden h-full", children: [
10484
10484
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10485
10485
  "div",
@@ -10786,7 +10786,7 @@ function AdminContentCard({
10786
10786
  const [imageError, setImageError] = _react.useState.call(void 0, false);
10787
10787
  const [imageLoaded, setImageLoaded] = _react.useState.call(void 0, false);
10788
10788
  const displayUrl = imageUrl && !imageError ? imageUrl : placeholderUrl;
10789
- const imageBgColor = _chunkA7IPON2Vcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
10789
+ const imageBgColor = _chunkBIKOJ4FHcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
10790
10790
  _react.useEffect.call(void 0, () => {
10791
10791
  setImageLoaded(false);
10792
10792
  }, [displayUrl]);
@@ -11043,7 +11043,7 @@ function saveDataEnabled() {
11043
11043
  function useVideoOriginPreconnect({
11044
11044
  supabaseStorageOrigin
11045
11045
  } = {}) {
11046
- const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
11046
+ const runtime = _chunkLILQJ3UZcjs.useChatRuntime.call(void 0, );
11047
11047
  const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _190 => _190.endpoints, 'access', _191 => _191.supabaseStorageOrigin])));
11048
11048
  try {
11049
11049
  ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
@@ -11062,10 +11062,10 @@ function useVideoWarmup({
11062
11062
  supabaseStorageOrigin,
11063
11063
  nearMargin = "1000px"
11064
11064
  } = {}) {
11065
- const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
11065
+ const runtime = _chunkLILQJ3UZcjs.useChatRuntime.call(void 0, );
11066
11066
  const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _192 => _192.endpoints, 'access', _193 => _193.supabaseStorageOrigin])));
11067
11067
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
11068
- const { ref, isNear } = _chunkA7IPON2Vcjs.useNearViewport.call(void 0, nearMargin);
11068
+ const { ref, isNear } = _chunkBIKOJ4FHcjs.useNearViewport.call(void 0, nearMargin);
11069
11069
  _react.useEffect.call(void 0, () => {
11070
11070
  if (!isNear || !videoUrl || !resolvedOrigin) return;
11071
11071
  if (saveDataEnabled()) return;
@@ -11855,7 +11855,7 @@ function VideoHoverPreviewSurface({
11855
11855
  if (!el || typeof IntersectionObserver === "undefined") return;
11856
11856
  const io = new IntersectionObserver(
11857
11857
  (entries) => setIsNear(_nullishCoalesce(_optionalChain([entries, 'access', _273 => _273[0], 'optionalAccess', _274 => _274.isIntersecting]), () => ( false))),
11858
- { rootMargin: _chunkA7IPON2Vcjs.NEAR_VIEWPORT_ROOT_MARGIN }
11858
+ { rootMargin: _chunkBIKOJ4FHcjs.NEAR_VIEWPORT_ROOT_MARGIN }
11859
11859
  );
11860
11860
  io.observe(el);
11861
11861
  return () => io.disconnect();
@@ -12083,7 +12083,7 @@ function ManagedCell({
12083
12083
  }) {
12084
12084
  const hintedWidth = React125.default.isValidElement(item) ? item.props["data-strip-cell-width"] : void 0;
12085
12085
  const desktopWidth = typeof hintedWidth === "number" ? hintedWidth : cardWidthDesktop;
12086
- const cloneRef = _chunkA7IPON2Vcjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
12086
+ const cloneRef = _chunkBIKOJ4FHcjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
12087
12087
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12088
12088
  "div",
12089
12089
  {
@@ -12246,7 +12246,7 @@ function CardsStrip(props) {
12246
12246
  const current = activeKeyRef.current;
12247
12247
  if (current !== null) deactivate(current);
12248
12248
  }, [deactivate]);
12249
- _chunkA7IPON2Vcjs.useResetOnPageHidden.call(void 0, clearHover);
12249
+ _chunkBIKOJ4FHcjs.useResetOnPageHidden.call(void 0, clearHover);
12250
12250
  const syncHoverIfScrolled = _react.useCallback.call(void 0, () => {
12251
12251
  const scroller = scrollerRef.current;
12252
12252
  if (!scroller) return;
@@ -12259,7 +12259,7 @@ function CardsStrip(props) {
12259
12259
  const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _285 => _285.current, 'optionalAccess', _286 => _286.clientWidth]), () => ( 0));
12260
12260
  return Math.max(0, Math.min(200, half / 4, half - viewport - TRACK_GAP_PX - 1));
12261
12261
  }, []);
12262
- const { posRef: marqueePosRef, glideBy } = _chunkA7IPON2Vcjs.useMarqueeEngine.call(void 0, {
12262
+ const { posRef: marqueePosRef, glideBy } = _chunkBIKOJ4FHcjs.useMarqueeEngine.call(void 0, {
12263
12263
  // Viewport gates `active` (the rAF fully stops off-screen — a paused
12264
12264
  // engine would keep scheduling frames forever), same treatment as
12265
12265
  // <MarqueeWall>; the envelope persists, so re-entry resumes at cruise.
@@ -12299,7 +12299,7 @@ function CardsStrip(props) {
12299
12299
  }
12300
12300
  return next;
12301
12301
  });
12302
- }, { rootMargin: _chunkA7IPON2Vcjs.NEAR_VIEWPORT_ROOT_MARGIN });
12302
+ }, { rootMargin: _chunkBIKOJ4FHcjs.NEAR_VIEWPORT_ROOT_MARGIN });
12303
12303
  cardObserverRef.current = io;
12304
12304
  cardElIdxRef.current.forEach((_idx, el) => io.observe(el));
12305
12305
  return () => {
@@ -13429,7 +13429,7 @@ function useEntityCardLink({
13429
13429
  target,
13430
13430
  rel
13431
13431
  }) {
13432
- const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
13432
+ const runtime = _chunkLILQJ3UZcjs.useChatRuntime.call(void 0, );
13433
13433
  return _react.useMemo.call(void 0, () => {
13434
13434
  if (target !== void 0 || rel !== void 0) {
13435
13435
  const safeRel = _nullishCoalesce(rel, () => ( (target === "_blank" ? "noopener noreferrer" : void 0)));
@@ -13447,7 +13447,7 @@ function useEntityCardPlaceholder({
13447
13447
  siteName = "",
13448
13448
  aspect = "wide"
13449
13449
  }) {
13450
- const derived = _chunkA7IPON2Vcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
13450
+ const derived = _chunkBIKOJ4FHcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
13451
13451
  return placeholderUrl !== void 0 ? placeholderUrl : derived;
13452
13452
  }
13453
13453
 
@@ -14764,7 +14764,7 @@ function AutocompleteInner(props, ref) {
14764
14764
  }, [valueArray, options]);
14765
14765
  const selectedOption = !multiple && selectedOptions.length > 0 ? selectedOptions[0] : null;
14766
14766
  const inputPlaceholder = multiple ? valueArray.length === 0 ? placeholder : "Add More..." : placeholder;
14767
- const autoLimitTags = _chunkA7IPON2Vcjs.useAutoLimitTags.call(void 0, {
14767
+ const autoLimitTags = _chunkBIKOJ4FHcjs.useAutoLimitTags.call(void 0, {
14768
14768
  count: multiple ? selectedOptions.length : 0,
14769
14769
  limitTags: multiple ? limitTagsProp : 0,
14770
14770
  placeholder: inputPlaceholder
@@ -15511,7 +15511,7 @@ function DatePickerCalendar({
15511
15511
  fluid = false
15512
15512
  }) {
15513
15513
  const today = /* @__PURE__ */ new Date();
15514
- const isMdUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useMdUp.call(void 0, ), () => ( true));
15514
+ const isMdUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useMdUp.call(void 0, ), () => ( true));
15515
15515
  const monthsToShow = isMdUp ? numberOfMonths : 1;
15516
15516
  const [draftRange, setDraftRange] = React46.useState(
15517
15517
  mode === "range" ? selected : void 0
@@ -16535,7 +16535,7 @@ var ProgressBar = ({
16535
16535
  mobileHeight = 8,
16536
16536
  inverted = false
16537
16537
  }) => {
16538
- const isMdUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useMdUp.call(void 0, ), () => ( true));
16538
+ const isMdUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useMdUp.call(void 0, ), () => ( true));
16539
16539
  const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
16540
16540
  const effectiveHeight = isMdUp ? height : mobileHeight;
16541
16541
  const containerRef = _react.useRef.call(void 0, null);
@@ -16662,7 +16662,7 @@ function InfoCardFooter({ footer }) {
16662
16662
  ] });
16663
16663
  }
16664
16664
  function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
16665
- const { copy, copied } = _chunkA7IPON2Vcjs.useCopyToClipboard.call(void 0, );
16665
+ const { copy, copied } = _chunkBIKOJ4FHcjs.useCopyToClipboard.call(void 0, );
16666
16666
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)] self-stretch w-full", children: [
16667
16667
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary whitespace-nowrap", children: showLabel ? label : "" }),
16668
16668
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 h-px bg-ods-divider" }),
@@ -19033,7 +19033,7 @@ var DrawerContent = React67.forwardRef(
19033
19033
  const resolvedSide = _nullishCoalesce(side, () => ( "right"));
19034
19034
  const isHorizontal = HORIZONTAL_SIDES.has(resolvedSide);
19035
19035
  const initialSize = _nullishCoalesce(defaultSize, () => ( (isHorizontal ? 560 : 480)));
19036
- const headerHeight = _chunkA7IPON2Vcjs.useHeaderHeight.call(void 0, );
19036
+ const headerHeight = _chunkBIKOJ4FHcjs.useHeaderHeight.call(void 0, );
19037
19037
  const [isMobile, setIsMobile] = React67.useState(false);
19038
19038
  React67.useEffect(() => {
19039
19039
  if (typeof window === "undefined") return;
@@ -21255,7 +21255,7 @@ var OGLinkPreview = ({
21255
21255
  const hasImage = !!resolvedImageUrl;
21256
21256
  const isFallbackImage = resolvedImageUrl === fallbackImage;
21257
21257
  const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
21258
- const bgColor = _chunkA7IPON2Vcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--color-bg-surface)");
21258
+ const bgColor = _chunkBIKOJ4FHcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--color-bg-surface)");
21259
21259
  const renderSkeleton = () => isCompact ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "my-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-row border border-ods-border rounded-lg overflow-hidden bg-ods-card h-[120px]", children: [
21260
21260
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[200px] h-full flex-shrink-0 bg-ods-border animate-pulse" }),
21261
21261
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 p-3 flex flex-col justify-center", children: [
@@ -23719,7 +23719,7 @@ function ListPageLayout({
23719
23719
  }) {
23720
23720
  const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
23721
23721
  const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
23722
- const debouncedSearchValue = _chunkA7IPON2Vcjs.useDebounce.call(void 0, localSearchValue, 500);
23722
+ const debouncedSearchValue = _chunkBIKOJ4FHcjs.useDebounce.call(void 0, localSearchValue, 500);
23723
23723
  _react.useEffect.call(void 0, () => {
23724
23724
  setLocalSearchValue(searchValue);
23725
23725
  }, [searchValue]);
@@ -23800,7 +23800,7 @@ _chunkA62C4C4Vcjs.init_cn.call(void 0, );
23800
23800
  _chunkA62C4C4Vcjs.init_cn.call(void 0, );
23801
23801
 
23802
23802
  function EntityImage({ src, alt, fallbackText, className }) {
23803
- const resolvedSrc = _chunkA7IPON2Vcjs.useAuthedImageSrc.call(void 0, src);
23803
+ const resolvedSrc = _chunkBIKOJ4FHcjs.useAuthedImageSrc.call(void 0, src);
23804
23804
  const [imageFailed, setImageFailed] = React125.default.useState(false);
23805
23805
  React125.default.useEffect(() => {
23806
23806
  setImageFailed(false);
@@ -24386,7 +24386,7 @@ function toToolLabel(input) {
24386
24386
  if (!input) return "";
24387
24387
  const toolType = normalizeToolType(input);
24388
24388
  if (toolType) {
24389
- return _chunkA7IPON2Vcjs.toolLabels[toolType];
24389
+ return _chunkBIKOJ4FHcjs.toolLabels[toolType];
24390
24390
  }
24391
24391
  return input;
24392
24392
  }
@@ -24397,7 +24397,7 @@ function getToolTypeAliases(toolType) {
24397
24397
  return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
24398
24398
  }
24399
24399
  function getToolLabel(toolType) {
24400
- return _chunkA7IPON2Vcjs.toolLabels[toolType] || toolType;
24400
+ return _chunkBIKOJ4FHcjs.toolLabels[toolType] || toolType;
24401
24401
  }
24402
24402
 
24403
24403
  // src/types/shell.types.ts
@@ -25719,7 +25719,7 @@ function sanitizeLandingUrl(url) {
25719
25719
  }
25720
25720
  }
25721
25721
  function makeAdapter() {
25722
- return _chunkA7IPON2Vcjs.createLocalStorageAdapter.call(void 0, {
25722
+ return _chunkBIKOJ4FHcjs.createLocalStorageAdapter.call(void 0, {
25723
25723
  key: FIRST_TOUCH_ATTRIBUTION_KEY,
25724
25724
  backend: "session",
25725
25725
  logTag: "[first-touch-attribution]",
@@ -27667,10 +27667,10 @@ function CompleteAccountForm({
27667
27667
  children
27668
27668
  }) {
27669
27669
  const fieldsDisabled = disabled || loading;
27670
- const firstNameErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _607 => _607.firstName]), firstName);
27671
- const lastNameErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _608 => _608.lastName]), lastName);
27672
- const passwordErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _609 => _609.password]), password);
27673
- const confirmErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _610 => _610.confirmPassword]), confirmPassword);
27670
+ const firstNameErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _607 => _607.firstName]), firstName);
27671
+ const lastNameErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _608 => _608.lastName]), lastName);
27672
+ const passwordErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _609 => _609.password]), password);
27673
+ const confirmErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _610 => _610.confirmPassword]), confirmPassword);
27674
27674
  const handleKeyDown = (event) => {
27675
27675
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
27676
27676
  onSubmit();
@@ -27861,9 +27861,9 @@ function CreateOrganizationForm({
27861
27861
  }) {
27862
27862
  const hasSso = !!ssoProviders && ssoProviders.length > 0;
27863
27863
  const fieldsDisabled = disabled || loading;
27864
- const emailErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _611 => _611.email]), email);
27865
- const orgNameErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _612 => _612.organizationName]), organizationName);
27866
- const domainErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _613 => _613.domain]), domain);
27864
+ const emailErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _611 => _611.email]), email);
27865
+ const orgNameErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _612 => _612.organizationName]), organizationName);
27866
+ const domainErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _613 => _613.domain]), domain);
27867
27867
  const handleKeyDown = (event) => {
27868
27868
  if (event.key === "Enter" && !fieldsDisabled) {
27869
27869
  onSubmit();
@@ -28017,7 +28017,7 @@ function LoginForm({
28017
28017
  className
28018
28018
  }) {
28019
28019
  const fieldDisabled = disabled || loading;
28020
- const emailErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _619 => _619.email]), email);
28020
+ const emailErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _619 => _619.email]), email);
28021
28021
  const handleKeyDown = (event) => {
28022
28022
  if (event.key === "Enter" && !fieldDisabled) {
28023
28023
  _optionalChain([onSubmit, 'optionalCall', _620 => _620()]);
@@ -28091,8 +28091,8 @@ function OpenFrameSsoLoginForm({
28091
28091
  className
28092
28092
  }) {
28093
28093
  const fieldsDisabled = disabled || loading;
28094
- const emailErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _623 => _623.email]), email);
28095
- const passwordErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _624 => _624.password]), password);
28094
+ const emailErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _623 => _623.email]), email);
28095
+ const passwordErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _624 => _624.password]), password);
28096
28096
  const handleKeyDown = (event) => {
28097
28097
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
28098
28098
  onSubmit();
@@ -28199,11 +28199,11 @@ function OpenFrameSsoSignUpForm({
28199
28199
  className
28200
28200
  }) {
28201
28201
  const fieldsDisabled = disabled || loading;
28202
- const emailErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _625 => _625.email]), email);
28203
- const firstNameErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _626 => _626.firstName]), firstName);
28204
- const lastNameErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _627 => _627.lastName]), lastName);
28205
- const passwordErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _628 => _628.password]), password);
28206
- const confirmErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _629 => _629.confirmPassword]), confirmPassword);
28202
+ const emailErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _625 => _625.email]), email);
28203
+ const firstNameErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _626 => _626.firstName]), firstName);
28204
+ const lastNameErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _627 => _627.lastName]), lastName);
28205
+ const passwordErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _628 => _628.password]), password);
28206
+ const confirmErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _629 => _629.confirmPassword]), confirmPassword);
28207
28207
  const handleKeyDown = (event) => {
28208
28208
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
28209
28209
  onSubmit();
@@ -28346,8 +28346,8 @@ function PasswordResetForm({
28346
28346
  className
28347
28347
  }) {
28348
28348
  const fieldsDisabled = disabled || loading;
28349
- const passwordErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _630 => _630.password]), password);
28350
- const confirmErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _631 => _631.confirmPassword]), confirmPassword);
28349
+ const passwordErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _630 => _630.password]), password);
28350
+ const confirmErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _631 => _631.confirmPassword]), confirmPassword);
28351
28351
  const handleKeyDown = (event) => {
28352
28352
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
28353
28353
  onSubmit();
@@ -30632,7 +30632,7 @@ function PlatformFilterComponent({
30632
30632
  variant: selectedPlatform === platform.value ? "accent" : "outline",
30633
30633
  size: size2,
30634
30634
  onClick: () => onPlatformChange(platform.value),
30635
- leftIcon: showIcons ? _chunkA7IPON2Vcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
30635
+ leftIcon: showIcons ? _chunkBIKOJ4FHcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
30636
30636
  className: "text-h3",
30637
30637
  children: platform.label
30638
30638
  },
@@ -33946,7 +33946,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
33946
33946
  if (level) onPermissionChange(categoryId, policy.id, level);
33947
33947
  };
33948
33948
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border-b last:border-b-0 border-ods-border flex gap-[var(--spacing-system-m)] items-start md:items-center px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)]", children: [
33949
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8 shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7IPON2Vcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
33949
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8 shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIKOJ4FHcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
33950
33950
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col min-w-0", children: [
33951
33951
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", title: policy.name, children: policy.name }),
33952
33952
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary break-all", children: policy.commandPattern }),
@@ -34240,8 +34240,8 @@ function WaitlistForm({
34240
34240
  const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
34241
34241
  const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
34242
34242
  const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
34243
- const { toast } = _chunkA7IPON2Vcjs.useToast.call(void 0, );
34244
- const { honeypotInputProps, getSignals, resetSignals } = _chunkA7IPON2Vcjs.useHumanitySignals.call(void 0, );
34243
+ const { toast } = _chunkBIKOJ4FHcjs.useToast.call(void 0, );
34244
+ const { honeypotInputProps, getSignals, resetSignals } = _chunkBIKOJ4FHcjs.useHumanitySignals.call(void 0, );
34245
34245
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
34246
34246
  const [isClient, setIsClient] = _react.useState.call(void 0, false);
34247
34247
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
@@ -35223,7 +35223,7 @@ function NotificationTile({
35223
35223
  onError: () => setFailedImageUrl(image),
35224
35224
  className: "size-4 rounded-[2px] object-cover"
35225
35225
  }
35226
- ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkA7IPON2Vcjs.dotColorByVariant[accentVariant]) })))
35226
+ ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkBIKOJ4FHcjs.dotColorByVariant[accentVariant]) })))
35227
35227
  }
35228
35228
  ),
35229
35229
  type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -35271,7 +35271,7 @@ function NotificationTile({
35271
35271
  "aria-hidden": true,
35272
35272
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
35273
35273
  "absolute inset-x-0 -bottom-px h-1 origin-left",
35274
- _chunkA7IPON2Vcjs.progressColorByVariant[accentVariant]
35274
+ _chunkBIKOJ4FHcjs.progressColorByVariant[accentVariant]
35275
35275
  ),
35276
35276
  style: {
35277
35277
  animation: `toast-progress ${liveDurationMs}ms linear forwards`,
@@ -35494,7 +35494,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
35494
35494
  ] });
35495
35495
  }
35496
35496
  function DesktopNotificationsToggleRow({ checked, onChange }) {
35497
- const { supported, permission, request } = _chunkA7IPON2Vcjs.useNotificationPermission.call(void 0, );
35497
+ const { supported, permission, request } = _chunkBIKOJ4FHcjs.useNotificationPermission.call(void 0, );
35498
35498
  if (!supported) return null;
35499
35499
  const blocked = permission === "denied";
35500
35500
  const handleChange = async (value) => {
@@ -36952,7 +36952,7 @@ function EmptyState2() {
36952
36952
  // src/components/features/board/use-board-collapse.ts
36953
36953
 
36954
36954
  function useBoardCollapse(storageKey) {
36955
- const [persisted, setPersisted] = _chunkA7IPON2Vcjs.useLocalStorage.call(void 0,
36955
+ const [persisted, setPersisted] = _chunkBIKOJ4FHcjs.useLocalStorage.call(void 0,
36956
36956
  _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")),
36957
36957
  {}
36958
36958
  );
@@ -37002,7 +37002,7 @@ function Board({
37002
37002
  onThumbPointerDown,
37003
37003
  onThumbPointerMove,
37004
37004
  onThumbPointerUp
37005
- } = _chunkA7IPON2Vcjs.useHorizontalScrollbar.call(void 0, );
37005
+ } = _chunkBIKOJ4FHcjs.useHorizontalScrollbar.call(void 0, );
37006
37006
  const [items, setItems] = React110.useState(columns);
37007
37007
  const isDraggingRef = React110.useRef(false);
37008
37008
  React110.useEffect(() => {
@@ -37364,8 +37364,8 @@ var MOBILE_NAV_PANEL_ID = "mobile-nav-panel";
37364
37364
  function MobileNavPanel({ isOpen, config }) {
37365
37365
  const panelRef = _react.useRef.call(void 0, null);
37366
37366
  _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
37367
- _chunkA7IPON2Vcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: config.onClose });
37368
- const headerHeight = _chunkA7IPON2Vcjs.useHeaderHeight.call(void 0, 64, { enabled: isOpen });
37367
+ _chunkBIKOJ4FHcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: config.onClose });
37368
+ const headerHeight = _chunkBIKOJ4FHcjs.useHeaderHeight.call(void 0, 64, { enabled: isOpen });
37369
37369
  if (!isOpen) return null;
37370
37370
  const renderNavigationItem = (item) => {
37371
37371
  if (item.element) {
@@ -37869,11 +37869,11 @@ _chunkSTYA77PHcjs.init_button2.call(void 0, );
37869
37869
  function SlidingSidebar({ config }) {
37870
37870
  const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
37871
37871
  const [mounted, setMounted] = _react.useState.call(void 0, false);
37872
- const headerHeight = _chunkA7IPON2Vcjs.useHeaderHeight.call(void 0, );
37872
+ const headerHeight = _chunkBIKOJ4FHcjs.useHeaderHeight.call(void 0, );
37873
37873
  const asideRef = _react.useRef.call(void 0, null);
37874
37874
  const prefersReducedMotion2 = _framermotion.useReducedMotion.call(void 0, );
37875
37875
  _overlays.usePreventScroll.call(void 0, { isDisabled: !config.isOpen });
37876
- _chunkA7IPON2Vcjs.useFocusTrap.call(void 0, asideRef, config.isOpen, { onEscape: config.onClose, contain: false });
37876
+ _chunkBIKOJ4FHcjs.useFocusTrap.call(void 0, asideRef, config.isOpen, { onEscape: config.onClose, contain: false });
37877
37877
  _react.useEffect.call(void 0, () => {
37878
37878
  setMounted(true);
37879
37879
  }, []);
@@ -38111,7 +38111,7 @@ function useSectionNavigation(sections, options) {
38111
38111
  if (!targetElement) return;
38112
38112
  isScrollingFromClick.current = true;
38113
38113
  setActiveSection(sectionId);
38114
- _chunkA7IPON2Vcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
38114
+ _chunkBIKOJ4FHcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
38115
38115
  setTimeout(() => {
38116
38116
  isScrollingFromClick.current = false;
38117
38117
  }, 500);
@@ -38297,10 +38297,10 @@ var MINIMIZED_WIDTH = 56;
38297
38297
  var EXPANDED_WIDTH = 224;
38298
38298
  var STORAGE_KEY = "of.navigationSidebar.minimized";
38299
38299
  function NavigationSidebar({ config, disabled = false }) {
38300
- const isMdUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useMdUp.call(void 0, ), () => ( false));
38301
- const isLgUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useLgUp.call(void 0, ), () => ( false));
38300
+ const isMdUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useMdUp.call(void 0, ), () => ( false));
38301
+ const isLgUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useLgUp.call(void 0, ), () => ( false));
38302
38302
  const isTablet = isMdUp && !isLgUp;
38303
- const [desktopMinimized, setDesktopMinimized] = _chunkA7IPON2Vcjs.useLocalStorage.call(void 0,
38303
+ const [desktopMinimized, setDesktopMinimized] = _chunkBIKOJ4FHcjs.useLocalStorage.call(void 0,
38304
38304
  STORAGE_KEY,
38305
38305
  _nullishCoalesce(config.minimized, () => ( false))
38306
38306
  );
@@ -38624,7 +38624,7 @@ var AppHeader = React125.default.memo(function AppHeader2({
38624
38624
  onToggleMobileMenu,
38625
38625
  disabled = false
38626
38626
  }) {
38627
- const isMdUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useMdUp.call(void 0, ), () => ( false));
38627
+ const isMdUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useMdUp.call(void 0, ), () => ( false));
38628
38628
  const dimmedClass = disabled ? "pointer-events-none opacity-50" : "";
38629
38629
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38630
38630
  "header",
@@ -38823,7 +38823,7 @@ var MobileBurgerMenu = React125.default.memo(function MobileBurgerMenu2({
38823
38823
  }) {
38824
38824
  const panelRef = _react.useRef.call(void 0, null);
38825
38825
  _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
38826
- _chunkA7IPON2Vcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: onClose });
38826
+ _chunkBIKOJ4FHcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: onClose });
38827
38827
  const handleItemClick = _react.useCallback.call(void 0, (item) => {
38828
38828
  if (item.onClick) {
38829
38829
  item.onClick();
@@ -39378,7 +39378,7 @@ var ToolBadge = ({
39378
39378
  }) => {
39379
39379
  const label = getToolLabel(toolType);
39380
39380
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "flex items-center gap-1 text-ods-text-secondary", className), children: [
39381
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7IPON2Vcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
39381
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIKOJ4FHcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
39382
39382
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: label })
39383
39383
  ] });
39384
39384
  };
@@ -39750,7 +39750,7 @@ function OnboardingWalkthrough({
39750
39750
  isStepSkipped,
39751
39751
  allStepsComplete,
39752
39752
  markMultipleComplete
39753
- } = _chunkA7IPON2Vcjs.useOnboardingState.call(void 0, storageKey);
39753
+ } = _chunkBIKOJ4FHcjs.useOnboardingState.call(void 0, storageKey);
39754
39754
  const hasAutoMarkedRef = _react.useRef.call(void 0, false);
39755
39755
  const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
39756
39756
  const lastCompletionStatusRef = _react.useRef.call(void 0, null);
@@ -39957,7 +39957,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
39957
39957
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-primary", children: log.title }),
39958
39958
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
39959
39959
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 text-ods-text-secondary", children: formatTimestamp(log.timestamp) }),
39960
- log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7IPON2Vcjs.ToolIcon, { toolType: log.toolType, size: 16 })
39960
+ log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIKOJ4FHcjs.ToolIcon, { toolType: log.toolType, size: 16 })
39961
39961
  ] })
39962
39962
  ] })
39963
39963
  ]
@@ -40094,7 +40094,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
40094
40094
  }
40095
40095
  function ServiceCardRowItem({ row }) {
40096
40096
  const [revealed, setRevealed] = _react.useState.call(void 0, false);
40097
- const { copy, copied } = _chunkA7IPON2Vcjs.useCopyToClipboard.call(void 0, );
40097
+ const { copy, copied } = _chunkBIKOJ4FHcjs.useCopyToClipboard.call(void 0, );
40098
40098
  const actions = _react.useMemo.call(void 0, () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }), [row]);
40099
40099
  const displayValue = row.isSecret ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MaskedValue, { value: row.value, isRevealed: revealed }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.value });
40100
40100
  const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
@@ -40709,7 +40709,7 @@ function TableHeader({
40709
40709
  }
40710
40710
  return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Arrow01DownIcon, { className: "w-4 h-4 text-ods-accent" });
40711
40711
  };
40712
- const isLgUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useLgUp.call(void 0, ), () => ( false));
40712
+ const isLgUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useLgUp.call(void 0, ), () => ( false));
40713
40713
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
40714
40714
  "div",
40715
40715
  {
@@ -41632,7 +41632,7 @@ function QueryReportTable({
41632
41632
  onThumbPointerDown,
41633
41633
  onThumbPointerMove,
41634
41634
  onThumbPointerUp
41635
- } = _chunkA7IPON2Vcjs.useHorizontalScrollbar.call(void 0, );
41635
+ } = _chunkBIKOJ4FHcjs.useHorizontalScrollbar.call(void 0, );
41636
41636
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "flex flex-col w-full", isCompact ? "gap-0" : "gap-[var(--spacing-system-l)]", className), children: [
41637
41637
  !isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-[var(--spacing-system-l)]", children: [
41638
41638
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-h2 text-ods-text-primary", children: title }),
@@ -41862,7 +41862,7 @@ function DataTableHeader({
41862
41862
  onSortChange
41863
41863
  }) {
41864
41864
  const table = useDataTableContext();
41865
- const isLgUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useLgUp.call(void 0, ), () => ( false));
41865
+ const isLgUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useLgUp.call(void 0, ), () => ( false));
41866
41866
  const headerGroup = table.getHeaderGroups()[0];
41867
41867
  if (!headerGroup) return null;
41868
41868
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
@@ -42435,7 +42435,7 @@ function SearchInput({
42435
42435
  }) {
42436
42436
  const [internalValue, setInternalValue] = React127.useState(defaultValue);
42437
42437
  const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
42438
- const debouncedValue = _chunkA7IPON2Vcjs.useDebounce.call(void 0, currentValue, debounceMs);
42438
+ const debouncedValue = _chunkBIKOJ4FHcjs.useDebounce.call(void 0, currentValue, debounceMs);
42439
42439
  const [isOpen, setIsOpen] = React127.useState(false);
42440
42440
  const [highlightedIndex, setHighlightedIndex] = React127.useState(-1);
42441
42441
  const containerRef = React127.useRef(null);
@@ -42447,7 +42447,7 @@ function SearchInput({
42447
42447
  textMeasureRef,
42448
42448
  badgeRef,
42449
42449
  inputRef
42450
- } = _chunkA7IPON2Vcjs.useAutoLimitTags.call(void 0, {
42450
+ } = _chunkBIKOJ4FHcjs.useAutoLimitTags.call(void 0, {
42451
42451
  count: filterChips.length,
42452
42452
  limitTags,
42453
42453
  // When chips exist, pass empty placeholder so the hook only reserves input minWidth,
@@ -42914,7 +42914,7 @@ function TagSearchInput({
42914
42914
  textMeasureRef,
42915
42915
  badgeRef,
42916
42916
  inputRef
42917
- } = _chunkA7IPON2Vcjs.useAutoLimitTags.call(void 0, {
42917
+ } = _chunkBIKOJ4FHcjs.useAutoLimitTags.call(void 0, {
42918
42918
  count: tags.length,
42919
42919
  limitTags,
42920
42920
  placeholder: currentPlaceholder
@@ -43716,7 +43716,7 @@ function ImageUploader({
43716
43716
  const [pressed, setPressed] = React131.useState(false);
43717
43717
  const [validationError, setValidationError] = React131.useState(null);
43718
43718
  const interactive = !disabled && !loading;
43719
- const resolvedValue = _chunkA7IPON2Vcjs.useAuthedImageSrc.call(void 0, value);
43719
+ const resolvedValue = _chunkBIKOJ4FHcjs.useAuthedImageSrc.call(void 0, value);
43720
43720
  const hasImage = Boolean(value);
43721
43721
  const displayError = error || validationError || void 0;
43722
43722
  const resolvedHint = hint === void 0 ? `Max. size: ${formatSize(maxSize)}` : hint;
@@ -47745,13 +47745,13 @@ _chunkSSJNN5BScjs.init_next_navigation.call(void 0, );
47745
47745
  // src/components/chat/hooks/use-chat-card-item.ts
47746
47746
 
47747
47747
  function useChatCardItem(type, id) {
47748
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
47748
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
47749
47749
  const url = runtime.endpoints.buildListUrl(type, [id]);
47750
47750
  const query = _reactquery.useQuery.call(void 0, {
47751
47751
  queryKey: ["chat-card-item", type, id],
47752
47752
  queryFn: async () => {
47753
47753
  if (!url) return null;
47754
- const res = await _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, url);
47754
+ const res = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, url);
47755
47755
  if (!res.ok) return null;
47756
47756
  const data = await res.json();
47757
47757
  const items = extractItems(data);
@@ -48829,7 +48829,7 @@ function ChatCardNavWrap({
48829
48829
  isNewTab,
48830
48830
  children
48831
48831
  }) {
48832
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
48832
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
48833
48833
  const router = _chunkSSJNN5BScjs.useRouter.call(void 0, );
48834
48834
  const panel = useChatPanel();
48835
48835
  const onClickCapture = (e) => {
@@ -48852,7 +48852,7 @@ function ChatCardLoader({
48852
48852
  chipBasePlatform,
48853
48853
  extras
48854
48854
  }) {
48855
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
48855
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
48856
48856
  const resolvedChatRef = React125.default.useMemo(() => {
48857
48857
  const cta = resolveSourceRowCTA(
48858
48858
  {
@@ -50770,7 +50770,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
50770
50770
  try {
50771
50771
  const url = new URL(commandsUrl, window.location.origin);
50772
50772
  if (prefix) url.searchParams.set("q", prefix);
50773
- const res = await _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
50773
+ const res = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
50774
50774
  if (!res.ok) return [];
50775
50775
  const data = await res.json();
50776
50776
  return _nullishCoalesce(data.commands, () => ( []));
@@ -50845,7 +50845,7 @@ var EMPTY_STATE_FALLBACK = {
50845
50845
  async function fetchEmptyStateConfig(signal, emptyStateUrl) {
50846
50846
  try {
50847
50847
  const url = new URL(emptyStateUrl, window.location.origin);
50848
- const res = await _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
50848
+ const res = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
50849
50849
  if (!res.ok) {
50850
50850
  if (res.status >= 500) {
50851
50851
  console.error(`[chat] empty-state config fetch failed (${res.status}): ${url.pathname}`);
@@ -50963,7 +50963,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
50963
50963
  });
50964
50964
  }
50965
50965
  function useChatAttachments() {
50966
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
50966
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
50967
50967
  const uploadUrlEndpoint = runtime.endpoints.attachmentUploadUrl;
50968
50968
  const [attachments, setAttachments] = _react.useState.call(void 0, []);
50969
50969
  const controllersRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
@@ -51007,7 +51007,7 @@ function useChatAttachments() {
51007
51007
  );
51008
51008
  }
51009
51009
  updateOne(att.id, { status: "uploading", progress: 5 });
51010
- const urlResp = await _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
51010
+ const urlResp = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
51011
51011
  method: "POST",
51012
51012
  headers: { "Content-Type": "application/json" },
51013
51013
  signal: _optionalChain([ctrl, 'optionalAccess', _1372 => _1372.signal]),
@@ -51136,7 +51136,7 @@ function useChatAttachments() {
51136
51136
 
51137
51137
  var CLOSED = { isOpen: false, images: [], initialIndex: 0 };
51138
51138
  function useChatAttachmentImageGallery() {
51139
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
51139
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
51140
51140
  const viewUrlPrefix = runtime.endpoints.attachmentViewUrlPrefix;
51141
51141
  const panelRef = _react.useRef.call(void 0, null);
51142
51142
  const [state, setState] = _react.useState.call(void 0, CLOSED);
@@ -51195,9 +51195,9 @@ var ANON_DEFAULTS = {
51195
51195
  user: null
51196
51196
  };
51197
51197
  function useResolveChatIdentity(enabled) {
51198
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
51198
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
51199
51199
  const url = runtime.endpoints.identityUrl;
51200
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkA7IPON2Vcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1378 => _1378.email]), () => ( null));
51200
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkBIKOJ4FHcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1378 => _1378.email]), () => ( null));
51201
51201
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
51202
51202
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
51203
51203
  _react.useEffect.call(void 0, () => {
@@ -51205,7 +51205,7 @@ function useResolveChatIdentity(enabled) {
51205
51205
  let cancelled = false;
51206
51206
  const ctrl = new AbortController();
51207
51207
  setIsLoading(true);
51208
- _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
51208
+ _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
51209
51209
  if (!resp.ok) return ANON_DEFAULTS;
51210
51210
  return await resp.json();
51211
51211
  }).then((next) => {
@@ -51609,6 +51609,9 @@ function useChat({
51609
51609
  setIsTyping(false);
51610
51610
  reset();
51611
51611
  }, [reset]);
51612
+ const hydrateMessages = _react.useCallback.call(void 0, (history) => {
51613
+ setMessages((prev) => prev.length === 0 ? history : [...history, ...prev]);
51614
+ }, []);
51612
51615
  const stopMessage = _react.useCallback.call(void 0, () => {
51613
51616
  abort();
51614
51617
  setIsTyping(false);
@@ -51622,12 +51625,125 @@ function useChat({
51622
51625
  stopMessage,
51623
51626
  handleQuickAction,
51624
51627
  clearMessages,
51628
+ hydrateMessages,
51625
51629
  hasMessages: messages.length > 0
51626
51630
  };
51627
51631
  }
51628
51632
 
51629
51633
  // src/components/chat/hooks/use-sse-chat-adapter.ts
51630
51634
 
51635
+
51636
+ // src/components/chat/utils/chat-conversation-storage.ts
51637
+ var STORAGE_KEY2 = "conversation";
51638
+ var namespaceFor = (source) => {
51639
+ const base = `mingo-chat-${source}`;
51640
+ const auth = _chunkBIKOJ4FHcjs.getEmbedProxyAuth.call(void 0, );
51641
+ return _optionalChain([auth, 'optionalAccess', _1391 => _1391.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
51642
+ };
51643
+ function createChatConversationStorage(source) {
51644
+ return _chunkBIKOJ4FHcjs.createLocalStorageAdapter.call(void 0, {
51645
+ key: STORAGE_KEY2,
51646
+ namespace: () => namespaceFor(source),
51647
+ validate: (parsed) => !!parsed && typeof parsed.conversationId === "string" && parsed.conversationId.length > 0,
51648
+ logTag: "[chat-conversation-storage]"
51649
+ });
51650
+ }
51651
+ function pruneStaleChatConversationStorage(source) {
51652
+ if (typeof window === "undefined") return;
51653
+ try {
51654
+ const base = `mingo-chat-${source}`;
51655
+ const currentKey = `${namespaceFor(source)}.${STORAGE_KEY2}`;
51656
+ const ownedKey = (k) => k === base || // retired raw key (pre-adapter shape)
51657
+ k === `${base}.${STORAGE_KEY2}` || // current no-identity shape
51658
+ k.startsWith(`${base}-u-`) || // per-identity shapes (current + retired)
51659
+ k.startsWith(`${base}-v`);
51660
+ const toRemove = [];
51661
+ for (let i = 0; i < window.localStorage.length; i++) {
51662
+ const k = window.localStorage.key(i);
51663
+ if (!k) continue;
51664
+ if (ownedKey(k) && k !== currentKey) toRemove.push(k);
51665
+ }
51666
+ for (const k of toRemove) {
51667
+ window.localStorage.removeItem(k);
51668
+ }
51669
+ } catch (e90) {
51670
+ }
51671
+ }
51672
+
51673
+ // src/components/chat/hooks/use-chat-history-hydration.ts
51674
+
51675
+ function useChatHistoryHydration({
51676
+ active,
51677
+ source,
51678
+ historyUrl,
51679
+ conversationIdRef,
51680
+ refsMapRef,
51681
+ sendCountRef,
51682
+ hydrateMessages,
51683
+ bumpMetaTick
51684
+ }) {
51685
+ const [isHydratingHistory, setIsHydratingHistory] = _react.useState.call(void 0, false);
51686
+ const hydratedKeyRef = _react.useRef.call(void 0, null);
51687
+ _react.useEffect.call(void 0, () => {
51688
+ if (!active) return;
51689
+ const conversationId = conversationIdRef.current;
51690
+ if (!conversationId) return;
51691
+ const key = `${source}:${conversationId}`;
51692
+ if (hydratedKeyRef.current === key) return;
51693
+ hydratedKeyRef.current = key;
51694
+ let cancelled = false;
51695
+ setIsHydratingHistory(true);
51696
+ (async () => {
51697
+ try {
51698
+ const res = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0,
51699
+ `${historyUrl}?conversationId=${encodeURIComponent(conversationId)}`,
51700
+ { method: "GET" }
51701
+ );
51702
+ if (!res.ok) return;
51703
+ const payload = await res.json().catch(() => null);
51704
+ const body = _nullishCoalesce(_optionalChain([payload, 'optionalAccess', _1392 => _1392.data]), () => ( payload));
51705
+ const rows = Array.isArray(_optionalChain([body, 'optionalAccess', _1393 => _1393.messages])) ? body.messages : [];
51706
+ if (cancelled || rows.length === 0) return;
51707
+ const hydrated = [];
51708
+ let userTurns = 0;
51709
+ for (const row of rows) {
51710
+ const role = row.role === "assistant" ? "assistant" : row.role === "user" ? "user" : null;
51711
+ if (!role) continue;
51712
+ const content = typeof row.content === "string" ? row.content : "";
51713
+ const hidden = role === "user" && (content === "" || content.startsWith(AUTO_CONTINUATION_DIRECTIVE_PREFIX));
51714
+ if (role === "user") {
51715
+ userTurns += 1;
51716
+ } else if (row.chat_refs && typeof row.chat_refs === "object") {
51717
+ refsMapRef.current.set(
51718
+ Math.max(0, userTurns - 1),
51719
+ row.chat_refs
51720
+ );
51721
+ }
51722
+ hydrated.push({
51723
+ id: `hydrated-${String(_nullishCoalesce(row.seq, () => ( hydrated.length)))}`,
51724
+ role,
51725
+ content,
51726
+ ...typeof row.created_at === "string" ? { timestamp: new Date(row.created_at) } : {},
51727
+ ...hidden ? { hidden: true } : {}
51728
+ });
51729
+ }
51730
+ if (cancelled || hydrated.length === 0) return;
51731
+ sendCountRef.current = userTurns;
51732
+ hydrateMessages(hydrated);
51733
+ bumpMetaTick();
51734
+ } catch (e91) {
51735
+ } finally {
51736
+ if (!cancelled) setIsHydratingHistory(false);
51737
+ }
51738
+ })();
51739
+ return () => {
51740
+ cancelled = true;
51741
+ };
51742
+ }, [active, source, historyUrl, hydrateMessages, bumpMetaTick]);
51743
+ return { isHydratingHistory, hydratedKeyRef };
51744
+ }
51745
+
51746
+ // src/components/chat/hooks/use-sse-chat-adapter.ts
51631
51747
  function createEmptyTurnMeta() {
51632
51748
  return {
51633
51749
  provider: null,
@@ -51639,36 +51755,30 @@ function createEmptyTurnMeta() {
51639
51755
  breakdown: null,
51640
51756
  scrollAnchor: null,
51641
51757
  routedComplexity: null,
51642
- routedThinkingBudget: null
51758
+ routedThinkingBudget: null,
51759
+ conversationId: null
51643
51760
  };
51644
51761
  }
51645
51762
  function escapeThinkingTags(text) {
51646
51763
  return text.replace(/</g, "&lt;");
51647
51764
  }
51648
- function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMapRef, metaMapRef, setStreamingPhase, bumpMetaTick, sendCountRef) {
51765
+ function createDocStreamFn(source, endpoints, sourcesMapRef, refsMapRef, metaMapRef, setStreamingPhase, bumpMetaTick, sendCountRef, conversationIdRef, conversationStorage) {
51649
51766
  return async function* (message2, signal, extra) {
51650
- const currentMessages = messagesRef.current || [];
51651
- const apiMessages = [
51652
- ...currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
51653
- role: m.role,
51654
- content: typeof m.content === "string" ? m.content : flattenAssistantContent(m.content)
51655
- })),
51656
- { role: "user", content: message2 }
51657
- ];
51658
- const targetPath = _optionalChain([extra, 'optionalAccess', _1391 => _1391.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
51659
- const requestBody = _optionalChain([extra, 'optionalAccess', _1392 => _1392.approvalAction]) ? {
51767
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1394 => _1394.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
51768
+ const conversationId = conversationIdRef.current;
51769
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1395 => _1395.approvalAction]) ? {
51660
51770
  proposal_id: extra.approvalAction.proposalId,
51661
51771
  action: extra.approvalAction.action,
51662
- messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
51663
- role: m.role,
51664
- content: typeof m.content === "string" ? m.content : flattenAssistantContent(m.content)
51665
- }))
51772
+ // Always present here an approval can only happen inside an
51773
+ // established conversation (the proposal turn captured the id).
51774
+ conversationId
51666
51775
  } : {
51667
- messages: apiMessages,
51668
- ..._optionalChain([extra, 'optionalAccess', _1393 => _1393.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
51669
- ..._optionalChain([extra, 'optionalAccess', _1394 => _1394.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
51776
+ messages: [{ role: "user", content: message2 }],
51777
+ ..._optionalChain([extra, 'optionalAccess', _1396 => _1396.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
51778
+ ..._optionalChain([extra, 'optionalAccess', _1397 => _1397.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {},
51779
+ ...conversationId ? { conversationId } : {}
51670
51780
  };
51671
- const response = await _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, targetPath, {
51781
+ const response = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, targetPath, {
51672
51782
  method: "POST",
51673
51783
  body: JSON.stringify(requestBody),
51674
51784
  signal
@@ -51676,7 +51786,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51676
51786
  if (!response.ok) {
51677
51787
  throw new Error(`Chat request failed: ${response.status}`);
51678
51788
  }
51679
- const reader = _optionalChain([response, 'access', _1395 => _1395.body, 'optionalAccess', _1396 => _1396.getReader, 'call', _1397 => _1397()]);
51789
+ const reader = _optionalChain([response, 'access', _1398 => _1398.body, 'optionalAccess', _1399 => _1399.getReader, 'call', _1400 => _1400()]);
51680
51790
  if (!reader) throw new Error("No response body");
51681
51791
  const decoder = new TextDecoder();
51682
51792
  let buffer = "";
@@ -51728,7 +51838,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51728
51838
  let meta;
51729
51839
  try {
51730
51840
  meta = JSON.parse(metaStr);
51731
- } catch (e90) {
51841
+ } catch (e92) {
51732
51842
  inText = true;
51733
51843
  setStreamingPhase("streaming");
51734
51844
  if (buffer.length > 0) {
@@ -51759,7 +51869,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51759
51869
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
51760
51870
  const result = _nullishCoalesce(meta.result, () => ( null));
51761
51871
  const card = _nullishCoalesce(meta.card, () => ( null));
51762
- if (_optionalChain([card, 'optionalAccess', _1398 => _1398.ref, 'optionalAccess', _1399 => _1399.id]) && _optionalChain([card, 'optionalAccess', _1400 => _1400.type])) {
51872
+ if (_optionalChain([card, 'optionalAccess', _1401 => _1401.ref, 'optionalAccess', _1402 => _1402.id]) && _optionalChain([card, 'optionalAccess', _1403 => _1403.type])) {
51763
51873
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
51764
51874
  const key = buildChatRefKey(card.type, card.ref.id);
51765
51875
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -51772,8 +51882,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51772
51882
  willAutoContinue: meta.willAutoContinue === true,
51773
51883
  ...toolName ? { toolName } : {},
51774
51884
  ...result ? { result } : {},
51775
- ..._optionalChain([card, 'optionalAccess', _1401 => _1401.marker]) ? { marker: card.marker } : {},
51776
- ..._optionalChain([card, 'optionalAccess', _1402 => _1402.ref]) ? { cardRef: card.ref } : {},
51885
+ ..._optionalChain([card, 'optionalAccess', _1404 => _1404.marker]) ? { marker: card.marker } : {},
51886
+ ..._optionalChain([card, 'optionalAccess', _1405 => _1405.ref]) ? { cardRef: card.ref } : {},
51777
51887
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
51778
51888
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
51779
51889
  };
@@ -51829,6 +51939,14 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51829
51939
  });
51830
51940
  bumpMetaTick();
51831
51941
  }
51942
+ if (typeof meta.conversationId === "string" && meta.conversationId) {
51943
+ if (conversationIdRef.current !== meta.conversationId) {
51944
+ conversationIdRef.current = meta.conversationId;
51945
+ conversationStorage.save({ conversationId: meta.conversationId });
51946
+ }
51947
+ mergeTurnMeta(metaMapRef, sendIdx, { conversationId: meta.conversationId });
51948
+ bumpMetaTick();
51949
+ }
51832
51950
  const parsedAnchor = parseScrollAnchor(meta.scrollAnchor);
51833
51951
  if (parsedAnchor !== null) {
51834
51952
  mergeTurnMeta(metaMapRef, sendIdx, { scrollAnchor: parsedAnchor });
@@ -51875,7 +51993,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51875
51993
  });
51876
51994
  bumpMetaTick();
51877
51995
  }
51878
- } catch (e91) {
51996
+ } catch (e93) {
51879
51997
  }
51880
51998
  }
51881
51999
  };
@@ -51887,81 +52005,24 @@ function mergeTurnMeta(ref, sendIdx, partial) {
51887
52005
  );
51888
52006
  ref.current.set(sendIdx, { ...prev, ...filtered });
51889
52007
  }
51890
- var CHAT_STORAGE_VERSION = 1;
51891
52008
  var DEFAULT_CHAT_SOURCE = "embed";
51892
- var chatStorageKey = (source) => {
51893
- const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
51894
- const auth = _chunkA7IPON2Vcjs.getEmbedProxyAuth.call(void 0, );
51895
- if (_optionalChain([auth, 'optionalAccess', _1403 => _1403.email])) {
51896
- return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
51897
- }
51898
- return base;
51899
- };
51900
- function pruneStaleChatStorage(source) {
51901
- if (typeof window === "undefined") return;
51902
- try {
51903
- const currentKey = chatStorageKey(source);
51904
- const prefix = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}-u-`;
51905
- const legacy = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
51906
- const toRemove = [];
51907
- for (let i = 0; i < window.localStorage.length; i++) {
51908
- const k = window.localStorage.key(i);
51909
- if (!k) continue;
51910
- if (!k.startsWith(prefix)) continue;
51911
- if (k === currentKey) continue;
51912
- if (k === legacy) continue;
51913
- toRemove.push(k);
51914
- }
51915
- for (const k of toRemove) {
51916
- window.localStorage.removeItem(k);
51917
- }
51918
- } catch (e92) {
51919
- }
51920
- }
51921
- function loadPersistedChat(source) {
51922
- if (typeof window === "undefined") return null;
51923
- try {
51924
- const raw = window.localStorage.getItem(chatStorageKey(source));
51925
- if (!raw) return null;
51926
- const parsed = JSON.parse(raw);
51927
- if (!parsed || !Array.isArray(parsed.messages)) return null;
51928
- for (const m of parsed.messages) {
51929
- if (typeof m.timestamp === "string") m.timestamp = new Date(m.timestamp);
51930
- if (m.role === "user" && !m.hidden && typeof m.content === "string" && m.content.startsWith(AUTO_CONTINUATION_DIRECTIVE_PREFIX)) {
51931
- m.hidden = true;
51932
- }
51933
- }
51934
- return parsed;
51935
- } catch (e93) {
51936
- return null;
51937
- }
51938
- }
51939
- function savePersistedChat(source, state) {
51940
- if (typeof window === "undefined") return;
51941
- try {
51942
- window.localStorage.setItem(chatStorageKey(source), JSON.stringify(state));
51943
- } catch (e94) {
51944
- }
51945
- }
51946
52009
  function useSseChatAdapter(options, runtimeOptions = {}) {
51947
52010
  const { active = true } = runtimeOptions;
51948
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
52011
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
51949
52012
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
51950
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1404 => _1404.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
51951
- const persistedRef = _react.useRef.call(void 0, null);
51952
- if (persistedRef.current === null) {
51953
- pruneStaleChatStorage(source);
51954
- persistedRef.current = loadPersistedChat(source) || { messages: [], sources: [], sendCount: 0 };
51955
- }
51956
- const sourcesMapRef = _react.useRef.call(void 0,
51957
- new Map(persistedRef.current.sources)
51958
- );
51959
- const refsMapRef = _react.useRef.call(void 0,
51960
- new Map(_nullishCoalesce(persistedRef.current.refs, () => ( [])))
51961
- );
52013
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1406 => _1406.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
52014
+ const conversationStorage = _react.useMemo.call(void 0, () => createChatConversationStorage(source), [source]);
52015
+ const conversationIdRef = _react.useRef.call(void 0, null);
52016
+ const restoredConversationRef = _react.useRef.call(void 0, false);
52017
+ if (!restoredConversationRef.current) {
52018
+ restoredConversationRef.current = true;
52019
+ pruneStaleChatConversationStorage(source);
52020
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1407 => _1407.load, 'call', _1408 => _1408(), 'optionalAccess', _1409 => _1409.conversationId]), () => ( null));
52021
+ }
52022
+ const sourcesMapRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
52023
+ const refsMapRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
51962
52024
  const metaMapRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
51963
- const messagesRef = _react.useRef.call(void 0, persistedRef.current.messages);
51964
- const sendCountRef = _react.useRef.call(void 0, persistedRef.current.sendCount);
52025
+ const sendCountRef = _react.useRef.call(void 0, 0);
51965
52026
  const [streamingPhase, setStreamingPhase] = _react.useState.call(void 0, "idle");
51966
52027
  const [metaTick, setMetaTick] = _react.useState.call(void 0, 0);
51967
52028
  const bumpMetaTick = _react.useCallback.call(void 0, () => setMetaTick((t) => t + 1), []);
@@ -51972,19 +52033,21 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
51972
52033
  chatStreamUrl: runtime.endpoints.chatStreamUrl,
51973
52034
  approvalToolUrl: runtime.endpoints.approvalToolUrl
51974
52035
  },
51975
- messagesRef,
51976
52036
  sourcesMapRef,
51977
52037
  refsMapRef,
51978
52038
  metaMapRef,
51979
52039
  setStreamingPhase,
51980
52040
  bumpMetaTick,
51981
- sendCountRef
52041
+ sendCountRef,
52042
+ conversationIdRef,
52043
+ conversationStorage
51982
52044
  ),
51983
52045
  [
51984
52046
  source,
51985
52047
  runtime.endpoints.chatStreamUrl,
51986
52048
  runtime.endpoints.approvalToolUrl,
51987
- bumpMetaTick
52049
+ bumpMetaTick,
52050
+ conversationStorage
51988
52051
  ]
51989
52052
  );
51990
52053
  const commandsUrl = runtime.endpoints.commandsUrl;
@@ -52011,17 +52074,6 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52011
52074
  }
52012
52075
  return map;
52013
52076
  }, [slashCommands]);
52014
- const persist = _react.useCallback.call(void 0,
52015
- (nextMessages) => {
52016
- savePersistedChat(source, {
52017
- messages: nextMessages,
52018
- sources: Array.from(sourcesMapRef.current.entries()),
52019
- refs: Array.from(refsMapRef.current.entries()),
52020
- sendCount: sendCountRef.current
52021
- });
52022
- },
52023
- [source]
52024
- );
52025
52077
  const {
52026
52078
  messages,
52027
52079
  isTyping,
@@ -52029,15 +52081,24 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52029
52081
  sendMessage: chatSendMessage,
52030
52082
  stopMessage: chatStopMessage,
52031
52083
  clearMessages: chatClearMessages,
52084
+ hydrateMessages,
52032
52085
  hasMessages
52033
52086
  } = useChat({
52034
52087
  useMock: false,
52035
52088
  assistantName: "Mingo AI",
52036
- streamFn,
52037
- initialMessages: persistedRef.current.messages,
52038
- onMessagesChange: persist
52089
+ streamFn
52090
+ });
52091
+ const historyUrl = _nullishCoalesce(runtime.endpoints.chatHistoryUrl, () => ( `${runtime.endpoints.chatStreamUrl.replace(/\/+$/, "")}/history`));
52092
+ const { isHydratingHistory, hydratedKeyRef } = useChatHistoryHydration({
52093
+ active,
52094
+ source,
52095
+ historyUrl,
52096
+ conversationIdRef,
52097
+ refsMapRef,
52098
+ sendCountRef,
52099
+ hydrateMessages,
52100
+ bumpMetaTick
52039
52101
  });
52040
- messagesRef.current = messages;
52041
52102
  let sendIdx = -1;
52042
52103
  const docMessages = messages.map((m) => {
52043
52104
  const segments = Array.isArray(m.content) ? m.content : void 0;
@@ -52052,7 +52113,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52052
52113
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
52053
52114
  sources = sourcesMapRef.current.get(lookupIdx);
52054
52115
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
52055
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1405 => _1405.current, 'access', _1406 => _1406.get, 'call', _1407 => _1407(lookupIdx), 'optionalAccess', _1408 => _1408.scrollAnchor]), () => ( void 0));
52116
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1410 => _1410.current, 'access', _1411 => _1411.get, 'call', _1412 => _1412(lookupIdx), 'optionalAccess', _1413 => _1413.scrollAnchor]), () => ( void 0));
52056
52117
  }
52057
52118
  return {
52058
52119
  id: m.id,
@@ -52100,7 +52161,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52100
52161
  );
52101
52162
  return;
52102
52163
  }
52103
- const refSlug = typeof _optionalChain([reference, 'access', _1409 => _1409.metadata, 'optionalAccess', _1410 => _1410.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
52164
+ const refSlug = typeof _optionalChain([reference, 'access', _1414 => _1414.metadata, 'optionalAccess', _1415 => _1415.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
52104
52165
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
52105
52166
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
52106
52167
  const text = `/${cmdId} display "${escaped}"`;
@@ -52141,16 +52202,13 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52141
52202
  refsMapRef.current.clear();
52142
52203
  metaMapRef.current.clear();
52143
52204
  sendCountRef.current = 0;
52205
+ conversationIdRef.current = null;
52206
+ conversationStorage.clear();
52207
+ hydratedKeyRef.current = null;
52144
52208
  setStreamingPhase("idle");
52145
52209
  bumpMetaTick();
52146
52210
  chatClearMessages();
52147
- if (typeof window !== "undefined") {
52148
- try {
52149
- window.localStorage.removeItem(chatStorageKey(source));
52150
- } catch (e95) {
52151
- }
52152
- }
52153
- }, [chatClearMessages, source, bumpMetaTick]);
52211
+ }, [chatClearMessages, conversationStorage, hydratedKeyRef, bumpMetaTick]);
52154
52212
  _react.useEffect.call(void 0, () => {
52155
52213
  if (!isTyping && !isStreaming && streamingPhase !== "idle") {
52156
52214
  setStreamingPhase("idle");
@@ -52171,26 +52229,27 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52171
52229
  stopMessage,
52172
52230
  clearMessages,
52173
52231
  streamingPhase,
52232
+ /** True while the mount-time rebuild from the server transcript runs. */
52233
+ isHydratingHistory,
52174
52234
  /** Provider key for the lib's `<ModelDisplay>` icon. */
52175
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1411 => _1411.provider]), () => ( null)),
52176
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1412 => _1412.modelLabel]), () => ( null)),
52177
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1413 => _1413.contextWindowMaxTokens]), () => ( null)),
52235
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1416 => _1416.provider]), () => ( null)),
52236
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1417 => _1417.modelLabel]), () => ( null)),
52237
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1418 => _1418.contextWindowMaxTokens]), () => ( null)),
52178
52238
  /** Input tokens (known after server's message_start frame; null until). */
52179
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1414 => _1414.inputTokens]), () => ( null)),
52239
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1419 => _1419.inputTokens]), () => ( null)),
52180
52240
  /** Output tokens (known only after server's trailing usage frame). */
52181
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1415 => _1415.outputTokens]), () => ( null)),
52241
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1420 => _1420.outputTokens]), () => ( null)),
52182
52242
  /** Cache hit % (read / total-input × 100). null during streaming. */
52183
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1416 => _1416.cacheHitRatePct]), () => ( null)),
52243
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1421 => _1421.cacheHitRatePct]), () => ( null)),
52184
52244
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
52185
52245
  * token counts). null until the trailing usage frame lands. */
52186
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1417 => _1417.breakdown]), () => ( null)),
52246
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1422 => _1422.breakdown]), () => ( null)),
52187
52247
  // ─── Dialog management — stubs for v1 ────────────────────────────────
52188
- // Guide mode currently keeps its history in `localStorage` opaquely
52189
- // under the hood (`runtime.source` namespaced key). Surfacing that
52190
- // history as a structured dialog list is a follow-up; for now the
52191
- // shape is satisfied with empty defaults so the unified contract
52192
- // type-checks and EmbeddableChat hides sidebar affordances when
52193
- // `dialogs.length === 0`.
52248
+ // Guide mode keeps ONE server-side conversation per stored id
52249
+ // (`chat_conversations`, hydrated on mount). Surfacing multiple threads
52250
+ // as a structured dialog list is a follow-up; for now the shape is
52251
+ // satisfied with empty defaults so the unified contract type-checks and
52252
+ // EmbeddableChat hides sidebar affordances when `dialogs.length === 0`.
52194
52253
  dialogs: SSE_EMPTY_DIALOGS,
52195
52254
  activeDialogId: null,
52196
52255
  selectDialog: noopSelectDialog,
@@ -52241,15 +52300,15 @@ var noopRejectRequest = async (_id, _reason) => {
52241
52300
 
52242
52301
  // src/components/chat/utils/process-historical-messages.ts
52243
52302
  function getOwnerDisplayName(owner) {
52244
- if (_optionalChain([owner, 'optionalAccess', _1418 => _1418.type]) === OWNER_TYPE.ADMIN && owner.user) {
52303
+ if (_optionalChain([owner, 'optionalAccess', _1423 => _1423.type]) === OWNER_TYPE.ADMIN && owner.user) {
52245
52304
  const { firstName, lastName } = owner.user;
52246
52305
  const name = [firstName, lastName].filter(Boolean).join(" ");
52247
52306
  if (name) return name;
52248
52307
  }
52249
- return _optionalChain([owner, 'optionalAccess', _1419 => _1419.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
52308
+ return _optionalChain([owner, 'optionalAccess', _1424 => _1424.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
52250
52309
  }
52251
52310
  function getOwnerAvatar(owner) {
52252
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1420 => _1420.user, 'optionalAccess', _1421 => _1421.image, 'optionalAccess', _1422 => _1422.imageUrl]), () => ( void 0));
52311
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1425 => _1425.user, 'optionalAccess', _1426 => _1426.image, 'optionalAccess', _1427 => _1427.imageUrl]), () => ( void 0));
52253
52312
  }
52254
52313
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
52255
52314
  messageDataArray.forEach((data) => {
@@ -52324,14 +52383,14 @@ function processHistoricalMessages(messages, options = {}) {
52324
52383
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
52325
52384
  return;
52326
52385
  }
52327
- const isUserMessage = _optionalChain([msg, 'access', _1423 => _1423.owner, 'optionalAccess', _1424 => _1424.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1425 => _1425.owner, 'optionalAccess', _1426 => _1426.type]) === OWNER_TYPE.ADMIN;
52386
+ const isUserMessage = _optionalChain([msg, 'access', _1428 => _1428.owner, 'optionalAccess', _1429 => _1429.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1430 => _1430.owner, 'optionalAccess', _1431 => _1431.type]) === OWNER_TYPE.ADMIN;
52328
52387
  if (isUserMessage) {
52329
52388
  flushAssistantMessage();
52330
- const userAuthorType = _optionalChain([msg, 'access', _1427 => _1427.owner, 'optionalAccess', _1428 => _1428.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
52389
+ const userAuthorType = _optionalChain([msg, 'access', _1432 => _1432.owner, 'optionalAccess', _1433 => _1433.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
52331
52390
  messageDataArray.forEach((data) => {
52332
52391
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
52333
52392
  const rawContext = data.contextItems;
52334
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1429 => _1429.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1430 => _1430.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
52393
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1434 => _1434.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1435 => _1435.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
52335
52394
  processedMessages.push({
52336
52395
  id: msg.id,
52337
52396
  role: "user",
@@ -52365,7 +52424,7 @@ function processHistoricalMessages(messages, options = {}) {
52365
52424
  });
52366
52425
  const nextMsg = messages[index + 1];
52367
52426
  const isLastMessage = index === messages.length - 1;
52368
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1431 => _1431.owner, 'optionalAccess', _1432 => _1432.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1433 => _1433.owner, 'optionalAccess', _1434 => _1434.type]) === OWNER_TYPE.ADMIN);
52427
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1436 => _1436.owner, 'optionalAccess', _1437 => _1437.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1438 => _1438.owner, 'optionalAccess', _1439 => _1439.type]) === OWNER_TYPE.ADMIN);
52369
52428
  if (isLastMessage || nextIsFromUser) {
52370
52429
  flushAssistantMessage();
52371
52430
  }
@@ -52476,7 +52535,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52476
52535
  }
52477
52536
  }
52478
52537
  } else {
52479
- _optionalChain([escalatedApprovals, 'optionalAccess', _1435 => _1435.set, 'call', _1436 => _1436(data.approvalRequestId, {
52538
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1440 => _1440.set, 'call', _1441 => _1441(data.approvalRequestId, {
52480
52539
  command: data.command || "",
52481
52540
  explanation: data.explanation,
52482
52541
  approvalType,
@@ -52490,8 +52549,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52490
52549
  const existingStatus = approvalStatuses[data.approvalRequestId];
52491
52550
  const status = existingStatus || (data.approved ? "approved" : "rejected");
52492
52551
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
52493
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1437 => _1437.get, 'call', _1438 => _1438(data.approvalRequestId)]);
52494
- if (_optionalChain([escalatedData, 'optionalAccess', _1439 => _1439.toolCalls]) && escalatedData.toolCalls.length > 0) {
52552
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1442 => _1442.get, 'call', _1443 => _1443(data.approvalRequestId)]);
52553
+ if (_optionalChain([escalatedData, 'optionalAccess', _1444 => _1444.toolCalls]) && escalatedData.toolCalls.length > 0) {
52495
52554
  if (batchApprovalsEnabled) {
52496
52555
  accumulator.addApprovalBatch(
52497
52556
  data.approvalRequestId,
@@ -52513,7 +52572,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52513
52572
  );
52514
52573
  }
52515
52574
  }
52516
- _optionalChain([escalatedApprovals, 'optionalAccess', _1440 => _1440.delete, 'call', _1441 => _1441(data.approvalRequestId)]);
52575
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1445 => _1445.delete, 'call', _1446 => _1446(data.approvalRequestId)]);
52517
52576
  break;
52518
52577
  }
52519
52578
  if (escalatedData) {
@@ -52522,7 +52581,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52522
52581
  explanation: escalatedData.explanation,
52523
52582
  approvalType: escalatedData.approvalType
52524
52583
  });
52525
- _optionalChain([escalatedApprovals, 'optionalAccess', _1442 => _1442.delete, 'call', _1443 => _1443(data.approvalRequestId)]);
52584
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1447 => _1447.delete, 'call', _1448 => _1448(data.approvalRequestId)]);
52526
52585
  }
52527
52586
  const before = accumulator.getSegments();
52528
52587
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -52538,10 +52597,10 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52538
52597
  case MESSAGE_TYPE.ERROR:
52539
52598
  if ("error" in data) {
52540
52599
  let message2;
52541
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1444 => _1444.details])) {
52600
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1449 => _1449.details])) {
52542
52601
  try {
52543
- message2 = _optionalChain([JSON, 'access', _1445 => _1445.parse, 'call', _1446 => _1446(data.details), 'optionalAccess', _1447 => _1447.error, 'optionalAccess', _1448 => _1448.message]);
52544
- } catch (e96) {
52602
+ message2 = _optionalChain([JSON, 'access', _1450 => _1450.parse, 'call', _1451 => _1451(data.details), 'optionalAccess', _1452 => _1452.error, 'optionalAccess', _1453 => _1453.message]);
52603
+ } catch (e94) {
52545
52604
  message2 = data.details;
52546
52605
  }
52547
52606
  }
@@ -52626,14 +52685,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
52626
52685
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
52627
52686
  return;
52628
52687
  }
52629
- const isUserMessage = _optionalChain([msg, 'access', _1449 => _1449.owner, 'optionalAccess', _1450 => _1450.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1451 => _1451.owner, 'optionalAccess', _1452 => _1452.type]) === OWNER_TYPE.ADMIN;
52688
+ const isUserMessage = _optionalChain([msg, 'access', _1454 => _1454.owner, 'optionalAccess', _1455 => _1455.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1456 => _1456.owner, 'optionalAccess', _1457 => _1457.type]) === OWNER_TYPE.ADMIN;
52630
52689
  if (isUserMessage) {
52631
52690
  flushAssistantMessage();
52632
- const userAuthorType = _optionalChain([msg, 'access', _1453 => _1453.owner, 'optionalAccess', _1454 => _1454.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
52691
+ const userAuthorType = _optionalChain([msg, 'access', _1458 => _1458.owner, 'optionalAccess', _1459 => _1459.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
52633
52692
  messageDataArray.forEach((data) => {
52634
52693
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
52635
52694
  const rawContext = data.contextItems;
52636
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1455 => _1455.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1456 => _1456.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
52695
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1460 => _1460.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1461 => _1461.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
52637
52696
  processedMessages.push({
52638
52697
  id: msg.id,
52639
52698
  role: "user",
@@ -52667,7 +52726,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
52667
52726
  });
52668
52727
  const nextMsg = messages[index + 1];
52669
52728
  const isLastMessage = index === messages.length - 1;
52670
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1457 => _1457.owner, 'optionalAccess', _1458 => _1458.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1459 => _1459.owner, 'optionalAccess', _1460 => _1460.type]) === OWNER_TYPE.ADMIN);
52729
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1462 => _1462.owner, 'optionalAccess', _1463 => _1463.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1464 => _1464.owner, 'optionalAccess', _1465 => _1465.type]) === OWNER_TYPE.ADMIN);
52671
52730
  if (isLastMessage || nextIsFromUser) {
52672
52731
  flushAssistantMessage();
52673
52732
  }
@@ -52728,7 +52787,7 @@ function extractIncompleteMessageState(lastMessage) {
52728
52787
  break;
52729
52788
  case "approval_batch": {
52730
52789
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
52731
- (c) => _optionalChain([segment, 'access', _1461 => _1461.data, 'access', _1462 => _1462.executions, 'optionalAccess', _1463 => _1463[c.toolExecutionRequestId], 'optionalAccess', _1464 => _1464.status]) === "done"
52790
+ (c) => _optionalChain([segment, 'access', _1466 => _1466.data, 'access', _1467 => _1467.executions, 'optionalAccess', _1468 => _1468[c.toolExecutionRequestId], 'optionalAccess', _1469 => _1469.status]) === "done"
52732
52791
  );
52733
52792
  if (segment.status !== "rejected" && !allDone) {
52734
52793
  hasIncompleteState = true;
@@ -52795,9 +52854,9 @@ function appendToTrailingAssistant(prev, segments) {
52795
52854
  const merged = [..._nullishCoalesce(last.segments, () => ( []))];
52796
52855
  for (const seg of segments) {
52797
52856
  const tail = merged[merged.length - 1];
52798
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1465 => _1465.type]) === "text") {
52857
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1470 => _1470.type]) === "text") {
52799
52858
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
52800
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1466 => _1466.type]) === "thinking") {
52859
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1471 => _1471.type]) === "thinking") {
52801
52860
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
52802
52861
  } else if (seg.type === "approval_batch") {
52803
52862
  const idx = merged.findIndex(
@@ -52841,11 +52900,11 @@ function applyToolExecutionToMessages(prev, segment) {
52841
52900
  for (let j = message2.segments.length - 1; j >= 0; j--) {
52842
52901
  const seg = message2.segments[j];
52843
52902
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
52844
- const prevExec = _optionalChain([seg, 'access', _1467 => _1467.data, 'access', _1468 => _1468.executions, 'optionalAccess', _1469 => _1469[execId]]);
52845
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1470 => _1470.status]) === "done") {
52903
+ const prevExec = _optionalChain([seg, 'access', _1472 => _1472.data, 'access', _1473 => _1473.executions, 'optionalAccess', _1474 => _1474[execId]]);
52904
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1475 => _1475.status]) === "done") {
52846
52905
  return prev;
52847
52906
  }
52848
- const nextExec = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1471 => _1471.result]), success: _optionalChain([prevExec, 'optionalAccess', _1472 => _1472.success]) };
52907
+ const nextExec = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1476 => _1476.result]), success: _optionalChain([prevExec, 'optionalAccess', _1477 => _1477.success]) };
52849
52908
  const nextSegments = [...message2.segments];
52850
52909
  nextSegments[j] = {
52851
52910
  ...seg,
@@ -53015,11 +53074,11 @@ function useNatsChatAdapter(config, options = {}) {
53015
53074
  }, []);
53016
53075
  const callbacksRef = _react.useRef.call(void 0, {
53017
53076
  onSegmentsUpdate: (segments, meta) => {
53018
- if (_optionalChain([meta, 'optionalAccess', _1473 => _1473.append]) && meta.isCompacting) {
53077
+ if (_optionalChain([meta, 'optionalAccess', _1478 => _1478.append]) && meta.isCompacting) {
53019
53078
  setMessages((prev) => upsertTrailingCompaction(prev, segments));
53020
53079
  return;
53021
53080
  }
53022
- if (_optionalChain([meta, 'optionalAccess', _1474 => _1474.append])) {
53081
+ if (_optionalChain([meta, 'optionalAccess', _1479 => _1479.append])) {
53023
53082
  setMessages((prev) => appendToTrailingAssistant(prev, segments));
53024
53083
  return;
53025
53084
  }
@@ -53032,7 +53091,7 @@ function useNatsChatAdapter(config, options = {}) {
53032
53091
  setMessages((prev) => {
53033
53092
  const last = prev[prev.length - 1];
53034
53093
  if (!last || last.role !== "assistant" || adoptTail) return prev;
53035
- const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _1475 => _1475.segments, 'optionalAccess', _1476 => _1476.length]), () => ( 0))) > 0 || last.content !== "";
53094
+ const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _1480 => _1480.segments, 'optionalAccess', _1481 => _1481.length]), () => ( 0))) > 0 || last.content !== "";
53036
53095
  if (!hasContent) return prev;
53037
53096
  return [
53038
53097
  ...prev,
@@ -53104,19 +53163,19 @@ function useNatsChatAdapter(config, options = {}) {
53104
53163
  // MESSAGE_REQUEST echo — a user message from THIS or another session.
53105
53164
  onUserMessage: (text, meta) => {
53106
53165
  if (!text) return;
53107
- const seq = _optionalChain([meta, 'optionalAccess', _1477 => _1477.streamSeq]);
53166
+ const seq = _optionalChain([meta, 'optionalAccess', _1482 => _1482.streamSeq]);
53108
53167
  if (typeof seq === "number") {
53109
53168
  if (seenParticipantSeqsRef.current.has(seq)) return;
53110
53169
  seenParticipantSeqsRef.current.add(seq);
53111
53170
  }
53112
- if (_optionalChain([meta, 'optionalAccess', _1478 => _1478.ownerType]) !== "ADMIN") {
53171
+ if (_optionalChain([meta, 'optionalAccess', _1483 => _1483.ownerType]) !== "ADMIN") {
53113
53172
  const echoIdx = pendingEchoTextsRef.current.indexOf(text);
53114
53173
  if (echoIdx !== -1) {
53115
53174
  pendingEchoTextsRef.current.splice(echoIdx, 1);
53116
53175
  return;
53117
53176
  }
53118
53177
  }
53119
- const authorType = _optionalChain([meta, 'optionalAccess', _1479 => _1479.ownerType]) === "ADMIN" ? "admin" : "user";
53178
+ const authorType = _optionalChain([meta, 'optionalAccess', _1484 => _1484.ownerType]) === "ADMIN" ? "admin" : "user";
53120
53179
  setMessages((prev) => {
53121
53180
  if (typeof seq !== "number" && hasRecentMessage(
53122
53181
  prev,
@@ -53131,9 +53190,9 @@ function useNatsChatAdapter(config, options = {}) {
53131
53190
  id: nextId("user"),
53132
53191
  role: "user",
53133
53192
  content: text,
53134
- ..._optionalChain([meta, 'optionalAccess', _1480 => _1480.displayName]) ? { name: meta.displayName } : {},
53193
+ ..._optionalChain([meta, 'optionalAccess', _1485 => _1485.displayName]) ? { name: meta.displayName } : {},
53135
53194
  authorType,
53136
- ..._optionalChain([meta, 'optionalAccess', _1481 => _1481.contextItems]) && meta.contextItems.length > 0 ? {
53195
+ ..._optionalChain([meta, 'optionalAccess', _1486 => _1486.contextItems]) && meta.contextItems.length > 0 ? {
53137
53196
  contextItems: meta.contextItems.map((ci) => ({
53138
53197
  type: ci.type,
53139
53198
  id: ci.id,
@@ -53147,7 +53206,7 @@ function useNatsChatAdapter(config, options = {}) {
53147
53206
  // Technician / admin direct message into the dialog.
53148
53207
  onDirectMessage: (text, meta) => {
53149
53208
  if (!text) return;
53150
- const seq = _optionalChain([meta, 'optionalAccess', _1482 => _1482.streamSeq]);
53209
+ const seq = _optionalChain([meta, 'optionalAccess', _1487 => _1487.streamSeq]);
53151
53210
  if (typeof seq === "number") {
53152
53211
  if (seenParticipantSeqsRef.current.has(seq)) return;
53153
53212
  seenParticipantSeqsRef.current.add(seq);
@@ -53166,7 +53225,7 @@ function useNatsChatAdapter(config, options = {}) {
53166
53225
  id: `direct-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`,
53167
53226
  role: "user",
53168
53227
  content: text,
53169
- name: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _1483 => _1483.displayName]), () => ( "Admin")),
53228
+ name: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _1488 => _1488.displayName]), () => ( "Admin")),
53170
53229
  authorType: "admin"
53171
53230
  }
53172
53231
  ];
@@ -53176,7 +53235,7 @@ function useNatsChatAdapter(config, options = {}) {
53176
53235
  // processor produces via `pushStandaloneMessages`).
53177
53236
  onSystemMessage: (text, meta) => {
53178
53237
  if (!text) return;
53179
- const seq = _optionalChain([meta, 'optionalAccess', _1484 => _1484.streamSeq]);
53238
+ const seq = _optionalChain([meta, 'optionalAccess', _1489 => _1489.streamSeq]);
53180
53239
  if (typeof seq === "number") {
53181
53240
  if (seenParticipantSeqsRef.current.has(seq)) return;
53182
53241
  seenParticipantSeqsRef.current.add(seq);
@@ -53408,7 +53467,7 @@ function useNatsChatAdapter(config, options = {}) {
53408
53467
  }, [active, fetchDialogs, loadDialogsPage]);
53409
53468
  const sendMessage = _react.useCallback.call(void 0,
53410
53469
  async (text, sendOptions) => {
53411
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1485 => _1485.hidden]), () => ( false));
53470
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1490 => _1490.hidden]), () => ( false));
53412
53471
  pendingEchoTextsRef.current.push(text);
53413
53472
  if (pendingEchoTextsRef.current.length > 5) pendingEchoTextsRef.current.shift();
53414
53473
  setMessages((prev) => [
@@ -53574,11 +53633,11 @@ function useNatsChatAdapter(config, options = {}) {
53574
53633
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
53575
53634
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
53576
53635
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
53577
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1486 => _1486.provider]), () => ( modelProvider)), () => ( null)),
53578
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1487 => _1487.modelLabel]), () => ( modelLabel)), () => ( null)),
53579
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1488 => _1488.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1489 => _1489.contextWindowMaxTokens]))), () => ( null)),
53580
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1490 => _1490.inputTokensSize]), () => ( null)),
53581
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1491 => _1491.outputTokensSize]), () => ( null)),
53636
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1491 => _1491.provider]), () => ( modelProvider)), () => ( null)),
53637
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1492 => _1492.modelLabel]), () => ( modelLabel)), () => ( null)),
53638
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1493 => _1493.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1494 => _1494.contextWindowMaxTokens]))), () => ( null)),
53639
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1495 => _1495.inputTokensSize]), () => ( null)),
53640
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1496 => _1496.outputTokensSize]), () => ( null)),
53582
53641
  currentCacheHitRatePct: null,
53583
53642
  currentUsageBreakdown: null,
53584
53643
  // Dialog management
@@ -53715,7 +53774,7 @@ function useUnifiedChat(options) {
53715
53774
  []
53716
53775
  );
53717
53776
  const setDialogScope = _react.useCallback.call(void 0,
53718
- (scope) => _optionalChain([activeStateRef, 'access', _1492 => _1492.current, 'access', _1493 => _1493.setDialogScope, 'optionalCall', _1494 => _1494(scope)]),
53777
+ (scope) => _optionalChain([activeStateRef, 'access', _1497 => _1497.current, 'access', _1498 => _1498.setDialogScope, 'optionalCall', _1499 => _1499(scope)]),
53719
53778
  []
53720
53779
  );
53721
53780
  const reloadDialogs = _react.useCallback.call(void 0,
@@ -53853,20 +53912,20 @@ function mergeHistoryWithRealtime(input) {
53853
53912
  }
53854
53913
  }
53855
53914
  const trailing = processedHistory[processedHistory.length - 1];
53856
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1495 => _1495.role]) === "assistant" ? trailing : null;
53857
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1496 => _1496.content, 'access', _1497 => _1497.find, 'call', _1498 => _1498((s) => s.type === "approval_batch"), 'optionalAccess', _1499 => _1499.data, 'optionalAccess', _1500 => _1500.approvalRequestId]), () => ( null)) : null;
53915
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1500 => _1500.role]) === "assistant" ? trailing : null;
53916
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1501 => _1501.content, 'access', _1502 => _1502.find, 'call', _1503 => _1503((s) => s.type === "approval_batch"), 'optionalAccess', _1504 => _1504.data, 'optionalAccess', _1505 => _1505.approvalRequestId]), () => ( null)) : null;
53858
53917
  let processedToUse = processedHistory;
53859
53918
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
53860
53919
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
53861
53920
  if (historyBatchId) {
53862
53921
  const batchTwins = existingMessages.filter(
53863
53922
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
53864
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1501 => _1501.data, 'optionalAccess', _1502 => _1502.approvalRequestId]) === historyBatchId
53923
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1506 => _1506.data, 'optionalAccess', _1507 => _1507.approvalRequestId]) === historyBatchId
53865
53924
  )
53866
53925
  );
53867
53926
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
53868
53927
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
53869
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1503 => _1503.content])) ? historyTrailingAssistant.content.length : 0;
53928
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1508 => _1508.content])) ? historyTrailingAssistant.content.length : 0;
53870
53929
  const realtimeSize = existingWithSameBatch.content.length;
53871
53930
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
53872
53931
  processedToUse = processedHistory.slice(0, -1);
@@ -53900,9 +53959,9 @@ function mergeHistoryWithRealtime(input) {
53900
53959
  if (pinnedSyntheticIds.has(m.id)) return true;
53901
53960
  if (droppedSyntheticIds.has(m.id)) return false;
53902
53961
  if (processedIds.has(m.id)) return false;
53903
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1504 => _1504.has, 'call', _1505 => _1505(m.id)])) return false;
53962
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1509 => _1509.has, 'call', _1510 => _1510(m.id)])) return false;
53904
53963
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
53905
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1506 => _1506.timestamp, 'optionalAccess', _1507 => _1507.getTime, 'call', _1508 => _1508()]), () => ( 0))) <= historyFetchedAt;
53964
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1511 => _1511.timestamp, 'optionalAccess', _1512 => _1512.getTime, 'call', _1513 => _1513()]), () => ( 0))) <= historyFetchedAt;
53906
53965
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
53907
53966
  }
53908
53967
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -53926,7 +53985,7 @@ function mergeHistoryWithRealtime(input) {
53926
53985
  } else if (typeof m.streamSeq === "number" && historyMaxStreamSeq > 0) {
53927
53986
  covered = historyMaxStreamSeq >= m.streamSeq;
53928
53987
  } else {
53929
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1509 => _1509.timestamp, 'optionalAccess', _1510 => _1510.getTime, 'call', _1511 => _1511()]), () => ( 0))) <= historyFetchedAt;
53988
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1514 => _1514.timestamp, 'optionalAccess', _1515 => _1515.getTime, 'call', _1516 => _1516()]), () => ( 0))) <= historyFetchedAt;
53930
53989
  }
53931
53990
  if (covered) return false;
53932
53991
  }
@@ -53982,7 +54041,7 @@ function normalizeHistoricalMessageData(md) {
53982
54041
  function isHistoricalUserTurn(m) {
53983
54042
  return !!m.owner;
53984
54043
  }
53985
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1512 => _1512.type]) === "TEXT" && typeof d.text === "string";
54044
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1517 => _1517.type]) === "TEXT" && typeof d.text === "string";
53986
54045
  var THINK_MS = 550;
53987
54046
  var TOKEN_MS = 55;
53988
54047
  var USER_MS = 480;
@@ -54229,7 +54288,7 @@ function useChatDialogManager({
54229
54288
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
54230
54289
  if (restoreTarget) {
54231
54290
  try {
54232
- await _optionalChain([unarchiveDialog, 'optionalCall', _1513 => _1513(restoreTarget.id)]);
54291
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1518 => _1518(restoreTarget.id)]);
54233
54292
  } catch (err) {
54234
54293
  console.error("[useChatDialogManager] unarchive failed:", err);
54235
54294
  return;
@@ -54395,7 +54454,7 @@ function SourceChip({
54395
54454
  onClose,
54396
54455
  onDiscuss
54397
54456
  }) {
54398
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
54457
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
54399
54458
  const router = _chunkSSJNN5BScjs.useRouter.call(void 0, );
54400
54459
  const cta = resolveSourceRowCTA(
54401
54460
  {
@@ -54641,7 +54700,7 @@ function EmbeddableChatInner({
54641
54700
  contextMemory
54642
54701
  }) {
54643
54702
  const shellLess = shell === "none";
54644
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
54703
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
54645
54704
  const source = _nullishCoalesce(runtime.source, () => ( ""));
54646
54705
  const commandsUrl = runtime.endpoints.commandsUrl;
54647
54706
  const { attachmentsEnabled, user: identityUser } = useChatIdentity();
@@ -54710,7 +54769,7 @@ function EmbeddableChatInner({
54710
54769
  }),
54711
54770
  [commandsUrl]
54712
54771
  );
54713
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1514 => _1514.name, 'optionalAccess', _1515 => _1515.trim, 'call', _1516 => _1516()]) || [_optionalChain([identityUser, 'optionalAccess', _1517 => _1517.firstName]), _optionalChain([identityUser, 'optionalAccess', _1518 => _1518.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1519 => _1519.trim, 'call', _1520 => _1520()]) || void 0;
54772
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1519 => _1519.name, 'optionalAccess', _1520 => _1520.trim, 'call', _1521 => _1521()]) || [_optionalChain([identityUser, 'optionalAccess', _1522 => _1522.firstName]), _optionalChain([identityUser, 'optionalAccess', _1523 => _1523.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1524 => _1524.trim, 'call', _1525 => _1525()]) || void 0;
54714
54773
  const effectiveModes = _react.useMemo.call(void 0, () => {
54715
54774
  if (modes) return modes;
54716
54775
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -54719,19 +54778,19 @@ function EmbeddableChatInner({
54719
54778
  const mingoCaps = _react.useMemo.call(void 0, () => {
54720
54779
  if (mingoState) {
54721
54780
  return {
54722
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1521 => _1521.canRename]), () => ( false)),
54723
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1522 => _1522.canArchive]), () => ( false)),
54724
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1523 => _1523.fetchArchivedDialogs]),
54725
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1524 => _1524.unarchiveDialog]),
54726
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1525 => _1525.searchQuery]),
54727
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1526 => _1526.onSearchChange])
54781
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1526 => _1526.canRename]), () => ( false)),
54782
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1527 => _1527.canArchive]), () => ( false)),
54783
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1528 => _1528.fetchArchivedDialogs]),
54784
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1529 => _1529.unarchiveDialog]),
54785
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1530 => _1530.searchQuery]),
54786
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1531 => _1531.onSearchChange])
54728
54787
  };
54729
54788
  }
54730
54789
  return {
54731
- canRename: !!_optionalChain([effectiveModes, 'access', _1527 => _1527.mingo, 'optionalAccess', _1528 => _1528.renameDialog]),
54732
- canArchive: !!_optionalChain([effectiveModes, 'access', _1529 => _1529.mingo, 'optionalAccess', _1530 => _1530.archiveDialog]),
54733
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1531 => _1531.mingo, 'optionalAccess', _1532 => _1532.fetchArchivedDialogs]),
54734
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1533 => _1533.mingo, 'optionalAccess', _1534 => _1534.unarchiveDialog]),
54790
+ canRename: !!_optionalChain([effectiveModes, 'access', _1532 => _1532.mingo, 'optionalAccess', _1533 => _1533.renameDialog]),
54791
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1534 => _1534.mingo, 'optionalAccess', _1535 => _1535.archiveDialog]),
54792
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1536 => _1536.mingo, 'optionalAccess', _1537 => _1537.fetchArchivedDialogs]),
54793
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1538 => _1538.mingo, 'optionalAccess', _1539 => _1539.unarchiveDialog]),
54735
54794
  searchQuery: void 0,
54736
54795
  onSearchChange: void 0
54737
54796
  };
@@ -54745,7 +54804,7 @@ function EmbeddableChatInner({
54745
54804
  if (controlledActiveMode === void 0) {
54746
54805
  setUncontrolledActiveMode(next);
54747
54806
  }
54748
- _optionalChain([onActiveModeChange, 'optionalCall', _1535 => _1535(next)]);
54807
+ _optionalChain([onActiveModeChange, 'optionalCall', _1540 => _1540(next)]);
54749
54808
  },
54750
54809
  [controlledActiveMode, onActiveModeChange]
54751
54810
  );
@@ -54767,7 +54826,7 @@ function EmbeddableChatInner({
54767
54826
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
54768
54827
  const effectiveAssistantName = emptyStateConfig.name;
54769
54828
  const effectiveAssistantIcon = emptyStateConfig.icon;
54770
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1536 => _1536.title]) === "string" ? guideWelcome.title : null)));
54829
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1541 => _1541.title]) === "string" ? guideWelcome.title : null)));
54771
54830
  const {
54772
54831
  messages: rawMessages,
54773
54832
  isLoading: chatLoading,
@@ -54809,7 +54868,7 @@ function EmbeddableChatInner({
54809
54868
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
54810
54869
  guidePromptSentRef.current = true;
54811
54870
  void sendMessage(guidePendingPrompt);
54812
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1537 => _1537()]);
54871
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1542 => _1542()]);
54813
54872
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
54814
54873
  const {
54815
54874
  attachments: stagedAttachments,
@@ -54820,7 +54879,7 @@ function EmbeddableChatInner({
54820
54879
  clear: clearAttachments
54821
54880
  } = useChatAttachments();
54822
54881
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
54823
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1538 => _1538.maxItems]), () => ( 10));
54882
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1543 => _1543.maxItems]), () => ( 10));
54824
54883
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
54825
54884
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
54826
54885
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -54837,10 +54896,10 @@ function EmbeddableChatInner({
54837
54896
  }, [activeDialogId, activeMode]);
54838
54897
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
54839
54898
  const m = /* @__PURE__ */ new Map();
54840
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1539 => _1539.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
54899
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1544 => _1544.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
54841
54900
  return m;
54842
- }, [_optionalChain([contextPicker, 'optionalAccess', _1540 => _1540.entityTypes])]);
54843
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1541 => _1541.entityTypes]);
54901
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1545 => _1545.entityTypes])]);
54902
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1546 => _1546.entityTypes]);
54844
54903
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
54845
54904
  const byType = /* @__PURE__ */ new Map();
54846
54905
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -54852,7 +54911,7 @@ function EmbeddableChatInner({
54852
54911
  if (mentionActiveRef.current) {
54853
54912
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
54854
54913
  if (contextItems.length >= contextMaxItems) return;
54855
- _optionalChain([chatInputRef, 'access', _1542 => _1542.current, 'optionalAccess', _1543 => _1543.commitMention, 'call', _1544 => _1544(mentionTokenOf(key, mentionMarkerByType), {
54914
+ _optionalChain([chatInputRef, 'access', _1547 => _1547.current, 'optionalAccess', _1548 => _1548.commitMention, 'call', _1549 => _1549(mentionTokenOf(key, mentionMarkerByType), {
54856
54915
  label: item.label,
54857
54916
  icon: resolveContextIcon(item)
54858
54917
  })]);
@@ -54874,9 +54933,9 @@ function EmbeddableChatInner({
54874
54933
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
54875
54934
  if (mentionKeysRef.current.has(key)) {
54876
54935
  mentionKeysRef.current.delete(key);
54877
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1545 => _1545.current, 'optionalAccess', _1546 => _1546.getValue, 'call', _1547 => _1547()]), () => ( ""));
54936
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1550 => _1550.current, 'optionalAccess', _1551 => _1551.getValue, 'call', _1552 => _1552()]), () => ( ""));
54878
54937
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
54879
- _optionalChain([chatInputRef, 'access', _1548 => _1548.current, 'optionalAccess', _1549 => _1549.setValue, 'call', _1550 => _1550(next)]);
54938
+ _optionalChain([chatInputRef, 'access', _1553 => _1553.current, 'optionalAccess', _1554 => _1554.setValue, 'call', _1555 => _1555(next)]);
54880
54939
  }
54881
54940
  }, [mentionMarkerByType]);
54882
54941
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -54893,7 +54952,7 @@ function EmbeddableChatInner({
54893
54952
  }, []);
54894
54953
  const closeContextPicker = _react.useCallback.call(void 0, () => {
54895
54954
  if (mentionActiveRef.current) {
54896
- _optionalChain([chatInputRef, 'access', _1551 => _1551.current, 'optionalAccess', _1552 => _1552.removeMentionTrigger, 'call', _1553 => _1553()]);
54955
+ _optionalChain([chatInputRef, 'access', _1556 => _1556.current, 'optionalAccess', _1557 => _1557.removeMentionTrigger, 'call', _1558 => _1558()]);
54897
54956
  }
54898
54957
  setContextPickerOpen(false);
54899
54958
  setMentionQuery(null);
@@ -54927,8 +54986,8 @@ function EmbeddableChatInner({
54927
54986
  [effectiveAssistantIcon]
54928
54987
  );
54929
54988
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
54930
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1554 => _1554.firstName]), _optionalChain([identityUser, 'optionalAccess', _1555 => _1555.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1556 => _1556.name, 'optionalAccess', _1557 => _1557.trim, 'call', _1558 => _1558()]) || void 0 : void 0;
54931
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1559 => _1559.avatarUrl, 'optionalAccess', _1560 => _1560.trim, 'call', _1561 => _1561()]) || void 0 : void 0;
54989
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1559 => _1559.firstName]), _optionalChain([identityUser, 'optionalAccess', _1560 => _1560.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1561 => _1561.name, 'optionalAccess', _1562 => _1562.trim, 'call', _1563 => _1563()]) || void 0 : void 0;
54990
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1564 => _1564.avatarUrl, 'optionalAccess', _1565 => _1565.trim, 'call', _1566 => _1566()]) || void 0 : void 0;
54932
54991
  const messages = _react.useMemo.call(void 0, () => {
54933
54992
  const cache = timestampCacheRef.current;
54934
54993
  const seenIds = /* @__PURE__ */ new Set();
@@ -55108,9 +55167,9 @@ function EmbeddableChatInner({
55108
55167
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
55109
55168
  const lastSources = _react.useMemo.call(void 0, () => {
55110
55169
  if (chatLoading) return void 0;
55111
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1562 => _1562.sources]);
55170
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1567 => _1567.sources]);
55112
55171
  if (!sources || sources.length === 0) return void 0;
55113
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1563 => _1563.content]) || "";
55172
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1568 => _1568.content]) || "";
55114
55173
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
55115
55174
  (m) => parseInt(m[1], 10)
55116
55175
  );
@@ -55129,7 +55188,7 @@ function EmbeddableChatInner({
55129
55188
  const el = panelMeasureRef.current;
55130
55189
  if (!el || typeof ResizeObserver === "undefined") return;
55131
55190
  const ro = new ResizeObserver((entries) => {
55132
- const w = _optionalChain([entries, 'access', _1564 => _1564[0], 'optionalAccess', _1565 => _1565.contentRect, 'optionalAccess', _1566 => _1566.width]);
55191
+ const w = _optionalChain([entries, 'access', _1569 => _1569[0], 'optionalAccess', _1570 => _1570.contentRect, 'optionalAccess', _1571 => _1571.width]);
55133
55192
  if (typeof w === "number") setPanelWidth(w);
55134
55193
  });
55135
55194
  ro.observe(el);
@@ -55141,7 +55200,7 @@ function EmbeddableChatInner({
55141
55200
  try {
55142
55201
  if (window.localStorage.getItem(RAIL_COLLAPSED_STORAGE_KEY) === "1")
55143
55202
  setRailCollapsed(true);
55144
- } catch (e97) {
55203
+ } catch (e95) {
55145
55204
  }
55146
55205
  }, []);
55147
55206
  const toggleRailCollapsed = _react.useCallback.call(void 0, () => {
@@ -55149,7 +55208,7 @@ function EmbeddableChatInner({
55149
55208
  const next = !prev;
55150
55209
  try {
55151
55210
  window.localStorage.setItem(RAIL_COLLAPSED_STORAGE_KEY, next ? "1" : "0");
55152
- } catch (e98) {
55211
+ } catch (e96) {
55153
55212
  }
55154
55213
  return next;
55155
55214
  });
@@ -55168,16 +55227,16 @@ function EmbeddableChatInner({
55168
55227
  const isMingoMode = activeMode === "mingo";
55169
55228
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
55170
55229
  const headerShowBack = hasConversation || guideCanReturnToMingo;
55171
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1567 => _1567.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
55230
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1572 => _1572.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
55172
55231
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
55173
55232
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
55174
55233
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
55175
55234
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
55176
55235
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
55177
55236
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
55178
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1568 => _1568.owner]) : void 0;
55179
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1569 => _1569.name, 'optionalAccess', _1570 => _1570.trim, 'call', _1571 => _1571()]) || headerUserName;
55180
- const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1572 => _1572.avatarUrl, 'optionalAccess', _1573 => _1573.trim, 'call', _1574 => _1574()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1575 => _1575.avatarUrl, 'optionalAccess', _1576 => _1576.trim, 'call', _1577 => _1577()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1578 => _1578.trim, 'call', _1579 => _1579()]) || void 0;
55237
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1573 => _1573.owner]) : void 0;
55238
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1574 => _1574.name, 'optionalAccess', _1575 => _1575.trim, 'call', _1576 => _1576()]) || headerUserName;
55239
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1577 => _1577.avatarUrl, 'optionalAccess', _1578 => _1578.trim, 'call', _1579 => _1579()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1580 => _1580.avatarUrl, 'optionalAccess', _1581 => _1581.trim, 'call', _1582 => _1582()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1583 => _1583.trim, 'call', _1584 => _1584()]) || void 0;
55181
55240
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
55182
55241
  const handleNewChat = _react.useCallback.call(void 0, () => {
55183
55242
  resetToNewChat();
@@ -55536,9 +55595,9 @@ function EmbeddableChatInner({
55536
55595
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
55537
55596
  subtitleLoading: emptyStateLoading,
55538
55597
  ...guideWelcome,
55539
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1580 => _1580.title]))),
55540
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1581 => _1581.icon]))),
55541
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1582 => _1582.quickActions]), () => ( guideSuggestedActions)),
55598
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1585 => _1585.title]))),
55599
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1586 => _1586.icon]))),
55600
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1587 => _1587.quickActions]), () => ( guideSuggestedActions)),
55542
55601
  onQuickAction: (action) => {
55543
55602
  setQuickActionPreview(null);
55544
55603
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -55618,8 +55677,8 @@ function EmbeddableChatInner({
55618
55677
  selectedContextItems: contextItems,
55619
55678
  onToggleContextItem: toggleContextItem,
55620
55679
  onRemoveContextItem: removeContextItem,
55621
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1583 => _1583.items]),
55622
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1584 => _1584.onRemove]),
55680
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1588 => _1588.items]),
55681
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1589 => _1589.onRemove]),
55623
55682
  contextPickerOpen,
55624
55683
  onOpenContextPicker: openContextPicker,
55625
55684
  onCloseContextPicker: closeContextPicker,
@@ -56738,5 +56797,5 @@ function EmbeddableChatInner({
56738
56797
 
56739
56798
 
56740
56799
 
56741
- exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; 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.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; 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.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; 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.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; 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.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.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; 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.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; 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.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; 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.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; 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.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.CardHitLayer = CardHitLayer; 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.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; 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.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; 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.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; 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.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; 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.clickupTaskUrl = clickupTaskUrl; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.useTestRunState = useTestRunState; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.MingoAiButton = MingoAiButton; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
56742
- //# sourceMappingURL=chunk-5RXKOGH6.cjs.map
56800
+ exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; 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.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; 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.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; 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.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; 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.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.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; 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.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; 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.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; 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.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; 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.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.CardHitLayer = CardHitLayer; 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.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; 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.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; 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.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; 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.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; 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.clickupTaskUrl = clickupTaskUrl; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.useTestRunState = useTestRunState; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.MingoAiButton = MingoAiButton; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
56801
+ //# sourceMappingURL=chunk-IN4IO7BL.cjs.map