@flamingo-stack/openframe-frontend-core 0.0.488 → 0.0.489-snapshot.20260728173516

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 (153) hide show
  1. package/dist/{chunk-GQX6LFFA.cjs → chunk-2MKUHJ3O.cjs} +42 -42
  2. package/dist/{chunk-GQX6LFFA.cjs.map → chunk-2MKUHJ3O.cjs.map} +1 -1
  3. package/dist/{chunk-DX6AOHNU.cjs → chunk-3IEVA5AO.cjs} +77 -77
  4. package/dist/{chunk-DX6AOHNU.cjs.map → chunk-3IEVA5AO.cjs.map} +1 -1
  5. package/dist/{chunk-PNXNWGBY.js → chunk-6CFFISUC.js} +2 -2
  6. package/dist/{chunk-F6BYUO5U.js → chunk-6CJ2K7BD.js} +3 -3
  7. package/dist/{chunk-KFQXO7QB.js → chunk-6GT557KN.js} +1 -1
  8. package/dist/chunk-6GT557KN.js.map +1 -0
  9. package/dist/{chunk-AJNDDXKC.js → chunk-6QK3ONDD.js} +3 -3
  10. package/dist/{chunk-H7JX2BG7.cjs → chunk-7I42V2OD.cjs} +75 -75
  11. package/dist/{chunk-H7JX2BG7.cjs.map → chunk-7I42V2OD.cjs.map} +1 -1
  12. package/dist/{chunk-AHDJMEEN.js → chunk-AIRNG27G.js} +7 -7
  13. package/dist/{chunk-RZSA6MZL.cjs → chunk-AW63ET2A.cjs} +15 -15
  14. package/dist/{chunk-RZSA6MZL.cjs.map → chunk-AW63ET2A.cjs.map} +1 -1
  15. package/dist/{chunk-A7IPON2V.cjs → chunk-BIKOJ4FH.cjs} +5 -5
  16. package/dist/{chunk-A7IPON2V.cjs.map → chunk-BIKOJ4FH.cjs.map} +1 -1
  17. package/dist/{chunk-S52LJNMU.js → chunk-BZMOEWWS.js} +7 -7
  18. package/dist/{chunk-SIKCXKGB.cjs → chunk-D5LQMRPU.cjs} +7 -7
  19. package/dist/{chunk-SIKCXKGB.cjs.map → chunk-D5LQMRPU.cjs.map} +1 -1
  20. package/dist/{chunk-HQYJINFV.js → chunk-EGXCWZYP.js} +4 -4
  21. package/dist/{chunk-EUYIFALO.cjs → chunk-EJQUYZXF.cjs} +14 -14
  22. package/dist/{chunk-EUYIFALO.cjs.map → chunk-EJQUYZXF.cjs.map} +1 -1
  23. package/dist/{chunk-V3CNNMY3.cjs → chunk-FY5XAW3H.cjs} +18 -18
  24. package/dist/{chunk-V3CNNMY3.cjs.map → chunk-FY5XAW3H.cjs.map} +1 -1
  25. package/dist/{chunk-FOQV6RCO.cjs → chunk-GMPYR3MX.cjs} +29 -29
  26. package/dist/{chunk-FOQV6RCO.cjs.map → chunk-GMPYR3MX.cjs.map} +1 -1
  27. package/dist/{chunk-EYEIVYYF.cjs → chunk-GUTYUMGV.cjs} +7 -7
  28. package/dist/{chunk-EYEIVYYF.cjs.map → chunk-GUTYUMGV.cjs.map} +1 -1
  29. package/dist/{chunk-FZOBQG6M.cjs → chunk-IEZ3YBAP.cjs} +35 -35
  30. package/dist/{chunk-FZOBQG6M.cjs.map → chunk-IEZ3YBAP.cjs.map} +1 -1
  31. package/dist/{chunk-PECGZWQR.cjs → chunk-KP5KRRD6.cjs} +3 -3
  32. package/dist/{chunk-PECGZWQR.cjs.map → chunk-KP5KRRD6.cjs.map} +1 -1
  33. package/dist/{chunk-2B6773QM.cjs → chunk-LILQJ3UZ.cjs} +1 -1
  34. package/dist/chunk-LILQJ3UZ.cjs.map +1 -0
  35. package/dist/{chunk-SCCTJ2UI.js → chunk-MPYDX5WX.js} +4 -4
  36. package/dist/{chunk-YJSKQ2ZV.js → chunk-NGEFYPY7.js} +3 -3
  37. package/dist/{chunk-77DFPD35.js → chunk-OQIMH2WQ.js} +5515 -5377
  38. package/dist/chunk-OQIMH2WQ.js.map +1 -0
  39. package/dist/{chunk-KLYHZRAD.js → chunk-PB3BTZDU.js} +2 -2
  40. package/dist/{chunk-CWQACI4Z.js → chunk-RW2LPL72.js} +2 -2
  41. package/dist/{chunk-YEEHB4T6.cjs → chunk-UZZT65PQ.cjs} +40 -40
  42. package/dist/{chunk-YEEHB4T6.cjs.map → chunk-UZZT65PQ.cjs.map} +1 -1
  43. package/dist/{chunk-LLWBPPZ4.js → chunk-VDZO6IDR.js} +6 -6
  44. package/dist/{chunk-3BFX6HJM.js → chunk-VL2YMDPH.js} +6 -6
  45. package/dist/{chunk-5RXKOGH6.cjs → chunk-VUXNXWOQ.cjs} +496 -358
  46. package/dist/chunk-VUXNXWOQ.cjs.map +1 -0
  47. package/dist/{chunk-PXF5J24T.js → chunk-WLM3F3WU.js} +2 -2
  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/chat-message-enhanced.d.ts.map +1 -1
  51. package/dist/components/chat/guide-display.d.ts +14 -0
  52. package/dist/components/chat/guide-display.d.ts.map +1 -0
  53. package/dist/components/chat/hooks/use-chat-history-hydration.d.ts +47 -0
  54. package/dist/components/chat/hooks/use-chat-history-hydration.d.ts.map +1 -0
  55. package/dist/components/chat/hooks/use-chat.d.ts +1 -0
  56. package/dist/components/chat/hooks/use-chat.d.ts.map +1 -1
  57. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
  58. package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts.map +1 -1
  59. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +4 -0
  60. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
  61. package/dist/components/chat/index.cjs +6 -4
  62. package/dist/components/chat/index.cjs.map +1 -1
  63. package/dist/components/chat/index.d.ts +1 -0
  64. package/dist/components/chat/index.d.ts.map +1 -1
  65. package/dist/components/chat/index.js +5 -3
  66. package/dist/components/chat/types/component.types.d.ts +6 -0
  67. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  68. package/dist/components/chat/types/message.types.d.ts +15 -2
  69. package/dist/components/chat/types/message.types.d.ts.map +1 -1
  70. package/dist/components/chat/types/processing.types.d.ts +3 -0
  71. package/dist/components/chat/types/processing.types.d.ts.map +1 -1
  72. package/dist/components/chat/types/unified-chat-state.types.d.ts +5 -0
  73. package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
  74. package/dist/components/chat/utils/chat-conversation-storage.d.ts +34 -0
  75. package/dist/components/chat/utils/chat-conversation-storage.d.ts.map +1 -0
  76. package/dist/components/chat/utils/chunk-parser.d.ts.map +1 -1
  77. package/dist/components/chat/utils/message-segment-accumulator.d.ts +5 -0
  78. package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
  79. package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
  80. package/dist/components/contact/index.cjs +5 -5
  81. package/dist/components/contact/index.js +4 -4
  82. package/dist/components/docs/index.cjs +7 -7
  83. package/dist/components/docs/index.js +6 -6
  84. package/dist/components/embeds/index.cjs +5 -5
  85. package/dist/components/embeds/index.js +4 -4
  86. package/dist/components/faq/index.cjs +6 -6
  87. package/dist/components/faq/index.js +5 -5
  88. package/dist/components/features/index.cjs +4 -4
  89. package/dist/components/features/index.js +3 -3
  90. package/dist/components/help-center-pages/index.cjs +23 -23
  91. package/dist/components/help-center-pages/index.js +14 -14
  92. package/dist/components/index.cjs +142 -140
  93. package/dist/components/index.cjs.map +1 -1
  94. package/dist/components/index.js +14 -12
  95. package/dist/components/index.js.map +1 -1
  96. package/dist/components/navigation/index.cjs +4 -4
  97. package/dist/components/navigation/index.js +3 -3
  98. package/dist/components/onboarding-guides/index.cjs +8 -8
  99. package/dist/components/onboarding-guides/index.js +7 -7
  100. package/dist/components/related-content/index.cjs +6 -6
  101. package/dist/components/related-content/index.js +5 -5
  102. package/dist/components/tickets/index.cjs +7 -7
  103. package/dist/components/tickets/index.js +6 -6
  104. package/dist/components/ui/index.cjs +6 -4
  105. package/dist/components/ui/index.cjs.map +1 -1
  106. package/dist/components/ui/index.js +5 -3
  107. package/dist/contexts/chat-runtime-context.d.ts +8 -0
  108. package/dist/contexts/chat-runtime-context.d.ts.map +1 -1
  109. package/dist/contexts/index.cjs +2 -2
  110. package/dist/contexts/index.js +1 -1
  111. package/dist/hooks/index.cjs +3 -3
  112. package/dist/hooks/index.js +2 -2
  113. package/dist/index.cjs +6 -4
  114. package/dist/index.cjs.map +1 -1
  115. package/dist/index.js +5 -3
  116. package/dist/utils/index.cjs.map +1 -1
  117. package/dist/utils/index.js.map +1 -1
  118. package/package.json +1 -1
  119. package/src/components/chat/chat-message-enhanced.tsx +63 -52
  120. package/src/components/chat/guide-display.tsx +44 -0
  121. package/src/components/chat/hooks/use-chat-history-hydration.ts +142 -0
  122. package/src/components/chat/hooks/use-chat.ts +12 -0
  123. package/src/components/chat/hooks/use-nats-chat-adapter.ts +2 -0
  124. package/src/components/chat/hooks/use-realtime-chunk-processor.ts +10 -0
  125. package/src/components/chat/hooks/use-sse-chat-adapter.ts +109 -162
  126. package/src/components/chat/index.ts +1 -0
  127. package/src/components/chat/types/component.types.ts +9 -0
  128. package/src/components/chat/types/message.types.ts +17 -1
  129. package/src/components/chat/types/processing.types.ts +1 -0
  130. package/src/components/chat/types/unified-chat-state.types.ts +6 -0
  131. package/src/components/chat/utils/chat-conversation-storage.ts +83 -0
  132. package/src/components/chat/utils/chunk-parser.ts +6 -0
  133. package/src/components/chat/utils/message-segment-accumulator.ts +19 -0
  134. package/src/components/chat/utils/process-historical-messages.ts +6 -0
  135. package/src/contexts/chat-runtime-context.tsx +8 -0
  136. package/src/stories/ChatMessageEnhanced.stories.tsx +48 -1
  137. package/dist/chunk-2B6773QM.cjs.map +0 -1
  138. package/dist/chunk-5RXKOGH6.cjs.map +0 -1
  139. package/dist/chunk-77DFPD35.js.map +0 -1
  140. package/dist/chunk-KFQXO7QB.js.map +0 -1
  141. /package/dist/{chunk-PNXNWGBY.js.map → chunk-6CFFISUC.js.map} +0 -0
  142. /package/dist/{chunk-F6BYUO5U.js.map → chunk-6CJ2K7BD.js.map} +0 -0
  143. /package/dist/{chunk-AJNDDXKC.js.map → chunk-6QK3ONDD.js.map} +0 -0
  144. /package/dist/{chunk-AHDJMEEN.js.map → chunk-AIRNG27G.js.map} +0 -0
  145. /package/dist/{chunk-S52LJNMU.js.map → chunk-BZMOEWWS.js.map} +0 -0
  146. /package/dist/{chunk-HQYJINFV.js.map → chunk-EGXCWZYP.js.map} +0 -0
  147. /package/dist/{chunk-SCCTJ2UI.js.map → chunk-MPYDX5WX.js.map} +0 -0
  148. /package/dist/{chunk-YJSKQ2ZV.js.map → chunk-NGEFYPY7.js.map} +0 -0
  149. /package/dist/{chunk-KLYHZRAD.js.map → chunk-PB3BTZDU.js.map} +0 -0
  150. /package/dist/{chunk-CWQACI4Z.js.map → chunk-RW2LPL72.js.map} +0 -0
  151. /package/dist/{chunk-LLWBPPZ4.js.map → chunk-VDZO6IDR.js.map} +0 -0
  152. /package/dist/{chunk-3BFX6HJM.js.map → chunk-VL2YMDPH.js.map} +0 -0
  153. /package/dist/{chunk-PXF5J24T.js.map → chunk-WLM3F3WU.js.map} +0 -0
@@ -34,7 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- var _chunkA7IPON2Vcjs = require('./chunk-A7IPON2V.cjs');
37
+ var _chunkBIKOJ4FHcjs = require('./chunk-BIKOJ4FH.cjs');
38
38
 
39
39
 
40
40
 
@@ -160,7 +160,7 @@ var _chunkBGD345ZVcjs = require('./chunk-BGD345ZV.cjs');
160
160
 
161
161
 
162
162
 
163
- var _chunk2B6773QMcjs = require('./chunk-2B6773QM.cjs');
163
+ var _chunkLILQJ3UZcjs = require('./chunk-LILQJ3UZ.cjs');
164
164
 
165
165
 
166
166
  var _chunkBZFW3FOFcjs = require('./chunk-BZFW3FOF.cjs');
@@ -808,7 +808,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution, showExe
808
808
  onClick: onToggle,
809
809
  className: "flex gap-[var(--spacing-system-xsf)] items-start w-full p-[var(--spacing-system-sf)] cursor-pointer text-left",
810
810
  children: [
811
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7IPON2Vcjs.ToolIcon, { toolType, size: 16 }) }),
811
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIKOJ4FHcjs.ToolIcon, { toolType, size: 16 }) }),
812
812
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
813
813
  "div",
814
814
  {
@@ -1472,7 +1472,7 @@ var MermaidDiagram = ({ chart }) => {
1472
1472
  ) }) });
1473
1473
  };
1474
1474
  var MarkdownContentImage = ({ src, alt }) => {
1475
- const resolvedSrc = _chunkA7IPON2Vcjs.useAuthedImageSrc.call(void 0, src);
1475
+ const resolvedSrc = _chunkBIKOJ4FHcjs.useAuthedImageSrc.call(void 0, src);
1476
1476
  if (!resolvedSrc) return null;
1477
1477
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1478
1478
  _chunkXL4V2PYGcjs.next_image_default,
@@ -1854,6 +1854,35 @@ var ThinkingDisplay = _react.forwardRef.call(void 0,
1854
1854
  );
1855
1855
  ThinkingDisplay.displayName = "ThinkingDisplay";
1856
1856
 
1857
+ // src/components/chat/guide-display.tsx
1858
+ _chunkA62C4C4Vcjs.init_cn.call(void 0, );
1859
+
1860
+
1861
+ var GUIDE_LABEL = "OpenFrame Guide";
1862
+ var GuideDisplay = _react.forwardRef.call(void 0,
1863
+ ({ className, children, ...props }, ref) => {
1864
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1865
+ "div",
1866
+ {
1867
+ ref,
1868
+ className: _chunkA62C4C4Vcjs.cn.call(void 0,
1869
+ "flex flex-col gap-[var(--spacing-system-m)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-m)]",
1870
+ className
1871
+ ),
1872
+ ...props,
1873
+ children: [
1874
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
1875
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CompassIcon, { size: 16, className: "shrink-0 text-ods-open-yellow" }),
1876
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5 text-ods-open-yellow", children: GUIDE_LABEL })
1877
+ ] }),
1878
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 w-full break-words text-h4 text-ods-text-primary", children })
1879
+ ]
1880
+ }
1881
+ );
1882
+ }
1883
+ );
1884
+ GuideDisplay.displayName = "GuideDisplay";
1885
+
1857
1886
  // src/components/chat/error-message-display.tsx
1858
1887
  _chunkA62C4C4Vcjs.init_cn.call(void 0, );
1859
1888
 
