@flamingo-stack/openframe-frontend-core 0.0.487 → 0.0.488-snapshot.20260728130942

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 (124) hide show
  1. package/dist/{chunk-4TFUB2CR.cjs → chunk-2IHN7NNB.cjs} +29 -29
  2. package/dist/{chunk-4TFUB2CR.cjs.map → chunk-2IHN7NNB.cjs.map} +1 -1
  3. package/dist/{chunk-UU4DW7JX.cjs → chunk-2RNJYJWO.cjs} +42 -42
  4. package/dist/{chunk-UU4DW7JX.cjs.map → chunk-2RNJYJWO.cjs.map} +1 -1
  5. package/dist/{chunk-W6GDTB4R.cjs → chunk-3OIB763B.cjs} +15 -15
  6. package/dist/{chunk-W6GDTB4R.cjs.map → chunk-3OIB763B.cjs.map} +1 -1
  7. package/dist/{chunk-NETEA5E4.js → chunk-5VSEMWWE.js} +6 -6
  8. package/dist/{chunk-K6MITU6M.cjs → chunk-5YMY4BAW.cjs} +77 -77
  9. package/dist/{chunk-K6MITU6M.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-QBDHNUQX.js → chunk-B4YR342L.js} +6 -6
  13. package/dist/{chunk-SMD67GJP.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-G4XU7BYU.js → chunk-EU6QNO4S.js} +2 -2
  17. package/dist/{chunk-ITEPRN6L.js → chunk-FKPXFTZT.js} +3 -3
  18. package/dist/{chunk-EO7MUGY4.cjs → chunk-H3YRJ3LZ.cjs} +14 -14
  19. package/dist/{chunk-EO7MUGY4.cjs.map → chunk-H3YRJ3LZ.cjs.map} +1 -1
  20. package/dist/{chunk-TJSJPOPL.cjs → chunk-IN4IO7BL.cjs} +395 -337
  21. package/dist/chunk-IN4IO7BL.cjs.map +1 -0
  22. package/dist/{chunk-HWK5CH5N.cjs → chunk-J7H32E3R.cjs} +18 -18
  23. package/dist/{chunk-HWK5CH5N.cjs.map → chunk-J7H32E3R.cjs.map} +1 -1
  24. package/dist/{chunk-BTMYUK4P.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-RAYDQGJV.cjs → chunk-LLEDO4P7.cjs} +75 -75
  30. package/dist/{chunk-RAYDQGJV.cjs.map → chunk-LLEDO4P7.cjs.map} +1 -1
  31. package/dist/{chunk-AUGM74CO.js → chunk-N4MTNTSX.js} +7 -7
  32. package/dist/{chunk-KLYHZRAD.js → chunk-PB3BTZDU.js} +2 -2
  33. package/dist/{chunk-QW6SPNPT.cjs → chunk-RO7Q56ZK.cjs} +40 -40
  34. package/dist/{chunk-QW6SPNPT.cjs.map → chunk-RO7Q56ZK.cjs.map} +1 -1
  35. package/dist/{chunk-CWQACI4Z.js → chunk-RW2LPL72.js} +2 -2
  36. package/dist/{chunk-SDNMOAT4.js → chunk-TWGYBXYV.js} +4 -4
  37. package/dist/{chunk-WLRBZXFB.js → chunk-VL4LUO32.js} +3 -3
  38. package/dist/{chunk-QL7S3CH4.cjs → chunk-VLOE7MI2.cjs} +35 -35
  39. package/dist/{chunk-QL7S3CH4.cjs.map → chunk-VLOE7MI2.cjs.map} +1 -1
  40. package/dist/{chunk-UBK5HIMH.js → chunk-W6ZUOWSB.js} +7 -7
  41. package/dist/{chunk-GXOUXAXU.js → chunk-X2YF5TJS.js} +2 -2
  42. package/dist/{chunk-BC74IKAX.js → chunk-YMJZOANX.js} +277 -219
  43. package/dist/chunk-YMJZOANX.js.map +1 -0
  44. package/dist/{chunk-6SBAF5VG.cjs → chunk-Z7Y63IFU.cjs} +7 -7
  45. package/dist/{chunk-6SBAF5VG.cjs.map → chunk-Z7Y63IFU.cjs.map} +1 -1
  46. package/dist/{chunk-KTD2MGYF.cjs → chunk-ZIAS5NNL.cjs} +7 -7
  47. package/dist/{chunk-KTD2MGYF.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/components/ui/query-report-table/query-report-table.d.ts.map +1 -1
  87. package/dist/components/ui/query-report-table/types.d.ts +2 -2
  88. package/dist/components/ui/query-report-table/types.d.ts.map +1 -1
  89. package/dist/contexts/chat-runtime-context.d.ts +8 -0
  90. package/dist/contexts/chat-runtime-context.d.ts.map +1 -1
  91. package/dist/contexts/index.cjs +2 -2
  92. package/dist/contexts/index.js +1 -1
  93. package/dist/hooks/index.cjs +3 -3
  94. package/dist/hooks/index.js +2 -2
  95. package/dist/index.cjs +4 -4
  96. package/dist/index.js +3 -3
  97. package/package.json +1 -1
  98. package/src/components/chat/hooks/use-chat-history-hydration.ts +142 -0
  99. package/src/components/chat/hooks/use-chat.ts +12 -0
  100. package/src/components/chat/hooks/use-sse-chat-adapter.ts +109 -162
  101. package/src/components/chat/types/unified-chat-state.types.ts +6 -0
  102. package/src/components/chat/utils/chat-conversation-storage.ts +83 -0
  103. package/src/components/features/notifications/notification-drawer.tsx +1 -1
  104. package/src/components/ui/query-report-table/query-report-table-skeleton.tsx +1 -1
  105. package/src/components/ui/query-report-table/query-report-table.tsx +7 -8
  106. package/src/components/ui/query-report-table/types.ts +2 -2
  107. package/src/contexts/chat-runtime-context.tsx +8 -0
  108. package/dist/chunk-2B6773QM.cjs.map +0 -1
  109. package/dist/chunk-BC74IKAX.js.map +0 -1
  110. package/dist/chunk-KFQXO7QB.js.map +0 -1
  111. package/dist/chunk-TJSJPOPL.cjs.map +0 -1
  112. /package/dist/{chunk-NETEA5E4.js.map → chunk-5VSEMWWE.js.map} +0 -0
  113. /package/dist/{chunk-QBDHNUQX.js.map → chunk-B4YR342L.js.map} +0 -0
  114. /package/dist/{chunk-SMD67GJP.js.map → chunk-BGWDDB7Y.js.map} +0 -0
  115. /package/dist/{chunk-G4XU7BYU.js.map → chunk-EU6QNO4S.js.map} +0 -0
  116. /package/dist/{chunk-ITEPRN6L.js.map → chunk-FKPXFTZT.js.map} +0 -0
  117. /package/dist/{chunk-BTMYUK4P.js.map → chunk-K7MNWYYI.js.map} +0 -0
  118. /package/dist/{chunk-AUGM74CO.js.map → chunk-N4MTNTSX.js.map} +0 -0
  119. /package/dist/{chunk-KLYHZRAD.js.map → chunk-PB3BTZDU.js.map} +0 -0
  120. /package/dist/{chunk-CWQACI4Z.js.map → chunk-RW2LPL72.js.map} +0 -0
  121. /package/dist/{chunk-SDNMOAT4.js.map → chunk-TWGYBXYV.js.map} +0 -0
  122. /package/dist/{chunk-WLRBZXFB.js.map → chunk-VL4LUO32.js.map} +0 -0
  123. /package/dist/{chunk-UBK5HIMH.js.map → chunk-W6ZUOWSB.js.map} +0 -0
  124. /package/dist/{chunk-GXOUXAXU.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`,
@@ -35334,7 +35334,7 @@ function NotificationDrawer({
35334
35334
  type: "button",
35335
35335
  disabled: unreadCount === 0,
35336
35336
  onClick: markAllRead,
35337
- className: "self-center text-h6 text-ods-text-secondary underline transition-colors hover:text-ods-text-primary disabled:opacity-40",
35337
+ className: "self-center text-h6 text-ods-text-secondary underline transition-colors hover:text-ods-text-primary disabled:opacity-40 max-md:focus:outline-none max-md:focus-visible:outline-none",
35338
35338
  children: "Mark All Complete"
35339
35339
  }
35340
35340
  ),
@@ -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
  {
@@ -41506,7 +41506,7 @@ function QueryReportTableSkeleton({
41506
41506
  className
41507
41507
  }) {
41508
41508
  const isCompact = variant === "compact";
41509
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "flex flex-col", isCompact ? "gap-0" : "gap-2", className), children: [
41509
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "flex flex-col", isCompact ? "gap-0" : "gap-[var(--spacing-system-xs)]", className), children: [
41510
41510
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkA62C4C4Vcjs.cn.call(void 0,
41511
41511
  "flex items-center gap-4 px-4",
41512
41512
  isCompact ? "py-2 border-b border-ods-border" : ""
@@ -41632,19 +41632,18 @@ function QueryReportTable({
41632
41632
  onThumbPointerDown,
41633
41633
  onThumbPointerMove,
41634
41634
  onThumbPointerUp
41635
- } = _chunkA7IPON2Vcjs.useHorizontalScrollbar.call(void 0, );
41636
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "flex flex-col w-full", isCompact ? "gap-0" : "gap-6", className), children: [
41637
- !isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-6", children: [
41635
+ } = _chunkBIKOJ4FHcjs.useHorizontalScrollbar.call(void 0, );
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
+ !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 }),
41639
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
41639
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-s)]", children: [
41640
41640
  headerActions,
41641
41641
  showExport && data.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41642
41642
  _chunkSTYA77PHcjs.Button,
41643
41643
  {
41644
- className: "bg-ods-card",
41644
+ className: "bg-ods-card max-md:hidden",
41645
41645
  variant: "outline",
41646
- size: "small-legacy",
41647
- leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Download02Icon, { size: 18 }),
41646
+ leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Download02Icon, { size: 18, className: "text-ods-text-secondary" }),
41648
41647
  onClick: handleExport,
41649
41648
  children: "Export CSV"
41650
41649
  }
@@ -41661,7 +41660,7 @@ function QueryReportTable({
41661
41660
  }
41662
41661
  ),
41663
41662
  !loading && data.length === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableEmptyState, { message: emptyMessage }),
41664
- !loading && data.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-1", children: [
41663
+ !loading && data.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
41665
41664
  !isCompact && thumbRatio > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41666
41665
  "div",
41667
41666
  {
@@ -41702,7 +41701,7 @@ function QueryReportTable({
41702
41701
  variant
41703
41702
  }
41704
41703
  ),
41705
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "flex flex-col", isCompact ? "gap-0" : "gap-2 p-4"), children: data.map((row, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41704
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "flex flex-col", isCompact ? "gap-0" : "gap-[var(--spacing-system-xs)]"), children: data.map((row, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41706
41705
  QueryReportTableRow,
41707
41706
  {
41708
41707
  row,
@@ -41863,7 +41862,7 @@ function DataTableHeader({
41863
41862
  onSortChange
41864
41863
  }) {
41865
41864
  const table = useDataTableContext();
41866
- const isLgUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useLgUp.call(void 0, ), () => ( false));
41865
+ const isLgUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useLgUp.call(void 0, ), () => ( false));
41867
41866
  const headerGroup = table.getHeaderGroups()[0];
41868
41867
  if (!headerGroup) return null;
41869
41868
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
@@ -42436,7 +42435,7 @@ function SearchInput({
42436
42435
  }) {
42437
42436
  const [internalValue, setInternalValue] = React127.useState(defaultValue);
42438
42437
  const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
42439
- const debouncedValue = _chunkA7IPON2Vcjs.useDebounce.call(void 0, currentValue, debounceMs);
42438
+ const debouncedValue = _chunkBIKOJ4FHcjs.useDebounce.call(void 0, currentValue, debounceMs);
42440
42439
  const [isOpen, setIsOpen] = React127.useState(false);
42441
42440
  const [highlightedIndex, setHighlightedIndex] = React127.useState(-1);
42442
42441
  const containerRef = React127.useRef(null);
@@ -42448,7 +42447,7 @@ function SearchInput({
42448
42447
  textMeasureRef,
42449
42448
  badgeRef,
42450
42449
  inputRef
42451
- } = _chunkA7IPON2Vcjs.useAutoLimitTags.call(void 0, {
42450
+ } = _chunkBIKOJ4FHcjs.useAutoLimitTags.call(void 0, {
42452
42451
  count: filterChips.length,
42453
42452
  limitTags,
42454
42453
  // When chips exist, pass empty placeholder so the hook only reserves input minWidth,
@@ -42915,7 +42914,7 @@ function TagSearchInput({
42915
42914
  textMeasureRef,
42916
42915
  badgeRef,
42917
42916
  inputRef
42918
- } = _chunkA7IPON2Vcjs.useAutoLimitTags.call(void 0, {
42917
+ } = _chunkBIKOJ4FHcjs.useAutoLimitTags.call(void 0, {
42919
42918
  count: tags.length,
42920
42919
  limitTags,
42921
42920
  placeholder: currentPlaceholder
@@ -43717,7 +43716,7 @@ function ImageUploader({
43717
43716
  const [pressed, setPressed] = React131.useState(false);
43718
43717
  const [validationError, setValidationError] = React131.useState(null);
43719
43718
  const interactive = !disabled && !loading;
43720
- const resolvedValue = _chunkA7IPON2Vcjs.useAuthedImageSrc.call(void 0, value);
43719
+ const resolvedValue = _chunkBIKOJ4FHcjs.useAuthedImageSrc.call(void 0, value);
43721
43720
  const hasImage = Boolean(value);
43722
43721
  const displayError = error || validationError || void 0;
43723
43722
  const resolvedHint = hint === void 0 ? `Max. size: ${formatSize(maxSize)}` : hint;
@@ -47746,13 +47745,13 @@ _chunkSSJNN5BScjs.init_next_navigation.call(void 0, );
47746
47745
  // src/components/chat/hooks/use-chat-card-item.ts
47747
47746
 
47748
47747
  function useChatCardItem(type, id) {
47749
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
47748
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
47750
47749
  const url = runtime.endpoints.buildListUrl(type, [id]);
47751
47750
  const query = _reactquery.useQuery.call(void 0, {
47752
47751
  queryKey: ["chat-card-item", type, id],
47753
47752
  queryFn: async () => {
47754
47753
  if (!url) return null;
47755
- const res = await _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, url);
47754
+ const res = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, url);
47756
47755
  if (!res.ok) return null;
47757
47756
  const data = await res.json();
47758
47757
  const items = extractItems(data);
@@ -48830,7 +48829,7 @@ function ChatCardNavWrap({
48830
48829
  isNewTab,
48831
48830
  children
48832
48831
  }) {
48833
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
48832
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
48834
48833
  const router = _chunkSSJNN5BScjs.useRouter.call(void 0, );
48835
48834
  const panel = useChatPanel();
48836
48835
  const onClickCapture = (e) => {
@@ -48853,7 +48852,7 @@ function ChatCardLoader({
48853
48852
  chipBasePlatform,
48854
48853
  extras
48855
48854
  }) {
48856
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
48855
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
48857
48856
  const resolvedChatRef = React125.default.useMemo(() => {
48858
48857
  const cta = resolveSourceRowCTA(
48859
48858
  {
@@ -50771,7 +50770,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
50771
50770
  try {
50772
50771
  const url = new URL(commandsUrl, window.location.origin);
50773
50772
  if (prefix) url.searchParams.set("q", prefix);
50774
- 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: {} });
50775
50774
  if (!res.ok) return [];
50776
50775
  const data = await res.json();
50777
50776
  return _nullishCoalesce(data.commands, () => ( []));
@@ -50846,7 +50845,7 @@ var EMPTY_STATE_FALLBACK = {
50846
50845
  async function fetchEmptyStateConfig(signal, emptyStateUrl) {
50847
50846
  try {
50848
50847
  const url = new URL(emptyStateUrl, window.location.origin);
50849
- 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: {} });
50850
50849
  if (!res.ok) {
50851
50850
  if (res.status >= 500) {
50852
50851
  console.error(`[chat] empty-state config fetch failed (${res.status}): ${url.pathname}`);
@@ -50964,7 +50963,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
50964
50963
  });
50965
50964
  }
50966
50965
  function useChatAttachments() {
50967
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
50966
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
50968
50967
  const uploadUrlEndpoint = runtime.endpoints.attachmentUploadUrl;
50969
50968
  const [attachments, setAttachments] = _react.useState.call(void 0, []);
50970
50969
  const controllersRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
@@ -51008,7 +51007,7 @@ function useChatAttachments() {
51008
51007
  );
51009
51008
  }
51010
51009
  updateOne(att.id, { status: "uploading", progress: 5 });
51011
- const urlResp = await _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
51010
+ const urlResp = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
51012
51011
  method: "POST",
51013
51012
  headers: { "Content-Type": "application/json" },
51014
51013
  signal: _optionalChain([ctrl, 'optionalAccess', _1372 => _1372.signal]),
@@ -51137,7 +51136,7 @@ function useChatAttachments() {
51137
51136
 
51138
51137
  var CLOSED = { isOpen: false, images: [], initialIndex: 0 };
51139
51138
  function useChatAttachmentImageGallery() {
51140
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
51139
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
51141
51140
  const viewUrlPrefix = runtime.endpoints.attachmentViewUrlPrefix;
51142
51141
  const panelRef = _react.useRef.call(void 0, null);
51143
51142
  const [state, setState] = _react.useState.call(void 0, CLOSED);
@@ -51196,9 +51195,9 @@ var ANON_DEFAULTS = {
51196
51195
  user: null
51197
51196
  };
51198
51197
  function useResolveChatIdentity(enabled) {
51199
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
51198
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
51200
51199
  const url = runtime.endpoints.identityUrl;
51201
- 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));
51202
51201
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
51203
51202
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
51204
51203
  _react.useEffect.call(void 0, () => {
@@ -51206,7 +51205,7 @@ function useResolveChatIdentity(enabled) {
51206
51205
  let cancelled = false;
51207
51206
  const ctrl = new AbortController();
51208
51207
  setIsLoading(true);
51209
- _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) => {
51210
51209
  if (!resp.ok) return ANON_DEFAULTS;
51211
51210
  return await resp.json();
51212
51211
  }).then((next) => {
@@ -51610,6 +51609,9 @@ function useChat({
51610
51609
  setIsTyping(false);
51611
51610
  reset();
51612
51611
  }, [reset]);
51612
+ const hydrateMessages = _react.useCallback.call(void 0, (history) => {
51613
+ setMessages((prev) => prev.length === 0 ? history : [...history, ...prev]);
51614
+ }, []);
51613
51615
  const stopMessage = _react.useCallback.call(void 0, () => {
51614
51616
  abort();
51615
51617
  setIsTyping(false);
@@ -51623,12 +51625,125 @@ function useChat({
51623
51625
  stopMessage,
51624
51626
  handleQuickAction,
51625
51627
  clearMessages,
51628
+ hydrateMessages,
51626
51629
  hasMessages: messages.length > 0
51627
51630
  };
51628
51631
  }
51629
51632
 
51630
51633
  // src/components/chat/hooks/use-sse-chat-adapter.ts
51631
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
51632
51747
  function createEmptyTurnMeta() {
51633
51748
  return {
51634
51749
  provider: null,
@@ -51640,36 +51755,30 @@ function createEmptyTurnMeta() {
51640
51755
  breakdown: null,
51641
51756
  scrollAnchor: null,
51642
51757
  routedComplexity: null,
51643
- routedThinkingBudget: null
51758
+ routedThinkingBudget: null,
51759
+ conversationId: null
51644
51760
  };
51645
51761
  }
51646
51762
  function escapeThinkingTags(text) {
51647
51763
  return text.replace(/</g, "&lt;");
51648
51764
  }
51649
- function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMapRef, metaMapRef, setStreamingPhase, bumpMetaTick, sendCountRef) {
51765
+ function createDocStreamFn(source, endpoints, sourcesMapRef, refsMapRef, metaMapRef, setStreamingPhase, bumpMetaTick, sendCountRef, conversationIdRef, conversationStorage) {
51650
51766
  return async function* (message2, signal, extra) {
51651
- const currentMessages = messagesRef.current || [];
51652
- const apiMessages = [
51653
- ...currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
51654
- role: m.role,
51655
- content: typeof m.content === "string" ? m.content : flattenAssistantContent(m.content)
51656
- })),
51657
- { role: "user", content: message2 }
51658
- ];
51659
- const targetPath = _optionalChain([extra, 'optionalAccess', _1391 => _1391.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
51660
- 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]) ? {
51661
51770
  proposal_id: extra.approvalAction.proposalId,
51662
51771
  action: extra.approvalAction.action,
51663
- messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
51664
- role: m.role,
51665
- content: typeof m.content === "string" ? m.content : flattenAssistantContent(m.content)
51666
- }))
51772
+ // Always present here — an approval can only happen inside an
51773
+ // established conversation (the proposal turn captured the id).
51774
+ conversationId
51667
51775
  } : {
51668
- messages: apiMessages,
51669
- ..._optionalChain([extra, 'optionalAccess', _1393 => _1393.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
51670
- ..._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 } : {}
51671
51780
  };
51672
- const response = await _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, targetPath, {
51781
+ const response = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, targetPath, {
51673
51782
  method: "POST",
51674
51783
  body: JSON.stringify(requestBody),
51675
51784
  signal
@@ -51677,7 +51786,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51677
51786
  if (!response.ok) {
51678
51787
  throw new Error(`Chat request failed: ${response.status}`);
51679
51788
  }
51680
- 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()]);
51681
51790
  if (!reader) throw new Error("No response body");
51682
51791
  const decoder = new TextDecoder();
51683
51792
  let buffer = "";
@@ -51729,7 +51838,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51729
51838
  let meta;
51730
51839
  try {
51731
51840
  meta = JSON.parse(metaStr);
51732
- } catch (e90) {
51841
+ } catch (e92) {
51733
51842
  inText = true;
51734
51843
  setStreamingPhase("streaming");
51735
51844
  if (buffer.length > 0) {
@@ -51760,7 +51869,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51760
51869
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
51761
51870
  const result = _nullishCoalesce(meta.result, () => ( null));
51762
51871
  const card = _nullishCoalesce(meta.card, () => ( null));
51763
- 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])) {
51764
51873
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
51765
51874
  const key = buildChatRefKey(card.type, card.ref.id);
51766
51875
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -51773,8 +51882,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51773
51882
  willAutoContinue: meta.willAutoContinue === true,
51774
51883
  ...toolName ? { toolName } : {},
51775
51884
  ...result ? { result } : {},
51776
- ..._optionalChain([card, 'optionalAccess', _1401 => _1401.marker]) ? { marker: card.marker } : {},
51777
- ..._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 } : {},
51778
51887
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
51779
51888
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
51780
51889
  };
@@ -51830,6 +51939,14 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51830
51939
  });
51831
51940
  bumpMetaTick();
51832
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
+ }
51833
51950
  const parsedAnchor = parseScrollAnchor(meta.scrollAnchor);
51834
51951
  if (parsedAnchor !== null) {
51835
51952
  mergeTurnMeta(metaMapRef, sendIdx, { scrollAnchor: parsedAnchor });
@@ -51876,7 +51993,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51876
51993
  });
51877
51994
  bumpMetaTick();
51878
51995
  }
51879
- } catch (e91) {
51996
+ } catch (e93) {
51880
51997
  }
51881
51998
  }
51882
51999
  };
@@ -51888,81 +52005,24 @@ function mergeTurnMeta(ref, sendIdx, partial) {
51888
52005
  );
51889
52006
  ref.current.set(sendIdx, { ...prev, ...filtered });
51890
52007
  }
51891
- var CHAT_STORAGE_VERSION = 1;
51892
52008
  var DEFAULT_CHAT_SOURCE = "embed";
51893
- var chatStorageKey = (source) => {
51894
- const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
51895
- const auth = _chunkA7IPON2Vcjs.getEmbedProxyAuth.call(void 0, );
51896
- if (_optionalChain([auth, 'optionalAccess', _1403 => _1403.email])) {
51897
- return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
51898
- }
51899
- return base;
51900
- };
51901
- function pruneStaleChatStorage(source) {
51902
- if (typeof window === "undefined") return;
51903
- try {
51904
- const currentKey = chatStorageKey(source);
51905
- const prefix = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}-u-`;
51906
- const legacy = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
51907
- const toRemove = [];
51908
- for (let i = 0; i < window.localStorage.length; i++) {
51909
- const k = window.localStorage.key(i);
51910
- if (!k) continue;
51911
- if (!k.startsWith(prefix)) continue;
51912
- if (k === currentKey) continue;
51913
- if (k === legacy) continue;
51914
- toRemove.push(k);
51915
- }
51916
- for (const k of toRemove) {
51917
- window.localStorage.removeItem(k);
51918
- }
51919
- } catch (e92) {
51920
- }
51921
- }
51922
- function loadPersistedChat(source) {
51923
- if (typeof window === "undefined") return null;
51924
- try {
51925
- const raw = window.localStorage.getItem(chatStorageKey(source));
51926
- if (!raw) return null;
51927
- const parsed = JSON.parse(raw);
51928
- if (!parsed || !Array.isArray(parsed.messages)) return null;
51929
- for (const m of parsed.messages) {
51930
- if (typeof m.timestamp === "string") m.timestamp = new Date(m.timestamp);
51931
- if (m.role === "user" && !m.hidden && typeof m.content === "string" && m.content.startsWith(AUTO_CONTINUATION_DIRECTIVE_PREFIX)) {
51932
- m.hidden = true;
51933
- }
51934
- }
51935
- return parsed;
51936
- } catch (e93) {
51937
- return null;
51938
- }
51939
- }
51940
- function savePersistedChat(source, state) {
51941
- if (typeof window === "undefined") return;
51942
- try {
51943
- window.localStorage.setItem(chatStorageKey(source), JSON.stringify(state));
51944
- } catch (e94) {
51945
- }
51946
- }
51947
52009
  function useSseChatAdapter(options, runtimeOptions = {}) {
51948
52010
  const { active = true } = runtimeOptions;
51949
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
52011
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
51950
52012
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
51951
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1404 => _1404.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
51952
- const persistedRef = _react.useRef.call(void 0, null);
51953
- if (persistedRef.current === null) {
51954
- pruneStaleChatStorage(source);
51955
- persistedRef.current = loadPersistedChat(source) || { messages: [], sources: [], sendCount: 0 };
51956
- }
51957
- const sourcesMapRef = _react.useRef.call(void 0,
51958
- new Map(persistedRef.current.sources)
51959
- );
51960
- const refsMapRef = _react.useRef.call(void 0,
51961
- new Map(_nullishCoalesce(persistedRef.current.refs, () => ( [])))
51962
- );
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());
51963
52024
  const metaMapRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
