@flamingo-stack/openframe-frontend-core 0.0.498 → 0.0.499

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 (109) hide show
  1. package/dist/{chunk-MVORKLWX.cjs → chunk-2CEDCSYD.cjs} +32 -32
  2. package/dist/{chunk-MVORKLWX.cjs.map → chunk-2CEDCSYD.cjs.map} +1 -1
  3. package/dist/{chunk-G6ARA2HD.js → chunk-3AXJESKA.js} +3 -3
  4. package/dist/{chunk-THC3K262.cjs → chunk-44YXQBNM.cjs} +3 -3
  5. package/dist/{chunk-THC3K262.cjs.map → chunk-44YXQBNM.cjs.map} +1 -1
  6. package/dist/{chunk-TTYJAZ7P.cjs → chunk-47LHA4QI.cjs} +3 -3
  7. package/dist/{chunk-TTYJAZ7P.cjs.map → chunk-47LHA4QI.cjs.map} +1 -1
  8. package/dist/{chunk-XI44QDCD.cjs → chunk-6QVV3OLL.cjs} +40 -40
  9. package/dist/{chunk-XI44QDCD.cjs.map → chunk-6QVV3OLL.cjs.map} +1 -1
  10. package/dist/{chunk-4NIBKEED.cjs → chunk-7DUMNMED.cjs} +12 -12
  11. package/dist/{chunk-4NIBKEED.cjs.map → chunk-7DUMNMED.cjs.map} +1 -1
  12. package/dist/{chunk-6GAJETAP.js → chunk-AEZ5BXLJ.js} +4 -4
  13. package/dist/{chunk-MF3VJKHT.js → chunk-BAMTV6GL.js} +2 -2
  14. package/dist/{chunk-2R25CGSO.cjs → chunk-EP7ELZTU.cjs} +73 -73
  15. package/dist/{chunk-2R25CGSO.cjs.map → chunk-EP7ELZTU.cjs.map} +1 -1
  16. package/dist/{chunk-ZHNWWFIM.cjs → chunk-FLZTUE2T.cjs} +5 -5
  17. package/dist/{chunk-ZHNWWFIM.cjs.map → chunk-FLZTUE2T.cjs.map} +1 -1
  18. package/dist/{chunk-P47NN7RY.js → chunk-GSONSIWG.js} +28 -3
  19. package/dist/chunk-GSONSIWG.js.map +1 -0
  20. package/dist/{chunk-6WTCJI5R.js → chunk-IUP26OXG.js} +2 -2
  21. package/dist/{chunk-W24U7ZUV.cjs → chunk-KQKU4VXB.cjs} +40 -15
  22. package/dist/chunk-KQKU4VXB.cjs.map +1 -0
  23. package/dist/{chunk-ZBTIN7RC.cjs → chunk-NSDDV4F6.cjs} +40 -40
  24. package/dist/{chunk-ZBTIN7RC.cjs.map → chunk-NSDDV4F6.cjs.map} +1 -1
  25. package/dist/{chunk-KK4M4URN.js → chunk-O7JY7LRP.js} +3 -3
  26. package/dist/{chunk-XSNKSMB3.js → chunk-Q66TP2LY.js} +5 -5
  27. package/dist/{chunk-4EHQEMN4.cjs → chunk-Q6B7VAHN.cjs} +18 -18
  28. package/dist/{chunk-4EHQEMN4.cjs.map → chunk-Q6B7VAHN.cjs.map} +1 -1
  29. package/dist/{chunk-WEUNPE3S.js → chunk-QL5YB4F7.js} +2 -2
  30. package/dist/{chunk-OYPUQJJ2.js → chunk-QUFB5SDZ.js} +41 -7
  31. package/dist/{chunk-OYPUQJJ2.js.map → chunk-QUFB5SDZ.js.map} +1 -1
  32. package/dist/{chunk-2OPD6KRB.js → chunk-QWCW4Z75.js} +5 -5
  33. package/dist/{chunk-VLWVM6ZS.js → chunk-RAL274JM.js} +3 -3
  34. package/dist/{chunk-A3Z63ZL5.cjs → chunk-RBZOUGCL.cjs} +73 -73
  35. package/dist/{chunk-A3Z63ZL5.cjs.map → chunk-RBZOUGCL.cjs.map} +1 -1
  36. package/dist/{chunk-K5HHLTSG.js → chunk-SSYE7BQC.js} +2 -2
  37. package/dist/{chunk-5ZL7PA63.js → chunk-TTJSLIXA.js} +2 -2
  38. package/dist/{chunk-W4XZ3FBZ.js → chunk-UD4IT3GY.js} +6 -6
  39. package/dist/{chunk-ZEZTITQZ.cjs → chunk-V2APV4E4.cjs} +142 -108
  40. package/dist/chunk-V2APV4E4.cjs.map +1 -0
  41. package/dist/{chunk-T67MZAQJ.cjs → chunk-W42256FC.cjs} +29 -29
  42. package/dist/{chunk-T67MZAQJ.cjs.map → chunk-W42256FC.cjs.map} +1 -1
  43. package/dist/{chunk-ZTE32A7C.cjs → chunk-WJ2S6I34.cjs} +7 -7
  44. package/dist/{chunk-ZTE32A7C.cjs.map → chunk-WJ2S6I34.cjs.map} +1 -1
  45. package/dist/{chunk-MSB3PEPP.cjs → chunk-XV22URNM.cjs} +15 -15
  46. package/dist/{chunk-MSB3PEPP.cjs.map → chunk-XV22URNM.cjs.map} +1 -1
  47. package/dist/{chunk-VOOEX4IZ.js → chunk-YDNIQLAP.js} +6 -6
  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-jetstream-dialog-subscription.d.ts +5 -2
  51. package/dist/components/chat/hooks/use-jetstream-dialog-subscription.d.ts.map +1 -1
  52. package/dist/components/chat/index.cjs +4 -4
  53. package/dist/components/chat/index.js +3 -3
  54. package/dist/components/chat/types/api.types.d.ts +9 -2
  55. package/dist/components/chat/types/api.types.d.ts.map +1 -1
  56. package/dist/components/contact/index.cjs +5 -5
  57. package/dist/components/contact/index.js +4 -4
  58. package/dist/components/docs/index.cjs +7 -7
  59. package/dist/components/docs/index.js +6 -6
  60. package/dist/components/embeds/index.cjs +5 -5
  61. package/dist/components/embeds/index.js +4 -4
  62. package/dist/components/faq/index.cjs +6 -6
  63. package/dist/components/faq/index.js +5 -5
  64. package/dist/components/features/index.cjs +4 -4
  65. package/dist/components/features/index.js +3 -3
  66. package/dist/components/help-center-pages/index.cjs +23 -23
  67. package/dist/components/help-center-pages/index.js +14 -14
  68. package/dist/components/index.cjs +137 -137
  69. package/dist/components/index.js +12 -12
  70. package/dist/components/navigation/index.cjs +4 -4
  71. package/dist/components/navigation/index.js +3 -3
  72. package/dist/components/onboarding-guides/index.cjs +8 -8
  73. package/dist/components/onboarding-guides/index.js +7 -7
  74. package/dist/components/related-content/index.cjs +6 -6
  75. package/dist/components/related-content/index.js +5 -5
  76. package/dist/components/tickets/index.cjs +7 -7
  77. package/dist/components/tickets/index.js +6 -6
  78. package/dist/components/ui/index.cjs +4 -4
  79. package/dist/components/ui/index.js +3 -3
  80. package/dist/hooks/index.cjs +3 -3
  81. package/dist/hooks/index.js +2 -2
  82. package/dist/index.cjs +4 -4
  83. package/dist/index.js +3 -3
  84. package/dist/nats/index.cjs +2 -2
  85. package/dist/nats/index.js +1 -1
  86. package/dist/nats/nats.d.ts +18 -1
  87. package/dist/nats/nats.d.ts.map +1 -1
  88. package/package.json +1 -1
  89. package/src/components/chat/hooks/.use-jetstream-dialog-subscription.md +7 -3
  90. package/src/components/chat/hooks/use-jetstream-dialog-subscription.ts +77 -5
  91. package/src/components/chat/types/api.types.ts +9 -2
  92. package/src/nats/.nats.md +2 -2
  93. package/src/nats/nats.ts +70 -5
  94. package/dist/chunk-P47NN7RY.js.map +0 -1
  95. package/dist/chunk-W24U7ZUV.cjs.map +0 -1
  96. package/dist/chunk-ZEZTITQZ.cjs.map +0 -1
  97. /package/dist/{chunk-G6ARA2HD.js.map → chunk-3AXJESKA.js.map} +0 -0
  98. /package/dist/{chunk-6GAJETAP.js.map → chunk-AEZ5BXLJ.js.map} +0 -0
  99. /package/dist/{chunk-MF3VJKHT.js.map → chunk-BAMTV6GL.js.map} +0 -0
  100. /package/dist/{chunk-6WTCJI5R.js.map → chunk-IUP26OXG.js.map} +0 -0
  101. /package/dist/{chunk-KK4M4URN.js.map → chunk-O7JY7LRP.js.map} +0 -0
  102. /package/dist/{chunk-XSNKSMB3.js.map → chunk-Q66TP2LY.js.map} +0 -0
  103. /package/dist/{chunk-WEUNPE3S.js.map → chunk-QL5YB4F7.js.map} +0 -0
  104. /package/dist/{chunk-2OPD6KRB.js.map → chunk-QWCW4Z75.js.map} +0 -0
  105. /package/dist/{chunk-VLWVM6ZS.js.map → chunk-RAL274JM.js.map} +0 -0
  106. /package/dist/{chunk-K5HHLTSG.js.map → chunk-SSYE7BQC.js.map} +0 -0
  107. /package/dist/{chunk-5ZL7PA63.js.map → chunk-TTJSLIXA.js.map} +0 -0
  108. /package/dist/{chunk-W4XZ3FBZ.js.map → chunk-UD4IT3GY.js.map} +0 -0
  109. /package/dist/{chunk-VOOEX4IZ.js.map → chunk-YDNIQLAP.js.map} +0 -0