@@ -2247,7 +2276,7 @@ function formatBioText(aboutHtml, fallback = "") {
2247
2276
 
2248
2277
  var SquareAvatar = React2.memo(React2.forwardRef(
2249
2278
  ({ className, src, alt, size: size2 = "md", sizePx, fallback, variant = "square", initialsClassName, style, ...props }, ref) => {
2250
- const resolvedSrc = _chunkA7IPON2Vcjs.useAuthedImageSrc.call(void 0, src);
2279
+ const resolvedSrc = _chunkBIKOJ4FHcjs.useAuthedImageSrc.call(void 0, src);
2251
2280
  const sizeClasses2 = {
2252
2281
  sm: "h-8 w-8",
2253
2282
  md: "h-10 w-10",
@@ -4935,7 +4964,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
4935
4964
  return null;
4936
4965
  };
4937
4966
  const headerContent = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
4938
- !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7IPON2Vcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4967
+ !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIKOJ4FHcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4939
4968
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4940
4969
  "div",
4941
4970
  {
@@ -5565,7 +5594,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
5565
5594
  const usedKeys = /* @__PURE__ */ new Set();
5566
5595
  const emittedBlockKeys = /* @__PURE__ */ new Set();
5567
5596
  segments.forEach((segment, segIdx) => {
5568
- if (segment.type !== "text") return;
5597
+ if (segment.type !== "text" && segment.type !== "guide") return;
5569
5598
  const text = segment.text;
5570
5599
  const parts = [];
5571
5600
  let cursor = 0;
@@ -5668,6 +5697,35 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
5668
5697
  }
5669
5698
  };
5670
5699
  }, [hasMarkerSupport, hasMentionSupport, renderMention, chatRefs, renderingPlan, NavLinkAnchor]);
5700
+ const renderSegmentBody = (segIndex, text) => {
5701
+ const parts = _optionalChain([renderingPlan, 'optionalAccess', _93 => _93.partsBySegment, 'access', _94 => _94.get, 'call', _95 => _95(segIndex)]);
5702
+ if (!parts || parts.length === 0) {
5703
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5704
+ SimpleMarkdownRenderer,
5705
+ {
5706
+ content: text,
5707
+ textSize: "compact",
5708
+ additionalRemarkPlugins: cardRemarkPlugins,
5709
+ componentOverrides: cardComponentOverrides
5710
+ }
5711
+ );
5712
+ }
5713
+ return parts.map((part, pIdx) => {
5714
+ if (part.kind === "text") {
5715
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5716
+ SimpleMarkdownRenderer,
5717
+ {
5718
+ content: part.text,
5719
+ textSize: "compact",
5720
+ additionalRemarkPlugins: cardRemarkPlugins,
5721
+ componentOverrides: cardComponentOverrides
5722
+ },
5723
+ `t-${pIdx}`
5724
+ );
5725
+ }
5726
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "my-3", children: part.node }, `b-${part.key}`);
5727
+ });
5728
+ };
5671
5729
  const getAvatarProps = () => {
5672
5730
  const displayName = name || (isUser ? "User" : assistantType === "mingo" ? "Mingo" : "Fae");
5673
5731
  const isMingo = assistantType === "mingo";
@@ -5720,37 +5778,19 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
5720
5778
  ] }),
5721
5779
  (!isSystem || segments.length > 0) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-2", children: segments.map((segment, index) => {