51964
- const messagesRef = _react.useRef.call(void 0, persistedRef.current.messages);
51965
- const sendCountRef = _react.useRef.call(void 0, persistedRef.current.sendCount);
52025
+ const sendCountRef = _react.useRef.call(void 0, 0);
51966
52026
  const [streamingPhase, setStreamingPhase] = _react.useState.call(void 0, "idle");
51967
52027
  const [metaTick, setMetaTick] = _react.useState.call(void 0, 0);
51968
52028
  const bumpMetaTick = _react.useCallback.call(void 0, () => setMetaTick((t) => t + 1), []);
@@ -51973,19 +52033,21 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
51973
52033
  chatStreamUrl: runtime.endpoints.chatStreamUrl,
51974
52034
  approvalToolUrl: runtime.endpoints.approvalToolUrl
51975
52035
  },
51976
- messagesRef,
51977
52036
  sourcesMapRef,
51978
52037
  refsMapRef,
51979
52038
  metaMapRef,
51980
52039
  setStreamingPhase,
51981
52040
  bumpMetaTick,
51982
- sendCountRef
52041
+ sendCountRef,
52042
+ conversationIdRef,
52043
+ conversationStorage
51983
52044
  ),
51984
52045
  [
51985
52046
  source,
51986
52047
  runtime.endpoints.chatStreamUrl,
51987
52048
  runtime.endpoints.approvalToolUrl,
51988
- bumpMetaTick
52049
+ bumpMetaTick,
52050
+ conversationStorage
51989
52051
  ]