@@ -35,7 +35,7 @@
35
35
 
36
36
 
37
37
 
38
- var _chunkTTYJAZ7Pcjs = require('./chunk-TTYJAZ7P.cjs');
38
+ var _chunk47LHA4QIcjs = require('./chunk-47LHA4QI.cjs');
39
39
 
40
40
 
41
41
 
@@ -259,7 +259,7 @@ var _chunkA62C4C4Vcjs = require('./chunk-A62C4C4V.cjs');
259
259
 
260
260
 
261
261
 
262
- var _chunkW24U7ZUVcjs = require('./chunk-W24U7ZUV.cjs');
262
+ var _chunkKQKU4VXBcjs = require('./chunk-KQKU4VXB.cjs');
263
263
 
264
264
 
265
265
  var _chunkVRHGVLSLcjs = require('./chunk-VRHGVLSL.cjs');
@@ -809,7 +809,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution, showExe
809
809
  onClick: onToggle,
810
810
  className: "flex gap-[var(--spacing-system-xsf)] items-start w-full p-[var(--spacing-system-sf)] cursor-pointer text-left",
811
811
  children: [
812
- /* @__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, _chunkTTYJAZ7Pcjs.ToolIcon, { toolType, size: 16 }) }),
812
+ /* @__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, _chunk47LHA4QIcjs.ToolIcon, { toolType, size: 16 }) }),
813
813
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
814
814
  "div",
815
815
  {
@@ -1473,7 +1473,7 @@ var MermaidDiagram = ({ chart }) => {
1473
1473
  ) }) });
1474
1474
  };
1475
1475
  var MarkdownContentImage = ({ src, alt }) => {
1476
- const resolvedSrc = _chunkTTYJAZ7Pcjs.useAuthedImageSrc.call(void 0, src);
1476
+ const resolvedSrc = _chunk47LHA4QIcjs.useAuthedImageSrc.call(void 0, src);
1477
1477
  if (!resolvedSrc) return null;
1478
1478
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1479
1479
  _chunkXL4V2PYGcjs.next_image_default,
@@ -2277,7 +2277,7 @@ function formatBioText(aboutHtml, fallback = "") {
2277
2277
 
2278
2278
  var SquareAvatar = React2.memo(React2.forwardRef(
2279
2279
  ({ className, src, alt, size: size2 = "md", sizePx, fallback, variant = "square", initialsClassName, style, ...props }, ref) => {
2280
- const resolvedSrc = _chunkTTYJAZ7Pcjs.useAuthedImageSrc.call(void 0, src);
2280
+ const resolvedSrc = _chunk47LHA4QIcjs.useAuthedImageSrc.call(void 0, src);
2281
2281
  const sizeClasses2 = {
2282
2282
  sm: "h-8 w-8",
2283
2283
  md: "h-10 w-10",
@@ -4965,7 +4965,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
4965
4965
  return null;
4966
4966
  };
4967
4967
  const headerContent = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
4968
- !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, _chunkTTYJAZ7Pcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4968
+ !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, _chunk47LHA4QIcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4969
4969
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4970
4970
  "div",
4971
4971
  {
@@ -6793,7 +6793,7 @@ function CloneCopy({
6793
6793
  style,
6794
6794
  children
6795
6795
  }) {
6796
- const ref = _chunkTTYJAZ7Pcjs.useSuppressCloneFocus.call(void 0, true);
6796
+ const ref = _chunk47LHA4QIcjs.useSuppressCloneFocus.call(void 0, true);
6797
6797
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, "aria-hidden": true, "data-marquee-copy": "clone", className, style, children });
6798
6798
  }
6799
6799
  function MarqueeWall({
@@ -6820,7 +6820,7 @@ function MarqueeWall({
6820
6820
  const containerRef = React12.useRef(null);
6821
6821
  const trackRef = React12.useRef(null);
6822
6822
  const copyRef = React12.useRef(null);
6823
- const reducedMotion = _nullishCoalesce(_chunkTTYJAZ7Pcjs.useMediaQuery.call(void 0, "(prefers-reduced-motion: reduce)"), () => ( false));
6823
+ const reducedMotion = _nullishCoalesce(_chunk47LHA4QIcjs.useMediaQuery.call(void 0, "(prefers-reduced-motion: reduce)"), () => ( false));
6824
6824
  const [overflows, setOverflows] = React12.useState(false);
6825
6825
  const copySizeRef = React12.useRef(0);
6826
6826
  const wrapSizeRef = React12.useRef(0);
@@ -6853,7 +6853,7 @@ function MarqueeWall({
6853
6853
  if (!el || typeof IntersectionObserver === "undefined") return;
6854
6854
  const io = new IntersectionObserver(
6855
6855
  (entries) => setNearViewport(_nullishCoalesce(_optionalChain([entries, 'access', _123 => _123[0], 'optionalAccess', _124 => _124.isIntersecting]), () => ( true))),
6856
- { rootMargin: _chunkTTYJAZ7Pcjs.NEAR_VIEWPORT_ROOT_MARGIN }
6856
+ { rootMargin: _chunk47LHA4QIcjs.NEAR_VIEWPORT_ROOT_MARGIN }
6857
6857
  );
6858
6858
  io.observe(el);
6859
6859
  return () => io.disconnect();
@@ -6870,7 +6870,7 @@ function MarqueeWall({
6870
6870
  if (e.pointerType === "touch") return;
6871
6871
  pointerInsideRef.current = false;
6872
6872
  }, []);
6873
- _chunkTTYJAZ7Pcjs.useResetOnPageHidden.call(void 0, clearPointerInside);
6873
+ _chunk47LHA4QIcjs.useResetOnPageHidden.call(void 0, clearPointerInside);
6874
6874
  const draggingRef = React12.useRef(false);
6875
6875
  const dragSuppressUntilRef = React12.useRef(0);
6876
6876
  const applyTransform = React12.useCallback(
@@ -6925,7 +6925,7 @@ function MarqueeWall({
6925
6925
  }
6926
6926
  };
6927
6927
  }, [sync, applyTransform]);
6928
- const { posRef, wrap } = _chunkTTYJAZ7Pcjs.useMarqueeEngine.call(void 0, {
6928
+ const { posRef, wrap } = _chunk47LHA4QIcjs.useMarqueeEngine.call(void 0, {
6929
6929
  active: marqueeActive && nearViewport && isDriver,
6930
6930
  speed,
6931
6931
  isPaused: (now) => pauseOnHover && pointerInsideRef.current || draggingRef.current || now < dragSuppressUntilRef.current || document.visibilityState === "hidden",
@@ -8705,7 +8705,7 @@ function ChatHeaderSearchField({
8705
8705
  className
8706
8706
  }) {
8707
8707
  const [value, setValue] = React26.useState(_nullishCoalesce(initialValue, () => ( "")));
8708
- const debounced = _chunkTTYJAZ7Pcjs.useDebounce.call(void 0, value, 300);
8708
+ const debounced = _chunk47LHA4QIcjs.useDebounce.call(void 0, value, 300);
8709
8709
  const lastEmitted = React26.useRef(_nullishCoalesce(initialValue, () => ( "")));
8710
8710
  const [exiting, setExiting] = React26.useState(false);
8711
8711
  const collapsedRef = React26.useRef(false);
@@ -10052,7 +10052,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
10052
10052
  return;
10053
10053
  }
10054
10054
  const target = stripSameOriginToPath(href);
10055
- if (target.includes("#") && _chunkTTYJAZ7Pcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkTTYJAZ7Pcjs.STICKY_HEADER_OFFSET_PX })) {
10055
+ if (target.includes("#") && _chunk47LHA4QIcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunk47LHA4QIcjs.STICKY_HEADER_OFFSET_PX })) {
10056
10056
  return;
10057
10057
  }
10058
10058
  const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _177 => _177.navigation, 'access', _178 => _178.navigate, 'optionalCall', _179 => _179({ href, path, targetPlatform })]), () => ( false));
@@ -10521,7 +10521,7 @@ function EntityPortraitCard({
10521
10521
  setIsWide(img.naturalWidth / img.naturalHeight >= MIN_WIDE_RATIO);
10522
10522
  }
10523
10523
  };
10524
- const edgeColor = _chunkTTYJAZ7Pcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--color-bg-surface)");
10524
+ const edgeColor = _chunk47LHA4QIcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--color-bg-surface)");
10525
10525
  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: [
10526
10526
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10527
10527
  "div",
@@ -10828,7 +10828,7 @@ function AdminContentCard({
10828
10828
  const [imageError, setImageError] = _react.useState.call(void 0, false);
10829
10829
  const [imageLoaded, setImageLoaded] = _react.useState.call(void 0, false);
10830
10830
  const displayUrl = imageUrl && !imageError ? imageUrl : placeholderUrl;
10831
- const imageBgColor = _chunkTTYJAZ7Pcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
10831
+ const imageBgColor = _chunk47LHA4QIcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
10832
10832
  _react.useEffect.call(void 0, () => {
10833
10833
  setImageLoaded(false);
10834
10834
  }, [displayUrl]);
@@ -11107,7 +11107,7 @@ function useVideoWarmup({
11107
11107
  const runtime = _chunkLILQJ3UZcjs.useChatRuntime.call(void 0, );
11108
11108
  const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _192 => _192.endpoints, 'access', _193 => _193.supabaseStorageOrigin])));
11109
11109
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
11110
- const { ref, isNear } = _chunkTTYJAZ7Pcjs.useNearViewport.call(void 0, nearMargin);
11110
+ const { ref, isNear } = _chunk47LHA4QIcjs.useNearViewport.call(void 0, nearMargin);
11111
11111
  _react.useEffect.call(void 0, () => {
11112
11112
  if (!isNear || !videoUrl || !resolvedOrigin) return;
11113
11113
  if (saveDataEnabled()) return;
@@ -11897,7 +11897,7 @@ function VideoHoverPreviewSurface({
11897
11897
  if (!el || typeof IntersectionObserver === "undefined") return;
11898
11898
  const io = new IntersectionObserver(
11899
11899
  (entries) => setIsNear(_nullishCoalesce(_optionalChain([entries, 'access', _273 => _273[0], 'optionalAccess', _274 => _274.isIntersecting]), () => ( false))),
11900
- { rootMargin: _chunkTTYJAZ7Pcjs.NEAR_VIEWPORT_ROOT_MARGIN }
11900
+ { rootMargin: _chunk47LHA4QIcjs.NEAR_VIEWPORT_ROOT_MARGIN }
11901
11901
  );
11902
11902
  io.observe(el);
11903
11903
  return () => io.disconnect();
@@ -12125,7 +12125,7 @@ function ManagedCell({
12125
12125
  }) {
12126
12126
  const hintedWidth = React124.default.isValidElement(item) ? item.props["data-strip-cell-width"] : void 0;
12127
12127
  const desktopWidth = typeof hintedWidth === "number" ? hintedWidth : cardWidthDesktop;
12128
- const cloneRef = _chunkTTYJAZ7Pcjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
12128
+ const cloneRef = _chunk47LHA4QIcjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
12129
12129
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12130
12130
  "div",
12131
12131
  {
@@ -12288,7 +12288,7 @@ function CardsStrip(props) {
12288
12288
  const current = activeKeyRef.current;
12289
12289
  if (current !== null) deactivate(current);
12290
12290
  }, [deactivate]);
12291
- _chunkTTYJAZ7Pcjs.useResetOnPageHidden.call(void 0, clearHover);
12291
+ _chunk47LHA4QIcjs.useResetOnPageHidden.call(void 0, clearHover);
12292
12292
  const syncHoverIfScrolled = _react.useCallback.call(void 0, () => {
12293
12293
  const scroller = scrollerRef.current;
12294
12294
  if (!scroller) return;
@@ -12301,7 +12301,7 @@ function CardsStrip(props) {
12301
12301
  const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _285 => _285.current, 'optionalAccess', _286 => _286.clientWidth]), () => ( 0));
12302
12302
  return Math.max(0, Math.min(200, half / 4, half - viewport - TRACK_GAP_PX - 1));
12303
12303
  }, []);
12304
- const { posRef: marqueePosRef, glideBy } = _chunkTTYJAZ7Pcjs.useMarqueeEngine.call(void 0, {
12304
+ const { posRef: marqueePosRef, glideBy } = _chunk47LHA4QIcjs.useMarqueeEngine.call(void 0, {
12305
12305
  // Viewport gates `active` (the rAF fully stops off-screen — a paused
12306
12306
  // engine would keep scheduling frames forever), same treatment as
12307
12307
  // <MarqueeWall>; the envelope persists, so re-entry resumes at cruise.
@@ -12341,7 +12341,7 @@ function CardsStrip(props) {
12341
12341
  }
12342
12342
  return next;
12343
12343
  });
12344
- }, { rootMargin: _chunkTTYJAZ7Pcjs.NEAR_VIEWPORT_ROOT_MARGIN });
12344
+ }, { rootMargin: _chunk47LHA4QIcjs.NEAR_VIEWPORT_ROOT_MARGIN });
12345
12345
  cardObserverRef.current = io;
12346
12346
  cardElIdxRef.current.forEach((_idx, el) => io.observe(el));
12347
12347
  return () => {
@@ -13489,7 +13489,7 @@ function useEntityCardPlaceholder({
13489
13489
  siteName = "",
13490
13490
  aspect = "wide"
13491
13491
  }) {
13492
- const derived = _chunkTTYJAZ7Pcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
13492
+ const derived = _chunk47LHA4QIcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
13493
13493
  return placeholderUrl !== void 0 ? placeholderUrl : derived;
13494
13494
  }
13495
13495
 
@@ -14807,7 +14807,7 @@ function AutocompleteInner(props, ref) {
14807
14807
  }, [valueArray, options]);
14808
14808
  const selectedOption = !multiple && selectedOptions.length > 0 ? selectedOptions[0] : null;
14809
14809
  const inputPlaceholder = multiple ? valueArray.length === 0 ? placeholder : "Add More..." : placeholder;
14810
- const autoLimitTags = _chunkTTYJAZ7Pcjs.useAutoLimitTags.call(void 0, {
14810
+ const autoLimitTags = _chunk47LHA4QIcjs.useAutoLimitTags.call(void 0, {
14811
14811
  count: multiple ? selectedOptions.length : 0,
14812
14812
  limitTags: multiple ? limitTagsProp : 0,
14813
14813
  placeholder: inputPlaceholder
@@ -15596,7 +15596,7 @@ function DatePickerCalendar({
15596
15596
  fluid = false
15597
15597
  }) {
15598
15598
  const today = /* @__PURE__ */ new Date();
15599
- const isMdUp = _nullishCoalesce(_chunkTTYJAZ7Pcjs.useMdUp.call(void 0, ), () => ( true));
15599
+ const isMdUp = _nullishCoalesce(_chunk47LHA4QIcjs.useMdUp.call(void 0, ), () => ( true));
15600
15600
  const monthsToShow = isMdUp ? numberOfMonths : 1;
15601
15601
  const [draftRange, setDraftRange] = React46.useState(
15602
15602
  mode === "range" ? selected : void 0
@@ -16628,7 +16628,7 @@ var ProgressBar = ({
16628
16628
  mobileHeight = 8,
16629
16629
  inverted = false
16630
16630
  }) => {
16631
- const isMdUp = _nullishCoalesce(_chunkTTYJAZ7Pcjs.useMdUp.call(void 0, ), () => ( true));
16631
+ const isMdUp = _nullishCoalesce(_chunk47LHA4QIcjs.useMdUp.call(void 0, ), () => ( true));
16632
16632
  const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
16633
16633
  const effectiveHeight = isMdUp ? height : mobileHeight;
16634
16634
  const containerRef = _react.useRef.call(void 0, null);
@@ -16755,7 +16755,7 @@ function InfoCardFooter({ footer }) {
16755
16755
  ] });
16756
16756
  }