5722
5780
  if (segment.type === "text") {
5723
- const parts = _optionalChain([renderingPlan, 'optionalAccess', _93 => _93.partsBySegment, 'access', _94 => _94.get, 'call', _95 => _95(index)]);
5724
- const wrapperClass = _chunkA62C4C4Vcjs.cn.call(void 0,
5725
- "min-w-0 w-full break-words text-h4",
5726
- isError ? "text-ods-error" : "text-ods-text-primary"
5781
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5782
+ "div",
5783
+ {
5784
+ className: _chunkA62C4C4Vcjs.cn.call(void 0,
5785
+ "min-w-0 w-full break-words text-h4",
5786
+ isError ? "text-ods-error" : "text-ods-text-primary"
5787
+ ),
5788
+ children: renderSegmentBody(index, segment.text)
5789
+ },
5790
+ index
5727
5791
  );
5728
- if (!parts || parts.length === 0) {
5729
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: wrapperClass, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5730
- SimpleMarkdownRenderer,
5731
- {
5732
- content: segment.text,
5733
- textSize: "compact",
5734
- additionalRemarkPlugins: cardRemarkPlugins,
5735
- componentOverrides: cardComponentOverrides
5736
- }
5737
- ) }, index);
5738
- }
5739
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: wrapperClass, children: parts.map((part, pIdx) => {
5740
- if (part.kind === "text") {
5741
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5742
- SimpleMarkdownRenderer,
5743
- {
5744
- content: part.text,
5745
- textSize: "compact",
5746
- additionalRemarkPlugins: cardRemarkPlugins,
5747
- componentOverrides: cardComponentOverrides
5748
- },
5749
- `t-${pIdx}`
5750
- );
5751
- }
5752
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "my-3", children: part.node }, `b-${part.key}`);
5753
- }) }, index);
5792
+ } else if (segment.type === "guide") {
5793
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, GuideDisplay, { children: renderSegmentBody(index, segment.text) }, index);
5754
5794
  } else if (segment.type === "tool_execution") {
5755
5795
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5756
5796
  ToolExecutionDisplay,
@@ -6015,6 +6055,7 @@ function CyclingPhrase({
6015
6055
  var MESSAGE_TYPE = {
6016
6056
  TEXT: "TEXT",
6017
6057
  THINKING: "THINKING",
6058
+ GUIDE: "GUIDE",
6018
6059
  EXECUTING_TOOL: "EXECUTING_TOOL",
6019
6060
  EXECUTED_TOOL: "EXECUTED_TOOL",
6020
6061
  APPROVAL_REQUEST: "APPROVAL_REQUEST",
@@ -6425,7 +6466,7 @@ function generateImageSizes(_url) {
6425
6466
 
6426
6467
  // src/components/chat/hooks/use-proxied-image-url.ts
6427
6468
  function useProxiedImageUrl(url) {
6428
- const r = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
6469
+ const r = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
6429
6470
  return _nullishCoalesce(getProxiedImageUrl(_nullishCoalesce(url, () => ( "")), {
6430
6471
  proxyPrefix: r.endpoints.imageProxyUrlPrefix,
6431
6472
  skipDomains: r.endpoints.imageProxySkipDomains,
@@ -6751,7 +6792,7 @@ function CloneCopy({
6751
6792
  style,
6752
6793
  children
6753
6794
  }) {
6754
- const ref = _chunkA7IPON2Vcjs.useSuppressCloneFocus.call(void 0, true);
6795
+ const ref = _chunkBIKOJ4FHcjs.useSuppressCloneFocus.call(void 0, true);
6755
6796
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, "aria-hidden": true, "data-marquee-copy": "clone", className, style, children });
6756
6797
  }
6757
6798
  function MarqueeWall({
@@ -6778,7 +6819,7 @@ function MarqueeWall({
6778
6819
  const containerRef = React12.useRef(null);
6779
6820
  const trackRef = React12.useRef(null);
6780
6821
  const copyRef = React12.useRef(null);
6781
- const reducedMotion = _nullishCoalesce(_chunkA7IPON2Vcjs.useMediaQuery.call(void 0, "(prefers-reduced-motion: reduce)"), () => ( false));
6822
+ const reducedMotion = _nullishCoalesce(_chunkBIKOJ4FHcjs.useMediaQuery.call(void 0, "(prefers-reduced-motion: reduce)"), () => ( false));
6782
6823
  const [overflows, setOverflows] = React12.useState(false);
6783
6824
  const copySizeRef = React12.useRef(0);
6784
6825
  const wrapSizeRef = React12.useRef(0);
@@ -6811,7 +6852,7 @@ function MarqueeWall({
6811
6852
  if (!el || typeof IntersectionObserver === "undefined") return;
6812
6853
  const io = new IntersectionObserver(
6813
6854
  (entries) => setNearViewport(_nullishCoalesce(_optionalChain([entries, 'access', _123 => _123[0], 'optionalAccess', _124 => _124.isIntersecting]), () => ( true))),
6814
- { rootMargin: _chunkA7IPON2Vcjs.NEAR_VIEWPORT_ROOT_MARGIN }
6855
+ { rootMargin: _chunkBIKOJ4FHcjs.NEAR_VIEWPORT_ROOT_MARGIN }
6815
6856
  );
6816
6857
  io.observe(el);
6817
6858
  return () => io.disconnect();
@@ -6828,7 +6869,7 @@ function MarqueeWall({
6828
6869
  if (e.pointerType === "touch") return;
6829
6870
  pointerInsideRef.current = false;
6830
6871
  }, []);
6831
- _chunkA7IPON2Vcjs.useResetOnPageHidden.call(void 0, clearPointerInside);
6872
+ _chunkBIKOJ4FHcjs.useResetOnPageHidden.call(void 0, clearPointerInside);
6832
6873
  const draggingRef = React12.useRef(false);
6833
6874
  const dragSuppressUntilRef = React12.useRef(0);
6834
6875
  const applyTransform = React12.useCallback(
@@ -6883,7 +6924,7 @@ function MarqueeWall({
6883
6924
  }
6884
6925
  };
6885
6926
  }, [sync, applyTransform]);
6886
- const { posRef, wrap } = _chunkA7IPON2Vcjs.useMarqueeEngine.call(void 0, {
6927
+ const { posRef, wrap } = _chunkBIKOJ4FHcjs.useMarqueeEngine.call(void 0, {
6887
6928
  active: marqueeActive && nearViewport && isDriver,
6888
6929
  speed,
6889
6930
  isPaused: (now) => pauseOnHover && pointerInsideRef.current || draggingRef.current || now < dragSuppressUntilRef.current || document.visibilityState === "hidden",
@@ -8663,7 +8704,7 @@ function ChatHeaderSearchField({
8663
8704
  className
8664
8705
  }) {
8665
8706
  const [value, setValue] = React26.useState(_nullishCoalesce(initialValue, () => ( "")));
8666
- const debounced = _chunkA7IPON2Vcjs.useDebounce.call(void 0, value, 300);
8707
+ const debounced = _chunkBIKOJ4FHcjs.useDebounce.call(void 0, value, 300);
8667
8708
  const lastEmitted = React26.useRef(_nullishCoalesce(initialValue, () => ( "")));
8668
8709
  const [exiting, setExiting] = React26.useState(false);
8669
8710
  const collapsedRef = React26.useRef(false);
@@ -10010,7 +10051,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
10010
10051
  return;
10011
10052
  }
10012
10053
  const target = stripSameOriginToPath(href);
10013
- if (target.includes("#") && _chunkA7IPON2Vcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkA7IPON2Vcjs.STICKY_HEADER_OFFSET_PX })) {
10054
+ if (target.includes("#") && _chunkBIKOJ4FHcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkBIKOJ4FHcjs.STICKY_HEADER_OFFSET_PX })) {
10014
10055
  return;
10015
10056
  }
10016
10057
  const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _177 => _177.navigation, 'access', _178 => _178.navigate, 'optionalCall', _179 => _179({ href, path, targetPlatform })]), () => ( false));
@@ -10067,7 +10108,7 @@ function NavLinkAnchorViaRuntime({
10067
10108
  className,
10068
10109
  children
10069
10110
  }) {
10070
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
10111
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
10071
10112
  const router = _chunkSSJNN5BScjs.useRouter.call(void 0, );
10072
10113
  const panel = useChatPanel();
10073
10114
  const resolvedHref = resolveHrefForRuntime(href, runtime);
@@ -10479,7 +10520,7 @@ function EntityPortraitCard({
10479
10520
  setIsWide(img.naturalWidth / img.naturalHeight >= MIN_WIDE_RATIO);
10480
10521
  }
10481
10522
  };
10482
- const edgeColor = _chunkA7IPON2Vcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--color-bg-surface)");
10523
+ const edgeColor = _chunkBIKOJ4FHcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--color-bg-surface)");
10483
10524
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target, rel, className: _chunkA62C4C4Vcjs.cn.call(void 0, "block h-full", className), "aria-label": `Open ${title}`, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { className: "bg-ods-card border border-ods-border hover:border-ods-accent hover:shadow-lg hover:shadow-ods-accent/[0.08] transition-all duration-200 p-6 flex flex-col gap-6 overflow-hidden h-full", children: [
10484
10525
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10485
10526
  "div",
@@ -10786,7 +10827,7 @@ function AdminContentCard({
10786
10827
  const [imageError, setImageError] = _react.useState.call(void 0, false);
10787
10828
  const [imageLoaded, setImageLoaded] = _react.useState.call(void 0, false);
10788
10829
  const displayUrl = imageUrl && !imageError ? imageUrl : placeholderUrl;
10789
- const imageBgColor = _chunkA7IPON2Vcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
10830
+ const imageBgColor = _chunkBIKOJ4FHcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
10790
10831
  _react.useEffect.call(void 0, () => {
10791
10832
  setImageLoaded(false);
10792
10833
  }, [displayUrl]);
@@ -11043,7 +11084,7 @@ function saveDataEnabled() {
11043
11084
  function useVideoOriginPreconnect({
11044
11085
  supabaseStorageOrigin
11045
11086
  } = {}) {
11046
- const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
11087
+ const runtime = _chunkLILQJ3UZcjs.useChatRuntime.call(void 0, );
11047
11088
  const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _190 => _190.endpoints, 'access', _191 => _191.supabaseStorageOrigin])));
11048
11089
  try {
11049
11090
  ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
@@ -11062,10 +11103,10 @@ function useVideoWarmup({
11062
11103
  supabaseStorageOrigin,
11063
11104
  nearMargin = "1000px"
11064
11105
  } = {}) {
11065
- const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
11106
+ const runtime = _chunkLILQJ3UZcjs.useChatRuntime.call(void 0, );
11066
11107
  const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _192 => _192.endpoints, 'access', _193 => _193.supabaseStorageOrigin])));
11067
11108
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
11068
- const { ref, isNear } = _chunkA7IPON2Vcjs.useNearViewport.call(void 0, nearMargin);
11109
+ const { ref, isNear } = _chunkBIKOJ4FHcjs.useNearViewport.call(void 0, nearMargin);
11069
11110
  _react.useEffect.call(void 0, () => {
11070
11111
  if (!isNear || !videoUrl || !resolvedOrigin) return;
11071
11112
  if (saveDataEnabled()) return;
@@ -11855,7 +11896,7 @@ function VideoHoverPreviewSurface({
11855
11896
  if (!el || typeof IntersectionObserver === "undefined") return;
11856
11897
  const io = new IntersectionObserver(
11857
11898
  (entries) => setIsNear(_nullishCoalesce(_optionalChain([entries, 'access', _273 => _273[0], 'optionalAccess', _274 => _274.isIntersecting]), () => ( false))),
11858
- { rootMargin: _chunkA7IPON2Vcjs.NEAR_VIEWPORT_ROOT_MARGIN }
11899
+ { rootMargin: _chunkBIKOJ4FHcjs.NEAR_VIEWPORT_ROOT_MARGIN }
11859
11900
  );
11860
11901
  io.observe(el);
11861
11902
  return () => io.disconnect();
@@ -12083,7 +12124,7 @@ function ManagedCell({
12083
12124
  }) {
12084
12125
  const hintedWidth = React125.default.isValidElement(item) ? item.props["data-strip-cell-width"] : void 0;
12085
12126
  const desktopWidth = typeof hintedWidth === "number" ? hintedWidth : cardWidthDesktop;
12086
- const cloneRef = _chunkA7IPON2Vcjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
12127
+ const cloneRef = _chunkBIKOJ4FHcjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
12087
12128
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12088
12129
  "div",
12089
12130
  {
@@ -12246,7 +12287,7 @@ function CardsStrip(props) {
12246
12287
  const current = activeKeyRef.current;
12247
12288
  if (current !== null) deactivate(current);
12248
12289
  }, [deactivate]);
12249
- _chunkA7IPON2Vcjs.useResetOnPageHidden.call(void 0, clearHover);
12290
+ _chunkBIKOJ4FHcjs.useResetOnPageHidden.call(void 0, clearHover);
12250
12291
  const syncHoverIfScrolled = _react.useCallback.call(void 0, () => {
12251
12292
  const scroller = scrollerRef.current;
12252
12293
  if (!scroller) return;
@@ -12259,7 +12300,7 @@ function CardsStrip(props) {
12259
12300
  const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _285 => _285.current, 'optionalAccess', _286 => _286.clientWidth]), () => ( 0));
12260
12301
  return Math.max(0, Math.min(200, half / 4, half - viewport - TRACK_GAP_PX - 1));
12261
12302
  }, []);
12262
- const { posRef: marqueePosRef, glideBy } = _chunkA7IPON2Vcjs.useMarqueeEngine.call(void 0, {
12303
+ const { posRef: marqueePosRef, glideBy } = _chunkBIKOJ4FHcjs.useMarqueeEngine.call(void 0, {
12263
12304
  // Viewport gates `active` (the rAF fully stops off-screen — a paused
12264
12305
  // engine would keep scheduling frames forever), same treatment as
12265
12306
  // <MarqueeWall>; the envelope persists, so re-entry resumes at cruise.
@@ -12299,7 +12340,7 @@ function CardsStrip(props) {
12299
12340
  }
12300
12341
  return next;
12301
12342
  });
12302
- }, { rootMargin: _chunkA7IPON2Vcjs.NEAR_VIEWPORT_ROOT_MARGIN });
12343
+ }, { rootMargin: _chunkBIKOJ4FHcjs.NEAR_VIEWPORT_ROOT_MARGIN });
12303
12344
  cardObserverRef.current = io;
12304
12345
  cardElIdxRef.current.forEach((_idx, el) => io.observe(el));
12305
12346
  return () => {
@@ -13429,7 +13470,7 @@ function useEntityCardLink({
13429
13470
  target,
13430
13471
  rel
13431
13472
  }) {
13432
- const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
13473
+ const runtime = _chunkLILQJ3UZcjs.useChatRuntime.call(void 0, );
13433
13474
  return _react.useMemo.call(void 0, () => {
13434
13475
  if (target !== void 0 || rel !== void 0) {
13435
13476
  const safeRel = _nullishCoalesce(rel, () => ( (target === "_blank" ? "noopener noreferrer" : void 0)));
@@ -13447,7 +13488,7 @@ function useEntityCardPlaceholder({
13447
13488
  siteName = "",
13448
13489
  aspect = "wide"
13449
13490
  }) {
13450
- const derived = _chunkA7IPON2Vcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
13491
+ const derived = _chunkBIKOJ4FHcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
13451
13492
  return placeholderUrl !== void 0 ? placeholderUrl : derived;
13452
13493
  }
13453
13494
 
@@ -14764,7 +14805,7 @@ function AutocompleteInner(props, ref) {
14764
14805
  }, [valueArray, options]);
14765
14806
  const selectedOption = !multiple && selectedOptions.length > 0 ? selectedOptions[0] : null;
14766
14807
  const inputPlaceholder = multiple ? valueArray.length === 0 ? placeholder : "Add More..." : placeholder;
14767
- const autoLimitTags = _chunkA7IPON2Vcjs.useAutoLimitTags.call(void 0, {
14808
+ const autoLimitTags = _chunkBIKOJ4FHcjs.useAutoLimitTags.call(void 0, {
14768
14809
  count: multiple ? selectedOptions.length : 0,
14769
14810
  limitTags: multiple ? limitTagsProp : 0,
14770
14811
  placeholder: inputPlaceholder
@@ -15511,7 +15552,7 @@ function DatePickerCalendar({
15511
15552
  fluid = false
15512
15553
  }) {
15513
15554
  const today = /* @__PURE__ */ new Date();
15514
- const isMdUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useMdUp.call(void 0, ), () => ( true));
15555
+ const isMdUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useMdUp.call(void 0, ), () => ( true));
15515
15556
  const monthsToShow = isMdUp ? numberOfMonths : 1;
15516
15557
  const [draftRange, setDraftRange] = React46.useState(
15517
15558
  mode === "range" ? selected : void 0
@@ -16535,7 +16576,7 @@ var ProgressBar = ({
16535
16576
  mobileHeight = 8,
16536
16577
  inverted = false
16537
16578
  }) => {
16538
- const isMdUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useMdUp.call(void 0, ), () => ( true));
16579
+ const isMdUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useMdUp.call(void 0, ), () => ( true));
16539
16580
  const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
16540
16581
  const effectiveHeight = isMdUp ? height : mobileHeight;
16541
16582
  const containerRef = _react.useRef.call(void 0, null);
@@ -16662,7 +16703,7 @@ function InfoCardFooter({ footer }) {
16662
16703
  ] });
16663
16704
  }
16664
16705
  function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
16665
- const { copy, copied } = _chunkA7IPON2Vcjs.useCopyToClipboard.call(void 0, );
16706
+ const { copy, copied } = _chunkBIKOJ4FHcjs.useCopyToClipboard.call(void 0, );
16666
16707
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)] self-stretch w-full", children: [
16667
16708
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary whitespace-nowrap", children: showLabel ? label : "" }),
16668
16709
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 h-px bg-ods-divider" }),
@@ -19033,7 +19074,7 @@ var DrawerContent = React67.forwardRef(
19033
19074
  const resolvedSide = _nullishCoalesce(side, () => ( "right"));
19034
19075
  const isHorizontal = HORIZONTAL_SIDES.has(resolvedSide);
19035
19076
  const initialSize = _nullishCoalesce(defaultSize, () => ( (isHorizontal ? 560 : 480)));
19036
- const headerHeight = _chunkA7IPON2Vcjs.useHeaderHeight.call(void 0, );
19077
+ const headerHeight = _chunkBIKOJ4FHcjs.useHeaderHeight.call(void 0, );
19037
19078
  const [isMobile, setIsMobile] = React67.useState(false);
19038
19079
  React67.useEffect(() => {
19039
19080
  if (typeof window === "undefined") return;
@@ -21255,7 +21296,7 @@ var OGLinkPreview = ({
21255
21296
  const hasImage = !!resolvedImageUrl;
21256
21297
  const isFallbackImage = resolvedImageUrl === fallbackImage;
21257
21298
  const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
21258
- const bgColor = _chunkA7IPON2Vcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--color-bg-surface)");
21299
+ const bgColor = _chunkBIKOJ4FHcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--color-bg-surface)");
21259
21300
  const renderSkeleton = () => isCompact ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "my-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-row border border-ods-border rounded-lg overflow-hidden bg-ods-card h-[120px]", children: [
21260
21301
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[200px] h-full flex-shrink-0 bg-ods-border animate-pulse" }),
21261
21302
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 p-3 flex flex-col justify-center", children: [
@@ -23719,7 +23760,7 @@ function ListPageLayout({
23719
23760
  }) {
23720
23761
  const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
23721
23762
  const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
23722
- const debouncedSearchValue = _chunkA7IPON2Vcjs.useDebounce.call(void 0, localSearchValue, 500);
23763
+ const debouncedSearchValue = _chunkBIKOJ4FHcjs.useDebounce.call(void 0, localSearchValue, 500);
23723
23764
  _react.useEffect.call(void 0, () => {
23724
23765
  setLocalSearchValue(searchValue);
23725
23766
  }, [searchValue]);
@@ -23800,7 +23841,7 @@ _chunkA62C4C4Vcjs.init_cn.call(void 0, );
23800
23841
  _chunkA62C4C4Vcjs.init_cn.call(void 0, );
23801
23842
 
23802
23843
  function EntityImage({ src, alt, fallbackText, className }) {
23803
- const resolvedSrc = _chunkA7IPON2Vcjs.useAuthedImageSrc.call(void 0, src);
23844
+ const resolvedSrc = _chunkBIKOJ4FHcjs.useAuthedImageSrc.call(void 0, src);
23804
23845
  const [imageFailed, setImageFailed] = React125.default.useState(false);
23805
23846
  React125.default.useEffect(() => {
23806
23847
  setImageFailed(false);
@@ -24386,7 +24427,7 @@ function toToolLabel(input) {
24386
24427
  if (!input) return "";
24387
24428
  const toolType = normalizeToolType(input);
24388
24429
  if (toolType) {
24389
- return _chunkA7IPON2Vcjs.toolLabels[toolType];
24430
+ return _chunkBIKOJ4FHcjs.toolLabels[toolType];
24390
24431
  }
24391
24432
  return input;
24392
24433
  }
@@ -24397,7 +24438,7 @@ function getToolTypeAliases(toolType) {
24397
24438
  return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
24398
24439
  }
24399
24440
  function getToolLabel(toolType) {
24400
- return _chunkA7IPON2Vcjs.toolLabels[toolType] || toolType;
24441
+ return _chunkBIKOJ4FHcjs.toolLabels[toolType] || toolType;
24401
24442
  }
24402
24443
 
24403
24444
  // src/types/shell.types.ts
@@ -25719,7 +25760,7 @@ function sanitizeLandingUrl(url) {
25719
25760
  }
25720
25761
  }
25721
25762
  function makeAdapter() {
25722
- return _chunkA7IPON2Vcjs.createLocalStorageAdapter.call(void 0, {
25763
+ return _chunkBIKOJ4FHcjs.createLocalStorageAdapter.call(void 0, {
25723
25764
  key: FIRST_TOUCH_ATTRIBUTION_KEY,
25724
25765
  backend: "session",
25725
25766
  logTag: "[first-touch-attribution]",
@@ -27667,10 +27708,10 @@ function CompleteAccountForm({
27667
27708
  children
27668
27709
  }) {
27669
27710
  const fieldsDisabled = disabled || loading;
27670
- const firstNameErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _607 => _607.firstName]), firstName);
27671
- const lastNameErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _608 => _608.lastName]), lastName);
27672
- const passwordErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _609 => _609.password]), password);
27673
- const confirmErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _610 => _610.confirmPassword]), confirmPassword);
27711
+ const firstNameErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _607 => _607.firstName]), firstName);
27712
+ const lastNameErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _608 => _608.lastName]), lastName);
27713
+ const passwordErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _609 => _609.password]), password);
27714
+ const confirmErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _610 => _610.confirmPassword]), confirmPassword);
27674
27715
  const handleKeyDown = (event) => {
27675
27716
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
27676
27717
  onSubmit();
@@ -27861,9 +27902,9 @@ function CreateOrganizationForm({
27861
27902
  }) {
27862
27903
  const hasSso = !!ssoProviders && ssoProviders.length > 0;
27863
27904
  const fieldsDisabled = disabled || loading;
27864
- const emailErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _611 => _611.email]), email);
27865
- const orgNameErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _612 => _612.organizationName]), organizationName);
27866
- const domainErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _613 => _613.domain]), domain);
27905
+ const emailErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _611 => _611.email]), email);
27906
+ const orgNameErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _612 => _612.organizationName]), organizationName);
27907
+ const domainErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _613 => _613.domain]), domain);
27867
27908
  const handleKeyDown = (event) => {
27868
27909
  if (event.key === "Enter" && !fieldsDisabled) {
27869
27910
  onSubmit();
@@ -28017,7 +28058,7 @@ function LoginForm({
28017
28058
  className
28018
28059
  }) {
28019
28060
  const fieldDisabled = disabled || loading;
28020
- const emailErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _619 => _619.email]), email);
28061
+ const emailErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _619 => _619.email]), email);
28021
28062
  const handleKeyDown = (event) => {
28022
28063
  if (event.key === "Enter" && !fieldDisabled) {
28023
28064
  _optionalChain([onSubmit, 'optionalCall', _620 => _620()]);
@@ -28091,8 +28132,8 @@ function OpenFrameSsoLoginForm({
28091
28132
  className
28092
28133
  }) {
28093
28134
  const fieldsDisabled = disabled || loading;
28094
- const emailErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _623 => _623.email]), email);
28095
- const passwordErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _624 => _624.password]), password);
28135
+ const emailErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _623 => _623.email]), email);
28136
+ const passwordErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _624 => _624.password]), password);
28096
28137
  const handleKeyDown = (event) => {
28097
28138
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
28098
28139
  onSubmit();
@@ -28199,11 +28240,11 @@ function OpenFrameSsoSignUpForm({
28199
28240
  className
28200
28241
  }) {
28201
28242
  const fieldsDisabled = disabled || loading;
28202
- const emailErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _625 => _625.email]), email);
28203
- const firstNameErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _626 => _626.firstName]), firstName);
28204
- const lastNameErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _627 => _627.lastName]), lastName);
28205
- const passwordErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _628 => _628.password]), password);
28206
- const confirmErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _629 => _629.confirmPassword]), confirmPassword);
28243
+ const emailErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _625 => _625.email]), email);
28244
+ const firstNameErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _626 => _626.firstName]), firstName);
28245
+ const lastNameErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _627 => _627.lastName]), lastName);
28246
+ const passwordErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _628 => _628.password]), password);
28247
+ const confirmErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _629 => _629.confirmPassword]), confirmPassword);
28207
28248
  const handleKeyDown = (event) => {
28208
28249
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
28209
28250
  onSubmit();
@@ -28346,8 +28387,8 @@ function PasswordResetForm({
28346
28387
  className
28347
28388
  }) {
28348
28389
  const fieldsDisabled = disabled || loading;
28349
- const passwordErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _630 => _630.password]), password);
28350
- const confirmErr = _chunkA7IPON2Vcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _631 => _631.confirmPassword]), confirmPassword);
28390
+ const passwordErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _630 => _630.password]), password);
28391
+ const confirmErr = _chunkBIKOJ4FHcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _631 => _631.confirmPassword]), confirmPassword);
28351
28392
  const handleKeyDown = (event) => {
28352
28393
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
28353
28394
  onSubmit();
@@ -30632,7 +30673,7 @@ function PlatformFilterComponent({
30632
30673
  variant: selectedPlatform === platform.value ? "accent" : "outline",
30633
30674
  size: size2,
30634
30675
  onClick: () => onPlatformChange(platform.value),
30635
- leftIcon: showIcons ? _chunkA7IPON2Vcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
30676
+ leftIcon: showIcons ? _chunkBIKOJ4FHcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
30636
30677
  className: "text-h3",
30637
30678
  children: platform.label
30638
30679
  },
@@ -33946,7 +33987,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
33946
33987
  if (level) onPermissionChange(categoryId, policy.id, level);
33947
33988
  };
33948
33989
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border-b last:border-b-0 border-ods-border flex gap-[var(--spacing-system-m)] items-start md:items-center px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)]", children: [
33949
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8 shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7IPON2Vcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
33990
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8 shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIKOJ4FHcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
33950
33991
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col min-w-0", children: [
33951
33992
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", title: policy.name, children: policy.name }),
33952
33993
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary break-all", children: policy.commandPattern }),
@@ -34240,8 +34281,8 @@ function WaitlistForm({
34240
34281
  const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
34241
34282
  const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
34242
34283
  const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
34243
- const { toast } = _chunkA7IPON2Vcjs.useToast.call(void 0, );
34244
- const { honeypotInputProps, getSignals, resetSignals } = _chunkA7IPON2Vcjs.useHumanitySignals.call(void 0, );
34284
+ const { toast } = _chunkBIKOJ4FHcjs.useToast.call(void 0, );
34285
+ const { honeypotInputProps, getSignals, resetSignals } = _chunkBIKOJ4FHcjs.useHumanitySignals.call(void 0, );
34245
34286
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
34246
34287
  const [isClient, setIsClient] = _react.useState.call(void 0, false);
34247
34288
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
@@ -35223,7 +35264,7 @@ function NotificationTile({
35223
35264
  onError: () => setFailedImageUrl(image),
35224
35265
  className: "size-4 rounded-[2px] object-cover"
35225
35266
  }
35226
- ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkA7IPON2Vcjs.dotColorByVariant[accentVariant]) })))
35267
+ ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkBIKOJ4FHcjs.dotColorByVariant[accentVariant]) })))
35227
35268
  }
35228
35269
  ),
35229
35270
  type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -35271,7 +35312,7 @@ function NotificationTile({
35271
35312
  "aria-hidden": true,
35272
35313
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
35273
35314
  "absolute inset-x-0 -bottom-px h-1 origin-left",
35274
- _chunkA7IPON2Vcjs.progressColorByVariant[accentVariant]
35315
+ _chunkBIKOJ4FHcjs.progressColorByVariant[accentVariant]
35275
35316
  ),
35276
35317
  style: {
35277
35318
  animation: `toast-progress ${liveDurationMs}ms linear forwards`,
@@ -35494,7 +35535,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
35494
35535
  ] });
35495
35536
  }