51990
52052
  );
51991
52053
  const commandsUrl = runtime.endpoints.commandsUrl;
@@ -52012,17 +52074,6 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52012
52074
  }
52013
52075
  return map;
52014
52076
  }, [slashCommands]);
52015
- const persist = _react.useCallback.call(void 0,
52016
- (nextMessages) => {
52017
- savePersistedChat(source, {
52018
- messages: nextMessages,
52019
- sources: Array.from(sourcesMapRef.current.entries()),
52020
- refs: Array.from(refsMapRef.current.entries()),
52021
- sendCount: sendCountRef.current
52022
- });
52023
- },
52024
- [source]
52025
- );
52026
52077
  const {
52027
52078
  messages,
52028
52079
  isTyping,
@@ -52030,15 +52081,24 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52030
52081
  sendMessage: chatSendMessage,
52031
52082
  stopMessage: chatStopMessage,
52032
52083
  clearMessages: chatClearMessages,
52084
+ hydrateMessages,
52033
52085
  hasMessages
52034
52086
  } = useChat({
52035
52087
  useMock: false,
52036
52088
  assistantName: "Mingo AI",
52037
- streamFn,
52038
- initialMessages: persistedRef.current.messages,
52039
- 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
52040
52101
  });
52041
- messagesRef.current = messages;
52042
52102
  let sendIdx = -1;