16757
16757
  function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
16758
- const { copy, copied } = _chunkTTYJAZ7Pcjs.useCopyToClipboard.call(void 0, );
16758
+ const { copy, copied } = _chunk47LHA4QIcjs.useCopyToClipboard.call(void 0, );
16759
16759
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)] self-stretch w-full", children: [
16760
16760
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary whitespace-nowrap", children: showLabel ? label : "" }),
16761
16761
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 h-px bg-ods-divider" }),
@@ -19166,7 +19166,7 @@ var DrawerContent = React67.forwardRef(
19166
19166
  const resolvedSide = _nullishCoalesce(side, () => ( "right"));
19167
19167
  const isHorizontal = HORIZONTAL_SIDES.has(resolvedSide);
19168
19168
  const initialSize = _nullishCoalesce(defaultSize, () => ( (isHorizontal ? 560 : 480)));
19169
- const headerHeight = _chunkTTYJAZ7Pcjs.useHeaderHeight.call(void 0, );
19169
+ const headerHeight = _chunk47LHA4QIcjs.useHeaderHeight.call(void 0, );
19170
19170
  const [isMobile, setIsMobile] = React67.useState(false);
19171
19171
  React67.useEffect(() => {
19172
19172
  if (typeof window === "undefined") return;
@@ -21481,7 +21481,7 @@ var OGLinkPreview = ({
21481
21481
  const hasImage = !!resolvedImageUrl;
21482
21482
  const isFallbackImage = resolvedImageUrl === fallbackImage;
21483
21483
  const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
21484
- const bgColor = _chunkTTYJAZ7Pcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--color-bg-surface)");
21484
+ const bgColor = _chunk47LHA4QIcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--color-bg-surface)");
21485
21485
  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: [
21486
21486
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[200px] h-full flex-shrink-0 bg-ods-border animate-pulse" }),
21487
21487
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 p-3 flex flex-col justify-center", children: [
@@ -23988,7 +23988,7 @@ function ListPageLayout({
23988
23988
  }) {
23989
23989
  const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
23990
23990
  const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
23991
- const debouncedSearchValue = _chunkTTYJAZ7Pcjs.useDebounce.call(void 0, localSearchValue, 500);
23991
+ const debouncedSearchValue = _chunk47LHA4QIcjs.useDebounce.call(void 0, localSearchValue, 500);
23992
23992
  _react.useEffect.call(void 0, () => {
23993
23993
  setLocalSearchValue(searchValue);
23994
23994
  }, [searchValue]);
@@ -24069,7 +24069,7 @@ _chunkA62C4C4Vcjs.init_cn.call(void 0, );
24069
24069
  _chunkA62C4C4Vcjs.init_cn.call(void 0, );
24070
24070
 
24071
24071
  function EntityImage({ src, alt, fallbackText, className }) {
24072
- const resolvedSrc = _chunkTTYJAZ7Pcjs.useAuthedImageSrc.call(void 0, src);
24072
+ const resolvedSrc = _chunk47LHA4QIcjs.useAuthedImageSrc.call(void 0, src);
24073
24073
  const [imageFailed, setImageFailed] = React124.default.useState(false);
24074
24074
  React124.default.useEffect(() => {
24075
24075
  setImageFailed(false);
@@ -24300,8 +24300,8 @@ function TitleBlock({
24300
24300
  const titleClass = titleSize === "h1" ? "text-h1" : "text-h2";
24301
24301
  const titleOverflowClass = titleWrap ? "break-words" : "truncate";
24302
24302
  const skeletonSize = TITLE_SKELETON_SIZE[titleSize];
24303
- const { ref: titleRef, isTruncated: titleTruncated } = _chunkTTYJAZ7Pcjs.useIsTruncated.call(void 0, loading ? null : title);
24304
- const { ref: subtitleRef, isTruncated: subtitleTruncated } = _chunkTTYJAZ7Pcjs.useIsTruncated.call(void 0,
24303
+ const { ref: titleRef, isTruncated: titleTruncated } = _chunk47LHA4QIcjs.useIsTruncated.call(void 0, loading ? null : title);
24304
+ const { ref: subtitleRef, isTruncated: subtitleTruncated } = _chunk47LHA4QIcjs.useIsTruncated.call(void 0,
24305
24305
  loading ? null : subtitle
24306
24306
  );
24307
24307
  const titleNode = loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TitleTextSkeleton, { widthClass: skeletonSize.width, heightClass: skeletonSize.height }) : title;
@@ -24842,7 +24842,7 @@ function toToolLabel(input) {
24842
24842
  if (!input) return "";
24843
24843
  const toolType = normalizeToolType(input);
24844
24844
  if (toolType) {
24845
- return _chunkTTYJAZ7Pcjs.toolLabels[toolType];
24845
+ return _chunk47LHA4QIcjs.toolLabels[toolType];
24846
24846
  }
24847
24847
  return input;
24848
24848
  }
@@ -24853,7 +24853,7 @@ function getToolTypeAliases(toolType) {
24853
24853
  return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
24854
24854
  }
24855
24855
  function getToolLabel(toolType) {
24856
- return _chunkTTYJAZ7Pcjs.toolLabels[toolType] || toolType;
24856
+ return _chunk47LHA4QIcjs.toolLabels[toolType] || toolType;
24857
24857
  }
24858
24858
 
24859
24859
  // src/types/shell.types.ts
@@ -26175,7 +26175,7 @@ function sanitizeLandingUrl(url) {
26175
26175
  }
26176
26176
  }
26177
26177
  function makeAdapter() {
26178
- return _chunkTTYJAZ7Pcjs.createLocalStorageAdapter.call(void 0, {
26178
+ return _chunk47LHA4QIcjs.createLocalStorageAdapter.call(void 0, {
26179
26179
  key: FIRST_TOUCH_ATTRIBUTION_KEY,
26180
26180
  backend: "session",
26181
26181
  logTag: "[first-touch-attribution]",
@@ -27086,7 +27086,7 @@ function TruncateText({
27086
27086
  mono = false
27087
27087
  }) {
27088
27088
  const isMultiLine = lines > 1;
27089
- const { ref, isTruncated } = _chunkTTYJAZ7Pcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
27089
+ const { ref, isTruncated } = _chunk47LHA4QIcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
27090
27090
  const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
27091
27091
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27092
27092
  FloatingTooltip,
@@ -27951,10 +27951,10 @@ function CompleteAccountForm({
27951
27951
  children
27952
27952
  }) {
27953
27953
  const fieldsDisabled = disabled || loading;
27954
- const firstNameErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _612 => _612.firstName]), firstName);
27955
- const lastNameErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _613 => _613.lastName]), lastName);
27956
- const passwordErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _614 => _614.password]), password);
27957
- const confirmErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _615 => _615.confirmPassword]), confirmPassword);
27954
+ const firstNameErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _612 => _612.firstName]), firstName);
27955
+ const lastNameErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _613 => _613.lastName]), lastName);
27956
+ const passwordErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _614 => _614.password]), password);
27957
+ const confirmErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _615 => _615.confirmPassword]), confirmPassword);
27958
27958
  const handleKeyDown = (event) => {
27959
27959
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
27960
27960
  onSubmit();
@@ -28145,9 +28145,9 @@ function CreateOrganizationForm({
28145
28145
  }) {
28146
28146
  const hasSso = !!ssoProviders && ssoProviders.length > 0;
28147
28147
  const fieldsDisabled = disabled || loading;
28148
- const emailErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _616 => _616.email]), email);
28149
- const orgNameErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _617 => _617.organizationName]), organizationName);
28150
- const domainErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _618 => _618.domain]), domain);
28148
+ const emailErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _616 => _616.email]), email);
28149
+ const orgNameErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _617 => _617.organizationName]), organizationName);
28150
+ const domainErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _618 => _618.domain]), domain);
28151
28151
  const handleKeyDown = (event) => {
28152
28152
  if (event.key === "Enter" && !fieldsDisabled) {
28153
28153
  onSubmit();
@@ -28301,7 +28301,7 @@ function LoginForm({
28301
28301
  className
28302
28302
  }) {
28303
28303
  const fieldDisabled = disabled || loading;
28304
- const emailErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _624 => _624.email]), email);
28304
+ const emailErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _624 => _624.email]), email);
28305
28305
  const handleKeyDown = (event) => {
28306
28306
  if (event.key === "Enter" && !fieldDisabled) {
28307
28307
  _optionalChain([onSubmit, 'optionalCall', _625 => _625()]);
@@ -28375,8 +28375,8 @@ function OpenFrameSsoLoginForm({
28375
28375
  className
28376
28376
  }) {
28377
28377
  const fieldsDisabled = disabled || loading;
28378
- const emailErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _628 => _628.email]), email);
28379
- const passwordErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _629 => _629.password]), password);
28378
+ const emailErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _628 => _628.email]), email);
28379
+ const passwordErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _629 => _629.password]), password);
28380
28380
  const handleKeyDown = (event) => {
28381
28381
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
28382
28382
  onSubmit();
@@ -28483,11 +28483,11 @@ function OpenFrameSsoSignUpForm({
28483
28483
  className
28484
28484
  }) {
28485
28485
  const fieldsDisabled = disabled || loading;
28486
- const emailErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _630 => _630.email]), email);
28487
- const firstNameErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _631 => _631.firstName]), firstName);
28488
- const lastNameErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _632 => _632.lastName]), lastName);
28489
- const passwordErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _633 => _633.password]), password);
28490
- const confirmErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _634 => _634.confirmPassword]), confirmPassword);
28486
+ const emailErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _630 => _630.email]), email);
28487
+ const firstNameErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _631 => _631.firstName]), firstName);
28488
+ const lastNameErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _632 => _632.lastName]), lastName);
28489
+ const passwordErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _633 => _633.password]), password);
28490
+ const confirmErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _634 => _634.confirmPassword]), confirmPassword);
28491
28491
  const handleKeyDown = (event) => {
28492
28492
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
28493
28493
  onSubmit();
@@ -28630,8 +28630,8 @@ function PasswordResetForm({
28630
28630
  className
28631
28631
  }) {
28632
28632
  const fieldsDisabled = disabled || loading;
28633
- const passwordErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _635 => _635.password]), password);
28634
- const confirmErr = _chunkTTYJAZ7Pcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _636 => _636.confirmPassword]), confirmPassword);
28633
+ const passwordErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _635 => _635.password]), password);
28634
+ const confirmErr = _chunk47LHA4QIcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _636 => _636.confirmPassword]), confirmPassword);
28635
28635
  const handleKeyDown = (event) => {
28636
28636
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
28637
28637
  onSubmit();
@@ -30916,7 +30916,7 @@ function PlatformFilterComponent({
30916
30916
  variant: selectedPlatform === platform.value ? "accent" : "outline",
30917
30917
  size: size2,
30918
30918
  onClick: () => onPlatformChange(platform.value),
30919
- leftIcon: showIcons ? _chunkTTYJAZ7Pcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
30919
+ leftIcon: showIcons ? _chunk47LHA4QIcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
30920
30920
  className: "text-h3",
30921
30921
  children: platform.label
30922
30922
  },
@@ -34244,7 +34244,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
34244
34244
  if (level) onPermissionChange(categoryId, policy.id, level);
34245
34245
  };
34246
34246
  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: [
34247
- /* @__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, _chunkTTYJAZ7Pcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
34247
+ /* @__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, _chunk47LHA4QIcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
34248
34248
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col min-w-0", children: [
34249
34249
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", title: policy.name, children: policy.name }),
34250
34250
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary break-all", children: policy.commandPattern }),
@@ -34538,8 +34538,8 @@ function WaitlistForm({
34538
34538
  const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
34539
34539
  const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
34540
34540
  const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
34541
- const { toast } = _chunkTTYJAZ7Pcjs.useToast.call(void 0, );
34542
- const { honeypotInputProps, getSignals, resetSignals } = _chunkTTYJAZ7Pcjs.useHumanitySignals.call(void 0, );
34541
+ const { toast } = _chunk47LHA4QIcjs.useToast.call(void 0, );
34542
+ const { honeypotInputProps, getSignals, resetSignals } = _chunk47LHA4QIcjs.useHumanitySignals.call(void 0, );
34543
34543
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
34544
34544
  const [isClient, setIsClient] = _react.useState.call(void 0, false);
34545
34545
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
@@ -35521,7 +35521,7 @@ function NotificationTile({
35521
35521
  onError: () => setFailedImageUrl(image),
35522
35522
  className: "size-4 rounded-[2px] object-cover"
35523
35523
  }
35524
- ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkTTYJAZ7Pcjs.dotColorByVariant[accentVariant]) })))
35524
+ ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "size-1.5 rounded-full", _chunk47LHA4QIcjs.dotColorByVariant[accentVariant]) })))
35525
35525
  }
35526
35526
  ),
35527
35527
  type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -35569,7 +35569,7 @@ function NotificationTile({
35569
35569
  "aria-hidden": true,
35570
35570
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
35571
35571
  "absolute inset-x-0 -bottom-px h-1 origin-left",
35572
- _chunkTTYJAZ7Pcjs.progressColorByVariant[accentVariant]
35572
+ _chunk47LHA4QIcjs.progressColorByVariant[accentVariant]
35573
35573
  ),
35574
35574
  style: {
35575
35575
  animation: `toast-progress ${liveDurationMs}ms linear forwards`,
@@ -35792,7 +35792,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
35792
35792
  ] });
35793
35793
  }
35794
35794
  function DesktopNotificationsToggleRow({ checked, onChange }) {
35795
- const { supported, permission, request } = _chunkTTYJAZ7Pcjs.useNotificationPermission.call(void 0, );
35795
+ const { supported, permission, request } = _chunk47LHA4QIcjs.useNotificationPermission.call(void 0, );
35796
35796
  if (!supported) return null;
35797
35797
  const blocked = permission === "denied";
35798
35798
  const handleChange = async (value) => {
@@ -37257,7 +37257,7 @@ function EmptyState2() {
37257
37257
  // src/components/features/board/use-board-collapse.ts
37258
37258
 
37259
37259
  function useBoardCollapse(storageKey) {
37260
- const [persisted, setPersisted] = _chunkTTYJAZ7Pcjs.useLocalStorage.call(void 0,
37260
+ const [persisted, setPersisted] = _chunk47LHA4QIcjs.useLocalStorage.call(void 0,
37261
37261
  _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")),
37262
37262
  {}
37263
37263
  );
@@ -37307,7 +37307,7 @@ function Board({
37307
37307
  onThumbPointerDown,
37308
37308
  onThumbPointerMove,
37309
37309
  onThumbPointerUp
37310
- } = _chunkTTYJAZ7Pcjs.useHorizontalScrollbar.call(void 0, );
37310
+ } = _chunk47LHA4QIcjs.useHorizontalScrollbar.call(void 0, );
37311
37311
  const [items, setItems] = React109.useState(columns);
37312
37312
  const isDraggingRef = React109.useRef(false);
37313
37313
  React109.useEffect(() => {
@@ -37719,8 +37719,8 @@ var MOBILE_NAV_PANEL_ID = "mobile-nav-panel";
37719
37719
  function MobileNavPanel({ isOpen, config }) {
37720
37720
  const panelRef = _react.useRef.call(void 0, null);
37721
37721
  _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
37722
- _chunkTTYJAZ7Pcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: config.onClose });
37723
- const headerHeight = _chunkTTYJAZ7Pcjs.useHeaderHeight.call(void 0, 64, { enabled: isOpen });
37722
+ _chunk47LHA4QIcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: config.onClose });
37723
+ const headerHeight = _chunk47LHA4QIcjs.useHeaderHeight.call(void 0, 64, { enabled: isOpen });
37724
37724
  if (!isOpen) return null;
37725
37725
  const renderNavigationItem = (item) => {
37726
37726
  if (item.element) {
@@ -38238,11 +38238,11 @@ _chunkSGL6URIJcjs.init_button2.call(void 0, );
38238
38238
  function SlidingSidebar({ config }) {
38239
38239
  const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
38240
38240
  const [mounted, setMounted] = _react.useState.call(void 0, false);
38241
- const headerHeight = _chunkTTYJAZ7Pcjs.useHeaderHeight.call(void 0, );
38241
+ const headerHeight = _chunk47LHA4QIcjs.useHeaderHeight.call(void 0, );
38242
38242
  const asideRef = _react.useRef.call(void 0, null);
38243
38243
  const prefersReducedMotion2 = _framermotion.useReducedMotion.call(void 0, );
38244
38244
  _overlays.usePreventScroll.call(void 0, { isDisabled: !config.isOpen });
38245
- _chunkTTYJAZ7Pcjs.useFocusTrap.call(void 0, asideRef, config.isOpen, { onEscape: config.onClose, contain: false });
38245
+ _chunk47LHA4QIcjs.useFocusTrap.call(void 0, asideRef, config.isOpen, { onEscape: config.onClose, contain: false });
38246
38246
  _react.useEffect.call(void 0, () => {
38247
38247
  setMounted(true);
38248
38248
  }, []);
@@ -38480,7 +38480,7 @@ function useSectionNavigation(sections, options) {
38480
38480
  if (!targetElement) return;
38481
38481
  isScrollingFromClick.current = true;
38482
38482
  setActiveSection(sectionId);
38483
- _chunkTTYJAZ7Pcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
38483
+ _chunk47LHA4QIcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
38484
38484
  setTimeout(() => {
38485
38485
  isScrollingFromClick.current = false;
38486
38486
  }, 500);
@@ -38677,10 +38677,10 @@ var EXPANDED_WIDTH = 224;
38677
38677
  var STORAGE_KEY = "of.navigationSidebar.minimized";
38678
38678
  var isModifiedClick = (event) => !!event && (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || event.button !== 0);
38679
38679
  function NavigationSidebar({ config, disabled = false }) {
38680
- const isMdUp = _nullishCoalesce(_chunkTTYJAZ7Pcjs.useMdUp.call(void 0, ), () => ( false));
38681
- const isLgUp = _nullishCoalesce(_chunkTTYJAZ7Pcjs.useLgUp.call(void 0, ), () => ( false));
38680
+ const isMdUp = _nullishCoalesce(_chunk47LHA4QIcjs.useMdUp.call(void 0, ), () => ( false));
38681
+ const isLgUp = _nullishCoalesce(_chunk47LHA4QIcjs.useLgUp.call(void 0, ), () => ( false));
38682
38682
  const isTablet = isMdUp && !isLgUp;
38683
- const [desktopMinimized, setDesktopMinimized] = _chunkTTYJAZ7Pcjs.useLocalStorage.call(void 0,
38683
+ const [desktopMinimized, setDesktopMinimized] = _chunk47LHA4QIcjs.useLocalStorage.call(void 0,
38684
38684
  STORAGE_KEY,
38685
38685
  _nullishCoalesce(config.minimized, () => ( false))
38686
38686
  );
@@ -39027,7 +39027,7 @@ var AppHeader = React124.default.memo(function AppHeader2({
39027
39027
  onToggleMobileMenu,
39028
39028
  disabled = false
39029
39029
  }) {
39030
- const isMdUp = _nullishCoalesce(_chunkTTYJAZ7Pcjs.useMdUp.call(void 0, ), () => ( false));
39030
+ const isMdUp = _nullishCoalesce(_chunk47LHA4QIcjs.useMdUp.call(void 0, ), () => ( false));
39031
39031
  const dimmedClass = disabled ? "pointer-events-none opacity-50" : "";
39032
39032
  const cellDivider = "border-l border-ods-border";
39033
39033
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -39216,7 +39216,7 @@ var MobileBurgerMenu = React124.default.memo(function MobileBurgerMenu2({
39216
39216
  }) {
39217
39217
  const panelRef = _react.useRef.call(void 0, null);
39218
39218
  _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
39219
- _chunkTTYJAZ7Pcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: onClose });
39219
+ _chunk47LHA4QIcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: onClose });
39220
39220
  const handleItemClick = _react.useCallback.call(void 0, (item) => {
39221
39221
  if (item.onClick) {
39222
39222
  item.onClick();
@@ -39771,7 +39771,7 @@ var ToolBadge = ({
39771
39771
  }) => {
39772
39772
  const label = getToolLabel(toolType);
39773
39773
  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: [
39774
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTTYJAZ7Pcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
39774
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk47LHA4QIcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
39775
39775
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: label })
39776
39776
  ] });
39777
39777
  };
@@ -40143,7 +40143,7 @@ function OnboardingWalkthrough({
40143
40143
  isStepSkipped,
40144
40144
  allStepsComplete,
40145
40145
  markMultipleComplete
40146
- } = _chunkTTYJAZ7Pcjs.useOnboardingState.call(void 0, storageKey);
40146
+ } = _chunk47LHA4QIcjs.useOnboardingState.call(void 0, storageKey);
40147
40147
  const hasAutoMarkedRef = _react.useRef.call(void 0, false);
40148
40148
  const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
40149
40149
  const lastCompletionStatusRef = _react.useRef.call(void 0, null);
@@ -40350,7 +40350,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
40350
40350
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-primary", children: log.title }),
40351
40351
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
40352
40352
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 text-ods-text-secondary", children: formatTimestamp(log.timestamp) }),
40353
- log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTTYJAZ7Pcjs.ToolIcon, { toolType: log.toolType, size: 16 })
40353
+ log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk47LHA4QIcjs.ToolIcon, { toolType: log.toolType, size: 16 })
40354
40354
  ] })
40355
40355
  ] })
40356
40356
  ]
@@ -40487,7 +40487,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
40487
40487
  }
40488
40488
  function ServiceCardRowItem({ row }) {
40489
40489
  const [revealed, setRevealed] = _react.useState.call(void 0, false);
40490
- const { copy, copied } = _chunkTTYJAZ7Pcjs.useCopyToClipboard.call(void 0, );
40490
+ const { copy, copied } = _chunk47LHA4QIcjs.useCopyToClipboard.call(void 0, );
40491
40491
  const actions = _react.useMemo.call(void 0, () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }), [row]);
40492
40492
  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 });
40493
40493
  const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
@@ -41102,7 +41102,7 @@ function TableHeader({
41102
41102
  }
41103
41103
  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" });
41104
41104
  };
41105
- const isLgUp = _nullishCoalesce(_chunkTTYJAZ7Pcjs.useLgUp.call(void 0, ), () => ( false));
41105
+ const isLgUp = _nullishCoalesce(_chunk47LHA4QIcjs.useLgUp.call(void 0, ), () => ( false));
41106
41106
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
41107
41107
  "div",
41108
41108
  {
@@ -42025,7 +42025,7 @@ function QueryReportTable({
42025
42025
  onThumbPointerDown,
42026
42026
  onThumbPointerMove,
42027
42027
  onThumbPointerUp
42028
- } = _chunkTTYJAZ7Pcjs.useHorizontalScrollbar.call(void 0, );
42028
+ } = _chunk47LHA4QIcjs.useHorizontalScrollbar.call(void 0, );
42029
42029
  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: [
42030
42030
  !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: [
42031
42031
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-h2 text-ods-text-primary", children: title }),
@@ -42261,7 +42261,7 @@ function DataTableHeader({
42261
42261
  onSortChange
42262
42262
  }) {
42263
42263
  const table = useDataTableContext();
42264
- const isLgUp = _nullishCoalesce(_chunkTTYJAZ7Pcjs.useLgUp.call(void 0, ), () => ( false));
42264
+ const isLgUp = _nullishCoalesce(_chunk47LHA4QIcjs.useLgUp.call(void 0, ), () => ( false));
42265
42265
  const headerGroup = table.getHeaderGroups()[0];
42266
42266
  if (!headerGroup) return null;
42267
42267
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
@@ -42846,7 +42846,7 @@ function SearchInput({
42846
42846
  }) {
42847
42847
  const [internalValue, setInternalValue] = React126.useState(defaultValue);
42848
42848
  const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
42849
- const debouncedValue = _chunkTTYJAZ7Pcjs.useDebounce.call(void 0, currentValue, debounceMs);
42849
+ const debouncedValue = _chunk47LHA4QIcjs.useDebounce.call(void 0, currentValue, debounceMs);
42850
42850
  const [isOpen, setIsOpen] = React126.useState(false);
42851
42851
  const [highlightedIndex, setHighlightedIndex] = React126.useState(-1);
42852
42852
  const containerRef = React126.useRef(null);
@@ -42858,7 +42858,7 @@ function SearchInput({
42858
42858
  textMeasureRef,
42859
42859
  badgeRef,
42860
42860
  inputRef
42861
- } = _chunkTTYJAZ7Pcjs.useAutoLimitTags.call(void 0, {
42861
+ } = _chunk47LHA4QIcjs.useAutoLimitTags.call(void 0, {
42862
42862
  count: filterChips.length,
42863
42863
  limitTags,
42864
42864
  // When chips exist, pass empty placeholder so the hook only reserves input minWidth,
@@ -43325,7 +43325,7 @@ function TagSearchInput({
43325
43325
  textMeasureRef,
43326
43326
  badgeRef,
43327
43327
  inputRef
43328
- } = _chunkTTYJAZ7Pcjs.useAutoLimitTags.call(void 0, {
43328
+ } = _chunk47LHA4QIcjs.useAutoLimitTags.call(void 0, {
43329
43329
  count: tags.length,
43330
43330
  limitTags,
43331
43331
  placeholder: currentPlaceholder
@@ -44134,7 +44134,7 @@ function ImageUploader({
44134
44134
  const [pressed, setPressed] = React130.useState(false);
44135
44135
  const [validationError, setValidationError] = React130.useState(null);
44136
44136
  const interactive = !disabled && !loading;
44137
- const resolvedValue = _chunkTTYJAZ7Pcjs.useAuthedImageSrc.call(void 0, value);
44137
+ const resolvedValue = _chunk47LHA4QIcjs.useAuthedImageSrc.call(void 0, value);
44138
44138
  const hasImage = Boolean(value);
44139
44139
  const displayError = error || validationError || void 0;
44140
44140
  const resolvedHint = hint === void 0 ? `Max. size: ${formatSize(maxSize)}` : hint;
@@ -48169,7 +48169,7 @@ function useChatCardItem(type, id) {
48169
48169
  queryKey: ["chat-card-item", type, id],
48170
48170
  queryFn: async () => {
48171
48171
  if (!url) return null;
48172
- const res = await _chunkTTYJAZ7Pcjs.embedAuthedFetch.call(void 0, url);
48172
+ const res = await _chunk47LHA4QIcjs.embedAuthedFetch.call(void 0, url);
48173
48173
  if (!res.ok) return null;
48174
48174
  const data = await res.json();
48175
48175
  const items = extractItems(data);
@@ -49704,8 +49704,9 @@ function useScriptedStream(frames, resetKey, enabled = true) {
49704
49704
 
49705
49705
  // src/components/chat/hooks/use-jetstream-dialog-subscription.ts
49706
49706
 
49707
- var DEFAULT_INACTIVE_THRESHOLD_MS = 5 * 6e4;
49708
49707
  var DEFAULT_STREAM_NAME = "CHAT_CHUNKS";
49708
+ var RESYNC_AFTER_HIDDEN_MS = 1e4;
49709
+ var RECOVERY_REPORT_FLOOR_MS = 5e3;
49709
49710
  function useJetStreamDialogSubscription({
49710
49711
  enabled,
49711
49712
  dialogId,
@@ -49725,7 +49726,9 @@ function useJetStreamDialogSubscription({
49725
49726
  const [isConnected, setIsConnected] = _react.useState.call(void 0, false);
49726
49727
  const [isSubscribed, setIsSubscribed] = _react.useState.call(void 0, false);
49727
49728
  const [reconnectionCount, setReconnectionCount] = _react.useState.call(void 0, 0);
49729
+ const [recoveryCount, setRecoveryCount] = _react.useState.call(void 0, 0);
49728
49730
  const [currentStreamSeq, setCurrentStreamSeq] = _react.useState.call(void 0, null);
49731
+ const lastRecoveryReportRef = _react.useRef.call(void 0, 0);
49729
49732
  const clientRef = _react.useRef.call(void 0, null);
49730
49733
  const subscriptionRef = _react.useRef.call(void 0, null);
49731
49734
  const highestStreamSeqRef = _react.useRef.call(void 0, null);
@@ -49775,7 +49778,7 @@ function useJetStreamDialogSubscription({
49775
49778
  _react.useEffect.call(void 0, () => {
49776
49779
  if (!enabled || !wsUrl) {
49777
49780
  if (currentWsUrlRef.current && clientRef.current) {
49778
- _chunkW24U7ZUVcjs.releaseClient.call(void 0, currentWsUrlRef.current);
49781
+ _chunkKQKU4VXBcjs.releaseClient.call(void 0, currentWsUrlRef.current);
49779
49782
  clientRef.current = null;
49780
49783
  currentWsUrlRef.current = "";
49781
49784
  setIsConnected(false);
@@ -49786,13 +49789,13 @@ function useJetStreamDialogSubscription({
49786
49789
  return;
49787
49790
  }
49788
49791
  if (currentWsUrlRef.current && currentWsUrlRef.current !== wsUrl && clientRef.current) {
49789
- _chunkW24U7ZUVcjs.releaseClient.call(void 0, currentWsUrlRef.current);
49792
+ _chunkKQKU4VXBcjs.releaseClient.call(void 0, currentWsUrlRef.current);
49790
49793
  clientRef.current = null;
49791
49794
  setIsConnected(false);
49792
49795
  }
49793
49796
  currentWsUrlRef.current = wsUrl;
49794
49797
  const cfg = clientConfigRef.current;
49795
- const sharedConn = _chunkW24U7ZUVcjs.acquireClient.call(void 0, wsUrl, {
49798
+ const sharedConn = _chunkKQKU4VXBcjs.acquireClient.call(void 0, wsUrl, {
49796
49799
  name: _nullishCoalesce(cfg.name, () => ( "openframe-frontend-jetstream")),
49797
49800
  user: _nullishCoalesce(cfg.user, () => ( "machine")),
49798
49801
  pass: _nullishCoalesce(cfg.pass, () => ( ""))
@@ -49809,7 +49812,7 @@ function useJetStreamDialogSubscription({
49809
49812
  subscriptionRef.current = null;
49810
49813
  }
49811
49814
  };
49812
- const lifecycle = _chunkW24U7ZUVcjs.startConnectionLifecycle.call(void 0, {
49815
+ const lifecycle = _chunkKQKU4VXBcjs.startConnectionLifecycle.call(void 0, {
49813
49816
  conn: sharedConn,
49814
49817
  wsUrl,
49815
49818
  onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1285 => _1285.current, 'optionalCall', _1286 => _1286()]),
@@ -49847,7 +49850,7 @@ function useJetStreamDialogSubscription({
49847
49850
  setIsSubscribed(false);
49848
49851
  tearDownSubscription();
49849
49852
  if (clientRef.current && currentWsUrlRef.current) {
49850
- _chunkW24U7ZUVcjs.releaseClient.call(void 0, currentWsUrlRef.current);
49853
+ _chunkKQKU4VXBcjs.releaseClient.call(void 0, currentWsUrlRef.current);
49851
49854
  clientRef.current = null;
49852
49855
  currentWsUrlRef.current = "";
49853
49856
  }
@@ -49857,6 +49860,23 @@ function useJetStreamDialogSubscription({
49857
49860
  highestStreamSeqRef.current = null;
49858
49861
  setCurrentStreamSeq(null);
49859
49862
  }, [dialogId]);
49863
+ _react.useEffect.call(void 0, () => {
49864
+ if (!enabled) return;
49865
+ let hiddenSince = document.visibilityState === "hidden" ? Date.now() : 0;
49866
+ const onVisibilityChange = () => {
49867
+ if (document.visibilityState === "hidden") {
49868
+ hiddenSince = Date.now();
49869
+ return;
49870
+ }
49871
+ const awayMs = hiddenSince === 0 ? 0 : Date.now() - hiddenSince;
49872
+ hiddenSince = 0;
49873
+ if (awayMs >= RESYNC_AFTER_HIDDEN_MS) {
49874
+ setReconnectionCount((c) => c + 1);
49875
+ }
49876
+ };
49877
+ document.addEventListener("visibilitychange", onVisibilityChange);
49878
+ return () => document.removeEventListener("visibilitychange", onVisibilityChange);
49879
+ }, [enabled]);
49860
49880
  _react.useEffect.call(void 0, () => {
49861
49881
  if (!enabled || !dialogId || !isConnected) {
49862
49882
  if (subscriptionRef.current) {
@@ -49907,8 +49927,17 @@ function useJetStreamDialogSubscription({
49907
49927
  filterSubject,
49908
49928
  deliverPolicy: startSeq != null ? "byStartSequence" : "new",
49909
49929
  optStartSeq: startSeq,
49910
- inactiveThresholdMs: _nullishCoalesce(inactiveThresholdRef.current, () => ( DEFAULT_INACTIVE_THRESHOLD_MS)),
49911
- signal: abortController.signal
49930
+ // Undefined when the caller did not set one: the client owns the default,
49931
+ // so it is not spelled out a second time here.
49932
+ inactiveThresholdMs: inactiveThresholdRef.current,
49933
+ signal: abortController.signal,
49934
+ onRecovered: () => {
49935
+ if (cancelled) return;
49936
+ const now = Date.now();
49937
+ if (now - lastRecoveryReportRef.current < RECOVERY_REPORT_FLOOR_MS) return;
49938
+ lastRecoveryReportRef.current = now;
49939
+ setRecoveryCount((c) => c + 1);
49940
+ }
49912
49941
  }
49913
49942
  );
49914
49943
  if (cancelled) {
@@ -49940,7 +49969,12 @@ function useJetStreamDialogSubscription({
49940
49969
  setIsSubscribed(false);
49941
49970
  };
49942
49971
  }, [enabled, dialogId, isConnected, streamName, topic, reconnectionCount]);
49943
- return { isConnected, isSubscribed, reconnectionCount, currentStreamSeq };
49972
+ return {
49973
+ isConnected,
49974
+ isSubscribed,
49975
+ reconnectionCount: reconnectionCount + recoveryCount,
49976
+ currentStreamSeq
49977
+ };
49944
49978
  }
49945
49979
 
49946
49980
  // src/components/chat/hooks/use-nats-dialog-subscription.ts
@@ -50001,7 +50035,7 @@ function useNatsDialogSubscription({
50001
50035
  _react.useEffect.call(void 0, () => {
50002
50036
  if (!enabled || !wsUrl) {
50003
50037
  if (currentWsUrlRef.current && clientRef.current) {
50004
- _chunkW24U7ZUVcjs.releaseClient.call(void 0, currentWsUrlRef.current);
50038
+ _chunkKQKU4VXBcjs.releaseClient.call(void 0, currentWsUrlRef.current);
50005
50039
  clientRef.current = null;
50006
50040
  currentWsUrlRef.current = "";
50007
50041
  setIsConnected(false);
@@ -50012,13 +50046,13 @@ function useNatsDialogSubscription({
50012
50046
  return;
50013
50047
  }
50014
50048
  if (currentWsUrlRef.current && currentWsUrlRef.current !== wsUrl && clientRef.current) {
50015
- _chunkW24U7ZUVcjs.releaseClient.call(void 0, currentWsUrlRef.current);
50049
+ _chunkKQKU4VXBcjs.releaseClient.call(void 0, currentWsUrlRef.current);
50016
50050
  clientRef.current = null;
50017
50051
  setIsConnected(false);
50018
50052
  }
50019
50053
  currentWsUrlRef.current = wsUrl;
50020
50054
  const cfg = clientConfigRef.current;
50021
- const sharedConn = _chunkW24U7ZUVcjs.acquireClient.call(void 0, wsUrl, {
50055
+ const sharedConn = _chunkKQKU4VXBcjs.acquireClient.call(void 0, wsUrl, {
50022
50056
  name: _nullishCoalesce(cfg.name, () => ( "openframe-frontend")),
50023
50057
  user: _nullishCoalesce(cfg.user, () => ( "machine")),
50024
50058
  pass: _nullishCoalesce(cfg.pass, () => ( ""))
@@ -50039,7 +50073,7 @@ function useNatsDialogSubscription({
50039
50073
  abortControllerRef.current = null;
50040
50074
  };
50041
50075
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
50042
- const lifecycle = _chunkW24U7ZUVcjs.startConnectionLifecycle.call(void 0, {
50076
+ const lifecycle = _chunkKQKU4VXBcjs.startConnectionLifecycle.call(void 0, {
50043
50077
  conn: sharedConn,
50044
50078
  wsUrl,
50045
50079
  onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1298 => _1298.current, 'optionalCall', _1299 => _1299()]),
@@ -50073,7 +50107,7 @@ function useNatsDialogSubscription({
50073
50107
  setIsSubscribed(false);
50074
50108
  tearDownSubscriptions();
50075
50109
  if (clientRef.current && currentWsUrlRef.current) {
50076
- _chunkW24U7ZUVcjs.releaseClient.call(void 0, currentWsUrlRef.current);
50110
+ _chunkKQKU4VXBcjs.releaseClient.call(void 0, currentWsUrlRef.current);
50077
50111
  clientRef.current = null;
50078
50112
  currentWsUrlRef.current = "";
50079
50113
  }
@@ -51218,7 +51252,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
51218
51252
  try {
51219
51253
  const url = new URL(commandsUrl, window.location.origin);
51220
51254
  if (prefix) url.searchParams.set("q", prefix);
51221
- const res = await _chunkTTYJAZ7Pcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
51255
+ const res = await _chunk47LHA4QIcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
51222
51256
  if (!res.ok) return [];
51223
51257
  const data = await res.json();
51224
51258
  return _nullishCoalesce(data.commands, () => ( []));
@@ -51293,7 +51327,7 @@ var EMPTY_STATE_FALLBACK = {
51293
51327
  async function fetchEmptyStateConfig(signal, emptyStateUrl) {
51294
51328
  try {
51295
51329
  const url = new URL(emptyStateUrl, window.location.origin);
51296
- const res = await _chunkTTYJAZ7Pcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
51330
+ const res = await _chunk47LHA4QIcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
51297
51331
  if (!res.ok) {
51298
51332
  if (res.status >= 500) {
51299
51333
  console.error(`[chat] empty-state config fetch failed (${res.status}): ${url.pathname}`);
@@ -51455,7 +51489,7 @@ function useChatAttachments() {
51455
51489
  );
51456
51490
  }
51457
51491
  updateOne(att.id, { status: "uploading", progress: 5 });
51458
- const urlResp = await _chunkTTYJAZ7Pcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
51492
+ const urlResp = await _chunk47LHA4QIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
51459
51493
  method: "POST",
51460
51494
  headers: { "Content-Type": "application/json" },
51461
51495
  signal: _optionalChain([ctrl, 'optionalAccess', _1404 => _1404.signal]),
@@ -51645,7 +51679,7 @@ var ANON_DEFAULTS = {
51645
51679
  function useResolveChatIdentity(enabled) {
51646
51680
  const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
51647
51681
  const url = runtime.endpoints.identityUrl;
51648
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkTTYJAZ7Pcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1410 => _1410.email]), () => ( null));
51682
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunk47LHA4QIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1410 => _1410.email]), () => ( null));
51649
51683
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
51650
51684
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
51651
51685
  _react.useEffect.call(void 0, () => {
@@ -51653,7 +51687,7 @@ function useResolveChatIdentity(enabled) {
51653
51687
  let cancelled = false;
51654
51688
  const ctrl = new AbortController();
51655
51689
  setIsLoading(true);
51656
- _chunkTTYJAZ7Pcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
51690
+ _chunk47LHA4QIcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
51657
51691
  if (!resp.ok) return ANON_DEFAULTS;
51658
51692
  return await resp.json();
51659
51693
  }).then((next) => {
@@ -52085,11 +52119,11 @@ function useChat({
52085
52119
  var STORAGE_KEY2 = "conversation";
52086
52120
  var namespaceFor = (source) => {
52087
52121
  const base = `mingo-chat-${source}`;
52088
- const auth = _chunkTTYJAZ7Pcjs.getEmbedProxyAuth.call(void 0, );
52122
+ const auth = _chunk47LHA4QIcjs.getEmbedProxyAuth.call(void 0, );
52089
52123
  return _optionalChain([auth, 'optionalAccess', _1423 => _1423.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
52090
52124
  };
52091
52125
  function createChatConversationStorage(source) {
52092
- return _chunkTTYJAZ7Pcjs.createLocalStorageAdapter.call(void 0, {
52126
+ return _chunk47LHA4QIcjs.createLocalStorageAdapter.call(void 0, {
52093
52127
  key: STORAGE_KEY2,
52094
52128
  namespace: () => namespaceFor(source),
52095
52129
  validate: (parsed) => !!parsed && typeof parsed.conversationId === "string" && parsed.conversationId.length > 0,
@@ -52143,7 +52177,7 @@ function useChatHistoryHydration({
52143
52177
  setIsHydratingHistory(true);
52144
52178
  (async () => {
52145
52179
  try {
52146
- const res = await _chunkTTYJAZ7Pcjs.embedAuthedFetch.call(void 0,
52180
+ const res = await _chunk47LHA4QIcjs.embedAuthedFetch.call(void 0,
52147
52181
  `${historyUrl}?conversationId=${encodeURIComponent(conversationId)}`,
52148
52182
  { method: "GET" }
52149
52183
  );
@@ -52226,7 +52260,7 @@ function createDocStreamFn(source, endpoints, sourcesMapRef, refsMapRef, metaMap
52226
52260
  ..._optionalChain([extra, 'optionalAccess', _1429 => _1429.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {},
52227
52261
  ...conversationId ? { conversationId } : {}
52228
52262
  };
52229
- const response = await _chunkTTYJAZ7Pcjs.embedAuthedFetch.call(void 0, targetPath, {
52263
+ const response = await _chunk47LHA4QIcjs.embedAuthedFetch.call(void 0, targetPath, {
52230
52264
  method: "POST",
52231
52265
  body: JSON.stringify(requestBody),
52232
52266
  signal
@@ -57255,4 +57289,4 @@ function EmbeddableChatInner({
57255
57289
 
57256
57290
 
57257
57291
  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.GuideDisplay = GuideDisplay; 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.FloatingTooltip = FloatingTooltip; 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.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.MingoAiButton = MingoAiButton; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.TopNavigation = TopNavigation; 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;
57258
- //# sourceMappingURL=chunk-ZEZTITQZ.cjs.map
57292
+ //# sourceMappingURL=chunk-V2APV4E4.cjs.map