35496
35537
  function DesktopNotificationsToggleRow({ checked, onChange }) {
35497
- const { supported, permission, request } = _chunkA7IPON2Vcjs.useNotificationPermission.call(void 0, );
35538
+ const { supported, permission, request } = _chunkBIKOJ4FHcjs.useNotificationPermission.call(void 0, );
35498
35539
  if (!supported) return null;
35499
35540
  const blocked = permission === "denied";
35500
35541
  const handleChange = async (value) => {
@@ -36952,7 +36993,7 @@ function EmptyState2() {
36952
36993
  // src/components/features/board/use-board-collapse.ts
36953
36994
 
36954
36995
  function useBoardCollapse(storageKey) {
36955
- const [persisted, setPersisted] = _chunkA7IPON2Vcjs.useLocalStorage.call(void 0,
36996
+ const [persisted, setPersisted] = _chunkBIKOJ4FHcjs.useLocalStorage.call(void 0,
36956
36997
  _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")),
36957
36998
  {}
36958
36999
  );
@@ -37002,7 +37043,7 @@ function Board({
37002
37043
  onThumbPointerDown,
37003
37044
  onThumbPointerMove,
37004
37045
  onThumbPointerUp
37005
- } = _chunkA7IPON2Vcjs.useHorizontalScrollbar.call(void 0, );
37046
+ } = _chunkBIKOJ4FHcjs.useHorizontalScrollbar.call(void 0, );
37006
37047
  const [items, setItems] = React110.useState(columns);
37007
37048
  const isDraggingRef = React110.useRef(false);
37008
37049
  React110.useEffect(() => {
@@ -37364,8 +37405,8 @@ var MOBILE_NAV_PANEL_ID = "mobile-nav-panel";
37364
37405
  function MobileNavPanel({ isOpen, config }) {
37365
37406
  const panelRef = _react.useRef.call(void 0, null);
37366
37407
  _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
37367
- _chunkA7IPON2Vcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: config.onClose });
37368
- const headerHeight = _chunkA7IPON2Vcjs.useHeaderHeight.call(void 0, 64, { enabled: isOpen });
37408
+ _chunkBIKOJ4FHcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: config.onClose });
37409
+ const headerHeight = _chunkBIKOJ4FHcjs.useHeaderHeight.call(void 0, 64, { enabled: isOpen });
37369
37410
  if (!isOpen) return null;
37370
37411
  const renderNavigationItem = (item) => {
37371
37412
  if (item.element) {
@@ -37869,11 +37910,11 @@ _chunkSTYA77PHcjs.init_button2.call(void 0, );
37869
37910
  function SlidingSidebar({ config }) {
37870
37911
  const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
37871
37912
  const [mounted, setMounted] = _react.useState.call(void 0, false);
37872
- const headerHeight = _chunkA7IPON2Vcjs.useHeaderHeight.call(void 0, );
37913
+ const headerHeight = _chunkBIKOJ4FHcjs.useHeaderHeight.call(void 0, );
37873
37914
  const asideRef = _react.useRef.call(void 0, null);
37874
37915
  const prefersReducedMotion2 = _framermotion.useReducedMotion.call(void 0, );
37875
37916
  _overlays.usePreventScroll.call(void 0, { isDisabled: !config.isOpen });
37876
- _chunkA7IPON2Vcjs.useFocusTrap.call(void 0, asideRef, config.isOpen, { onEscape: config.onClose, contain: false });
37917
+ _chunkBIKOJ4FHcjs.useFocusTrap.call(void 0, asideRef, config.isOpen, { onEscape: config.onClose, contain: false });
37877
37918
  _react.useEffect.call(void 0, () => {
37878
37919
  setMounted(true);
37879
37920
  }, []);
@@ -38111,7 +38152,7 @@ function useSectionNavigation(sections, options) {
38111
38152
  if (!targetElement) return;
38112
38153
  isScrollingFromClick.current = true;
38113
38154
  setActiveSection(sectionId);
38114
- _chunkA7IPON2Vcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
38155
+ _chunkBIKOJ4FHcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
38115
38156
  setTimeout(() => {
38116
38157
  isScrollingFromClick.current = false;
38117
38158
  }, 500);
@@ -38297,10 +38338,10 @@ var MINIMIZED_WIDTH = 56;
38297
38338
  var EXPANDED_WIDTH = 224;
38298
38339
  var STORAGE_KEY = "of.navigationSidebar.minimized";
38299
38340
  function NavigationSidebar({ config, disabled = false }) {
38300
- const isMdUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useMdUp.call(void 0, ), () => ( false));
38301
- const isLgUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useLgUp.call(void 0, ), () => ( false));
38341
+ const isMdUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useMdUp.call(void 0, ), () => ( false));
38342
+ const isLgUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useLgUp.call(void 0, ), () => ( false));
38302
38343
  const isTablet = isMdUp && !isLgUp;
38303
- const [desktopMinimized, setDesktopMinimized] = _chunkA7IPON2Vcjs.useLocalStorage.call(void 0,
38344
+ const [desktopMinimized, setDesktopMinimized] = _chunkBIKOJ4FHcjs.useLocalStorage.call(void 0,
38304
38345
  STORAGE_KEY,
38305
38346
  _nullishCoalesce(config.minimized, () => ( false))
38306
38347
  );
@@ -38624,7 +38665,7 @@ var AppHeader = React125.default.memo(function AppHeader2({
38624
38665
  onToggleMobileMenu,
38625
38666
  disabled = false
38626
38667
  }) {
38627
- const isMdUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useMdUp.call(void 0, ), () => ( false));
38668
+ const isMdUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useMdUp.call(void 0, ), () => ( false));
38628
38669
  const dimmedClass = disabled ? "pointer-events-none opacity-50" : "";
38629
38670
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38630
38671
  "header",
@@ -38823,7 +38864,7 @@ var MobileBurgerMenu = React125.default.memo(function MobileBurgerMenu2({
38823
38864
  }) {
38824
38865
  const panelRef = _react.useRef.call(void 0, null);
38825
38866
  _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
38826
- _chunkA7IPON2Vcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: onClose });
38867
+ _chunkBIKOJ4FHcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: onClose });
38827
38868
  const handleItemClick = _react.useCallback.call(void 0, (item) => {
38828
38869
  if (item.onClick) {
38829
38870
  item.onClick();
@@ -39378,7 +39419,7 @@ var ToolBadge = ({
39378
39419
  }) => {
39379
39420
  const label = getToolLabel(toolType);
39380
39421
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "flex items-center gap-1 text-ods-text-secondary", className), children: [
39381
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7IPON2Vcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
39422
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIKOJ4FHcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
39382
39423
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: label })
39383
39424
  ] });
39384
39425
  };
@@ -39750,7 +39791,7 @@ function OnboardingWalkthrough({
39750
39791
  isStepSkipped,
39751
39792
  allStepsComplete,
39752
39793
  markMultipleComplete
39753
- } = _chunkA7IPON2Vcjs.useOnboardingState.call(void 0, storageKey);
39794
+ } = _chunkBIKOJ4FHcjs.useOnboardingState.call(void 0, storageKey);
39754
39795
  const hasAutoMarkedRef = _react.useRef.call(void 0, false);
39755
39796
  const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
39756
39797
  const lastCompletionStatusRef = _react.useRef.call(void 0, null);
@@ -39957,7 +39998,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
39957
39998
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-primary", children: log.title }),
39958
39999
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
39959
40000
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 text-ods-text-secondary", children: formatTimestamp(log.timestamp) }),
39960
- log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA7IPON2Vcjs.ToolIcon, { toolType: log.toolType, size: 16 })
40001
+ log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIKOJ4FHcjs.ToolIcon, { toolType: log.toolType, size: 16 })
39961
40002
  ] })
39962
40003
  ] })
39963
40004
  ]
@@ -40094,7 +40135,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
40094
40135
  }
40095
40136
  function ServiceCardRowItem({ row }) {
40096
40137
  const [revealed, setRevealed] = _react.useState.call(void 0, false);
40097
- const { copy, copied } = _chunkA7IPON2Vcjs.useCopyToClipboard.call(void 0, );
40138
+ const { copy, copied } = _chunkBIKOJ4FHcjs.useCopyToClipboard.call(void 0, );
40098
40139
  const actions = _react.useMemo.call(void 0, () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }), [row]);
40099
40140
  const displayValue = row.isSecret ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MaskedValue, { value: row.value, isRevealed: revealed }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.value });
40100
40141
  const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
@@ -40709,7 +40750,7 @@ function TableHeader({
40709
40750
  }
40710
40751
  return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Arrow01DownIcon, { className: "w-4 h-4 text-ods-accent" });
40711
40752
  };
40712
- const isLgUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useLgUp.call(void 0, ), () => ( false));
40753
+ const isLgUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useLgUp.call(void 0, ), () => ( false));
40713
40754
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
40714
40755
  "div",