52043
52103
  const docMessages = messages.map((m) => {
52044
52104
  const segments = Array.isArray(m.content) ? m.content : void 0;
@@ -52053,7 +52113,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52053
52113
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
52054
52114
  sources = sourcesMapRef.current.get(lookupIdx);
52055
52115
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
52056
- 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));
52057
52117
  }
52058
52118
  return {
52059
52119
  id: m.id,
@@ -52101,7 +52161,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52101
52161
  );
52102
52162
  return;
52103
52163
  }
52104
- 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 : "";
52105
52165
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
52106
52166
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
52107
52167
  const text = `/${cmdId} display "${escaped}"`;
@@ -52142,16 +52202,13 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52142
52202
  refsMapRef.current.clear();
52143
52203
  metaMapRef.current.clear();
52144
52204
  sendCountRef.current = 0;
52205
+ conversationIdRef.current = null;
52206
+ conversationStorage.clear();
52207
+ hydratedKeyRef.current = null;
52145
52208
  setStreamingPhase("idle");
52146
52209
  bumpMetaTick();
52147
52210
  chatClearMessages();
52148
- if (typeof window !== "undefined") {
52149
- try {
52150
- window.localStorage.removeItem(chatStorageKey(source));
52151
- } catch (e95) {
52152
- }
52153
- }
52154
- }, [chatClearMessages, source, bumpMetaTick]);
52211
+ }, [chatClearMessages, conversationStorage, hydratedKeyRef, bumpMetaTick]);
52155
52212
  _react.useEffect.call(void 0, () => {
52156
52213
  if (!isTyping && !isStreaming && streamingPhase !== "idle") {
52157
52214
  setStreamingPhase("idle");
@@ -52172,26 +52229,27 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52172
52229
  stopMessage,
52173
52230
  clearMessages,
52174
52231
  streamingPhase,
52232
+ /** True while the mount-time rebuild from the server transcript runs. */
52233
+ isHydratingHistory,
52175
52234
  /** Provider key for the lib's `<ModelDisplay>` icon. */
52176
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1411 => _1411.provider]), () => ( null)),
52177
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1412 => _1412.modelLabel]), () => ( null)),
52178
- 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)),
52179
52238
  /** Input tokens (known after server's message_start frame; null until). */
