@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.
- package/dist/{chunk-GQX6LFFA.cjs → chunk-2MKUHJ3O.cjs} +42 -42
- package/dist/{chunk-GQX6LFFA.cjs.map → chunk-2MKUHJ3O.cjs.map} +1 -1
- package/dist/{chunk-DX6AOHNU.cjs → chunk-3IEVA5AO.cjs} +77 -77
- package/dist/{chunk-DX6AOHNU.cjs.map → chunk-3IEVA5AO.cjs.map} +1 -1
- package/dist/{chunk-PNXNWGBY.js → chunk-6CFFISUC.js} +2 -2
- package/dist/{chunk-F6BYUO5U.js → chunk-6CJ2K7BD.js} +3 -3
- package/dist/{chunk-KFQXO7QB.js → chunk-6GT557KN.js} +1 -1
- package/dist/chunk-6GT557KN.js.map +1 -0
- package/dist/{chunk-AJNDDXKC.js → chunk-6QK3ONDD.js} +3 -3
- package/dist/{chunk-H7JX2BG7.cjs → chunk-7I42V2OD.cjs} +75 -75
- package/dist/{chunk-H7JX2BG7.cjs.map → chunk-7I42V2OD.cjs.map} +1 -1
- package/dist/{chunk-AHDJMEEN.js → chunk-AIRNG27G.js} +7 -7
- package/dist/{chunk-RZSA6MZL.cjs → chunk-AW63ET2A.cjs} +15 -15
- package/dist/{chunk-RZSA6MZL.cjs.map → chunk-AW63ET2A.cjs.map} +1 -1
- package/dist/{chunk-A7IPON2V.cjs → chunk-BIKOJ4FH.cjs} +5 -5
- package/dist/{chunk-A7IPON2V.cjs.map → chunk-BIKOJ4FH.cjs.map} +1 -1
- package/dist/{chunk-S52LJNMU.js → chunk-BZMOEWWS.js} +7 -7
- package/dist/{chunk-SIKCXKGB.cjs → chunk-D5LQMRPU.cjs} +7 -7
- package/dist/{chunk-SIKCXKGB.cjs.map → chunk-D5LQMRPU.cjs.map} +1 -1
- package/dist/{chunk-HQYJINFV.js → chunk-EGXCWZYP.js} +4 -4
- package/dist/{chunk-EUYIFALO.cjs → chunk-EJQUYZXF.cjs} +14 -14
- package/dist/{chunk-EUYIFALO.cjs.map → chunk-EJQUYZXF.cjs.map} +1 -1
- package/dist/{chunk-V3CNNMY3.cjs → chunk-FY5XAW3H.cjs} +18 -18
- package/dist/{chunk-V3CNNMY3.cjs.map → chunk-FY5XAW3H.cjs.map} +1 -1
- package/dist/{chunk-FOQV6RCO.cjs → chunk-GMPYR3MX.cjs} +29 -29
- package/dist/{chunk-FOQV6RCO.cjs.map → chunk-GMPYR3MX.cjs.map} +1 -1
- package/dist/{chunk-EYEIVYYF.cjs → chunk-GUTYUMGV.cjs} +7 -7
- package/dist/{chunk-EYEIVYYF.cjs.map → chunk-GUTYUMGV.cjs.map} +1 -1
- package/dist/{chunk-FZOBQG6M.cjs → chunk-IEZ3YBAP.cjs} +35 -35
- package/dist/{chunk-FZOBQG6M.cjs.map → chunk-IEZ3YBAP.cjs.map} +1 -1
- package/dist/{chunk-PECGZWQR.cjs → chunk-KP5KRRD6.cjs} +3 -3
- package/dist/{chunk-PECGZWQR.cjs.map → chunk-KP5KRRD6.cjs.map} +1 -1
- package/dist/{chunk-2B6773QM.cjs → chunk-LILQJ3UZ.cjs} +1 -1
- package/dist/chunk-LILQJ3UZ.cjs.map +1 -0
- package/dist/{chunk-SCCTJ2UI.js → chunk-MPYDX5WX.js} +4 -4
- package/dist/{chunk-YJSKQ2ZV.js → chunk-NGEFYPY7.js} +3 -3
- package/dist/{chunk-77DFPD35.js → chunk-OQIMH2WQ.js} +5515 -5377
- package/dist/chunk-OQIMH2WQ.js.map +1 -0
- package/dist/{chunk-KLYHZRAD.js → chunk-PB3BTZDU.js} +2 -2
- package/dist/{chunk-CWQACI4Z.js → chunk-RW2LPL72.js} +2 -2
- package/dist/{chunk-YEEHB4T6.cjs → chunk-UZZT65PQ.cjs} +40 -40
- package/dist/{chunk-YEEHB4T6.cjs.map → chunk-UZZT65PQ.cjs.map} +1 -1
- package/dist/{chunk-LLWBPPZ4.js → chunk-VDZO6IDR.js} +6 -6
- package/dist/{chunk-3BFX6HJM.js → chunk-VL2YMDPH.js} +6 -6
- package/dist/{chunk-5RXKOGH6.cjs → chunk-VUXNXWOQ.cjs} +496 -358
- package/dist/chunk-VUXNXWOQ.cjs.map +1 -0
- package/dist/{chunk-PXF5J24T.js → chunk-WLM3F3WU.js} +2 -2
- package/dist/components/case-studies/index.cjs +10 -10
- package/dist/components/case-studies/index.js +4 -4
- package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
- package/dist/components/chat/guide-display.d.ts +14 -0
- package/dist/components/chat/guide-display.d.ts.map +1 -0
- package/dist/components/chat/hooks/use-chat-history-hydration.d.ts +47 -0
- package/dist/components/chat/hooks/use-chat-history-hydration.d.ts.map +1 -0
- package/dist/components/chat/hooks/use-chat.d.ts +1 -0
- package/dist/components/chat/hooks/use-chat.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +4 -0
- package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +6 -4
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.d.ts +1 -0
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +5 -3
- package/dist/components/chat/types/component.types.d.ts +6 -0
- package/dist/components/chat/types/component.types.d.ts.map +1 -1
- package/dist/components/chat/types/message.types.d.ts +15 -2
- package/dist/components/chat/types/message.types.d.ts.map +1 -1
- package/dist/components/chat/types/processing.types.d.ts +3 -0
- package/dist/components/chat/types/processing.types.d.ts.map +1 -1
- package/dist/components/chat/types/unified-chat-state.types.d.ts +5 -0
- package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
- package/dist/components/chat/utils/chat-conversation-storage.d.ts +34 -0
- package/dist/components/chat/utils/chat-conversation-storage.d.ts.map +1 -0
- package/dist/components/chat/utils/chunk-parser.d.ts.map +1 -1
- package/dist/components/chat/utils/message-segment-accumulator.d.ts +5 -0
- package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
- package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +5 -5
- package/dist/components/contact/index.js +4 -4
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- package/dist/components/embeds/index.cjs +5 -5
- package/dist/components/embeds/index.js +4 -4
- package/dist/components/faq/index.cjs +6 -6
- package/dist/components/faq/index.js +5 -5
- package/dist/components/features/index.cjs +4 -4
- package/dist/components/features/index.js +3 -3
- package/dist/components/help-center-pages/index.cjs +23 -23
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +142 -140
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +14 -12
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +4 -4
- package/dist/components/navigation/index.js +3 -3
- package/dist/components/onboarding-guides/index.cjs +8 -8
- package/dist/components/onboarding-guides/index.js +7 -7
- package/dist/components/related-content/index.cjs +6 -6
- package/dist/components/related-content/index.js +5 -5
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/index.cjs +6 -4
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +5 -3
- package/dist/contexts/chat-runtime-context.d.ts +8 -0
- package/dist/contexts/chat-runtime-context.d.ts.map +1 -1
- package/dist/contexts/index.cjs +2 -2
- package/dist/contexts/index.js +1 -1
- package/dist/hooks/index.cjs +3 -3
- package/dist/hooks/index.js +2 -2
- package/dist/index.cjs +6 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +5 -3
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/chat-message-enhanced.tsx +63 -52
- package/src/components/chat/guide-display.tsx +44 -0
- package/src/components/chat/hooks/use-chat-history-hydration.ts +142 -0
- package/src/components/chat/hooks/use-chat.ts +12 -0
- package/src/components/chat/hooks/use-nats-chat-adapter.ts +2 -0
- package/src/components/chat/hooks/use-realtime-chunk-processor.ts +10 -0
- package/src/components/chat/hooks/use-sse-chat-adapter.ts +109 -162
- package/src/components/chat/index.ts +1 -0
- package/src/components/chat/types/component.types.ts +9 -0
- package/src/components/chat/types/message.types.ts +17 -1
- package/src/components/chat/types/processing.types.ts +1 -0
- package/src/components/chat/types/unified-chat-state.types.ts +6 -0
- package/src/components/chat/utils/chat-conversation-storage.ts +83 -0
- package/src/components/chat/utils/chunk-parser.ts +6 -0
- package/src/components/chat/utils/message-segment-accumulator.ts +19 -0
- package/src/components/chat/utils/process-historical-messages.ts +6 -0
- package/src/contexts/chat-runtime-context.tsx +8 -0
- package/src/stories/ChatMessageEnhanced.stories.tsx +48 -1
- package/dist/chunk-2B6773QM.cjs.map +0 -1
- package/dist/chunk-5RXKOGH6.cjs.map +0 -1
- package/dist/chunk-77DFPD35.js.map +0 -1
- package/dist/chunk-KFQXO7QB.js.map +0 -1
- /package/dist/{chunk-PNXNWGBY.js.map → chunk-6CFFISUC.js.map} +0 -0
- /package/dist/{chunk-F6BYUO5U.js.map → chunk-6CJ2K7BD.js.map} +0 -0
- /package/dist/{chunk-AJNDDXKC.js.map → chunk-6QK3ONDD.js.map} +0 -0
- /package/dist/{chunk-AHDJMEEN.js.map → chunk-AIRNG27G.js.map} +0 -0
- /package/dist/{chunk-S52LJNMU.js.map → chunk-BZMOEWWS.js.map} +0 -0
- /package/dist/{chunk-HQYJINFV.js.map → chunk-EGXCWZYP.js.map} +0 -0
- /package/dist/{chunk-SCCTJ2UI.js.map → chunk-MPYDX5WX.js.map} +0 -0
- /package/dist/{chunk-YJSKQ2ZV.js.map → chunk-NGEFYPY7.js.map} +0 -0
- /package/dist/{chunk-KLYHZRAD.js.map → chunk-PB3BTZDU.js.map} +0 -0
- /package/dist/{chunk-CWQACI4Z.js.map → chunk-RW2LPL72.js.map} +0 -0
- /package/dist/{chunk-LLWBPPZ4.js.map → chunk-VDZO6IDR.js.map} +0 -0
- /package/dist/{chunk-3BFX6HJM.js.map → chunk-VL2YMDPH.js.map} +0 -0
- /package/dist/{chunk-PXF5J24T.js.map → chunk-WLM3F3WU.js.map} +0 -0
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
var
|
|
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
|
|
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,
|
|
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 =
|
|
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 =
|
|
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,
|
|
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
|
-
|
|
5724
|
-
|
|
5725
|
-
|
|
5726
|
-
|
|
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
|
-
|
|
5729
|
-
|
|
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 =
|
|
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 =
|
|
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(
|
|
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:
|
|
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
|
-
|
|
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 } =
|
|
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 =
|
|
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("#") &&
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 } =
|
|
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:
|
|
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 =
|
|
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
|
-
|
|
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 } =
|
|
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:
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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(
|
|
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(
|
|
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 } =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
27671
|
-
const lastNameErr =
|
|
27672
|
-
const passwordErr =
|
|
27673
|
-
const confirmErr =
|
|
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 =
|
|
27865
|
-
const orgNameErr =
|
|
27866
|
-
const domainErr =
|
|
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 =
|
|
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 =
|
|
28095
|
-
const passwordErr =
|
|
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 =
|
|
28203
|
-
const firstNameErr =
|
|
28204
|
-
const lastNameErr =
|
|
28205
|
-
const passwordErr =
|
|
28206
|
-
const confirmErr =
|
|
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 =
|
|
28350
|
-
const confirmErr =
|
|
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 ?
|
|
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,
|
|
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 } =
|
|
34244
|
-
const { honeypotInputProps, getSignals, resetSignals } =
|
|
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",
|
|
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
|
-
|
|
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 } =
|
|
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] =
|
|
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
|
-
} =
|
|
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
|
-
|
|
37368
|
-
const headerHeight =
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
38301
|
-
const isLgUp = _nullishCoalesce(
|
|
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] =
|
|
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(
|
|
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
|
-
|
|
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,
|
|
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
|
-
} =
|
|
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,
|
|
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 } =
|
|
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(
|
|
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
|
-
} =
|
|
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(
|
|
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 =
|
|
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
|
-
} =
|
|
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
|
-
} =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
51269
|
+
const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
|
|
51199
51270
|
const url = runtime.endpoints.identityUrl;
|
|
51200
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([
|
|
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
|
-
|
|
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, "<");
|
|
51647
51835
|
}
|
|
51648
|
-
function createDocStreamFn(source, endpoints,
|
|
51836
|
+
function createDocStreamFn(source, endpoints, sourcesMapRef, refsMapRef, metaMapRef, setStreamingPhase, bumpMetaTick, sendCountRef, conversationIdRef, conversationStorage) {
|
|
51649
51837
|
return async function* (message2, signal, extra) {
|
|
51650
|
-
const
|
|
51651
|
-
const
|
|
51652
|
-
|
|
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
|
-
|
|
51663
|
-
|
|
51664
|
-
|
|
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:
|
|
51668
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
51669
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
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
|
|
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',
|
|
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 (
|
|
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',
|
|
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',
|
|
51776
|
-
..._optionalChain([card, 'optionalAccess',
|
|
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 (
|
|
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 =
|
|
52082
|
+
const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
|
|
51949
52083
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
51950
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
51951
|
-
const
|
|
51952
|
-
|
|
51953
|
-
|
|
51954
|
-
|
|
51955
|
-
|
|
51956
|
-
|
|
51957
|
-
|
|
51958
|
-
|
|
51959
|
-
const
|
|
51960
|
-
|
|
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
|
|
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
|
-
|
|
52038
|
-
|
|
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',
|
|
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',
|
|
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
|
-
|
|
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',
|
|
52176
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
52177
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
52317
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1422 => _1422.breakdown]), () => ( null)),
|
|
52187
52318
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
52188
|
-
// Guide mode
|
|
52189
|
-
//
|
|
52190
|
-
//
|
|
52191
|
-
//
|
|
52192
|
-
//
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
52494
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
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',
|
|
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',
|
|
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',
|
|
52676
|
+
if ("details" in data && _optionalChain([data, 'optionalAccess', _1449 => _1449.details])) {
|
|
52542
52677
|
try {
|
|
52543
|
-
message2 = _optionalChain([JSON, 'access',
|
|
52544
|
-
} catch (
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
52845
|
-
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
53271
|
+
..._optionalChain([meta, 'optionalAccess', _1486 => _1486.displayName]) ? { name: meta.displayName } : {},
|
|
53135
53272
|
authorType,
|
|
53136
|
-
..._optionalChain([meta, 'optionalAccess',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
53578
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
53579
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
53580
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
53581
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
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',
|
|
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',
|
|
53857
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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 =
|
|
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 =
|
|
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',
|
|
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',
|
|
54723
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
54724
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
54725
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
54726
|
-
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
54727
|
-
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
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',
|
|
54732
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
54733
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
54734
|
-
unarchiveDialog: _optionalChain([effectiveModes, 'access',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
54843
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
54931
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
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',
|
|
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',
|
|
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',
|
|
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 (
|
|
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 (
|
|
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',
|
|
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',
|
|
55179
|
-
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess',
|
|
55180
|
-
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access',
|
|
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',
|
|
55540
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
55541
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
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',
|
|
55622
|
-
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess',
|
|
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
|