40715
40756
  {
@@ -41632,7 +41673,7 @@ function QueryReportTable({
41632
41673
  onThumbPointerDown,
41633
41674
  onThumbPointerMove,
41634
41675
  onThumbPointerUp
41635
- } = _chunkA7IPON2Vcjs.useHorizontalScrollbar.call(void 0, );
41676
+ } = _chunkBIKOJ4FHcjs.useHorizontalScrollbar.call(void 0, );
41636
41677
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "flex flex-col w-full", isCompact ? "gap-0" : "gap-[var(--spacing-system-l)]", className), children: [
41637
41678
  !isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-[var(--spacing-system-l)]", children: [
41638
41679
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-h2 text-ods-text-primary", children: title }),
@@ -41862,7 +41903,7 @@ function DataTableHeader({
41862
41903
  onSortChange
41863
41904
  }) {
41864
41905
  const table = useDataTableContext();
41865
- const isLgUp = _nullishCoalesce(_chunkA7IPON2Vcjs.useLgUp.call(void 0, ), () => ( false));
41906
+ const isLgUp = _nullishCoalesce(_chunkBIKOJ4FHcjs.useLgUp.call(void 0, ), () => ( false));
41866
41907
  const headerGroup = table.getHeaderGroups()[0];
41867
41908
  if (!headerGroup) return null;
41868
41909
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
@@ -42435,7 +42476,7 @@ function SearchInput({
42435
42476
  }) {
42436
42477
  const [internalValue, setInternalValue] = React127.useState(defaultValue);
42437
42478
  const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
42438
- const debouncedValue = _chunkA7IPON2Vcjs.useDebounce.call(void 0, currentValue, debounceMs);
42479
+ const debouncedValue = _chunkBIKOJ4FHcjs.useDebounce.call(void 0, currentValue, debounceMs);
42439
42480
  const [isOpen, setIsOpen] = React127.useState(false);
42440
42481
  const [highlightedIndex, setHighlightedIndex] = React127.useState(-1);
42441
42482
  const containerRef = React127.useRef(null);
@@ -42447,7 +42488,7 @@ function SearchInput({
42447
42488
  textMeasureRef,
42448
42489
  badgeRef,
42449
42490
  inputRef
42450
- } = _chunkA7IPON2Vcjs.useAutoLimitTags.call(void 0, {
42491
+ } = _chunkBIKOJ4FHcjs.useAutoLimitTags.call(void 0, {
42451
42492
  count: filterChips.length,
42452
42493
  limitTags,
42453
42494
  // When chips exist, pass empty placeholder so the hook only reserves input minWidth,
@@ -42914,7 +42955,7 @@ function TagSearchInput({
42914
42955
  textMeasureRef,
42915
42956
  badgeRef,
42916
42957
  inputRef
42917
- } = _chunkA7IPON2Vcjs.useAutoLimitTags.call(void 0, {
42958
+ } = _chunkBIKOJ4FHcjs.useAutoLimitTags.call(void 0, {
42918
42959
  count: tags.length,
42919
42960
  limitTags,
42920
42961
  placeholder: currentPlaceholder
@@ -43716,7 +43757,7 @@ function ImageUploader({
43716
43757
  const [pressed, setPressed] = React131.useState(false);
43717
43758
  const [validationError, setValidationError] = React131.useState(null);
43718
43759
  const interactive = !disabled && !loading;
43719
- const resolvedValue = _chunkA7IPON2Vcjs.useAuthedImageSrc.call(void 0, value);
43760
+ const resolvedValue = _chunkBIKOJ4FHcjs.useAuthedImageSrc.call(void 0, value);
43720
43761
  const hasImage = Boolean(value);
43721
43762
  const displayError = error || validationError || void 0;
43722
43763
  const resolvedHint = hint === void 0 ? `Max. size: ${formatSize(maxSize)}` : hint;
@@ -47745,13 +47786,13 @@ _chunkSSJNN5BScjs.init_next_navigation.call(void 0, );
47745
47786
  // src/components/chat/hooks/use-chat-card-item.ts
47746
47787
 
47747
47788
  function useChatCardItem(type, id) {
47748
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
47789
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
47749
47790
  const url = runtime.endpoints.buildListUrl(type, [id]);
47750
47791
  const query = _reactquery.useQuery.call(void 0, {
47751
47792
  queryKey: ["chat-card-item", type, id],
47752
47793
  queryFn: async () => {
47753
47794
  if (!url) return null;
47754
- const res = await _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, url);
47795
+ const res = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, url);
47755
47796
  if (!res.ok) return null;
47756
47797
  const data = await res.json();
47757
47798
  const items = extractItems(data);
@@ -48829,7 +48870,7 @@ function ChatCardNavWrap({
48829
48870
  isNewTab,
48830
48871
  children
48831
48872
  }) {
48832
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
48873
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
48833
48874
  const router = _chunkSSJNN5BScjs.useRouter.call(void 0, );
48834
48875
  const panel = useChatPanel();
48835
48876
  const onClickCapture = (e) => {
@@ -48852,7 +48893,7 @@ function ChatCardLoader({
48852
48893
  chipBasePlatform,
48853
48894
  extras
48854
48895
  }) {
48855
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
48896
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
48856
48897
  const resolvedChatRef = React125.default.useMemo(() => {
48857
48898
  const cta = resolveSourceRowCTA(
48858
48899
  {
@@ -49850,6 +49891,11 @@ function parseChunkToAction(chunk) {
49850
49891
  return { action: "thinking", text: data.text };
49851
49892
  }
49852
49893
  return null;
49894
+ case MESSAGE_TYPE.GUIDE:
49895
+ if (typeof data.text === "string") {
49896
+ return { action: "guide", text: data.text };
49897
+ }
49898
+ return null;
49853
49899
  case MESSAGE_TYPE.EXECUTING_TOOL:
49854
49900
  return {
49855
49901
  action: "tool_execution",
@@ -50086,6 +50132,19 @@ var MessageSegmentAccumulator = class {
50086
50132
  }
50087
50133
  return this.getSegments();
50088
50134
  }
50135
+ /**
50136
+ * Append guide text to the current message.
50137
+ * If the last segment is guide, append to it; otherwise start a new guide segment.
50138
+ */
50139
+ appendGuide(text) {
50140
+ const lastSegment = this.segments[this.segments.length - 1];
50141
+ if (lastSegment && lastSegment.type === "guide") {
50142
+ this.segments[this.segments.length - 1] = { type: "guide", text: lastSegment.text + text };
50143
+ } else {
50144
+ this.segments.push({ type: "guide", text });
50145
+ }
50146
+ return this.getSegments();
50147
+ }
50089
50148
  /**
50090
50149
  * Add a tool execution segment.
50091
50150
  *
@@ -50389,6 +50448,9 @@ var MessageSegmentAccumulator = class {
50389
50448
  case "thinking":
50390
50449
  if (segment.text) this.appendThinking(segment.text);
50391
50450
  break;
50451
+ case "guide":
50452
+ if (segment.text) this.appendGuide(segment.text);
50453
+ break;
50392
50454
  case "tool_execution":
50393
50455
  this.addToolExecution(segment);
50394
50456
  break;
@@ -50539,6 +50601,15 @@ function useRealtimeChunkProcessor(options) {
50539
50601
  }
50540
50602
  break;
50541
50603
  }
50604
+ case "guide": {
50605
+ const segments = accumulator.appendGuide(action.text);
50606
+ if (isInStreamRef.current || !hasEverStreamedRef.current) {
50607
+ emitSegments(segments);
50608
+ } else {
50609
+ emitSegments([{ type: "guide", text: action.text }], { append: true });
50610
+ }
50611
+ break;
50612
+ }
50542
50613
  case "tool_execution": {
50543
50614
  if (action.segment.data.type === "EXECUTING_TOOL") {
50544
50615
  _optionalChain([callbacks, 'access', _1321 => _1321.onAgentBusy, 'optionalCall', _1322 => _1322()]);
@@ -50770,7 +50841,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
50770
50841
  try {
50771
50842
  const url = new URL(commandsUrl, window.location.origin);
50772
50843
  if (prefix) url.searchParams.set("q", prefix);
50773
- const res = await _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
50844
+ const res = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
50774
50845
  if (!res.ok) return [];
50775
50846
  const data = await res.json();
50776
50847
  return _nullishCoalesce(data.commands, () => ( []));
@@ -50845,7 +50916,7 @@ var EMPTY_STATE_FALLBACK = {
50845
50916
  async function fetchEmptyStateConfig(signal, emptyStateUrl) {
50846
50917
  try {
50847
50918
  const url = new URL(emptyStateUrl, window.location.origin);
50848
- const res = await _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
50919
+ const res = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
50849
50920
  if (!res.ok) {
50850
50921
  if (res.status >= 500) {
50851
50922
  console.error(`[chat] empty-state config fetch failed (${res.status}): ${url.pathname}`);
@@ -50963,7 +51034,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
50963
51034
  });
50964
51035
  }
50965
51036
  function useChatAttachments() {
50966
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
51037
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
50967
51038
  const uploadUrlEndpoint = runtime.endpoints.attachmentUploadUrl;
50968
51039
  const [attachments, setAttachments] = _react.useState.call(void 0, []);
50969
51040
  const controllersRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
@@ -51007,7 +51078,7 @@ function useChatAttachments() {
51007
51078
  );
51008
51079
  }
51009
51080
  updateOne(att.id, { status: "uploading", progress: 5 });
51010
- const urlResp = await _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
51081
+ const urlResp = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
51011
51082
  method: "POST",
51012
51083
  headers: { "Content-Type": "application/json" },
51013
51084
  signal: _optionalChain([ctrl, 'optionalAccess', _1372 => _1372.signal]),
@@ -51136,7 +51207,7 @@ function useChatAttachments() {
51136
51207
 
51137
51208
  var CLOSED = { isOpen: false, images: [], initialIndex: 0 };
51138
51209
  function useChatAttachmentImageGallery() {
51139
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
51210
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
51140
51211
  const viewUrlPrefix = runtime.endpoints.attachmentViewUrlPrefix;
51141
51212
  const panelRef = _react.useRef.call(void 0, null);
51142
51213
  const [state, setState] = _react.useState.call(void 0, CLOSED);
@@ -51195,9 +51266,9 @@ var ANON_DEFAULTS = {
51195
51266
  user: null
51196
51267
  };
51197
51268
  function useResolveChatIdentity(enabled) {
51198
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
51269
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
51199
51270
  const url = runtime.endpoints.identityUrl;
51200
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkA7IPON2Vcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1378 => _1378.email]), () => ( null));
51271
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkBIKOJ4FHcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1378 => _1378.email]), () => ( null));
51201
51272
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
51202
51273
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
51203
51274
  _react.useEffect.call(void 0, () => {
@@ -51205,7 +51276,7 @@ function useResolveChatIdentity(enabled) {
51205
51276
  let cancelled = false;
51206
51277
  const ctrl = new AbortController();
51207
51278
  setIsLoading(true);
51208
- _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
51279
+ _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
51209
51280
  if (!resp.ok) return ANON_DEFAULTS;
51210
51281
  return await resp.json();
51211
51282
  }).then((next) => {
@@ -51609,6 +51680,9 @@ function useChat({
51609
51680
  setIsTyping(false);
51610
51681
  reset();
51611
51682
  }, [reset]);
51683
+ const hydrateMessages = _react.useCallback.call(void 0, (history) => {
51684
+ setMessages((prev) => prev.length === 0 ? history : [...history, ...prev]);
51685
+ }, []);
51612
51686
  const stopMessage = _react.useCallback.call(void 0, () => {
51613
51687
  abort();
51614
51688
  setIsTyping(false);
@@ -51622,12 +51696,125 @@ function useChat({
51622
51696
  stopMessage,
51623
51697
  handleQuickAction,
51624
51698
  clearMessages,
51699
+ hydrateMessages,
51625
51700
  hasMessages: messages.length > 0
51626
51701
  };
51627
51702
  }
51628
51703
 
51629
51704
  // src/components/chat/hooks/use-sse-chat-adapter.ts
51630
51705
 
51706
+
51707
+ // src/components/chat/utils/chat-conversation-storage.ts
51708
+ var STORAGE_KEY2 = "conversation";
51709
+ var namespaceFor = (source) => {
51710
+ const base = `mingo-chat-${source}`;
51711
+ const auth = _chunkBIKOJ4FHcjs.getEmbedProxyAuth.call(void 0, );
51712
+ return _optionalChain([auth, 'optionalAccess', _1391 => _1391.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
51713
+ };
51714
+ function createChatConversationStorage(source) {
51715
+ return _chunkBIKOJ4FHcjs.createLocalStorageAdapter.call(void 0, {
51716
+ key: STORAGE_KEY2,
51717
+ namespace: () => namespaceFor(source),
51718
+ validate: (parsed) => !!parsed && typeof parsed.conversationId === "string" && parsed.conversationId.length > 0,
51719
+ logTag: "[chat-conversation-storage]"
51720
+ });
51721
+ }
51722
+ function pruneStaleChatConversationStorage(source) {
51723
+ if (typeof window === "undefined") return;
51724
+ try {
51725
+ const base = `mingo-chat-${source}`;
51726
+ const currentKey = `${namespaceFor(source)}.${STORAGE_KEY2}`;
51727
+ const ownedKey = (k) => k === base || // retired raw key (pre-adapter shape)
51728
+ k === `${base}.${STORAGE_KEY2}` || // current no-identity shape
51729
+ k.startsWith(`${base}-u-`) || // per-identity shapes (current + retired)
51730
+ k.startsWith(`${base}-v`);
51731
+ const toRemove = [];
51732
+ for (let i = 0; i < window.localStorage.length; i++) {
51733
+ const k = window.localStorage.key(i);
51734
+ if (!k) continue;
51735
+ if (ownedKey(k) && k !== currentKey) toRemove.push(k);
51736
+ }
51737
+ for (const k of toRemove) {
51738
+ window.localStorage.removeItem(k);
51739
+ }
51740
+ } catch (e90) {
51741
+ }
51742
+ }
51743
+
51744
+ // src/components/chat/hooks/use-chat-history-hydration.ts
51745
+
51746
+ function useChatHistoryHydration({
51747
+ active,
51748
+ source,
51749
+ historyUrl,
51750
+ conversationIdRef,
51751
+ refsMapRef,
51752
+ sendCountRef,
51753
+ hydrateMessages,
51754
+ bumpMetaTick
51755
+ }) {
51756
+ const [isHydratingHistory, setIsHydratingHistory] = _react.useState.call(void 0, false);
51757
+ const hydratedKeyRef = _react.useRef.call(void 0, null);
51758
+ _react.useEffect.call(void 0, () => {
51759
+ if (!active) return;
51760
+ const conversationId = conversationIdRef.current;
51761
+ if (!conversationId) return;
51762
+ const key = `${source}:${conversationId}`;
51763
+ if (hydratedKeyRef.current === key) return;
51764
+ hydratedKeyRef.current = key;
51765
+ let cancelled = false;
51766
+ setIsHydratingHistory(true);
51767
+ (async () => {
51768
+ try {
51769
+ const res = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0,
51770
+ `${historyUrl}?conversationId=${encodeURIComponent(conversationId)}`,
51771
+ { method: "GET" }
51772
+ );
51773
+ if (!res.ok) return;
51774
+ const payload = await res.json().catch(() => null);
51775
+ const body = _nullishCoalesce(_optionalChain([payload, 'optionalAccess', _1392 => _1392.data]), () => ( payload));
51776
+ const rows = Array.isArray(_optionalChain([body, 'optionalAccess', _1393 => _1393.messages])) ? body.messages : [];
51777
+ if (cancelled || rows.length === 0) return;
51778
+ const hydrated = [];
51779
+ let userTurns = 0;
51780
+ for (const row of rows) {
51781
+ const role = row.role === "assistant" ? "assistant" : row.role === "user" ? "user" : null;
51782
+ if (!role) continue;
51783
+ const content = typeof row.content === "string" ? row.content : "";
51784
+ const hidden = role === "user" && (content === "" || content.startsWith(AUTO_CONTINUATION_DIRECTIVE_PREFIX));
51785
+ if (role === "user") {
51786
+ userTurns += 1;
51787
+ } else if (row.chat_refs && typeof row.chat_refs === "object") {
51788
+ refsMapRef.current.set(
51789
+ Math.max(0, userTurns - 1),
51790
+ row.chat_refs
51791
+ );
51792
+ }
51793
+ hydrated.push({
51794
+ id: `hydrated-${String(_nullishCoalesce(row.seq, () => ( hydrated.length)))}`,
51795
+ role,
51796
+ content,
51797
+ ...typeof row.created_at === "string" ? { timestamp: new Date(row.created_at) } : {},
51798
+ ...hidden ? { hidden: true } : {}
51799
+ });
51800
+ }
51801
+ if (cancelled || hydrated.length === 0) return;
51802
+ sendCountRef.current = userTurns;
51803
+ hydrateMessages(hydrated);
51804
+ bumpMetaTick();
51805
+ } catch (e91) {
51806
+ } finally {
51807
+ if (!cancelled) setIsHydratingHistory(false);
51808
+ }
51809
+ })();
51810
+ return () => {
51811
+ cancelled = true;
51812
+ };
51813
+ }, [active, source, historyUrl, hydrateMessages, bumpMetaTick]);
51814
+ return { isHydratingHistory, hydratedKeyRef };
51815
+ }
51816
+
51817
+ // src/components/chat/hooks/use-sse-chat-adapter.ts
51631
51818
  function createEmptyTurnMeta() {
51632
51819
  return {
51633
51820
  provider: null,
@@ -51639,36 +51826,30 @@ function createEmptyTurnMeta() {
51639
51826
  breakdown: null,
51640
51827
  scrollAnchor: null,
51641
51828
  routedComplexity: null,
51642
- routedThinkingBudget: null
51829
+ routedThinkingBudget: null,
51830
+ conversationId: null
51643
51831
  };
51644
51832
  }
51645
51833
  function escapeThinkingTags(text) {
51646
51834
  return text.replace(/</g, "&lt;");
51647
51835
  }
51648
- function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMapRef, metaMapRef, setStreamingPhase, bumpMetaTick, sendCountRef) {
51836
+ function createDocStreamFn(source, endpoints, sourcesMapRef, refsMapRef, metaMapRef, setStreamingPhase, bumpMetaTick, sendCountRef, conversationIdRef, conversationStorage) {
51649
51837
  return async function* (message2, signal, extra) {
51650
- const currentMessages = messagesRef.current || [];
51651
- const apiMessages = [
51652
- ...currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
51653
- role: m.role,
51654
- content: typeof m.content === "string" ? m.content : flattenAssistantContent(m.content)
51655
- })),
51656
- { role: "user", content: message2 }
51657
- ];
51658
- const targetPath = _optionalChain([extra, 'optionalAccess', _1391 => _1391.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
51659
- const requestBody = _optionalChain([extra, 'optionalAccess', _1392 => _1392.approvalAction]) ? {
51838
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1394 => _1394.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
51839
+ const conversationId = conversationIdRef.current;
51840
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1395 => _1395.approvalAction]) ? {
51660
51841
  proposal_id: extra.approvalAction.proposalId,
51661
51842
  action: extra.approvalAction.action,
51662
- messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
51663
- role: m.role,
51664
- content: typeof m.content === "string" ? m.content : flattenAssistantContent(m.content)
51665
- }))
51843
+ // Always present here — an approval can only happen inside an
51844
+ // established conversation (the proposal turn captured the id).
51845
+ conversationId
51666
51846
  } : {
51667
- messages: apiMessages,
51668
- ..._optionalChain([extra, 'optionalAccess', _1393 => _1393.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
51669
- ..._optionalChain([extra, 'optionalAccess', _1394 => _1394.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
51847
+ messages: [{ role: "user", content: message2 }],
51848
+ ..._optionalChain([extra, 'optionalAccess', _1396 => _1396.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
51849
+ ..._optionalChain([extra, 'optionalAccess', _1397 => _1397.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {},
51850
+ ...conversationId ? { conversationId } : {}
51670
51851
  };
51671
- const response = await _chunkA7IPON2Vcjs.embedAuthedFetch.call(void 0, targetPath, {
51852
+ const response = await _chunkBIKOJ4FHcjs.embedAuthedFetch.call(void 0, targetPath, {
51672
51853
  method: "POST",
51673
51854
  body: JSON.stringify(requestBody),
51674
51855
  signal
@@ -51676,7 +51857,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51676
51857
  if (!response.ok) {
51677
51858
  throw new Error(`Chat request failed: ${response.status}`);
51678
51859
  }
51679
- const reader = _optionalChain([response, 'access', _1395 => _1395.body, 'optionalAccess', _1396 => _1396.getReader, 'call', _1397 => _1397()]);
51860
+ const reader = _optionalChain([response, 'access', _1398 => _1398.body, 'optionalAccess', _1399 => _1399.getReader, 'call', _1400 => _1400()]);
51680
51861
  if (!reader) throw new Error("No response body");
51681
51862
  const decoder = new TextDecoder();
51682
51863
  let buffer = "";
@@ -51728,7 +51909,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51728
51909
  let meta;
51729
51910
  try {
51730
51911
  meta = JSON.parse(metaStr);
51731
- } catch (e90) {
51912
+ } catch (e92) {
51732
51913
  inText = true;
51733
51914
  setStreamingPhase("streaming");
51734
51915
  if (buffer.length > 0) {
@@ -51759,7 +51940,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51759
51940
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
51760
51941
  const result = _nullishCoalesce(meta.result, () => ( null));
51761
51942
  const card = _nullishCoalesce(meta.card, () => ( null));
51762
- if (_optionalChain([card, 'optionalAccess', _1398 => _1398.ref, 'optionalAccess', _1399 => _1399.id]) && _optionalChain([card, 'optionalAccess', _1400 => _1400.type])) {
51943
+ if (_optionalChain([card, 'optionalAccess', _1401 => _1401.ref, 'optionalAccess', _1402 => _1402.id]) && _optionalChain([card, 'optionalAccess', _1403 => _1403.type])) {
51763
51944
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
51764
51945
  const key = buildChatRefKey(card.type, card.ref.id);
51765
51946
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -51772,8 +51953,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51772
51953
  willAutoContinue: meta.willAutoContinue === true,
51773
51954
  ...toolName ? { toolName } : {},
51774
51955
  ...result ? { result } : {},
51775
- ..._optionalChain([card, 'optionalAccess', _1401 => _1401.marker]) ? { marker: card.marker } : {},
51776
- ..._optionalChain([card, 'optionalAccess', _1402 => _1402.ref]) ? { cardRef: card.ref } : {},
51956
+ ..._optionalChain([card, 'optionalAccess', _1404 => _1404.marker]) ? { marker: card.marker } : {},
51957
+ ..._optionalChain([card, 'optionalAccess', _1405 => _1405.ref]) ? { cardRef: card.ref } : {},
51777
51958
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
51778
51959
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
51779
51960
  };
@@ -51829,6 +52010,14 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51829
52010
  });
51830
52011
  bumpMetaTick();
51831
52012
  }
52013
+ if (typeof meta.conversationId === "string" && meta.conversationId) {
52014
+ if (conversationIdRef.current !== meta.conversationId) {
52015
+ conversationIdRef.current = meta.conversationId;
52016
+ conversationStorage.save({ conversationId: meta.conversationId });
52017
+ }
52018
+ mergeTurnMeta(metaMapRef, sendIdx, { conversationId: meta.conversationId });
52019
+ bumpMetaTick();
52020
+ }
51832
52021
  const parsedAnchor = parseScrollAnchor(meta.scrollAnchor);
51833
52022
  if (parsedAnchor !== null) {
51834
52023
  mergeTurnMeta(metaMapRef, sendIdx, { scrollAnchor: parsedAnchor });
@@ -51875,7 +52064,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
51875
52064
  });
51876
52065
  bumpMetaTick();
51877
52066
  }
51878
- } catch (e91) {
52067
+ } catch (e93) {
51879
52068
  }
51880
52069
  }
51881
52070
  };
@@ -51887,81 +52076,24 @@ function mergeTurnMeta(ref, sendIdx, partial) {
51887
52076
  );
51888
52077
  ref.current.set(sendIdx, { ...prev, ...filtered });
51889
52078
  }
51890
- var CHAT_STORAGE_VERSION = 1;
51891
52079
  var DEFAULT_CHAT_SOURCE = "embed";
51892
- var chatStorageKey = (source) => {
51893
- const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
51894
- const auth = _chunkA7IPON2Vcjs.getEmbedProxyAuth.call(void 0, );
51895
- if (_optionalChain([auth, 'optionalAccess', _1403 => _1403.email])) {
51896
- return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
51897
- }
51898
- return base;
51899
- };
51900
- function pruneStaleChatStorage(source) {
51901
- if (typeof window === "undefined") return;
51902
- try {
51903
- const currentKey = chatStorageKey(source);
51904
- const prefix = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}-u-`;
51905
- const legacy = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
51906
- const toRemove = [];
51907
- for (let i = 0; i < window.localStorage.length; i++) {
51908
- const k = window.localStorage.key(i);
51909
- if (!k) continue;
51910
- if (!k.startsWith(prefix)) continue;
51911
- if (k === currentKey) continue;
51912
- if (k === legacy) continue;
51913
- toRemove.push(k);
51914
- }
51915
- for (const k of toRemove) {
51916
- window.localStorage.removeItem(k);
51917
- }
51918
- } catch (e92) {
51919
- }
51920
- }
51921
- function loadPersistedChat(source) {
51922
- if (typeof window === "undefined") return null;
51923
- try {
51924
- const raw = window.localStorage.getItem(chatStorageKey(source));
51925
- if (!raw) return null;
51926
- const parsed = JSON.parse(raw);
51927
- if (!parsed || !Array.isArray(parsed.messages)) return null;
51928
- for (const m of parsed.messages) {
51929
- if (typeof m.timestamp === "string") m.timestamp = new Date(m.timestamp);
51930
- if (m.role === "user" && !m.hidden && typeof m.content === "string" && m.content.startsWith(AUTO_CONTINUATION_DIRECTIVE_PREFIX)) {
51931
- m.hidden = true;
51932
- }
51933
- }
51934
- return parsed;
51935
- } catch (e93) {
51936
- return null;
51937
- }
51938
- }
51939
- function savePersistedChat(source, state) {
51940
- if (typeof window === "undefined") return;
51941
- try {
51942
- window.localStorage.setItem(chatStorageKey(source), JSON.stringify(state));
51943
- } catch (e94) {
51944
- }
51945
- }
51946
52080
  function useSseChatAdapter(options, runtimeOptions = {}) {
51947
52081
  const { active = true } = runtimeOptions;
51948
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
52082
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
51949
52083
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
51950
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1404 => _1404.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
51951
- const persistedRef = _react.useRef.call(void 0, null);
51952
- if (persistedRef.current === null) {
51953
- pruneStaleChatStorage(source);
51954
- persistedRef.current = loadPersistedChat(source) || { messages: [], sources: [], sendCount: 0 };
51955
- }
51956
- const sourcesMapRef = _react.useRef.call(void 0,
51957
- new Map(persistedRef.current.sources)
51958
- );
51959
- const refsMapRef = _react.useRef.call(void 0,
51960
- new Map(_nullishCoalesce(persistedRef.current.refs, () => ( [])))
51961
- );
52084
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1406 => _1406.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
52085
+ const conversationStorage = _react.useMemo.call(void 0, () => createChatConversationStorage(source), [source]);
52086
+ const conversationIdRef = _react.useRef.call(void 0, null);
52087
+ const restoredConversationRef = _react.useRef.call(void 0, false);
52088
+ if (!restoredConversationRef.current) {
52089
+ restoredConversationRef.current = true;
52090
+ pruneStaleChatConversationStorage(source);
52091
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1407 => _1407.load, 'call', _1408 => _1408(), 'optionalAccess', _1409 => _1409.conversationId]), () => ( null));
52092
+ }
52093
+ const sourcesMapRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
52094
+ const refsMapRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
51962
52095
  const metaMapRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
51963
- const messagesRef = _react.useRef.call(void 0, persistedRef.current.messages);
51964
- const sendCountRef = _react.useRef.call(void 0, persistedRef.current.sendCount);
52096
+ const sendCountRef = _react.useRef.call(void 0, 0);
51965
52097
  const [streamingPhase, setStreamingPhase] = _react.useState.call(void 0, "idle");
51966
52098
  const [metaTick, setMetaTick] = _react.useState.call(void 0, 0);
51967
52099
  const bumpMetaTick = _react.useCallback.call(void 0, () => setMetaTick((t) => t + 1), []);
@@ -51972,19 +52104,21 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
51972
52104
  chatStreamUrl: runtime.endpoints.chatStreamUrl,
51973
52105
  approvalToolUrl: runtime.endpoints.approvalToolUrl
51974
52106
  },
51975
- messagesRef,
51976
52107
  sourcesMapRef,
51977
52108
  refsMapRef,
51978
52109
  metaMapRef,
51979
52110
  setStreamingPhase,
51980
52111
  bumpMetaTick,
51981
- sendCountRef
52112
+ sendCountRef,
52113
+ conversationIdRef,
52114
+ conversationStorage
51982
52115
  ),
51983
52116
  [
51984
52117
  source,
51985
52118
  runtime.endpoints.chatStreamUrl,
51986
52119
  runtime.endpoints.approvalToolUrl,
51987
- bumpMetaTick
52120
+ bumpMetaTick,
52121
+ conversationStorage
51988
52122
  ]
51989
52123
  );
51990
52124
  const commandsUrl = runtime.endpoints.commandsUrl;
@@ -52011,17 +52145,6 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52011
52145
  }
52012
52146
  return map;
52013
52147
  }, [slashCommands]);
52014
- const persist = _react.useCallback.call(void 0,
52015
- (nextMessages) => {
52016
- savePersistedChat(source, {
52017
- messages: nextMessages,
52018
- sources: Array.from(sourcesMapRef.current.entries()),
52019
- refs: Array.from(refsMapRef.current.entries()),
52020
- sendCount: sendCountRef.current
52021
- });
52022
- },
52023
- [source]
52024
- );
52025
52148
  const {
52026
52149
  messages,
52027
52150
  isTyping,
@@ -52029,15 +52152,24 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52029
52152
  sendMessage: chatSendMessage,
52030
52153
  stopMessage: chatStopMessage,
52031
52154
  clearMessages: chatClearMessages,
52155
+ hydrateMessages,
52032
52156
  hasMessages
52033
52157
  } = useChat({
52034
52158
  useMock: false,
52035
52159
  assistantName: "Mingo AI",
52036
- streamFn,
52037
- initialMessages: persistedRef.current.messages,
52038
- onMessagesChange: persist
52160
+ streamFn
52161
+ });
52162
+ const historyUrl = _nullishCoalesce(runtime.endpoints.chatHistoryUrl, () => ( `${runtime.endpoints.chatStreamUrl.replace(/\/+$/, "")}/history`));
52163
+ const { isHydratingHistory, hydratedKeyRef } = useChatHistoryHydration({
52164
+ active,
52165
+ source,
52166
+ historyUrl,
52167
+ conversationIdRef,
52168
+ refsMapRef,
52169
+ sendCountRef,
52170
+ hydrateMessages,
52171
+ bumpMetaTick
52039
52172
  });
52040
- messagesRef.current = messages;
52041
52173
  let sendIdx = -1;
52042
52174
  const docMessages = messages.map((m) => {
52043
52175
  const segments = Array.isArray(m.content) ? m.content : void 0;
@@ -52052,7 +52184,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52052
52184
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
52053
52185
  sources = sourcesMapRef.current.get(lookupIdx);
52054
52186
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
52055
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1405 => _1405.current, 'access', _1406 => _1406.get, 'call', _1407 => _1407(lookupIdx), 'optionalAccess', _1408 => _1408.scrollAnchor]), () => ( void 0));
52187
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1410 => _1410.current, 'access', _1411 => _1411.get, 'call', _1412 => _1412(lookupIdx), 'optionalAccess', _1413 => _1413.scrollAnchor]), () => ( void 0));
52056
52188
  }
52057
52189
  return {
52058
52190
  id: m.id,
@@ -52100,7 +52232,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52100
52232
  );
52101
52233
  return;
52102
52234
  }
52103
- const refSlug = typeof _optionalChain([reference, 'access', _1409 => _1409.metadata, 'optionalAccess', _1410 => _1410.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
52235
+ const refSlug = typeof _optionalChain([reference, 'access', _1414 => _1414.metadata, 'optionalAccess', _1415 => _1415.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
52104
52236
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
52105
52237
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
52106
52238
  const text = `/${cmdId} display "${escaped}"`;
@@ -52141,16 +52273,13 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52141
52273
  refsMapRef.current.clear();
52142
52274
  metaMapRef.current.clear();
52143
52275
  sendCountRef.current = 0;
52276
+ conversationIdRef.current = null;
52277
+ conversationStorage.clear();
52278
+ hydratedKeyRef.current = null;
52144
52279
  setStreamingPhase("idle");
52145
52280
  bumpMetaTick();
52146
52281
  chatClearMessages();
52147
- if (typeof window !== "undefined") {
52148
- try {
52149
- window.localStorage.removeItem(chatStorageKey(source));
52150
- } catch (e95) {
52151
- }
52152
- }
52153
- }, [chatClearMessages, source, bumpMetaTick]);
52282
+ }, [chatClearMessages, conversationStorage, hydratedKeyRef, bumpMetaTick]);
52154
52283
  _react.useEffect.call(void 0, () => {
52155
52284
  if (!isTyping && !isStreaming && streamingPhase !== "idle") {
52156
52285
  setStreamingPhase("idle");
@@ -52171,26 +52300,27 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52171
52300
  stopMessage,
52172
52301
  clearMessages,
52173
52302
  streamingPhase,
52303
+ /** True while the mount-time rebuild from the server transcript runs. */
52304
+ isHydratingHistory,
52174
52305
  /** Provider key for the lib's `<ModelDisplay>` icon. */
52175
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1411 => _1411.provider]), () => ( null)),
52176
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1412 => _1412.modelLabel]), () => ( null)),
52177
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1413 => _1413.contextWindowMaxTokens]), () => ( null)),
52306
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1416 => _1416.provider]), () => ( null)),
52307
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1417 => _1417.modelLabel]), () => ( null)),
52308
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1418 => _1418.contextWindowMaxTokens]), () => ( null)),
52178
52309
  /** Input tokens (known after server's message_start frame; null until). */
52179
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1414 => _1414.inputTokens]), () => ( null)),
52310
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1419 => _1419.inputTokens]), () => ( null)),
52180
52311
  /** Output tokens (known only after server's trailing usage frame). */