52180
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1414 => _1414.inputTokens]), () => ( null)),
52239
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1419 => _1419.inputTokens]), () => ( null)),
52181
52240
  /** Output tokens (known only after server's trailing usage frame). */
52182
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1415 => _1415.outputTokens]), () => ( null)),
52241
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1420 => _1420.outputTokens]), () => ( null)),
52183
52242
  /** Cache hit % (read / total-input × 100). null during streaming. */
52184
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1416 => _1416.cacheHitRatePct]), () => ( null)),
52243
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1421 => _1421.cacheHitRatePct]), () => ( null)),
52185
52244
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
52186
52245
  * token counts). null until the trailing usage frame lands. */
52187
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1417 => _1417.breakdown]), () => ( null)),
52246
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1422 => _1422.breakdown]), () => ( null)),
52188
52247
  // ─── Dialog management — stubs for v1 ────────────────────────────────
52189
- // Guide mode currently keeps its history in `localStorage` opaquely
52190
- // under the hood (`runtime.source` namespaced key). Surfacing that
52191
- // history as a structured dialog list is a follow-up; for now the
52192
- // shape is satisfied with empty defaults so the unified contract
52193
- // type-checks and EmbeddableChat hides sidebar affordances when
52194
- // `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`.
52195
52253
  dialogs: SSE_EMPTY_DIALOGS,
52196
52254
  activeDialogId: null,
52197
52255
  selectDialog: noopSelectDialog,
@@ -52242,15 +52300,15 @@ var noopRejectRequest = async (_id, _reason) => {
52242
52300
 
52243
52301
  // src/components/chat/utils/process-historical-messages.ts
52244
52302
  function getOwnerDisplayName(owner) {
52245
- 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) {
52246
52304
  const { firstName, lastName } = owner.user;
52247
52305
  const name = [firstName, lastName].filter(Boolean).join(" ");
52248
52306
  if (name) return name;
52249
52307
  }
52250
- 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";
52251
52309
  }
52252
52310
  function getOwnerAvatar(owner) {
52253
- 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));
52254
52312
  }
52255
52313
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
52256
52314
  messageDataArray.forEach((data) => {
@@ -52325,14 +52383,14 @@ function processHistoricalMessages(messages, options = {}) {
52325
52383
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
52326
52384
  return;
52327
52385
  }
52328
- 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;
52329
52387
  if (isUserMessage) {
52330
52388
  flushAssistantMessage();
52331
- 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";
52332
52390
  messageDataArray.forEach((data) => {
52333
52391
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
52334
52392
  const rawContext = data.contextItems;
52335
- 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;
52336
52394
  processedMessages.push({
52337
52395
  id: msg.id,
52338
52396
  role: "user",
@@ -52366,7 +52424,7 @@ function processHistoricalMessages(messages, options = {}) {
52366
52424
  });
52367
52425
  const nextMsg = messages[index + 1];
52368
52426
  const isLastMessage = index === messages.length - 1;
52369
- 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);
52370
52428
  if (isLastMessage || nextIsFromUser) {
52371
52429
  flushAssistantMessage();
52372
52430
  }
@@ -52477,7 +52535,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52477
52535
  }
52478
52536
  }
52479
52537
  } else {
52480
- _optionalChain([escalatedApprovals, 'optionalAccess', _1435 => _1435.set, 'call', _1436 => _1436(data.approvalRequestId, {
52538
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1440 => _1440.set, 'call', _1441 => _1441(data.approvalRequestId, {
52481
52539
  command: data.command || "",
52482
52540
  explanation: data.explanation,
52483
52541
  approvalType,
@@ -52491,8 +52549,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52491
52549
  const existingStatus = approvalStatuses[data.approvalRequestId];
52492
52550
  const status = existingStatus || (data.approved ? "approved" : "rejected");
52493
52551
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
52494
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1437 => _1437.get, 'call', _1438 => _1438(data.approvalRequestId)]);
52495
- 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) {
52496
52554
  if (batchApprovalsEnabled) {
52497
52555
  accumulator.addApprovalBatch(
52498
52556
  data.approvalRequestId,
@@ -52514,7 +52572,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52514
52572
  );
52515
52573
  }
52516
52574
  }
52517
- _optionalChain([escalatedApprovals, 'optionalAccess', _1440 => _1440.delete, 'call', _1441 => _1441(data.approvalRequestId)]);
52575
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1445 => _1445.delete, 'call', _1446 => _1446(data.approvalRequestId)]);
52518
52576
  break;
52519
52577
  }
52520
52578
  if (escalatedData) {
@@ -52523,7 +52581,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52523
52581
  explanation: escalatedData.explanation,
52524
52582
  approvalType: escalatedData.approvalType
52525
52583
  });
52526
- _optionalChain([escalatedApprovals, 'optionalAccess', _1442 => _1442.delete, 'call', _1443 => _1443(data.approvalRequestId)]);
52584
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1447 => _1447.delete, 'call', _1448 => _1448(data.approvalRequestId)]);
52527
52585
  }
52528
52586
  const before = accumulator.getSegments();
52529
52587
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -52539,10 +52597,10 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52539
52597
  case MESSAGE_TYPE.ERROR:
52540
52598
  if ("error" in data) {
52541
52599
  let message2;
52542
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1444 => _1444.details])) {
52600
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1449 => _1449.details])) {
52543
52601
  try {
52544
- message2 = _optionalChain([JSON, 'access', _1445 => _1445.parse, 'call', _1446 => _1446(data.details), 'optionalAccess', _1447 => _1447.error, 'optionalAccess', _1448 => _1448.message]);
52545
- } 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) {
52546
52604
  message2 = data.details;
52547
52605
  }