52181
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1415 => _1415.outputTokens]), () => ( null)),
52312
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1420 => _1420.outputTokens]), () => ( null)),
52182
52313
  /** Cache hit % (read / total-input × 100). null during streaming. */
52183
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1416 => _1416.cacheHitRatePct]), () => ( null)),
52314
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1421 => _1421.cacheHitRatePct]), () => ( null)),
52184
52315
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
52185
52316
  * token counts). null until the trailing usage frame lands. */
52186
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1417 => _1417.breakdown]), () => ( null)),
52317
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1422 => _1422.breakdown]), () => ( null)),
52187
52318
  // ─── Dialog management — stubs for v1 ────────────────────────────────
52188
- // Guide mode currently keeps its history in `localStorage` opaquely
52189
- // under the hood (`runtime.source` namespaced key). Surfacing that
52190
- // history as a structured dialog list is a follow-up; for now the
52191
- // shape is satisfied with empty defaults so the unified contract
52192
- // type-checks and EmbeddableChat hides sidebar affordances when
52193
- // `dialogs.length === 0`.
52319
+ // Guide mode keeps ONE server-side conversation per stored id
52320
+ // (`chat_conversations`, hydrated on mount). Surfacing multiple threads
52321
+ // as a structured dialog list is a follow-up; for now the shape is
52322
+ // satisfied with empty defaults so the unified contract type-checks and
52323
+ // EmbeddableChat hides sidebar affordances when `dialogs.length === 0`.
52194
52324
  dialogs: SSE_EMPTY_DIALOGS,
52195
52325
  activeDialogId: null,
52196
52326
  selectDialog: noopSelectDialog,
@@ -52241,15 +52371,15 @@ var noopRejectRequest = async (_id, _reason) => {
52241
52371
 
52242
52372
  // src/components/chat/utils/process-historical-messages.ts
52243
52373
  function getOwnerDisplayName(owner) {
52244
- if (_optionalChain([owner, 'optionalAccess', _1418 => _1418.type]) === OWNER_TYPE.ADMIN && owner.user) {
52374
+ if (_optionalChain([owner, 'optionalAccess', _1423 => _1423.type]) === OWNER_TYPE.ADMIN && owner.user) {
52245
52375
  const { firstName, lastName } = owner.user;
52246
52376
  const name = [firstName, lastName].filter(Boolean).join(" ");
52247
52377
  if (name) return name;
52248
52378
  }
52249
- return _optionalChain([owner, 'optionalAccess', _1419 => _1419.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
52379
+ return _optionalChain([owner, 'optionalAccess', _1424 => _1424.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
52250
52380
  }
52251
52381
  function getOwnerAvatar(owner) {
52252
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1420 => _1420.user, 'optionalAccess', _1421 => _1421.image, 'optionalAccess', _1422 => _1422.imageUrl]), () => ( void 0));
52382
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1425 => _1425.user, 'optionalAccess', _1426 => _1426.image, 'optionalAccess', _1427 => _1427.imageUrl]), () => ( void 0));
52253
52383
  }
52254
52384
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
52255
52385
  messageDataArray.forEach((data) => {
@@ -52324,14 +52454,14 @@ function processHistoricalMessages(messages, options = {}) {
52324
52454
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
52325
52455
  return;
52326
52456
  }
52327
- const isUserMessage = _optionalChain([msg, 'access', _1423 => _1423.owner, 'optionalAccess', _1424 => _1424.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1425 => _1425.owner, 'optionalAccess', _1426 => _1426.type]) === OWNER_TYPE.ADMIN;
52457
+ const isUserMessage = _optionalChain([msg, 'access', _1428 => _1428.owner, 'optionalAccess', _1429 => _1429.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1430 => _1430.owner, 'optionalAccess', _1431 => _1431.type]) === OWNER_TYPE.ADMIN;
52328
52458
  if (isUserMessage) {
52329
52459
  flushAssistantMessage();
52330
- const userAuthorType = _optionalChain([msg, 'access', _1427 => _1427.owner, 'optionalAccess', _1428 => _1428.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
52460
+ const userAuthorType = _optionalChain([msg, 'access', _1432 => _1432.owner, 'optionalAccess', _1433 => _1433.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
52331
52461
  messageDataArray.forEach((data) => {
52332
52462
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
52333
52463
  const rawContext = data.contextItems;
52334
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1429 => _1429.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1430 => _1430.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
52464
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1434 => _1434.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1435 => _1435.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
52335
52465
  processedMessages.push({
52336
52466
  id: msg.id,
52337
52467
  role: "user",
@@ -52365,7 +52495,7 @@ function processHistoricalMessages(messages, options = {}) {
52365
52495
  });
52366
52496
  const nextMsg = messages[index + 1];
52367
52497
  const isLastMessage = index === messages.length - 1;
52368
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1431 => _1431.owner, 'optionalAccess', _1432 => _1432.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1433 => _1433.owner, 'optionalAccess', _1434 => _1434.type]) === OWNER_TYPE.ADMIN);
52498
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1436 => _1436.owner, 'optionalAccess', _1437 => _1437.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1438 => _1438.owner, 'optionalAccess', _1439 => _1439.type]) === OWNER_TYPE.ADMIN);
52369
52499
  if (isLastMessage || nextIsFromUser) {
52370
52500
  flushAssistantMessage();
52371
52501
  }
@@ -52402,6 +52532,11 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52402
52532
  accumulator.appendThinking(data.text);
52403
52533
  }
52404
52534
  break;
52535
+ case MESSAGE_TYPE.GUIDE:
52536
+ if ("text" in data && data.text) {
52537
+ accumulator.appendGuide(data.text);
52538
+ }
52539
+ break;
52405
52540
  case MESSAGE_TYPE.EXECUTING_TOOL:
52406
52541
  if ("integratedToolType" in data) {
52407
52542
  accumulator.addToolExecution({
@@ -52476,7 +52611,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52476
52611
  }
52477
52612
  }
52478
52613
  } else {
52479
- _optionalChain([escalatedApprovals, 'optionalAccess', _1435 => _1435.set, 'call', _1436 => _1436(data.approvalRequestId, {
52614
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1440 => _1440.set, 'call', _1441 => _1441(data.approvalRequestId, {
52480
52615
  command: data.command || "",
52481
52616
  explanation: data.explanation,
52482
52617
  approvalType,
@@ -52490,8 +52625,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52490
52625
  const existingStatus = approvalStatuses[data.approvalRequestId];
52491
52626
  const status = existingStatus || (data.approved ? "approved" : "rejected");
52492
52627
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
52493
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1437 => _1437.get, 'call', _1438 => _1438(data.approvalRequestId)]);
52494
- if (_optionalChain([escalatedData, 'optionalAccess', _1439 => _1439.toolCalls]) && escalatedData.toolCalls.length > 0) {
52628
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1442 => _1442.get, 'call', _1443 => _1443(data.approvalRequestId)]);
52629
+ if (_optionalChain([escalatedData, 'optionalAccess', _1444 => _1444.toolCalls]) && escalatedData.toolCalls.length > 0) {
52495
52630
  if (batchApprovalsEnabled) {
52496
52631
  accumulator.addApprovalBatch(
52497
52632
  data.approvalRequestId,
@@ -52513,7 +52648,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52513
52648
  );
52514
52649
  }
52515
52650
  }
52516
- _optionalChain([escalatedApprovals, 'optionalAccess', _1440 => _1440.delete, 'call', _1441 => _1441(data.approvalRequestId)]);
52651
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1445 => _1445.delete, 'call', _1446 => _1446(data.approvalRequestId)]);
52517
52652
  break;
52518
52653
  }
52519
52654
  if (escalatedData) {
@@ -52522,7 +52657,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52522
52657
  explanation: escalatedData.explanation,
52523
52658
  approvalType: escalatedData.approvalType
52524
52659
  });
52525
- _optionalChain([escalatedApprovals, 'optionalAccess', _1442 => _1442.delete, 'call', _1443 => _1443(data.approvalRequestId)]);
52660
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1447 => _1447.delete, 'call', _1448 => _1448(data.approvalRequestId)]);
52526
52661
  }
52527
52662
  const before = accumulator.getSegments();
52528
52663
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -52538,10 +52673,10 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52538
52673
  case MESSAGE_TYPE.ERROR:
52539
52674
  if ("error" in data) {
52540
52675
  let message2;
52541
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1444 => _1444.details])) {
52676
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1449 => _1449.details])) {
52542
52677
  try {
52543
- message2 = _optionalChain([JSON, 'access', _1445 => _1445.parse, 'call', _1446 => _1446(data.details), 'optionalAccess', _1447 => _1447.error, 'optionalAccess', _1448 => _1448.message]);
52544
- } catch (e96) {
52678
+ message2 = _optionalChain([JSON, 'access', _1450 => _1450.parse, 'call', _1451 => _1451(data.details), 'optionalAccess', _1452 => _1452.error, 'optionalAccess', _1453 => _1453.message]);
52679
+ } catch (e94) {
52545
52680
  message2 = data.details;
52546
52681
  }
52547
52682
  }
@@ -52626,14 +52761,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
52626
52761
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
52627
52762
  return;
52628
52763
  }
52629
- const isUserMessage = _optionalChain([msg, 'access', _1449 => _1449.owner, 'optionalAccess', _1450 => _1450.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1451 => _1451.owner, 'optionalAccess', _1452 => _1452.type]) === OWNER_TYPE.ADMIN;
52764
+ const isUserMessage = _optionalChain([msg, 'access', _1454 => _1454.owner, 'optionalAccess', _1455 => _1455.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1456 => _1456.owner, 'optionalAccess', _1457 => _1457.type]) === OWNER_TYPE.ADMIN;
52630
52765
  if (isUserMessage) {
52631
52766
  flushAssistantMessage();
52632
- const userAuthorType = _optionalChain([msg, 'access', _1453 => _1453.owner, 'optionalAccess', _1454 => _1454.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
52767
+ const userAuthorType = _optionalChain([msg, 'access', _1458 => _1458.owner, 'optionalAccess', _1459 => _1459.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
52633
52768
  messageDataArray.forEach((data) => {
52634
52769
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
52635
52770
  const rawContext = data.contextItems;
52636
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1455 => _1455.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1456 => _1456.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
52771
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1460 => _1460.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1461 => _1461.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
52637
52772
  processedMessages.push({
52638
52773
  id: msg.id,
52639
52774
  role: "user",
@@ -52667,7 +52802,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
52667
52802
  });
52668
52803
  const nextMsg = messages[index + 1];
52669
52804
  const isLastMessage = index === messages.length - 1;
52670
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1457 => _1457.owner, 'optionalAccess', _1458 => _1458.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1459 => _1459.owner, 'optionalAccess', _1460 => _1460.type]) === OWNER_TYPE.ADMIN);
52805
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1462 => _1462.owner, 'optionalAccess', _1463 => _1463.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1464 => _1464.owner, 'optionalAccess', _1465 => _1465.type]) === OWNER_TYPE.ADMIN);
52671
52806
  if (isLastMessage || nextIsFromUser) {
52672
52807
  flushAssistantMessage();
52673
52808
  }
@@ -52728,7 +52863,7 @@ function extractIncompleteMessageState(lastMessage) {
52728
52863
  break;
52729
52864
  case "approval_batch": {
52730
52865
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
52731
- (c) => _optionalChain([segment, 'access', _1461 => _1461.data, 'access', _1462 => _1462.executions, 'optionalAccess', _1463 => _1463[c.toolExecutionRequestId], 'optionalAccess', _1464 => _1464.status]) === "done"
52866
+ (c) => _optionalChain([segment, 'access', _1466 => _1466.data, 'access', _1467 => _1467.executions, 'optionalAccess', _1468 => _1468[c.toolExecutionRequestId], 'optionalAccess', _1469 => _1469.status]) === "done"
52732
52867
  );
52733
52868
  if (segment.status !== "rejected" && !allDone) {
52734
52869
  hasIncompleteState = true;
@@ -52795,10 +52930,12 @@ function appendToTrailingAssistant(prev, segments) {
52795
52930
  const merged = [..._nullishCoalesce(last.segments, () => ( []))];
52796
52931
  for (const seg of segments) {
52797
52932
  const tail = merged[merged.length - 1];
52798
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1465 => _1465.type]) === "text") {
52933
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1470 => _1470.type]) === "text") {
52799
52934
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
52800
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1466 => _1466.type]) === "thinking") {
52935
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1471 => _1471.type]) === "thinking") {
52801
52936
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
52937
+ } else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _1472 => _1472.type]) === "guide") {
52938
+ merged[merged.length - 1] = { type: "guide", text: tail.text + seg.text };
52802
52939
  } else if (seg.type === "approval_batch") {
52803
52940
  const idx = merged.findIndex(
52804
52941
  (m) => m.type === "approval_batch" && m.data.approvalRequestId === seg.data.approvalRequestId
@@ -52841,11 +52978,11 @@ function applyToolExecutionToMessages(prev, segment) {
52841
52978
  for (let j = message2.segments.length - 1; j >= 0; j--) {
52842
52979
  const seg = message2.segments[j];
52843
52980
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
52844
- const prevExec = _optionalChain([seg, 'access', _1467 => _1467.data, 'access', _1468 => _1468.executions, 'optionalAccess', _1469 => _1469[execId]]);
52845
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1470 => _1470.status]) === "done") {
52981
+ const prevExec = _optionalChain([seg, 'access', _1473 => _1473.data, 'access', _1474 => _1474.executions, 'optionalAccess', _1475 => _1475[execId]]);
52982
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1476 => _1476.status]) === "done") {
52846
52983
  return prev;
52847
52984
  }
52848
- const nextExec = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1471 => _1471.result]), success: _optionalChain([prevExec, 'optionalAccess', _1472 => _1472.success]) };
52985
+ const nextExec = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1477 => _1477.result]), success: _optionalChain([prevExec, 'optionalAccess', _1478 => _1478.success]) };
52849
52986
  const nextSegments = [...message2.segments];
52850
52987
  nextSegments[j] = {
52851
52988
  ...seg,
@@ -53015,11 +53152,11 @@ function useNatsChatAdapter(config, options = {}) {
53015
53152
  }, []);
53016
53153
  const callbacksRef = _react.useRef.call(void 0, {
53017
53154
  onSegmentsUpdate: (segments, meta) => {
53018
- if (_optionalChain([meta, 'optionalAccess', _1473 => _1473.append]) && meta.isCompacting) {
53155
+ if (_optionalChain([meta, 'optionalAccess', _1479 => _1479.append]) && meta.isCompacting) {
53019
53156
  setMessages((prev) => upsertTrailingCompaction(prev, segments));
53020
53157
  return;
53021
53158
  }
53022
- if (_optionalChain([meta, 'optionalAccess', _1474 => _1474.append])) {
53159
+ if (_optionalChain([meta, 'optionalAccess', _1480 => _1480.append])) {
53023
53160
  setMessages((prev) => appendToTrailingAssistant(prev, segments));
53024
53161
  return;
53025
53162
  }
@@ -53032,7 +53169,7 @@ function useNatsChatAdapter(config, options = {}) {
53032
53169
  setMessages((prev) => {
53033
53170
  const last = prev[prev.length - 1];
53034
53171
  if (!last || last.role !== "assistant" || adoptTail) return prev;
53035
- const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _1475 => _1475.segments, 'optionalAccess', _1476 => _1476.length]), () => ( 0))) > 0 || last.content !== "";
53172
+ const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _1481 => _1481.segments, 'optionalAccess', _1482 => _1482.length]), () => ( 0))) > 0 || last.content !== "";
53036
53173
  if (!hasContent) return prev;
53037
53174
  return [
53038
53175
  ...prev,
@@ -53104,19 +53241,19 @@ function useNatsChatAdapter(config, options = {}) {
53104
53241
  // MESSAGE_REQUEST echo — a user message from THIS or another session.
53105
53242
  onUserMessage: (text, meta) => {
53106
53243
  if (!text) return;
53107
- const seq = _optionalChain([meta, 'optionalAccess', _1477 => _1477.streamSeq]);
53244
+ const seq = _optionalChain([meta, 'optionalAccess', _1483 => _1483.streamSeq]);
53108
53245
  if (typeof seq === "number") {
53109
53246
  if (seenParticipantSeqsRef.current.has(seq)) return;
53110
53247
  seenParticipantSeqsRef.current.add(seq);
53111
53248
  }
53112
- if (_optionalChain([meta, 'optionalAccess', _1478 => _1478.ownerType]) !== "ADMIN") {
53249
+ if (_optionalChain([meta, 'optionalAccess', _1484 => _1484.ownerType]) !== "ADMIN") {
53113
53250
  const echoIdx = pendingEchoTextsRef.current.indexOf(text);
53114
53251
  if (echoIdx !== -1) {
53115
53252
  pendingEchoTextsRef.current.splice(echoIdx, 1);
53116
53253
  return;
53117
53254
  }
53118
53255
  }
53119
- const authorType = _optionalChain([meta, 'optionalAccess', _1479 => _1479.ownerType]) === "ADMIN" ? "admin" : "user";
53256
+ const authorType = _optionalChain([meta, 'optionalAccess', _1485 => _1485.ownerType]) === "ADMIN" ? "admin" : "user";
53120
53257
  setMessages((prev) => {
53121
53258
  if (typeof seq !== "number" && hasRecentMessage(
53122
53259
  prev,
@@ -53131,9 +53268,9 @@ function useNatsChatAdapter(config, options = {}) {
53131
53268
  id: nextId("user"),
53132
53269
  role: "user",
53133
53270
  content: text,
53134
- ..._optionalChain([meta, 'optionalAccess', _1480 => _1480.displayName]) ? { name: meta.displayName } : {},
53271
+ ..._optionalChain([meta, 'optionalAccess', _1486 => _1486.displayName]) ? { name: meta.displayName } : {},
53135
53272
  authorType,
53136
- ..._optionalChain([meta, 'optionalAccess', _1481 => _1481.contextItems]) && meta.contextItems.length > 0 ? {
53273
+ ..._optionalChain([meta, 'optionalAccess', _1487 => _1487.contextItems]) && meta.contextItems.length > 0 ? {
53137
53274
  contextItems: meta.contextItems.map((ci) => ({
53138
53275
  type: ci.type,
53139
53276
  id: ci.id,
@@ -53147,7 +53284,7 @@ function useNatsChatAdapter(config, options = {}) {
53147
53284
  // Technician / admin direct message into the dialog.
53148
53285
  onDirectMessage: (text, meta) => {
53149
53286
  if (!text) return;
53150
- const seq = _optionalChain([meta, 'optionalAccess', _1482 => _1482.streamSeq]);
53287
+ const seq = _optionalChain([meta, 'optionalAccess', _1488 => _1488.streamSeq]);
53151
53288
  if (typeof seq === "number") {
53152
53289
  if (seenParticipantSeqsRef.current.has(seq)) return;
53153
53290
  seenParticipantSeqsRef.current.add(seq);
@@ -53166,7 +53303,7 @@ function useNatsChatAdapter(config, options = {}) {
53166
53303
  id: `direct-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`,
53167
53304
  role: "user",
53168
53305
  content: text,
53169
- name: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _1483 => _1483.displayName]), () => ( "Admin")),
53306
+ name: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _1489 => _1489.displayName]), () => ( "Admin")),
53170
53307
  authorType: "admin"
53171
53308
  }
53172
53309
  ];
@@ -53176,7 +53313,7 @@ function useNatsChatAdapter(config, options = {}) {
53176
53313
  // processor produces via `pushStandaloneMessages`).
53177
53314
  onSystemMessage: (text, meta) => {
53178
53315
  if (!text) return;
53179
- const seq = _optionalChain([meta, 'optionalAccess', _1484 => _1484.streamSeq]);
53316
+ const seq = _optionalChain([meta, 'optionalAccess', _1490 => _1490.streamSeq]);
53180
53317
  if (typeof seq === "number") {
53181
53318
  if (seenParticipantSeqsRef.current.has(seq)) return;
53182
53319
  seenParticipantSeqsRef.current.add(seq);
@@ -53408,7 +53545,7 @@ function useNatsChatAdapter(config, options = {}) {
53408
53545
  }, [active, fetchDialogs, loadDialogsPage]);
53409
53546
  const sendMessage = _react.useCallback.call(void 0,
53410
53547
  async (text, sendOptions) => {
53411
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1485 => _1485.hidden]), () => ( false));
53548
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1491 => _1491.hidden]), () => ( false));
53412
53549
  pendingEchoTextsRef.current.push(text);
53413
53550
  if (pendingEchoTextsRef.current.length > 5) pendingEchoTextsRef.current.shift();
53414
53551
  setMessages((prev) => [
@@ -53574,11 +53711,11 @@ function useNatsChatAdapter(config, options = {}) {
53574
53711
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
53575
53712
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
53576
53713
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
53577
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1486 => _1486.provider]), () => ( modelProvider)), () => ( null)),
53578
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1487 => _1487.modelLabel]), () => ( modelLabel)), () => ( null)),
53579
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1488 => _1488.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1489 => _1489.contextWindowMaxTokens]))), () => ( null)),
53580
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1490 => _1490.inputTokensSize]), () => ( null)),
53581
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1491 => _1491.outputTokensSize]), () => ( null)),
53714
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1492 => _1492.provider]), () => ( modelProvider)), () => ( null)),
53715
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1493 => _1493.modelLabel]), () => ( modelLabel)), () => ( null)),
53716
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1494 => _1494.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1495 => _1495.contextWindowMaxTokens]))), () => ( null)),
53717
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1496 => _1496.inputTokensSize]), () => ( null)),
53718
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1497 => _1497.outputTokensSize]), () => ( null)),
53582
53719
  currentCacheHitRatePct: null,
53583
53720
  currentUsageBreakdown: null,
53584
53721
  // Dialog management
@@ -53715,7 +53852,7 @@ function useUnifiedChat(options) {
53715
53852
  []
53716
53853
  );
53717
53854
  const setDialogScope = _react.useCallback.call(void 0,
53718
- (scope) => _optionalChain([activeStateRef, 'access', _1492 => _1492.current, 'access', _1493 => _1493.setDialogScope, 'optionalCall', _1494 => _1494(scope)]),
53855
+ (scope) => _optionalChain([activeStateRef, 'access', _1498 => _1498.current, 'access', _1499 => _1499.setDialogScope, 'optionalCall', _1500 => _1500(scope)]),
53719
53856
  []
53720
53857
  );
53721
53858
  const reloadDialogs = _react.useCallback.call(void 0,
@@ -53853,20 +53990,20 @@ function mergeHistoryWithRealtime(input) {
53853
53990
  }
53854
53991
  }
53855
53992
  const trailing = processedHistory[processedHistory.length - 1];
53856
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1495 => _1495.role]) === "assistant" ? trailing : null;
53857
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1496 => _1496.content, 'access', _1497 => _1497.find, 'call', _1498 => _1498((s) => s.type === "approval_batch"), 'optionalAccess', _1499 => _1499.data, 'optionalAccess', _1500 => _1500.approvalRequestId]), () => ( null)) : null;
53993
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1501 => _1501.role]) === "assistant" ? trailing : null;
53994
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1502 => _1502.content, 'access', _1503 => _1503.find, 'call', _1504 => _1504((s) => s.type === "approval_batch"), 'optionalAccess', _1505 => _1505.data, 'optionalAccess', _1506 => _1506.approvalRequestId]), () => ( null)) : null;
53858
53995
  let processedToUse = processedHistory;
53859
53996
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
53860
53997
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
53861
53998
  if (historyBatchId) {
53862
53999
  const batchTwins = existingMessages.filter(
53863
54000
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
53864
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1501 => _1501.data, 'optionalAccess', _1502 => _1502.approvalRequestId]) === historyBatchId
54001
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1507 => _1507.data, 'optionalAccess', _1508 => _1508.approvalRequestId]) === historyBatchId
53865
54002
  )
53866
54003
  );
53867
54004
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
53868
54005
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
53869
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1503 => _1503.content])) ? historyTrailingAssistant.content.length : 0;
54006
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1509 => _1509.content])) ? historyTrailingAssistant.content.length : 0;
53870
54007
  const realtimeSize = existingWithSameBatch.content.length;
53871
54008
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
53872
54009
  processedToUse = processedHistory.slice(0, -1);
@@ -53900,9 +54037,9 @@ function mergeHistoryWithRealtime(input) {
53900
54037
  if (pinnedSyntheticIds.has(m.id)) return true;
53901
54038
  if (droppedSyntheticIds.has(m.id)) return false;
53902
54039
  if (processedIds.has(m.id)) return false;
53903
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1504 => _1504.has, 'call', _1505 => _1505(m.id)])) return false;
54040
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1510 => _1510.has, 'call', _1511 => _1511(m.id)])) return false;
53904
54041
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
53905
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1506 => _1506.timestamp, 'optionalAccess', _1507 => _1507.getTime, 'call', _1508 => _1508()]), () => ( 0))) <= historyFetchedAt;
54042
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1512 => _1512.timestamp, 'optionalAccess', _1513 => _1513.getTime, 'call', _1514 => _1514()]), () => ( 0))) <= historyFetchedAt;
53906
54043
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
53907
54044
  }
53908
54045
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -53926,7 +54063,7 @@ function mergeHistoryWithRealtime(input) {
53926
54063
  } else if (typeof m.streamSeq === "number" && historyMaxStreamSeq > 0) {
53927
54064
  covered = historyMaxStreamSeq >= m.streamSeq;
53928
54065
  } else {
53929
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1509 => _1509.timestamp, 'optionalAccess', _1510 => _1510.getTime, 'call', _1511 => _1511()]), () => ( 0))) <= historyFetchedAt;
54066
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1515 => _1515.timestamp, 'optionalAccess', _1516 => _1516.getTime, 'call', _1517 => _1517()]), () => ( 0))) <= historyFetchedAt;
53930
54067
  }