52548
52606
  }
@@ -52627,14 +52685,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
52627
52685
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
52628
52686
  return;
52629
52687
  }
52630
- 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;
52631
52689
  if (isUserMessage) {
52632
52690
  flushAssistantMessage();
52633
- 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";
52634
52692
  messageDataArray.forEach((data) => {
52635
52693
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
52636
52694
  const rawContext = data.contextItems;
52637
- 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;
52638
52696
  processedMessages.push({
52639
52697
  id: msg.id,
52640
52698
  role: "user",
@@ -52668,7 +52726,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
52668
52726
  });
52669
52727
  const nextMsg = messages[index + 1];
52670
52728
  const isLastMessage = index === messages.length - 1;
52671
- 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);
52672
52730
  if (isLastMessage || nextIsFromUser) {
52673
52731
  flushAssistantMessage();
52674
52732
  }
@@ -52729,7 +52787,7 @@ function extractIncompleteMessageState(lastMessage) {
52729
52787
  break;
52730
52788
  case "approval_batch": {
52731
52789
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
52732
- (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"
52733
52791
  );
52734
52792
  if (segment.status !== "rejected" && !allDone) {
52735
52793
  hasIncompleteState = true;
@@ -52796,9 +52854,9 @@ function appendToTrailingAssistant(prev, segments) {
52796
52854
  const merged = [..._nullishCoalesce(last.segments, () => ( []))];
52797
52855
  for (const seg of segments) {
52798
52856
  const tail = merged[merged.length - 1];
52799
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1465 => _1465.type]) === "text") {
52857
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1470 => _1470.type]) === "text") {
52800
52858
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
52801
- } 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") {
52802
52860
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
52803
52861
  } else if (seg.type === "approval_batch") {
52804
52862
  const idx = merged.findIndex(
@@ -52842,11 +52900,11 @@ function applyToolExecutionToMessages(prev, segment) {
52842
52900
  for (let j = message2.segments.length - 1; j >= 0; j--) {
52843
52901
  const seg = message2.segments[j];
52844
52902
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
52845
- const prevExec = _optionalChain([seg, 'access', _1467 => _1467.data, 'access', _1468 => _1468.executions, 'optionalAccess', _1469 => _1469[execId]]);
52846
- 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") {
52847
52905
  return prev;
52848
52906
  }
52849
- 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]) };
52850
52908
  const nextSegments = [...message2.segments];
52851
52909
  nextSegments[j] = {
52852
52910
  ...seg,
@@ -53016,11 +53074,11 @@ function useNatsChatAdapter(config, options = {}) {
53016
53074
  }, []);
53017
53075
  const callbacksRef = _react.useRef.call(void 0, {
53018
53076
  onSegmentsUpdate: (segments, meta) => {
53019
- if (_optionalChain([meta, 'optionalAccess', _1473 => _1473.append]) && meta.isCompacting) {
53077
+ if (_optionalChain([meta, 'optionalAccess', _1478 => _1478.append]) && meta.isCompacting) {
53020
53078
  setMessages((prev) => upsertTrailingCompaction(prev, segments));
53021
53079
  return;
53022
53080
  }
53023
- if (_optionalChain([meta, 'optionalAccess', _1474 => _1474.append])) {
53081
+ if (_optionalChain([meta, 'optionalAccess', _1479 => _1479.append])) {
53024
53082
  setMessages((prev) => appendToTrailingAssistant(prev, segments));
53025
53083
  return;
53026
53084
  }
@@ -53033,7 +53091,7 @@ function useNatsChatAdapter(config, options = {}) {
53033
53091
  setMessages((prev) => {
53034
53092
  const last = prev[prev.length - 1];
53035
53093
  if (!last || last.role !== "assistant" || adoptTail) return prev;
53036
- 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 !== "";
53037
53095
  if (!hasContent) return prev;
53038
53096
  return [
53039
53097
  ...prev,
@@ -53105,19 +53163,19 @@ function useNatsChatAdapter(config, options = {}) {
53105
53163
  // MESSAGE_REQUEST echo — a user message from THIS or another session.
53106
53164
  onUserMessage: (text, meta) => {
53107
53165
  if (!text) return;
53108
- const seq = _optionalChain([meta, 'optionalAccess', _1477 => _1477.streamSeq]);
53166
+ const seq = _optionalChain([meta, 'optionalAccess', _1482 => _1482.streamSeq]);
53109
53167
  if (typeof seq === "number") {
53110
53168
  if (seenParticipantSeqsRef.current.has(seq)) return;
53111
53169
  seenParticipantSeqsRef.current.add(seq);
53112
53170
  }
53113
- if (_optionalChain([meta, 'optionalAccess', _1478 => _1478.ownerType]) !== "ADMIN") {
53171
+ if (_optionalChain([meta, 'optionalAccess', _1483 => _1483.ownerType]) !== "ADMIN") {
53114
53172
  const echoIdx = pendingEchoTextsRef.current.indexOf(text);
53115
53173
  if (echoIdx !== -1) {
53116
53174
  pendingEchoTextsRef.current.splice(echoIdx, 1);
53117
53175
  return;
53118
53176
  }
53119
53177
  }
53120
- const authorType = _optionalChain([meta, 'optionalAccess', _1479 => _1479.ownerType]) === "ADMIN" ? "admin" : "user";
53178
+ const authorType = _optionalChain([meta, 'optionalAccess', _1484 => _1484.ownerType]) === "ADMIN" ? "admin" : "user";
53121
53179
  setMessages((prev) => {
53122
53180
  if (typeof seq !== "number" && hasRecentMessage(
53123
53181
  prev,
@@ -53132,9 +53190,9 @@ function useNatsChatAdapter(config, options = {}) {
53132
53190
  id: nextId("user"),
53133
53191
  role: "user",
53134
53192
  content: text,
53135
- ..._optionalChain([meta, 'optionalAccess', _1480 => _1480.displayName]) ? { name: meta.displayName } : {},
53193
+ ..._optionalChain([meta, 'optionalAccess', _1485 => _1485.displayName]) ? { name: meta.displayName } : {},
53136
53194
  authorType,
53137
- ..._optionalChain([meta, 'optionalAccess', _1481 => _1481.contextItems]) && meta.contextItems.length > 0 ? {
53195
+ ..._optionalChain([meta, 'optionalAccess', _1486 => _1486.contextItems]) && meta.contextItems.length > 0 ? {
53138
53196
  contextItems: meta.contextItems.map((ci) => ({
53139
53197
  type: ci.type,
53140
53198
  id: ci.id,
@@ -53148,7 +53206,7 @@ function useNatsChatAdapter(config, options = {}) {
53148
53206
  // Technician / admin direct message into the dialog.
53149
53207
  onDirectMessage: (text, meta) => {
53150
53208
  if (!text) return;
53151
- const seq = _optionalChain([meta, 'optionalAccess', _1482 => _1482.streamSeq]);
53209
+ const seq = _optionalChain([meta, 'optionalAccess', _1487 => _1487.streamSeq]);
53152
53210
  if (typeof seq === "number") {
53153
53211
  if (seenParticipantSeqsRef.current.has(seq)) return;
53154
53212
  seenParticipantSeqsRef.current.add(seq);
@@ -53167,7 +53225,7 @@ function useNatsChatAdapter(config, options = {}) {
53167
53225
  id: `direct-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`,
53168
53226
  role: "user",
53169
53227
  content: text,
53170
- name: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _1483 => _1483.displayName]), () => ( "Admin")),
53228
+ name: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _1488 => _1488.displayName]), () => ( "Admin")),
53171
53229
  authorType: "admin"
53172
53230
  }
53173
53231
  ];
@@ -53177,7 +53235,7 @@ function useNatsChatAdapter(config, options = {}) {
53177
53235
  // processor produces via `pushStandaloneMessages`).
53178
53236
  onSystemMessage: (text, meta) => {
53179
53237
  if (!text) return;
53180
- const seq = _optionalChain([meta, 'optionalAccess', _1484 => _1484.streamSeq]);
53238
+ const seq = _optionalChain([meta, 'optionalAccess', _1489 => _1489.streamSeq]);
53181
53239
  if (typeof seq === "number") {
53182
53240
  if (seenParticipantSeqsRef.current.has(seq)) return;
53183
53241
  seenParticipantSeqsRef.current.add(seq);
@@ -53409,7 +53467,7 @@ function useNatsChatAdapter(config, options = {}) {
53409
53467
  }, [active, fetchDialogs, loadDialogsPage]);
53410
53468
  const sendMessage = _react.useCallback.call(void 0,
53411
53469
  async (text, sendOptions) => {
53412
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1485 => _1485.hidden]), () => ( false));
53470
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1490 => _1490.hidden]), () => ( false));
53413
53471
  pendingEchoTextsRef.current.push(text);
53414
53472
  if (pendingEchoTextsRef.current.length > 5) pendingEchoTextsRef.current.shift();
53415
53473
  setMessages((prev) => [
@@ -53575,11 +53633,11 @@ function useNatsChatAdapter(config, options = {}) {
53575
53633
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
53576
53634
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
53577
53635
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
53578
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1486 => _1486.provider]), () => ( modelProvider)), () => ( null)),
53579
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1487 => _1487.modelLabel]), () => ( modelLabel)), () => ( null)),
53580
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1488 => _1488.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1489 => _1489.contextWindowMaxTokens]))), () => ( null)),
53581
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1490 => _1490.inputTokensSize]), () => ( null)),
53582
- 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)),
53583
53641
  currentCacheHitRatePct: null,
53584
53642
  currentUsageBreakdown: null,
53585
53643
  // Dialog management
@@ -53716,7 +53774,7 @@ function useUnifiedChat(options) {
53716
53774
  []
53717
53775
  );
53718
53776
  const setDialogScope = _react.useCallback.call(void 0,
53719
- (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)]),
53720
53778
  []
53721
53779
  );
53722
53780
  const reloadDialogs = _react.useCallback.call(void 0,
@@ -53854,20 +53912,20 @@ function mergeHistoryWithRealtime(input) {
53854
53912
  }
53855
53913
  }
53856
53914
  const trailing = processedHistory[processedHistory.length - 1];
53857
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1495 => _1495.role]) === "assistant" ? trailing : null;
53858
- 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;
53859
53917
  let processedToUse = processedHistory;
53860
53918
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
53861
53919
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
53862
53920
  if (historyBatchId) {
53863
53921
  const batchTwins = existingMessages.filter(
53864
53922
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
53865
- (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
53866
53924
  )
53867
53925
  );
53868
53926
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
53869
53927
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
53870
- 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;
53871
53929
  const realtimeSize = existingWithSameBatch.content.length;
53872
53930
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
53873
53931
  processedToUse = processedHistory.slice(0, -1);
@@ -53901,9 +53959,9 @@ function mergeHistoryWithRealtime(input) {
53901
53959
  if (pinnedSyntheticIds.has(m.id)) return true;
53902
53960
  if (droppedSyntheticIds.has(m.id)) return false;
53903
53961
  if (processedIds.has(m.id)) return false;
53904
- 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;
53905
53963
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
53906
- 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;
53907
53965
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
53908
53966
  }
53909
53967
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -53927,7 +53985,7 @@ function mergeHistoryWithRealtime(input) {
53927
53985
  } else if (typeof m.streamSeq === "number" && historyMaxStreamSeq > 0) {
53928
53986
  covered = historyMaxStreamSeq >= m.streamSeq;
53929
53987
  } else {
53930
- 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;
53931
53989
  }
53932
53990
  if (covered) return false;
53933
53991
  }
@@ -53983,7 +54041,7 @@ function normalizeHistoricalMessageData(md) {
53983
54041
  function isHistoricalUserTurn(m) {
53984
54042
  return !!m.owner;
53985
54043
  }
53986
- 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";
53987
54045
  var THINK_MS = 550;
53988
54046
  var TOKEN_MS = 55;
53989
54047
  var USER_MS = 480;
@@ -54230,7 +54288,7 @@ function useChatDialogManager({
54230
54288
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
54231
54289
  if (restoreTarget) {
54232
54290
  try {
54233
- await _optionalChain([unarchiveDialog, 'optionalCall', _1513 => _1513(restoreTarget.id)]);
54291
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1518 => _1518(restoreTarget.id)]);
54234
54292
  } catch (err) {
54235
54293
  console.error("[useChatDialogManager] unarchive failed:", err);
54236
54294
  return;
@@ -54396,7 +54454,7 @@ function SourceChip({
54396
54454
  onClose,
54397
54455
  onDiscuss
54398
54456
  }) {
54399
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
54457
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
54400
54458
  const router = _chunkSSJNN5BScjs.useRouter.call(void 0, );
54401
54459
  const cta = resolveSourceRowCTA(
54402
54460
  {
@@ -54642,7 +54700,7 @@ function EmbeddableChatInner({
54642
54700
  contextMemory
54643
54701
  }) {
54644
54702
  const shellLess = shell === "none";
54645
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
54703
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
54646
54704
  const source = _nullishCoalesce(runtime.source, () => ( ""));
54647
54705
  const commandsUrl = runtime.endpoints.commandsUrl;
54648
54706
  const { attachmentsEnabled, user: identityUser } = useChatIdentity();
@@ -54711,7 +54769,7 @@ function EmbeddableChatInner({
54711
54769
  }),
54712
54770
  [commandsUrl]
54713
54771
  );
54714
- 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;
54715
54773
  const effectiveModes = _react.useMemo.call(void 0, () => {
54716
54774
  if (modes) return modes;
54717
54775
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -54720,19 +54778,19 @@ function EmbeddableChatInner({
54720
54778
  const mingoCaps = _react.useMemo.call(void 0, () => {
54721
54779
  if (mingoState) {
54722
54780
  return {
54723
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1521 => _1521.canRename]), () => ( false)),
54724
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1522 => _1522.canArchive]), () => ( false)),
54725
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1523 => _1523.fetchArchivedDialogs]),
54726
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1524 => _1524.unarchiveDialog]),
54727
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1525 => _1525.searchQuery]),
54728
- 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])
54729
54787
  };
54730
54788
  }
54731
54789
  return {
54732
- canRename: !!_optionalChain([effectiveModes, 'access', _1527 => _1527.mingo, 'optionalAccess', _1528 => _1528.renameDialog]),
54733
- canArchive: !!_optionalChain([effectiveModes, 'access', _1529 => _1529.mingo, 'optionalAccess', _1530 => _1530.archiveDialog]),
54734
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1531 => _1531.mingo, 'optionalAccess', _1532 => _1532.fetchArchivedDialogs]),
54735
- 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]),
54736
54794
  searchQuery: void 0,
54737
54795
  onSearchChange: void 0
54738
54796
  };