53931
54068
  if (covered) return false;
53932
54069
  }
@@ -53982,7 +54119,7 @@ function normalizeHistoricalMessageData(md) {
53982
54119
  function isHistoricalUserTurn(m) {
53983
54120
  return !!m.owner;
53984
54121
  }
53985
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1512 => _1512.type]) === "TEXT" && typeof d.text === "string";
54122
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1518 => _1518.type]) === "TEXT" && typeof d.text === "string";
53986
54123
  var THINK_MS = 550;
53987
54124
  var TOKEN_MS = 55;
53988
54125
  var USER_MS = 480;
@@ -54229,7 +54366,7 @@ function useChatDialogManager({
54229
54366
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
54230
54367
  if (restoreTarget) {
54231
54368
  try {
54232
- await _optionalChain([unarchiveDialog, 'optionalCall', _1513 => _1513(restoreTarget.id)]);
54369
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1519 => _1519(restoreTarget.id)]);
54233
54370
  } catch (err) {
54234
54371
  console.error("[useChatDialogManager] unarchive failed:", err);
54235
54372
  return;
@@ -54395,7 +54532,7 @@ function SourceChip({
54395
54532
  onClose,
54396
54533
  onDiscuss
54397
54534
  }) {
54398
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
54535
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
54399
54536
  const router = _chunkSSJNN5BScjs.useRouter.call(void 0, );
54400
54537
  const cta = resolveSourceRowCTA(
54401
54538
  {
@@ -54641,7 +54778,7 @@ function EmbeddableChatInner({
54641
54778
  contextMemory
54642
54779
  }) {
54643
54780
  const shellLess = shell === "none";
54644
- const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
54781
+ const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
54645
54782
  const source = _nullishCoalesce(runtime.source, () => ( ""));
54646
54783
  const commandsUrl = runtime.endpoints.commandsUrl;
54647
54784
  const { attachmentsEnabled, user: identityUser } = useChatIdentity();
@@ -54710,7 +54847,7 @@ function EmbeddableChatInner({
54710
54847
  }),
54711
54848
  [commandsUrl]
54712
54849
  );
54713
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1514 => _1514.name, 'optionalAccess', _1515 => _1515.trim, 'call', _1516 => _1516()]) || [_optionalChain([identityUser, 'optionalAccess', _1517 => _1517.firstName]), _optionalChain([identityUser, 'optionalAccess', _1518 => _1518.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1519 => _1519.trim, 'call', _1520 => _1520()]) || void 0;
54850
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1520 => _1520.name, 'optionalAccess', _1521 => _1521.trim, 'call', _1522 => _1522()]) || [_optionalChain([identityUser, 'optionalAccess', _1523 => _1523.firstName]), _optionalChain([identityUser, 'optionalAccess', _1524 => _1524.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1525 => _1525.trim, 'call', _1526 => _1526()]) || void 0;
54714
54851
  const effectiveModes = _react.useMemo.call(void 0, () => {
54715
54852
  if (modes) return modes;
54716
54853
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -54719,19 +54856,19 @@ function EmbeddableChatInner({
54719
54856
  const mingoCaps = _react.useMemo.call(void 0, () => {
54720
54857
  if (mingoState) {
54721
54858
  return {
54722
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1521 => _1521.canRename]), () => ( false)),
54723
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1522 => _1522.canArchive]), () => ( false)),
54724
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1523 => _1523.fetchArchivedDialogs]),
54725
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1524 => _1524.unarchiveDialog]),
54726
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1525 => _1525.searchQuery]),
54727
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1526 => _1526.onSearchChange])
54859
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1527 => _1527.canRename]), () => ( false)),
54860
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1528 => _1528.canArchive]), () => ( false)),
54861
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1529 => _1529.fetchArchivedDialogs]),
54862
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1530 => _1530.unarchiveDialog]),
54863
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1531 => _1531.searchQuery]),
54864
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1532 => _1532.onSearchChange])
54728
54865
  };
54729
54866
  }
54730
54867
  return {
54731
- canRename: !!_optionalChain([effectiveModes, 'access', _1527 => _1527.mingo, 'optionalAccess', _1528 => _1528.renameDialog]),
54732
- canArchive: !!_optionalChain([effectiveModes, 'access', _1529 => _1529.mingo, 'optionalAccess', _1530 => _1530.archiveDialog]),
54733
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1531 => _1531.mingo, 'optionalAccess', _1532 => _1532.fetchArchivedDialogs]),
54734
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1533 => _1533.mingo, 'optionalAccess', _1534 => _1534.unarchiveDialog]),
54868
+ canRename: !!_optionalChain([effectiveModes, 'access', _1533 => _1533.mingo, 'optionalAccess', _1534 => _1534.renameDialog]),
54869
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1535 => _1535.mingo, 'optionalAccess', _1536 => _1536.archiveDialog]),
54870
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1537 => _1537.mingo, 'optionalAccess', _1538 => _1538.fetchArchivedDialogs]),
54871
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1539 => _1539.mingo, 'optionalAccess', _1540 => _1540.unarchiveDialog]),
54735
54872
  searchQuery: void 0,
54736
54873
  onSearchChange: void 0
54737
54874
  };
@@ -54745,7 +54882,7 @@ function EmbeddableChatInner({
54745
54882
  if (controlledActiveMode === void 0) {
54746
54883
  setUncontrolledActiveMode(next);
54747
54884
  }
54748
- _optionalChain([onActiveModeChange, 'optionalCall', _1535 => _1535(next)]);
54885
+ _optionalChain([onActiveModeChange, 'optionalCall', _1541 => _1541(next)]);
54749
54886
  },
54750
54887
  [controlledActiveMode, onActiveModeChange]
54751
54888
  );
@@ -54767,7 +54904,7 @@ function EmbeddableChatInner({
54767
54904
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
54768
54905
  const effectiveAssistantName = emptyStateConfig.name;
54769
54906
  const effectiveAssistantIcon = emptyStateConfig.icon;
54770
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1536 => _1536.title]) === "string" ? guideWelcome.title : null)));
54907
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1542 => _1542.title]) === "string" ? guideWelcome.title : null)));
54771
54908
  const {
54772
54909
  messages: rawMessages,
54773
54910
  isLoading: chatLoading,
@@ -54809,7 +54946,7 @@ function EmbeddableChatInner({
54809
54946
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
54810
54947
  guidePromptSentRef.current = true;
54811
54948
  void sendMessage(guidePendingPrompt);
54812
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1537 => _1537()]);
54949
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1543 => _1543()]);
54813
54950
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
54814
54951
  const {
54815
54952
  attachments: stagedAttachments,
@@ -54820,7 +54957,7 @@ function EmbeddableChatInner({
54820
54957
  clear: clearAttachments
54821
54958
  } = useChatAttachments();
54822
54959
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
54823
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1538 => _1538.maxItems]), () => ( 10));
54960
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1544 => _1544.maxItems]), () => ( 10));
54824
54961
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
54825
54962
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
54826
54963
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -54837,10 +54974,10 @@ function EmbeddableChatInner({
54837
54974
  }, [activeDialogId, activeMode]);
54838
54975
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
54839
54976
  const m = /* @__PURE__ */ new Map();
54840
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1539 => _1539.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
54977
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1545 => _1545.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
54841
54978
  return m;
54842
- }, [_optionalChain([contextPicker, 'optionalAccess', _1540 => _1540.entityTypes])]);
54843
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1541 => _1541.entityTypes]);
54979
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1546 => _1546.entityTypes])]);
54980
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1547 => _1547.entityTypes]);
54844
54981
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
54845
54982
  const byType = /* @__PURE__ */ new Map();
54846
54983
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -54852,7 +54989,7 @@ function EmbeddableChatInner({
54852
54989
  if (mentionActiveRef.current) {
54853
54990
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
54854
54991
  if (contextItems.length >= contextMaxItems) return;
54855
- _optionalChain([chatInputRef, 'access', _1542 => _1542.current, 'optionalAccess', _1543 => _1543.commitMention, 'call', _1544 => _1544(mentionTokenOf(key, mentionMarkerByType), {
54992
+ _optionalChain([chatInputRef, 'access', _1548 => _1548.current, 'optionalAccess', _1549 => _1549.commitMention, 'call', _1550 => _1550(mentionTokenOf(key, mentionMarkerByType), {
54856
54993
  label: item.label,
54857
54994
  icon: resolveContextIcon(item)
54858
54995
  })]);
@@ -54874,9 +55011,9 @@ function EmbeddableChatInner({
54874
55011
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
54875
55012
  if (mentionKeysRef.current.has(key)) {
54876
55013
  mentionKeysRef.current.delete(key);
54877
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1545 => _1545.current, 'optionalAccess', _1546 => _1546.getValue, 'call', _1547 => _1547()]), () => ( ""));
55014
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1551 => _1551.current, 'optionalAccess', _1552 => _1552.getValue, 'call', _1553 => _1553()]), () => ( ""));
54878
55015
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
54879
- _optionalChain([chatInputRef, 'access', _1548 => _1548.current, 'optionalAccess', _1549 => _1549.setValue, 'call', _1550 => _1550(next)]);
55016
+ _optionalChain([chatInputRef, 'access', _1554 => _1554.current, 'optionalAccess', _1555 => _1555.setValue, 'call', _1556 => _1556(next)]);
54880
55017
  }
54881
55018
  }, [mentionMarkerByType]);
54882
55019
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -54893,7 +55030,7 @@ function EmbeddableChatInner({
54893
55030
  }, []);
54894
55031
  const closeContextPicker = _react.useCallback.call(void 0, () => {
54895
55032
  if (mentionActiveRef.current) {
54896
- _optionalChain([chatInputRef, 'access', _1551 => _1551.current, 'optionalAccess', _1552 => _1552.removeMentionTrigger, 'call', _1553 => _1553()]);
55033
+ _optionalChain([chatInputRef, 'access', _1557 => _1557.current, 'optionalAccess', _1558 => _1558.removeMentionTrigger, 'call', _1559 => _1559()]);
54897
55034
  }
54898
55035
  setContextPickerOpen(false);
54899
55036
  setMentionQuery(null);
@@ -54927,8 +55064,8 @@ function EmbeddableChatInner({
54927
55064
  [effectiveAssistantIcon]
54928
55065
  );
54929
55066
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
54930
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1554 => _1554.firstName]), _optionalChain([identityUser, 'optionalAccess', _1555 => _1555.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1556 => _1556.name, 'optionalAccess', _1557 => _1557.trim, 'call', _1558 => _1558()]) || void 0 : void 0;
54931
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1559 => _1559.avatarUrl, 'optionalAccess', _1560 => _1560.trim, 'call', _1561 => _1561()]) || void 0 : void 0;
55067
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1560 => _1560.firstName]), _optionalChain([identityUser, 'optionalAccess', _1561 => _1561.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1562 => _1562.name, 'optionalAccess', _1563 => _1563.trim, 'call', _1564 => _1564()]) || void 0 : void 0;
55068
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1565 => _1565.avatarUrl, 'optionalAccess', _1566 => _1566.trim, 'call', _1567 => _1567()]) || void 0 : void 0;
54932
55069
  const messages = _react.useMemo.call(void 0, () => {
54933
55070
  const cache = timestampCacheRef.current;
54934
55071
  const seenIds = /* @__PURE__ */ new Set();
@@ -55108,9 +55245,9 @@ function EmbeddableChatInner({
55108
55245
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
55109
55246
  const lastSources = _react.useMemo.call(void 0, () => {
55110
55247
  if (chatLoading) return void 0;
55111
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1562 => _1562.sources]);
55248
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1568 => _1568.sources]);
55112
55249
  if (!sources || sources.length === 0) return void 0;
55113
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1563 => _1563.content]) || "";
55250
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1569 => _1569.content]) || "";
55114
55251
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
55115
55252
  (m) => parseInt(m[1], 10)
55116
55253
  );
@@ -55129,7 +55266,7 @@ function EmbeddableChatInner({
55129
55266
  const el = panelMeasureRef.current;
55130
55267
  if (!el || typeof ResizeObserver === "undefined") return;
55131
55268
  const ro = new ResizeObserver((entries) => {
55132
- const w = _optionalChain([entries, 'access', _1564 => _1564[0], 'optionalAccess', _1565 => _1565.contentRect, 'optionalAccess', _1566 => _1566.width]);
55269
+ const w = _optionalChain([entries, 'access', _1570 => _1570[0], 'optionalAccess', _1571 => _1571.contentRect, 'optionalAccess', _1572 => _1572.width]);
55133
55270
  if (typeof w === "number") setPanelWidth(w);
55134
55271
  });
55135
55272
  ro.observe(el);
@@ -55141,7 +55278,7 @@ function EmbeddableChatInner({
55141
55278
  try {
55142
55279
  if (window.localStorage.getItem(RAIL_COLLAPSED_STORAGE_KEY) === "1")
55143
55280
  setRailCollapsed(true);
55144
- } catch (e97) {
55281
+ } catch (e95) {
55145
55282
  }
55146
55283
  }, []);
55147
55284
  const toggleRailCollapsed = _react.useCallback.call(void 0, () => {
@@ -55149,7 +55286,7 @@ function EmbeddableChatInner({
55149
55286
  const next = !prev;
55150
55287
  try {
55151
55288
  window.localStorage.setItem(RAIL_COLLAPSED_STORAGE_KEY, next ? "1" : "0");
55152
- } catch (e98) {
55289
+ } catch (e96) {
55153
55290
  }
55154
55291
  return next;
55155
55292
  });
@@ -55168,16 +55305,16 @@ function EmbeddableChatInner({
55168
55305
  const isMingoMode = activeMode === "mingo";
55169
55306
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
55170
55307
  const headerShowBack = hasConversation || guideCanReturnToMingo;
55171
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1567 => _1567.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
55308
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1573 => _1573.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
55172
55309
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
55173
55310
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
55174
55311
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
55175
55312
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
55176
55313
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
55177
55314
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
55178
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1568 => _1568.owner]) : void 0;
55179
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1569 => _1569.name, 'optionalAccess', _1570 => _1570.trim, 'call', _1571 => _1571()]) || headerUserName;
55180
- const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1572 => _1572.avatarUrl, 'optionalAccess', _1573 => _1573.trim, 'call', _1574 => _1574()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1575 => _1575.avatarUrl, 'optionalAccess', _1576 => _1576.trim, 'call', _1577 => _1577()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1578 => _1578.trim, 'call', _1579 => _1579()]) || void 0;
55315
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1574 => _1574.owner]) : void 0;
55316
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1575 => _1575.name, 'optionalAccess', _1576 => _1576.trim, 'call', _1577 => _1577()]) || headerUserName;
55317
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1578 => _1578.avatarUrl, 'optionalAccess', _1579 => _1579.trim, 'call', _1580 => _1580()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1581 => _1581.avatarUrl, 'optionalAccess', _1582 => _1582.trim, 'call', _1583 => _1583()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1584 => _1584.trim, 'call', _1585 => _1585()]) || void 0;
55181
55318
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
55182
55319
  const handleNewChat = _react.useCallback.call(void 0, () => {
55183
55320
  resetToNewChat();
@@ -55536,9 +55673,9 @@ function EmbeddableChatInner({
55536
55673
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
55537
55674
  subtitleLoading: emptyStateLoading,
55538
55675
  ...guideWelcome,
55539
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1580 => _1580.title]))),
55540
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1581 => _1581.icon]))),
55541
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1582 => _1582.quickActions]), () => ( guideSuggestedActions)),
55676
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1586 => _1586.title]))),
55677
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1587 => _1587.icon]))),
55678
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1588 => _1588.quickActions]), () => ( guideSuggestedActions)),
55542
55679
  onQuickAction: (action) => {
55543
55680
  setQuickActionPreview(null);
55544
55681
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -55618,8 +55755,8 @@ function EmbeddableChatInner({
55618
55755
  selectedContextItems: contextItems,
55619
55756
  onToggleContextItem: toggleContextItem,
55620
55757
  onRemoveContextItem: removeContextItem,
55621
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1583 => _1583.items]),
55622
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1584 => _1584.onRemove]),
55758
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1589 => _1589.items]),
55759
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1590 => _1590.onRemove]),
55623
55760
  contextPickerOpen,
55624
55761
  onOpenContextPicker: openContextPicker,
55625
55762
  onCloseContextPicker: closeContextPicker,
@@ -56738,5 +56875,6 @@ function EmbeddableChatInner({
56738
56875
 
56739
56876
 
56740
56877
 
56741
- exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.CardHitLayer = CardHitLayer; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.useTestRunState = useTestRunState; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.MingoAiButton = MingoAiButton; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
56742
- //# sourceMappingURL=chunk-5RXKOGH6.cjs.map
56878
+
56879
+ 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.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.useTestRunState = useTestRunState; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.MingoAiButton = MingoAiButton; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
56880
+ //# sourceMappingURL=chunk-VUXNXWOQ.cjs.map