@@ -54746,7 +54804,7 @@ function EmbeddableChatInner({
54746
54804
  if (controlledActiveMode === void 0) {
54747
54805
  setUncontrolledActiveMode(next);
54748
54806
  }
54749
- _optionalChain([onActiveModeChange, 'optionalCall', _1535 => _1535(next)]);
54807
+ _optionalChain([onActiveModeChange, 'optionalCall', _1540 => _1540(next)]);
54750
54808
  },
54751
54809
  [controlledActiveMode, onActiveModeChange]
54752
54810
  );
@@ -54768,7 +54826,7 @@ function EmbeddableChatInner({
54768
54826
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
54769
54827
  const effectiveAssistantName = emptyStateConfig.name;
54770
54828
  const effectiveAssistantIcon = emptyStateConfig.icon;
54771
- 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)));
54772
54830
  const {
54773
54831
  messages: rawMessages,
54774
54832
  isLoading: chatLoading,
@@ -54810,7 +54868,7 @@ function EmbeddableChatInner({
54810
54868
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
54811
54869
  guidePromptSentRef.current = true;
54812
54870
  void sendMessage(guidePendingPrompt);
54813
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1537 => _1537()]);
54871
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1542 => _1542()]);
54814
54872
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
54815
54873
  const {
54816
54874
  attachments: stagedAttachments,
@@ -54821,7 +54879,7 @@ function EmbeddableChatInner({
54821
54879
  clear: clearAttachments
54822
54880
  } = useChatAttachments();
54823
54881
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
54824
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1538 => _1538.maxItems]), () => ( 10));
54882
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1543 => _1543.maxItems]), () => ( 10));
54825
54883
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
54826
54884
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
54827
54885
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -54838,10 +54896,10 @@ function EmbeddableChatInner({
54838
54896
  }, [activeDialogId, activeMode]);
54839
54897
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
54840
54898
  const m = /* @__PURE__ */ new Map();
54841
- 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);
54842
54900
  return m;
54843
- }, [_optionalChain([contextPicker, 'optionalAccess', _1540 => _1540.entityTypes])]);
54844
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1541 => _1541.entityTypes]);
54901
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1545 => _1545.entityTypes])]);
54902
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1546 => _1546.entityTypes]);
54845
54903
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
54846
54904
  const byType = /* @__PURE__ */ new Map();
54847
54905
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -54853,7 +54911,7 @@ function EmbeddableChatInner({
54853
54911
  if (mentionActiveRef.current) {
54854
54912
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
54855
54913
  if (contextItems.length >= contextMaxItems) return;
54856
- _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), {
54857
54915
  label: item.label,
54858
54916
  icon: resolveContextIcon(item)
54859
54917
  })]);
@@ -54875,9 +54933,9 @@ function EmbeddableChatInner({
54875
54933
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
54876
54934
  if (mentionKeysRef.current.has(key)) {
54877
54935
  mentionKeysRef.current.delete(key);
54878
- 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()]), () => ( ""));
54879
54937
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
54880
- _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)]);
54881
54939
  }
54882
54940
  }, [mentionMarkerByType]);
54883
54941
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -54894,7 +54952,7 @@ function EmbeddableChatInner({
54894
54952
  }, []);
54895
54953
  const closeContextPicker = _react.useCallback.call(void 0, () => {
54896
54954
  if (mentionActiveRef.current) {
54897
- _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()]);
54898
54956
  }
54899
54957
  setContextPickerOpen(false);
54900
54958
  setMentionQuery(null);
@@ -54928,8 +54986,8 @@ function EmbeddableChatInner({
54928
54986
  [effectiveAssistantIcon]
54929
54987
  );
54930
54988
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
54931
- 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;
54932
- 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;
54933
54991
  const messages = _react.useMemo.call(void 0, () => {
54934
54992
  const cache = timestampCacheRef.current;
54935
54993
  const seenIds = /* @__PURE__ */ new Set();
@@ -55109,9 +55167,9 @@ function EmbeddableChatInner({
55109
55167
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
55110
55168
  const lastSources = _react.useMemo.call(void 0, () => {
55111
55169
  if (chatLoading) return void 0;
55112
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1562 => _1562.sources]);
55170
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1567 => _1567.sources]);
55113
55171
  if (!sources || sources.length === 0) return void 0;
55114
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1563 => _1563.content]) || "";
55172
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1568 => _1568.content]) || "";
55115
55173
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
55116
55174
  (m) => parseInt(m[1], 10)
55117
55175
  );
@@ -55130,7 +55188,7 @@ function EmbeddableChatInner({
55130
55188
  const el = panelMeasureRef.current;
55131
55189
  if (!el || typeof ResizeObserver === "undefined") return;
55132
55190
  const ro = new ResizeObserver((entries) => {
55133
- 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]);
55134
55192
  if (typeof w === "number") setPanelWidth(w);
55135
55193
  });
55136
55194
  ro.observe(el);
@@ -55142,7 +55200,7 @@ function EmbeddableChatInner({
55142
55200
  try {
55143
55201
  if (window.localStorage.getItem(RAIL_COLLAPSED_STORAGE_KEY) === "1")
55144
55202
  setRailCollapsed(true);
55145
- } catch (e97) {
55203
+ } catch (e95) {
55146
55204
  }
55147
55205
  }, []);
55148
55206
  const toggleRailCollapsed = _react.useCallback.call(void 0, () => {
@@ -55150,7 +55208,7 @@ function EmbeddableChatInner({
55150
55208
  const next = !prev;
55151
55209
  try {
55152
55210
  window.localStorage.setItem(RAIL_COLLAPSED_STORAGE_KEY, next ? "1" : "0");
55153
- } catch (e98) {
55211
+ } catch (e96) {
55154
55212
  }
55155
55213
  return next;
55156
55214
  });
@@ -55169,16 +55227,16 @@ function EmbeddableChatInner({
55169
55227
  const isMingoMode = activeMode === "mingo";
55170
55228
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
55171
55229
  const headerShowBack = hasConversation || guideCanReturnToMingo;
55172
- 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";
55173
55231
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
55174
55232
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
55175
55233
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
55176
55234
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
55177
55235
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
55178
55236
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
55179
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1568 => _1568.owner]) : void 0;
55180
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1569 => _1569.name, 'optionalAccess', _1570 => _1570.trim, 'call', _1571 => _1571()]) || headerUserName;
55181
- 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;
55182
55240
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
55183
55241
  const handleNewChat = _react.useCallback.call(void 0, () => {
55184
55242
  resetToNewChat();
@@ -55537,9 +55595,9 @@ function EmbeddableChatInner({
55537
55595
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
55538
55596
  subtitleLoading: emptyStateLoading,
55539
55597
  ...guideWelcome,
55540
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1580 => _1580.title]))),
55541
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1581 => _1581.icon]))),
55542
- 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)),
55543
55601
  onQuickAction: (action) => {
55544
55602
  setQuickActionPreview(null);
55545
55603
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -55619,8 +55677,8 @@ function EmbeddableChatInner({
55619
55677
  selectedContextItems: contextItems,
55620
55678
  onToggleContextItem: toggleContextItem,
55621
55679
  onRemoveContextItem: removeContextItem,
55622
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1583 => _1583.items]),
55623
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1584 => _1584.onRemove]),
55680
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1588 => _1588.items]),
55681
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1589 => _1589.onRemove]),
55624
55682
  contextPickerOpen,
55625
55683
  onOpenContextPicker: openContextPicker,
55626
55684
  onCloseContextPicker: closeContextPicker,
@@ -56739,5 +56797,5 @@ function EmbeddableChatInner({
56739
56797
 
56740
56798
 
56741
56799
 
56742
- 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;
56743
- //# sourceMappingURL=chunk-TJSJPOPL.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