@flamingo-stack/openframe-frontend-core 0.0.428 → 0.0.429-snapshot.20260715222543
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-43KGFHI3.js → chunk-2ELINEWQ.js} +2 -2
- package/dist/{chunk-OZTPC6VW.cjs → chunk-374KFDET.cjs} +31 -31
- package/dist/{chunk-OZTPC6VW.cjs.map → chunk-374KFDET.cjs.map} +1 -1
- package/dist/{chunk-55EIHSOQ.js → chunk-3AWPRVFM.js} +2 -2
- package/dist/{chunk-SLCANQN3.js → chunk-3OKVH6FW.js} +4 -4
- package/dist/{chunk-UXXCNZXC.js → chunk-3XWBE3SM.js} +4 -4
- package/dist/{chunk-7JUUQAAH.js → chunk-67LZDLIO.js} +2 -2
- package/dist/{chunk-YP3DO4BM.js → chunk-A6JKKKIF.js} +4 -4
- package/dist/{chunk-RR77Z27A.js → chunk-AY5TBDWZ.js} +2 -2
- package/dist/{chunk-LZYKGEN3.cjs → chunk-CJOFXDTK.cjs} +26 -26
- package/dist/{chunk-LZYKGEN3.cjs.map → chunk-CJOFXDTK.cjs.map} +1 -1
- package/dist/{chunk-I7YFFSDS.cjs → chunk-CTY37UUO.cjs} +59 -59
- package/dist/{chunk-I7YFFSDS.cjs.map → chunk-CTY37UUO.cjs.map} +1 -1
- package/dist/{chunk-NXCFIPEY.cjs → chunk-D4K53CES.cjs} +26 -26
- package/dist/{chunk-NXCFIPEY.cjs.map → chunk-D4K53CES.cjs.map} +1 -1
- package/dist/{chunk-FFDGTMZX.cjs → chunk-FL4IOCYH.cjs} +5 -5
- package/dist/{chunk-FFDGTMZX.cjs.map → chunk-FL4IOCYH.cjs.map} +1 -1
- package/dist/{chunk-7ELFQWYF.cjs → chunk-FYMD7CCA.cjs} +7 -7
- package/dist/{chunk-7ELFQWYF.cjs.map → chunk-FYMD7CCA.cjs.map} +1 -1
- package/dist/{chunk-CVYVCBMM.js → chunk-IMOJWQDR.js} +4 -4
- package/dist/{chunk-N2CTZ3Q2.cjs → chunk-KDVGC6EG.cjs} +37 -37
- package/dist/{chunk-N2CTZ3Q2.cjs.map → chunk-KDVGC6EG.cjs.map} +1 -1
- package/dist/{chunk-DA2VSDAX.js → chunk-NZBQGODM.js} +2 -2
- package/dist/{chunk-SJTNVETH.cjs → chunk-PP5KNHMK.cjs} +408 -233
- package/dist/chunk-PP5KNHMK.cjs.map +1 -0
- package/dist/{chunk-MJH4VS4L.cjs → chunk-Q7SYPXUX.cjs} +11 -11
- package/dist/{chunk-MJH4VS4L.cjs.map → chunk-Q7SYPXUX.cjs.map} +1 -1
- package/dist/{chunk-DQ5NRLCG.js → chunk-S7UXICHB.js} +2 -2
- package/dist/{chunk-KMXHSL6M.js → chunk-TDITU4KW.js} +2 -2
- package/dist/{chunk-OBDDE4WV.js → chunk-TYANQCZA.js} +3034 -2859
- package/dist/chunk-TYANQCZA.js.map +1 -0
- package/dist/{chunk-F4WTCWOY.cjs → chunk-WQN4B6CM.cjs} +15 -15
- package/dist/{chunk-F4WTCWOY.cjs.map → chunk-WQN4B6CM.cjs.map} +1 -1
- package/dist/{chunk-533XR4JK.cjs → chunk-WQR7H56P.cjs} +62 -62
- package/dist/{chunk-533XR4JK.cjs.map → chunk-WQR7H56P.cjs.map} +1 -1
- package/dist/{chunk-MO4QIPT7.cjs → chunk-ZUP2ZKS6.cjs} +9 -9
- package/dist/{chunk-MO4QIPT7.cjs.map → chunk-ZUP2ZKS6.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/chat-message-skeleton.d.ts +17 -2
- package/dist/components/chat/chat-message-skeleton.d.ts.map +1 -1
- package/dist/components/chat/chat-panel-header.d.ts +6 -1
- package/dist/components/chat/chat-panel-header.d.ts.map +1 -1
- package/dist/components/chat/chat-quick-action-row.d.ts +12 -2
- package/dist/components/chat/chat-quick-action-row.d.ts.map +1 -1
- package/dist/components/chat/hooks/index.d.ts +1 -0
- package/dist/components/chat/hooks/index.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts +31 -2
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-scripted-stream.d.ts +3 -0
- package/dist/components/chat/hooks/use-scripted-stream.d.ts.map +1 -0
- package/dist/components/chat/index.cjs +14 -2
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.js +13 -1
- package/dist/components/chat/quick-action-chip.d.ts +5 -1
- package/dist/components/chat/quick-action-chip.d.ts.map +1 -1
- package/dist/components/chat/utils/index.d.ts +1 -0
- package/dist/components/chat/utils/index.d.ts.map +1 -1
- package/dist/components/chat/utils/scripted-stream.d.ts +38 -0
- package/dist/components/chat/utils/scripted-stream.d.ts.map +1 -0
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/docs/index.cjs +5 -5
- package/dist/components/docs/index.js +4 -4
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/board/index.d.ts +2 -2
- package/dist/components/features/board/index.d.ts.map +1 -1
- package/dist/components/features/board/ticket-card.d.ts +22 -2
- package/dist/components/features/board/ticket-card.d.ts.map +1 -1
- package/dist/components/features/index.cjs +6 -2
- package/dist/components/features/index.cjs.map +1 -1
- package/dist/components/features/index.js +5 -1
- package/dist/components/help-center-pages/index.cjs +20 -20
- package/dist/components/help-center-pages/index.js +11 -11
- package/dist/components/index.cjs +146 -128
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +27 -9
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +5 -5
- package/dist/components/tickets/index.js +4 -4
- package/dist/components/ui/index.cjs +16 -2
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +15 -1
- package/dist/components/ui/info-card-row.d.ts +13 -0
- package/dist/components/ui/info-card-row.d.ts.map +1 -0
- package/dist/components/ui/tag.d.ts +1 -1
- package/dist/components/ui/tag.d.ts.map +1 -1
- package/dist/index.cjs +20 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +19 -1
- package/package.json +1 -1
- package/src/components/chat/chat-message-skeleton.tsx +40 -9
- package/src/components/chat/chat-panel-header.tsx +28 -16
- package/src/components/chat/chat-quick-action-row.tsx +33 -0
- package/src/components/chat/embeddable-chat.tsx +11 -1
- package/src/components/chat/hooks/index.ts +1 -0
- package/src/components/chat/hooks/use-nats-chat-adapter.ts +30 -1
- package/src/components/chat/hooks/use-scripted-stream.ts +69 -0
- package/src/components/chat/quick-action-chip.tsx +6 -1
- package/src/components/chat/utils/index.ts +2 -0
- package/src/components/chat/utils/scripted-stream.ts +111 -0
- package/src/components/features/board/index.ts +2 -2
- package/src/components/features/board/ticket-card.tsx +108 -64
- package/src/components/ui/index.ts +1 -0
- package/src/components/ui/info-card-row.tsx +70 -0
- package/src/components/ui/tag.tsx +7 -0
- package/src/stories/InfoCardRow.stories.tsx +68 -0
- package/dist/chunk-OBDDE4WV.js.map +0 -1
- package/dist/chunk-SJTNVETH.cjs.map +0 -1
- /package/dist/{chunk-43KGFHI3.js.map → chunk-2ELINEWQ.js.map} +0 -0
- /package/dist/{chunk-55EIHSOQ.js.map → chunk-3AWPRVFM.js.map} +0 -0
- /package/dist/{chunk-SLCANQN3.js.map → chunk-3OKVH6FW.js.map} +0 -0
- /package/dist/{chunk-UXXCNZXC.js.map → chunk-3XWBE3SM.js.map} +0 -0
- /package/dist/{chunk-7JUUQAAH.js.map → chunk-67LZDLIO.js.map} +0 -0
- /package/dist/{chunk-YP3DO4BM.js.map → chunk-A6JKKKIF.js.map} +0 -0
- /package/dist/{chunk-RR77Z27A.js.map → chunk-AY5TBDWZ.js.map} +0 -0
- /package/dist/{chunk-CVYVCBMM.js.map → chunk-IMOJWQDR.js.map} +0 -0
- /package/dist/{chunk-DA2VSDAX.js.map → chunk-NZBQGODM.js.map} +0 -0
- /package/dist/{chunk-DQ5NRLCG.js.map → chunk-S7UXICHB.js.map} +0 -0
- /package/dist/{chunk-KMXHSL6M.js.map → chunk-TDITU4KW.js.map} +0 -0
|
@@ -477,6 +477,13 @@ var tagVariants = _classvarianceauthority.cva.call(void 0,
|
|
|
477
477
|
"hover:bg-[var(--ods-flamingo-pink-secondary-hover)] hover:border-[var(--ods-flamingo-pink-base)]",
|
|
478
478
|
"active:bg-[var(--ods-flamingo-pink-secondary-action)]"
|
|
479
479
|
],
|
|
480
|
+
// Cyan twin of `selected` (Mingo's accent) — same active-chip skin in the
|
|
481
|
+
// cyan theme so agent chip groups can match their own accent.
|
|
482
|
+
selectedCyan: [
|
|
483
|
+
"bg-[var(--ods-flamingo-cyan-secondary)] text-[var(--ods-system-greys-white)] border border-[var(--ods-flamingo-cyan-base)]",
|
|
484
|
+
"hover:bg-[var(--ods-flamingo-cyan-secondary-hover)] hover:border-[var(--ods-flamingo-cyan-base)]",
|
|
485
|
+
"active:bg-[var(--ods-flamingo-cyan-secondary-action)]"
|
|
486
|
+
],
|
|
480
487
|
// Matches the EntityTagBadges / StatusBadge tag skin (ods-card + ods-border,
|
|
481
488
|
// mono uppercase) so the tag-editor chips render identically to the public
|
|
482
489
|
// tag badges. Used for FilterChipData variant 'tag' (see search-input).
|
|
@@ -5775,22 +5782,28 @@ var _usesticktobottom = require('use-stick-to-bottom');
|
|
|
5775
5782
|
// src/components/chat/chat-message-skeleton.tsx
|
|
5776
5783
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
5777
5784
|
|
|
5785
|
+
var BODY_LINE_WIDTHS = ["w-full", "w-11/12", "w-4/5", "w-5/6"];
|
|
5786
|
+
var bodyLineWidth = (index, total) => index === total - 1 ? "w-3/5" : BODY_LINE_WIDTHS[index % BODY_LINE_WIDTHS.length];
|
|
5778
5787
|
function ChatMessageSkeleton({
|
|
5779
5788
|
className,
|
|
5780
5789
|
showAvatar = true,
|
|
5781
|
-
isUser = false
|
|
5790
|
+
isUser = false,
|
|
5791
|
+
bodyLines = 3
|
|
5782
5792
|
}) {
|
|
5793
|
+
const lines = Math.max(1, bodyLines);
|
|
5783
5794
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "relative py-[var(--spacing-system-s)]", className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
5784
5795
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
5785
5796
|
showAvatar && !isUser && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 flex-shrink-0 rounded-full bg-ods-border animate-pulse" }),
|
|
5786
5797
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-32 rounded bg-ods-border animate-pulse" }),
|
|
5787
5798
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ml-auto h-4 w-14 rounded bg-ods-border animate-pulse" })
|
|
5788
5799
|
] }),
|
|
5789
|
-
/* @__PURE__ */ _jsxruntime.
|
|
5790
|
-
|
|
5791
|
-
|
|
5792
|
-
|
|
5793
|
-
|
|
5800
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-2 pt-[var(--spacing-system-xxs)]", children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5801
|
+
"div",
|
|
5802
|
+
{
|
|
5803
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0, "h-4 rounded bg-ods-border animate-pulse", bodyLineWidth(i, lines))
|
|
5804
|
+
},
|
|
5805
|
+
i
|
|
5806
|
+
)) })
|
|
5794
5807
|
] }) });
|
|
5795
5808
|
}
|
|
5796
5809
|
function ChatMessageListSkeleton({
|
|
@@ -5798,7 +5811,9 @@ function ChatMessageListSkeleton({
|
|
|
5798
5811
|
messageCount = 6,
|
|
5799
5812
|
showAvatars = true,
|
|
5800
5813
|
fullWidth = false,
|
|
5801
|
-
contentClassName
|
|
5814
|
+
contentClassName,
|
|
5815
|
+
bodyLines,
|
|
5816
|
+
fill = false
|
|
5802
5817
|
}) {
|
|
5803
5818
|
const messages = Array.from({ length: messageCount }, (_, index) => ({
|
|
5804
5819
|
id: index,
|
|
@@ -5808,9 +5823,8 @@ function ChatMessageListSkeleton({
|
|
|
5808
5823
|
"div",
|
|
5809
5824
|
{
|
|
5810
5825
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
5811
|
-
"flex h-full w-full flex-col
|
|
5812
|
-
"[scroll-behavior:smooth]",
|
|
5813
|
-
"scrollbar-thin scrollbar-track-transparent scrollbar-thumb-ods-border/30 hover:scrollbar-thumb-ods-text-secondary/30",
|
|
5826
|
+
"flex h-full w-full flex-col flex-1",
|
|
5827
|
+
fill ? "overflow-hidden" : "overflow-y-auto overflow-x-hidden [scroll-behavior:smooth] scrollbar-thin scrollbar-track-transparent scrollbar-thumb-ods-border/30 hover:scrollbar-thumb-ods-text-secondary/30",
|
|
5814
5828
|
className
|
|
5815
5829
|
),
|
|
5816
5830
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -5820,14 +5834,15 @@ function ChatMessageListSkeleton({
|
|
|
5820
5834
|
fullWidth ? "flex w-full flex-col min-w-0" : "mx-auto flex w-full max-w-ods-content-narrow flex-col min-w-0",
|
|
5821
5835
|
contentClassName
|
|
5822
5836
|
),
|
|
5823
|
-
style: { minHeight: "100%" },
|
|
5837
|
+
style: fill ? void 0 : { minHeight: "100%" },
|
|
5824
5838
|
children: [
|
|
5825
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
|
|
5839
|
+
!fill && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
|
|
5826
5840
|
messages.map((message2) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5827
5841
|
ChatMessageSkeleton,
|
|
5828
5842
|
{
|
|
5829
5843
|
showAvatar: showAvatars,
|
|
5830
|
-
isUser: message2.isUser
|
|
5844
|
+
isUser: message2.isUser,
|
|
5845
|
+
bodyLines
|
|
5831
5846
|
},
|
|
5832
5847
|
message2.id
|
|
5833
5848
|
))
|
|
@@ -6550,6 +6565,7 @@ function QuickActionChipButton({
|
|
|
6550
6565
|
lozenge,
|
|
6551
6566
|
variant = "outline",
|
|
6552
6567
|
selected = false,
|
|
6568
|
+
selectedAccent,
|
|
6553
6569
|
size: size2 = "default",
|
|
6554
6570
|
onSelect,
|
|
6555
6571
|
onHoverStart,
|
|
@@ -6559,7 +6575,7 @@ function QuickActionChipButton({
|
|
|
6559
6575
|
}) {
|
|
6560
6576
|
const resolvedIcon = renderQuickActionIcon(icon);
|
|
6561
6577
|
const resolvedLabel = composeChipLabel(label, lozenge);
|
|
6562
|
-
const tagVariant = selected ? "selected" : variant;
|
|
6578
|
+
const tagVariant = selected ? selectedAccent === "cyan" ? "selectedCyan" : "selected" : variant;
|
|
6563
6579
|
if (!interactive) {
|
|
6564
6580
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant: tagVariant, size: size2, icon: resolvedIcon, label: resolvedLabel, className });
|
|
6565
6581
|
}
|
|
@@ -6584,6 +6600,7 @@ function QuickActionChipButton({
|
|
|
6584
6600
|
|
|
6585
6601
|
// src/components/chat/chat-quick-action-row.tsx
|
|
6586
6602
|
|
|
6603
|
+
var SKELETON_LABEL_CHS = [16, 9, 13, 7, 18, 8, 20, 11, 15, 10, 19, 12, 17, 8, 21, 14];
|
|
6587
6604
|
function ChipButton({ chip }) {
|
|
6588
6605
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6589
6606
|
QuickActionChipButton,
|
|
@@ -6591,6 +6608,8 @@ function ChipButton({ chip }) {
|
|
|
6591
6608
|
label: chip.label,
|
|
6592
6609
|
icon: chip.icon,
|
|
6593
6610
|
variant: _nullishCoalesce(chip.variant, () => ( "outline")),
|
|
6611
|
+
selected: chip.selected,
|
|
6612
|
+
selectedAccent: chip.selectedAccent,
|
|
6594
6613
|
onSelect: chip.onSelect,
|
|
6595
6614
|
onHoverStart: chip.onHoverStart,
|
|
6596
6615
|
onHoverEnd: chip.onHoverEnd
|
|
@@ -6601,6 +6620,8 @@ function ChatQuickActionRow({
|
|
|
6601
6620
|
leading,
|
|
6602
6621
|
chips,
|
|
6603
6622
|
wrap = false,
|
|
6623
|
+
loading = false,
|
|
6624
|
+
skeletonCount = 8,
|
|
6604
6625
|
className
|
|
6605
6626
|
}) {
|
|
6606
6627
|
const auto = _chunkN2TJ3HAMcjs.useAutoLimitTags.call(void 0, {
|
|
@@ -6609,6 +6630,9 @@ function ChatQuickActionRow({
|
|
|
6609
6630
|
});
|
|
6610
6631
|
const visibleChips = chips.slice(0, auto.visibleCount);
|
|
6611
6632
|
const hiddenChips = chips.slice(auto.visibleCount);
|
|
6633
|
+
if (loading) {
|
|
6634
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex shrink-0 items-center gap-1", wrap && "flex-wrap", className), children: Array.from({ length: skeletonCount }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, QuickActionChipSkeleton, { labelCh: SKELETON_LABEL_CHS[i % SKELETON_LABEL_CHS.length] }, i)) });
|
|
6635
|
+
}
|
|
6612
6636
|
if (!leading && chips.length === 0) return null;
|
|
6613
6637
|
if (wrap) {
|
|
6614
6638
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex shrink-0 flex-wrap items-center gap-1", className), children: [
|
|
@@ -7933,6 +7957,9 @@ var ChatHeaderIconButton = React23.forwardRef(({ className, children, type = "bu
|
|
|
7933
7957
|
));
|
|
7934
7958
|
ChatHeaderIconButton.displayName = "ChatHeaderIconButton";
|
|
7935
7959
|
|
|
7960
|
+
// src/components/chat/chat-panel-header.tsx
|
|
7961
|
+
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
7962
|
+
|
|
7936
7963
|
// src/components/chat/chat-panel-header-mobile.tsx
|
|
7937
7964
|
_chunkIMK6RUECcjs.init_button2.call(void 0, );
|
|
7938
7965
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
@@ -8016,14 +8043,15 @@ function ChatPanelHeader({
|
|
|
8016
8043
|
onRestore,
|
|
8017
8044
|
onRename,
|
|
8018
8045
|
onArchive,
|
|
8019
|
-
onOpenArchive
|
|
8046
|
+
onOpenArchive,
|
|
8047
|
+
compact = false
|
|
8020
8048
|
}) {
|
|
8021
8049
|
const menuItems = [
|
|
8022
8050
|
onRename && { id: "rename", label: "Rename chat", onClick: onRename },
|
|
8023
8051
|
onArchive && { id: "archive", label: "Archive chat", onClick: onArchive }
|
|
8024
8052
|
].filter(Boolean);
|
|
8025
8053
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8026
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8054
|
+
!compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8027
8055
|
ChatPanelHeaderMobile,
|
|
8028
8056
|
{
|
|
8029
8057
|
className: "flex md:hidden",
|
|
@@ -8039,7 +8067,7 @@ function ChatPanelHeader({
|
|
|
8039
8067
|
onOpenArchive
|
|
8040
8068
|
}
|
|
8041
8069
|
),
|
|
8042
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
8070
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex-shrink-0 h-14 w-full overflow-hidden border-b border-ods-border bg-ods-card", compact ? "flex" : "hidden md:flex"), children: [
|
|
8043
8071
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-1 min-w-0 items-center gap-2 px-4 py-3", children: showBack ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8044
8072
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8045
8073
|
"button",
|
|
@@ -24755,6 +24783,47 @@ function DashboardInfoCard({
|
|
|
24755
24783
|
);
|
|
24756
24784
|
}
|
|
24757
24785
|
|
|
24786
|
+
// src/components/ui/info-card-row.tsx
|
|
24787
|
+
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
24788
|
+
|
|
24789
|
+
var CELL = "flex items-center gap-[var(--spacing-system-s)] min-w-0 p-[var(--spacing-system-xsf)] md:p-[var(--spacing-system-m)] min-h-[60px] md:min-h-[76px]";
|
|
24790
|
+
function StatCell({ section, className }) {
|
|
24791
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, CELL, "flex-1", className), children: [
|
|
24792
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
24793
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-h5 uppercase text-ods-text-secondary", children: section.title }),
|
|
24794
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-s)]", children: [
|
|
24795
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 truncate text-h3 text-ods-text-primary", children: section.caption }),
|
|
24796
|
+
section.icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-6 shrink-0 items-center justify-center md:hidden", children: section.icon })
|
|
24797
|
+
] })
|
|
24798
|
+
] }),
|
|
24799
|
+
section.icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden size-6 shrink-0 items-center justify-center md:flex", children: section.icon })
|
|
24800
|
+
] });
|
|
24801
|
+
}
|
|
24802
|
+
function InfoCardRow({ lead, stats, className }) {
|
|
24803
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24804
|
+
"div",
|
|
24805
|
+
{
|
|
24806
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
24807
|
+
"flex shrink-0 flex-col overflow-hidden rounded-md border border-ods-border bg-ods-card md:flex-row",
|
|
24808
|
+
className
|
|
24809
|
+
),
|
|
24810
|
+
children: [
|
|
24811
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, CELL, "border-b border-ods-border md:flex-1 md:border-b-0 md:border-r"), children: [
|
|
24812
|
+
lead.icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-sm border border-ods-border [&>*]:size-full [&_img]:object-cover", children: lead.icon }),
|
|
24813
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
|
|
24814
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-h3 text-ods-text-primary", children: lead.title }),
|
|
24815
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-h6 text-ods-text-secondary", children: lead.caption })
|
|
24816
|
+
] })
|
|
24817
|
+
] }),
|
|
24818
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex md:flex-1", children: [
|
|
24819
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, StatCell, { section: stats[0], className: "border-r border-ods-border" }),
|
|
24820
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, StatCell, { section: stats[1] })
|
|
24821
|
+
] })
|
|
24822
|
+
]
|
|
24823
|
+
}
|
|
24824
|
+
);
|
|
24825
|
+
}
|
|
24826
|
+
|
|
24758
24827
|
// src/components/ui/device-card.tsx
|
|
24759
24828
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
24760
24829
|
|
|
@@ -34538,43 +34607,13 @@ var PRIORITY_COLOR_CLASS = {
|
|
|
34538
34607
|
};
|
|
34539
34608
|
var MAX_VISIBLE_TAGS = 2;
|
|
34540
34609
|
var MAX_VISIBLE_ASSIGNEES = 3;
|
|
34541
|
-
|
|
34542
|
-
|
|
34543
|
-
columnId,
|
|
34544
|
-
columnColor,
|
|
34545
|
-
href,
|
|
34546
|
-
isOverlay = false,
|
|
34547
|
-
dragDisabled,
|
|
34548
|
-
approved = false,
|
|
34549
|
-
renderAssignSlot,
|
|
34550
|
-
onApprove,
|
|
34551
|
-
onReject
|
|
34552
|
-
}) {
|
|
34553
|
-
const sortableData = React103.useMemo(
|
|
34554
|
-
() => ({ columnId, type: "ticket" }),
|
|
34555
|
-
[columnId]
|
|
34556
|
-
);
|
|
34557
|
-
const sortable = _sortable.useSortable.call(void 0, {
|
|
34558
|
-
id: ticket.id,
|
|
34559
|
-
data: sortableData,
|
|
34560
|
-
disabled: dragDisabled
|
|
34561
|
-
});
|
|
34610
|
+
var TICKET_CARD_SHELL = "relative flex flex-col gap-[var(--spacing-system-sf)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] select-none text-left";
|
|
34611
|
+
function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
|
|
34562
34612
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
34563
34613
|
const newMessageTextColor = columnColor ? getReadableTextColor(columnColor) : void 0;
|
|
34564
|
-
const style = isOverlay ? {} : {
|
|
34565
|
-
transform: _utilities.CSS.Transform.toString(sortable.transform),
|
|
34566
|
-
transition: sortable.transition
|
|
34567
|
-
};
|
|
34568
|
-
if (showNewMessage) style.borderColor = columnColor;
|
|
34569
34614
|
const showDeviceRow = !!(_optionalChain([ticket, 'access', _669 => _669.deviceHostnames, 'optionalAccess', _670 => _670.length]) || ticket.organizationName);
|
|
34570
|
-
const deviceText = [
|
|
34571
|
-
|
|
34572
|
-
ticket.organizationName
|
|
34573
|
-
].filter(Boolean).join(", ");
|
|
34574
|
-
const handleClick = (e) => {
|
|
34575
|
-
if (sortable.isDragging) e.preventDefault();
|
|
34576
|
-
};
|
|
34577
|
-
const hasRightSection = !!(approved || ticket.priority || _optionalChain([ticket, 'access', _674 => _674.assignees, 'optionalAccess', _675 => _675.length]) || renderAssignSlot);
|
|
34615
|
+
const deviceText = [_optionalChain([ticket, 'access', _671 => _671.deviceHostnames, 'optionalAccess', _672 => _672.join, 'call', _673 => _673(", ")]), ticket.organizationName].filter(Boolean).join(", ");
|
|
34616
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _674 => _674.assignees, 'optionalAccess', _675 => _675.length]) || renderAssignSlot);
|
|
34578
34617
|
const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
34579
34618
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34580
34619
|
_chunkBGD345ZVcjs.Flag02Icon,
|
|
@@ -34583,15 +34622,6 @@ function TicketCard({
|
|
|
34583
34622
|
"aria-label": `Priority: ${ticket.priority}`
|
|
34584
34623
|
}
|
|
34585
34624
|
),
|
|
34586
|
-
approved && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34587
|
-
_chunkBGD345ZVcjs.CheckCircleIcon,
|
|
34588
|
-
{
|
|
34589
|
-
size: 20,
|
|
34590
|
-
color: "var(--ods-attention-green-success)",
|
|
34591
|
-
className: "shrink-0",
|
|
34592
|
-
"aria-label": "Approved"
|
|
34593
|
-
}
|
|
34594
|
-
),
|
|
34595
34625
|
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _676 => _676.assignees, 'optionalAccess', _677 => _677.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
34596
34626
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34597
34627
|
SquareAvatar,
|
|
@@ -34612,7 +34642,7 @@ function TicketCard({
|
|
|
34612
34642
|
] }) : null;
|
|
34613
34643
|
const timestampLabel = ticket.createdAt ? formatTicketRelativeTime(ticket.createdAt) : null;
|
|
34614
34644
|
const tooltipLabel = ticket.createdAt ? formatTicketFullTimestamp(ticket.createdAt) : null;
|
|
34615
|
-
|
|
34645
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
34616
34646
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
|
|
34617
34647
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-zero)]", title: ticket.title, children: [
|
|
34618
34648
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 truncate text-ods-text-primary", children: ticket.title }),
|
|
@@ -34637,17 +34667,55 @@ function TicketCard({
|
|
|
34637
34667
|
style: { backgroundColor: columnColor, color: newMessageTextColor }
|
|
34638
34668
|
}
|
|
34639
34669
|
),
|
|
34640
|
-
ticket.pendingApproval && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34641
|
-
BoardTicketApproval,
|
|
34642
|
-
{
|
|
34643
|
-
pendingApproval: ticket.pendingApproval,
|
|
34644
|
-
onApprove: onApprove ? (requestId) => onApprove(ticket.id, requestId) : void 0,
|
|
34645
|
-
onReject: onReject ? (requestId) => onReject(ticket.id, requestId) : void 0
|
|
34646
|
-
}
|
|
34647
|
-
)
|
|
34670
|
+
ticket.pendingApproval && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BoardTicketApproval, { pendingApproval: ticket.pendingApproval, onApprove, onReject })
|
|
34648
34671
|
] });
|
|
34672
|
+
}
|
|
34673
|
+
function TicketCardView({ className, ...bodyProps }) {
|
|
34674
|
+
const { ticket, columnColor } = bodyProps;
|
|
34675
|
+
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
34676
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34677
|
+
"div",
|
|
34678
|
+
{
|
|
34679
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0, TICKET_CARD_SHELL, className),
|
|
34680
|
+
style: showNewMessage ? { borderColor: columnColor } : void 0,
|
|
34681
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative z-10 flex flex-col gap-[var(--spacing-system-sf)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCardBody, { ...bodyProps }) })
|
|
34682
|
+
}
|
|
34683
|
+
);
|
|
34684
|
+
}
|
|
34685
|
+
function TicketCard({
|
|
34686
|
+
ticket,
|
|
34687
|
+
columnId,
|
|
34688
|
+
columnColor,
|
|
34689
|
+
href,
|
|
34690
|
+
isOverlay = false,
|
|
34691
|
+
dragDisabled,
|
|
34692
|
+
renderAssignSlot,
|
|
34693
|
+
onApprove,
|
|
34694
|
+
onReject
|
|
34695
|
+
}) {
|
|
34696
|
+
const sortableData = React103.useMemo(() => ({ columnId, type: "ticket" }), [columnId]);
|
|
34697
|
+
const sortable = _sortable.useSortable.call(void 0, { id: ticket.id, data: sortableData, disabled: dragDisabled });
|
|
34698
|
+
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
34699
|
+
const style = isOverlay ? {} : {
|
|
34700
|
+
transform: _utilities.CSS.Transform.toString(sortable.transform),
|
|
34701
|
+
transition: sortable.transition
|
|
34702
|
+
};
|
|
34703
|
+
if (showNewMessage) style.borderColor = columnColor;
|
|
34704
|
+
const handleClick = (e) => {
|
|
34705
|
+
if (sortable.isDragging) e.preventDefault();
|
|
34706
|
+
};
|
|
34707
|
+
const body = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34708
|
+
TicketCardBody,
|
|
34709
|
+
{
|
|
34710
|
+
ticket,
|
|
34711
|
+
columnColor,
|
|
34712
|
+
renderAssignSlot,
|
|
34713
|
+
onApprove: onApprove ? (requestId) => onApprove(ticket.id, requestId) : void 0,
|
|
34714
|
+
onReject: onReject ? (requestId) => onReject(ticket.id, requestId) : void 0
|
|
34715
|
+
}
|
|
34716
|
+
);
|
|
34649
34717
|
const cardClasses = _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
34650
|
-
|
|
34718
|
+
TICKET_CARD_SHELL,
|
|
34651
34719
|
!dragDisabled && "cursor-pointer",
|
|
34652
34720
|
sortable.isDragging && !isOverlay && "opacity-40",
|
|
34653
34721
|
isOverlay && "rotate-1 shadow-card-hover"
|
|
@@ -35791,7 +35859,7 @@ function SlidingSidebar({ config }) {
|
|
|
35791
35859
|
const [mounted, setMounted] = _react.useState.call(void 0, false);
|
|
35792
35860
|
const headerHeight = _chunkN2TJ3HAMcjs.useHeaderHeight.call(void 0, );
|
|
35793
35861
|
const asideRef = _react.useRef.call(void 0, null);
|
|
35794
|
-
const
|
|
35862
|
+
const prefersReducedMotion2 = _framermotion.useReducedMotion.call(void 0, );
|
|
35795
35863
|
_overlays.usePreventScroll.call(void 0, { isDisabled: !config.isOpen });
|
|
35796
35864
|
_chunkN2TJ3HAMcjs.useFocusTrap.call(void 0, asideRef, config.isOpen, { onEscape: config.onClose, contain: false });
|
|
35797
35865
|
_react.useEffect.call(void 0, () => {
|
|
@@ -35934,7 +36002,7 @@ function SlidingSidebar({ config }) {
|
|
|
35934
36002
|
animate: {
|
|
35935
36003
|
x: config.isOpen ? 0 : config.position === "right" ? "100%" : "-100%"
|
|
35936
36004
|
},
|
|
35937
|
-
transition:
|
|
36005
|
+
transition: prefersReducedMotion2 ? { duration: 0 } : {
|
|
35938
36006
|
type: "spring",
|
|
35939
36007
|
damping: 25,
|
|
35940
36008
|
stiffness: 300,
|
|
@@ -47018,6 +47086,41 @@ function useChunkCatchup({
|
|
|
47018
47086
|
};
|
|
47019
47087
|
}
|
|
47020
47088
|
|
|
47089
|
+
// src/components/chat/hooks/use-scripted-stream.ts
|
|
47090
|
+
|
|
47091
|
+
var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
|
|
47092
|
+
function prefersReducedMotion() {
|
|
47093
|
+
return typeof window !== "undefined" && _optionalChain([window, 'access', _1109 => _1109.matchMedia, 'optionalCall', _1110 => _1110("(prefers-reduced-motion: reduce)"), 'access', _1111 => _1111.matches]) === true;
|
|
47094
|
+
}
|
|
47095
|
+
function useScriptedStream(frames, resetKey, enabled = true) {
|
|
47096
|
+
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
47097
|
+
const [reducedMotion, setReducedMotion] = _react.useState.call(void 0, false);
|
|
47098
|
+
const [prevKey, setPrevKey] = _react.useState.call(void 0, resetKey);
|
|
47099
|
+
if (resetKey !== prevKey) {
|
|
47100
|
+
setPrevKey(resetKey);
|
|
47101
|
+
setIndex(0);
|
|
47102
|
+
}
|
|
47103
|
+
_react.useEffect.call(void 0, () => {
|
|
47104
|
+
setReducedMotion(prefersReducedMotion());
|
|
47105
|
+
const mq = _optionalChain([window, 'access', _1112 => _1112.matchMedia, 'optionalCall', _1113 => _1113("(prefers-reduced-motion: reduce)")]);
|
|
47106
|
+
if (!mq) return;
|
|
47107
|
+
const onChange = () => setReducedMotion(mq.matches);
|
|
47108
|
+
mq.addEventListener("change", onChange);
|
|
47109
|
+
return () => mq.removeEventListener("change", onChange);
|
|
47110
|
+
}, []);
|
|
47111
|
+
const playing = enabled && !reducedMotion && frames.length > 0;
|
|
47112
|
+
const lastIndex = Math.max(0, frames.length - 1);
|
|
47113
|
+
_react.useEffect.call(void 0, () => {
|
|
47114
|
+
if (!playing || index >= lastIndex) return;
|
|
47115
|
+
const current = _nullishCoalesce(frames[Math.min(index, lastIndex)], () => ( EMPTY_FRAME));
|
|
47116
|
+
const t = setTimeout(() => setIndex((i) => Math.min(i + 1, lastIndex)), current.delayMs);
|
|
47117
|
+
return () => clearTimeout(t);
|
|
47118
|
+
}, [index, frames, playing, lastIndex]);
|
|
47119
|
+
if (frames.length === 0) return EMPTY_FRAME;
|
|
47120
|
+
if (!playing) return frames[lastIndex];
|
|
47121
|
+
return _nullishCoalesce(frames[Math.min(index, lastIndex)], () => ( EMPTY_FRAME));
|
|
47122
|
+
}
|
|
47123
|
+
|
|
47021
47124
|
// src/components/chat/hooks/use-jetstream-dialog-subscription.ts
|
|
47022
47125
|
|
|
47023
47126
|
var DEFAULT_INACTIVE_THRESHOLD_MS = 5 * 6e4;
|
|
@@ -47128,7 +47231,7 @@ function useJetStreamDialogSubscription({
|
|
|
47128
47231
|
const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
|
|
47129
47232
|
conn: sharedConn,
|
|
47130
47233
|
wsUrl,
|
|
47131
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
47234
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1114 => _1114.current, 'optionalCall', _1115 => _1115()]),
|
|
47132
47235
|
backoff: reconnectionBackoffRef.current,
|
|
47133
47236
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
47134
47237
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -47143,7 +47246,7 @@ function useJetStreamDialogSubscription({
|
|
|
47143
47246
|
setReconnectionCount((c) => c + 1);
|
|
47144
47247
|
}
|
|
47145
47248
|
hadConnectionBeforeRef.current = true;
|
|
47146
|
-
_optionalChain([onConnectRef, 'access',
|
|
47249
|
+
_optionalChain([onConnectRef, 'access', _1116 => _1116.current, 'optionalCall', _1117 => _1117()]);
|
|
47147
47250
|
}
|
|
47148
47251
|
if (status === "error") {
|
|
47149
47252
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -47153,7 +47256,7 @@ function useJetStreamDialogSubscription({
|
|
|
47153
47256
|
setIsConnected(false);
|
|
47154
47257
|
setIsSubscribed(false);
|
|
47155
47258
|
tearDownSubscription();
|
|
47156
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
47259
|
+
_optionalChain([onDisconnectRef, 'access', _1118 => _1118.current, 'optionalCall', _1119 => _1119()]);
|
|
47157
47260
|
}
|
|
47158
47261
|
}
|
|
47159
47262
|
});
|
|
@@ -47232,7 +47335,7 @@ function useJetStreamDialogSubscription({
|
|
|
47232
47335
|
}
|
|
47233
47336
|
subscriptionRef.current = handle;
|
|
47234
47337
|
setIsSubscribed(true);
|
|
47235
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
47338
|
+
_optionalChain([onSubscribedRef, 'access', _1120 => _1120.current, 'optionalCall', _1121 => _1121()]);
|
|
47236
47339
|
} catch (e52) {
|
|
47237
47340
|
if (!cancelled) {
|
|
47238
47341
|
setIsSubscribed(false);
|
|
@@ -47345,20 +47448,20 @@ function useNatsDialogSubscription({
|
|
|
47345
47448
|
const tearDownSubscriptions = () => {
|
|
47346
47449
|
subscriptionRefs.current.forEach((sub) => {
|
|
47347
47450
|
try {
|
|
47348
|
-
_optionalChain([sub, 'optionalAccess',
|
|
47451
|
+
_optionalChain([sub, 'optionalAccess', _1122 => _1122.unsubscribe, 'call', _1123 => _1123()]);
|
|
47349
47452
|
} catch (e54) {
|
|
47350
47453
|
}
|
|
47351
47454
|
});
|
|
47352
47455
|
subscriptionRefs.current.clear();
|
|
47353
47456
|
lastSubscribedDialogIdRef.current = null;
|
|
47354
|
-
_optionalChain([abortControllerRef, 'access',
|
|
47457
|
+
_optionalChain([abortControllerRef, 'access', _1124 => _1124.current, 'optionalAccess', _1125 => _1125.abort, 'call', _1126 => _1126()]);
|
|
47355
47458
|
abortControllerRef.current = null;
|
|
47356
47459
|
};
|
|
47357
47460
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
|
|
47358
47461
|
const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
|
|
47359
47462
|
conn: sharedConn,
|
|
47360
47463
|
wsUrl,
|
|
47361
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
47464
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1127 => _1127.current, 'optionalCall', _1128 => _1128()]),
|
|
47362
47465
|
backoff: reconnectionBackoffRef.current,
|
|
47363
47466
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
47364
47467
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -47369,7 +47472,7 @@ function useNatsDialogSubscription({
|
|
|
47369
47472
|
setReconnectionCount((c) => c + 1);
|
|
47370
47473
|
}
|
|
47371
47474
|
hadConnectionBeforeRef.current = true;
|
|
47372
|
-
_optionalChain([onConnectRef, 'access',
|
|
47475
|
+
_optionalChain([onConnectRef, 'access', _1129 => _1129.current, 'optionalCall', _1130 => _1130()]);
|
|
47373
47476
|
}
|
|
47374
47477
|
if (status === "error") {
|
|
47375
47478
|
console.warn("[NATS] protocol error:", evt.data);
|
|
@@ -47379,7 +47482,7 @@ function useNatsDialogSubscription({
|
|
|
47379
47482
|
setIsConnected(false);
|
|
47380
47483
|
setIsSubscribed(false);
|
|
47381
47484
|
tearDownSubscriptions();
|
|
47382
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
47485
|
+
_optionalChain([onDisconnectRef, 'access', _1131 => _1131.current, 'optionalCall', _1132 => _1132()]);
|
|
47383
47486
|
}
|
|
47384
47487
|
}
|
|
47385
47488
|
});
|
|
@@ -47410,13 +47513,13 @@ function useNatsDialogSubscription({
|
|
|
47410
47513
|
setIsSubscribed(false);
|
|
47411
47514
|
subscriptionRefs.current.forEach((sub) => {
|
|
47412
47515
|
try {
|
|
47413
|
-
_optionalChain([sub, 'optionalAccess',
|
|
47516
|
+
_optionalChain([sub, 'optionalAccess', _1133 => _1133.unsubscribe, 'call', _1134 => _1134()]);
|
|
47414
47517
|
} catch (e55) {
|
|
47415
47518
|
}
|
|
47416
47519
|
});
|
|
47417
47520
|
subscriptionRefs.current.clear();
|
|
47418
47521
|
lastSubscribedDialogIdRef.current = null;
|
|
47419
|
-
_optionalChain([abortControllerRef, 'access',
|
|
47522
|
+
_optionalChain([abortControllerRef, 'access', _1135 => _1135.current, 'optionalAccess', _1136 => _1136.abort, 'call', _1137 => _1137()]);
|
|
47420
47523
|
abortControllerRef.current = null;
|
|
47421
47524
|
}
|
|
47422
47525
|
return;
|
|
@@ -47428,12 +47531,12 @@ function useNatsDialogSubscription({
|
|
|
47428
47531
|
if (subscriptionRefs.current.size > 0) {
|
|
47429
47532
|
subscriptionRefs.current.forEach((sub) => {
|
|
47430
47533
|
try {
|
|
47431
|
-
_optionalChain([sub, 'optionalAccess',
|
|
47534
|
+
_optionalChain([sub, 'optionalAccess', _1138 => _1138.unsubscribe, 'call', _1139 => _1139()]);
|
|
47432
47535
|
} catch (e56) {
|
|
47433
47536
|
}
|
|
47434
47537
|
});
|
|
47435
47538
|
subscriptionRefs.current.clear();
|
|
47436
|
-
_optionalChain([abortControllerRef, 'access',
|
|
47539
|
+
_optionalChain([abortControllerRef, 'access', _1140 => _1140.current, 'optionalAccess', _1141 => _1141.abort, 'call', _1142 => _1142()]);
|
|
47437
47540
|
}
|
|
47438
47541
|
abortControllerRef.current = new AbortController();
|
|
47439
47542
|
const abort = abortControllerRef.current;
|
|
@@ -47465,7 +47568,7 @@ function useNatsDialogSubscription({
|
|
|
47465
47568
|
});
|
|
47466
47569
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
47467
47570
|
setIsSubscribed(true);
|
|
47468
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
47571
|
+
_optionalChain([onSubscribedRef, 'access', _1143 => _1143.current, 'optionalCall', _1144 => _1144()]);
|
|
47469
47572
|
};
|
|
47470
47573
|
if (isConnectedRef.current) {
|
|
47471
47574
|
createSubscriptions();
|
|
@@ -47475,7 +47578,7 @@ function useNatsDialogSubscription({
|
|
|
47475
47578
|
abort.abort();
|
|
47476
47579
|
subscriptionRefs.current.forEach((sub) => {
|
|
47477
47580
|
try {
|
|
47478
|
-
_optionalChain([sub, 'optionalAccess',
|
|
47581
|
+
_optionalChain([sub, 'optionalAccess', _1145 => _1145.unsubscribe, 'call', _1146 => _1146()]);
|
|
47479
47582
|
} catch (e58) {
|
|
47480
47583
|
}
|
|
47481
47584
|
});
|
|
@@ -47516,7 +47619,7 @@ function useNatsDialogSubscription({
|
|
|
47516
47619
|
});
|
|
47517
47620
|
lastSubscribedDialogIdRef.current = dialogId2;
|
|
47518
47621
|
setIsSubscribed(true);
|
|
47519
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
47622
|
+
_optionalChain([onSubscribedRef, 'access', _1147 => _1147.current, 'optionalCall', _1148 => _1148()]);
|
|
47520
47623
|
} else if (subscriptionRefs.current.size > 0) {
|
|
47521
47624
|
setIsSubscribed(true);
|
|
47522
47625
|
}
|
|
@@ -47524,10 +47627,10 @@ function useNatsDialogSubscription({
|
|
|
47524
47627
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
47525
47628
|
}
|
|
47526
47629
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
47527
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
47630
|
+
const path = _optionalChain([options, 'optionalAccess', _1149 => _1149.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
47528
47631
|
const u = new URL(path, apiBaseUrl);
|
|
47529
47632
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
47530
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
47633
|
+
if (_optionalChain([options, 'optionalAccess', _1150 => _1150.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1151 => _1151.token])) {
|
|
47531
47634
|
u.searchParams.set("authorization", options.token);
|
|
47532
47635
|
}
|
|
47533
47636
|
return u.toString();
|
|
@@ -47663,7 +47766,7 @@ function parseChunkToAction(chunk) {
|
|
|
47663
47766
|
// is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
|
|
47664
47767
|
// historical path in `process-historical-messages.ts`) — keeps both
|
|
47665
47768
|
// message sources producing an identical shape.
|
|
47666
|
-
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess',
|
|
47769
|
+
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1152 => _1152.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1153 => _1153.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
|
|
47667
47770
|
};
|
|
47668
47771
|
case MESSAGE_TYPE.TOKEN_USAGE:
|
|
47669
47772
|
return {
|
|
@@ -47855,8 +47958,8 @@ var MessageSegmentAccumulator = class {
|
|
|
47855
47958
|
type: "tool_execution",
|
|
47856
47959
|
data: {
|
|
47857
47960
|
...toolData,
|
|
47858
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
47859
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
47961
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1154 => _1154.data, 'access', _1155 => _1155.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1156 => _1156.toolTitle]))),
|
|
47962
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1157 => _1157.parameters])
|
|
47860
47963
|
}
|
|
47861
47964
|
};
|
|
47862
47965
|
if (existingIndex !== -1) {
|
|
@@ -47880,8 +47983,8 @@ var MessageSegmentAccumulator = class {
|
|
|
47880
47983
|
if (seg.type !== "approval_batch") return seg;
|
|
47881
47984
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
47882
47985
|
if (!hasCall) return seg;
|
|
47883
|
-
const prev = _optionalChain([seg, 'access',
|
|
47884
|
-
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess',
|
|
47986
|
+
const prev = _optionalChain([seg, 'access', _1158 => _1158.data, 'access', _1159 => _1159.executions, 'optionalAccess', _1160 => _1160[execId]]);
|
|
47987
|
+
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1161 => _1161.result]), success: _optionalChain([prev, 'optionalAccess', _1162 => _1162.success]) };
|
|
47885
47988
|
matched = true;
|
|
47886
47989
|
return {
|
|
47887
47990
|
...seg,
|
|
@@ -48003,10 +48106,10 @@ var MessageSegmentAccumulator = class {
|
|
|
48003
48106
|
const segment = {
|
|
48004
48107
|
type: "approval_request",
|
|
48005
48108
|
data: {
|
|
48006
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
48007
|
-
explanation: _optionalChain([pendingApproval, 'optionalAccess',
|
|
48109
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _1163 => _1163.command]) || "",
|
|
48110
|
+
explanation: _optionalChain([pendingApproval, 'optionalAccess', _1164 => _1164.explanation]),
|
|
48008
48111
|
requestId,
|
|
48009
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
48112
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1165 => _1165.approvalType]) || approvalType
|
|
48010
48113
|
},
|
|
48011
48114
|
status,
|
|
48012
48115
|
onApprove: this.callbacks.onApprove,
|
|
@@ -48198,7 +48301,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48198
48301
|
if (initialState.escalatedApprovals) {
|
|
48199
48302
|
pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
|
|
48200
48303
|
initialState.escalatedApprovals.forEach((data, requestId) => {
|
|
48201
|
-
_optionalChain([callbacks, 'access',
|
|
48304
|
+
_optionalChain([callbacks, 'access', _1166 => _1166.onEscalatedApproval, 'optionalCall', _1167 => _1167(requestId, data)]);
|
|
48202
48305
|
});
|
|
48203
48306
|
}
|
|
48204
48307
|
hasEverStreamedRef.current = true;
|
|
@@ -48220,13 +48323,13 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48220
48323
|
if (!action) return;
|
|
48221
48324
|
const accumulator = accumulatorRef.current;
|
|
48222
48325
|
const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
|
|
48223
|
-
const emitSegments = (s, meta) => _optionalChain([callbacks, 'access',
|
|
48326
|
+
const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1168 => _1168.onSegmentsUpdate, 'optionalCall', _1169 => _1169(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
|
|
48224
48327
|
if (action.action === "direct_message") sawDirectMessageRef.current = true;
|
|
48225
48328
|
if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
|
|
48226
48329
|
if (isInStreamRef.current || !directTeardownFiredRef.current) {
|
|
48227
48330
|
isInStreamRef.current = false;
|
|
48228
48331
|
directTeardownFiredRef.current = true;
|
|
48229
|
-
_optionalChain([callbacks, 'access',
|
|
48332
|
+
_optionalChain([callbacks, 'access', _1170 => _1170.onStreamEnd, 'optionalCall', _1171 => _1171()]);
|
|
48230
48333
|
accumulator.resetSegments();
|
|
48231
48334
|
}
|
|
48232
48335
|
return;
|
|
@@ -48235,16 +48338,16 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48235
48338
|
case "message_start":
|
|
48236
48339
|
isInStreamRef.current = true;
|
|
48237
48340
|
hasEverStreamedRef.current = true;
|
|
48238
|
-
_optionalChain([callbacks, 'access',
|
|
48341
|
+
_optionalChain([callbacks, 'access', _1172 => _1172.onStreamStart, 'optionalCall', _1173 => _1173()]);
|
|
48239
48342
|
accumulator.resetSegments();
|
|
48240
48343
|
break;
|
|
48241
48344
|
case "message_end":
|
|
48242
48345
|
isInStreamRef.current = false;
|
|
48243
|
-
_optionalChain([callbacks, 'access',
|
|
48346
|
+
_optionalChain([callbacks, 'access', _1174 => _1174.onStreamEnd, 'optionalCall', _1175 => _1175()]);
|
|
48244
48347
|
accumulator.resetSegments();
|
|
48245
48348
|
break;
|
|
48246
48349
|
case "metadata":
|
|
48247
|
-
_optionalChain([callbacks, 'access',
|
|
48350
|
+
_optionalChain([callbacks, 'access', _1176 => _1176.onMetadata, 'optionalCall', _1177 => _1177(action)]);
|
|
48248
48351
|
break;
|
|
48249
48352
|
case "text": {
|
|
48250
48353
|
const segments = accumulator.appendText(action.text);
|
|
@@ -48266,7 +48369,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48266
48369
|
}
|
|
48267
48370
|
case "tool_execution": {
|
|
48268
48371
|
if (action.segment.data.type === "EXECUTING_TOOL") {
|
|
48269
|
-
_optionalChain([callbacks, 'access',
|
|
48372
|
+
_optionalChain([callbacks, 'access', _1178 => _1178.onAgentBusy, 'optionalCall', _1179 => _1179()]);
|
|
48270
48373
|
}
|
|
48271
48374
|
if (!isInStreamRef.current && callbacks.onToolExecuted) {
|
|
48272
48375
|
callbacks.onToolExecuted(action.segment);
|
|
@@ -48290,7 +48393,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48290
48393
|
emitSegments(segments);
|
|
48291
48394
|
} else {
|
|
48292
48395
|
pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
|
|
48293
|
-
_optionalChain([callbacks, 'access',
|
|
48396
|
+
_optionalChain([callbacks, 'access', _1180 => _1180.onEscalatedApproval, 'optionalCall', _1181 => _1181(requestId, { command, explanation, approvalType })]);
|
|
48294
48397
|
}
|
|
48295
48398
|
break;
|
|
48296
48399
|
}
|
|
@@ -48302,13 +48405,13 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48302
48405
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
48303
48406
|
pendingEscalatedRef.current.set(requestId, {
|
|
48304
48407
|
command: summary,
|
|
48305
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
48408
|
+
explanation: _optionalChain([required, 'optionalAccess', _1182 => _1182.toolExplanation]),
|
|
48306
48409
|
approvalType,
|
|
48307
48410
|
toolCalls
|
|
48308
48411
|
});
|
|
48309
|
-
_optionalChain([callbacks, 'access',
|
|
48412
|
+
_optionalChain([callbacks, 'access', _1183 => _1183.onEscalatedApproval, 'optionalCall', _1184 => _1184(requestId, {
|
|
48310
48413
|
command: summary,
|
|
48311
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
48414
|
+
explanation: _optionalChain([required, 'optionalAccess', _1185 => _1185.toolExplanation]),
|
|
48312
48415
|
approvalType
|
|
48313
48416
|
})]);
|
|
48314
48417
|
break;
|
|
@@ -48334,12 +48437,12 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48334
48437
|
}
|
|
48335
48438
|
case "approval_result": {
|
|
48336
48439
|
const { requestId, approved, approvalType, resolvedByName } = action;
|
|
48337
|
-
if (approved) _optionalChain([callbacks, 'access',
|
|
48440
|
+
if (approved) _optionalChain([callbacks, 'access', _1186 => _1186.onAgentBusy, 'optionalCall', _1187 => _1187()]);
|
|
48338
48441
|
const escalatedData = pendingEscalatedRef.current.get(requestId);
|
|
48339
48442
|
const status = approved ? "approved" : "rejected";
|
|
48340
48443
|
if (escalatedData) {
|
|
48341
48444
|
pendingEscalatedRef.current.delete(requestId);
|
|
48342
|
-
_optionalChain([callbacks, 'access',
|
|
48445
|
+
_optionalChain([callbacks, 'access', _1188 => _1188.onEscalatedApprovalResult, 'optionalCall', _1189 => _1189(requestId, approved, {
|
|
48343
48446
|
command: escalatedData.command,
|
|
48344
48447
|
explanation: escalatedData.explanation,
|
|
48345
48448
|
approvalType: escalatedData.approvalType
|
|
@@ -48385,29 +48488,29 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48385
48488
|
emitSegments(accumulator.getSegments());
|
|
48386
48489
|
}
|
|
48387
48490
|
}
|
|
48388
|
-
_optionalChain([callbacks, 'access',
|
|
48491
|
+
_optionalChain([callbacks, 'access', _1190 => _1190.onApprovalResolved, 'optionalCall', _1191 => _1191(requestId, status, approvalType, resolvedByName)]);
|
|
48389
48492
|
break;
|
|
48390
48493
|
}
|
|
48391
48494
|
case "error": {
|
|
48392
48495
|
let message2;
|
|
48393
|
-
if ("details" in action && _optionalChain([action, 'optionalAccess',
|
|
48496
|
+
if ("details" in action && _optionalChain([action, 'optionalAccess', _1192 => _1192.details])) {
|
|
48394
48497
|
try {
|
|
48395
|
-
message2 = _optionalChain([JSON, 'access',
|
|
48498
|
+
message2 = _optionalChain([JSON, 'access', _1193 => _1193.parse, 'call', _1194 => _1194(action.details), 'optionalAccess', _1195 => _1195.error, 'optionalAccess', _1196 => _1196.message]);
|
|
48396
48499
|
} catch (e60) {
|
|
48397
48500
|
message2 = action.details;
|
|
48398
48501
|
}
|
|
48399
48502
|
}
|
|
48400
48503
|
const segments = accumulator.addError(action.error, message2);
|
|
48401
48504
|
emitSegments(segments);
|
|
48402
|
-
_optionalChain([callbacks, 'access',
|
|
48505
|
+
_optionalChain([callbacks, 'access', _1197 => _1197.onError, 'optionalCall', _1198 => _1198(action.error, message2)]);
|
|
48403
48506
|
break;
|
|
48404
48507
|
}
|
|
48405
48508
|
case "system": {
|
|
48406
|
-
_optionalChain([callbacks, 'access',
|
|
48509
|
+
_optionalChain([callbacks, 'access', _1199 => _1199.onSystemMessage, 'optionalCall', _1200 => _1200(action.text, { streamSeq })]);
|
|
48407
48510
|
break;
|
|
48408
48511
|
}
|
|
48409
48512
|
case "direct_message": {
|
|
48410
|
-
_optionalChain([callbacks, 'access',
|
|
48513
|
+
_optionalChain([callbacks, 'access', _1201 => _1201.onDirectMessage, 'optionalCall', _1202 => _1202(action.text, {
|
|
48411
48514
|
ownerType: action.ownerType,
|
|
48412
48515
|
displayName: action.displayName,
|
|
48413
48516
|
userId: action.userId,
|
|
@@ -48416,7 +48519,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48416
48519
|
break;
|
|
48417
48520
|
}
|
|
48418
48521
|
case "message_request":
|
|
48419
|
-
_optionalChain([callbacks, 'access',
|
|
48522
|
+
_optionalChain([callbacks, 'access', _1203 => _1203.onUserMessage, 'optionalCall', _1204 => _1204(action.text, {
|
|
48420
48523
|
ownerType: action.ownerType,
|
|
48421
48524
|
displayName: action.displayName,
|
|
48422
48525
|
userId: action.userId,
|
|
@@ -48425,7 +48528,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48425
48528
|
})]);
|
|
48426
48529
|
break;
|
|
48427
48530
|
case "token_usage":
|
|
48428
|
-
_optionalChain([callbacks, 'access',
|
|
48531
|
+
_optionalChain([callbacks, 'access', _1205 => _1205.onTokenUsage, 'optionalCall', _1206 => _1206(action.data)]);
|
|
48429
48532
|
break;
|
|
48430
48533
|
case "context_compaction_start": {
|
|
48431
48534
|
const standalone = !isInStreamRef.current;
|
|
@@ -48440,7 +48543,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
48440
48543
|
break;
|
|
48441
48544
|
}
|
|
48442
48545
|
case "dialog_closed":
|
|
48443
|
-
_optionalChain([callbacks, 'access',
|
|
48546
|
+
_optionalChain([callbacks, 'access', _1207 => _1207.onDialogClosed, 'optionalCall', _1208 => _1208()]);
|
|
48444
48547
|
break;
|
|
48445
48548
|
default:
|
|
48446
48549
|
break;
|
|
@@ -48488,7 +48591,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
48488
48591
|
const data = await res.json();
|
|
48489
48592
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
48490
48593
|
} catch (err) {
|
|
48491
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
48594
|
+
if (_optionalChain([err, 'optionalAccess', _1209 => _1209.name]) === "AbortError") throw err;
|
|
48492
48595
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
48493
48596
|
return [];
|
|
48494
48597
|
}
|
|
@@ -48509,7 +48612,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
48509
48612
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
48510
48613
|
if (!cancelled) setCommands(next);
|
|
48511
48614
|
} catch (err) {
|
|
48512
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
48615
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _1210 => _1210.name]) !== "AbortError") {
|
|
48513
48616
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
48514
48617
|
}
|
|
48515
48618
|
} finally {
|
|
@@ -48528,7 +48631,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
48528
48631
|
const query = _reactquery.useQuery.call(void 0, {
|
|
48529
48632
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
48530
48633
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
48531
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
48634
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1211 => _1211.enabled]), () => ( true)),
|
|
48532
48635
|
staleTime: Infinity,
|
|
48533
48636
|
gcTime: Infinity,
|
|
48534
48637
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -48567,21 +48670,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
48567
48670
|
}
|
|
48568
48671
|
const data = await res.json();
|
|
48569
48672
|
return {
|
|
48570
|
-
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
48571
|
-
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
48572
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
48573
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
48574
|
-
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
48575
|
-
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
48673
|
+
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1212 => _1212.name]), () => ( null)),
|
|
48674
|
+
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1213 => _1213.icon]), () => ( null)),
|
|
48675
|
+
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1214 => _1214.greeting]), () => ( null)),
|
|
48676
|
+
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1215 => _1215.enabledRagTableIds]), () => ( [])),
|
|
48677
|
+
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1216 => _1216.quickActions]), () => ( [])),
|
|
48678
|
+
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1217 => _1217.suggestedQueries]), () => ( []))
|
|
48576
48679
|
};
|
|
48577
48680
|
} catch (err) {
|
|
48578
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
48681
|
+
if (_optionalChain([err, 'optionalAccess', _1218 => _1218.name]) === "AbortError") throw err;
|
|
48579
48682
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
48580
48683
|
return EMPTY_STATE_FALLBACK;
|
|
48581
48684
|
}
|
|
48582
48685
|
}
|
|
48583
48686
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
48584
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
48687
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1219 => _1219.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
48585
48688
|
const query = _reactquery.useQuery.call(void 0, {
|
|
48586
48689
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
48587
48690
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -48610,7 +48713,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
48610
48713
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
48611
48714
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
48612
48715
|
return new Promise((resolve, reject) => {
|
|
48613
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
48716
|
+
if (_optionalChain([signal, 'optionalAccess', _1220 => _1220.aborted])) {
|
|
48614
48717
|
reject(new Error("Upload cancelled"));
|
|
48615
48718
|
return;
|
|
48616
48719
|
}
|
|
@@ -48624,7 +48727,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
48624
48727
|
xhr.removeEventListener("error", handleError);
|
|
48625
48728
|
xhr.removeEventListener("abort", handleAbort);
|
|
48626
48729
|
xhr.removeEventListener("timeout", handleTimeout);
|
|
48627
|
-
_optionalChain([signal, 'optionalAccess',
|
|
48730
|
+
_optionalChain([signal, 'optionalAccess', _1221 => _1221.removeEventListener, 'call', _1222 => _1222("abort", handleSignalAbort)]);
|
|
48628
48731
|
if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
|
|
48629
48732
|
};
|
|
48630
48733
|
const handleProgress = (event) => {
|
|
@@ -48660,7 +48763,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
48660
48763
|
const handleSignalAbort = () => {
|
|
48661
48764
|
xhr.abort();
|
|
48662
48765
|
};
|
|
48663
|
-
_optionalChain([signal, 'optionalAccess',
|
|
48766
|
+
_optionalChain([signal, 'optionalAccess', _1223 => _1223.addEventListener, 'call', _1224 => _1224("abort", handleSignalAbort, { once: true })]);
|
|
48664
48767
|
xhr.upload.addEventListener("progress", handleProgress);
|
|
48665
48768
|
xhr.addEventListener("load", handleLoad);
|
|
48666
48769
|
xhr.addEventListener("error", handleError);
|
|
@@ -48704,12 +48807,12 @@ function useChatAttachments() {
|
|
|
48704
48807
|
try {
|
|
48705
48808
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
48706
48809
|
} catch (err) {
|
|
48707
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
48810
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1225 => _1225.signal, 'access', _1226 => _1226.aborted])) return;
|
|
48708
48811
|
throw new Error(
|
|
48709
48812
|
`Could not read file content: ${err instanceof Error ? err.message : String(err)}`
|
|
48710
48813
|
);
|
|
48711
48814
|
}
|
|
48712
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
48815
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1227 => _1227.signal, 'access', _1228 => _1228.aborted])) return;
|
|
48713
48816
|
if (!sniffed) {
|
|
48714
48817
|
throw new Error("Unrecognized file format");
|
|
48715
48818
|
}
|
|
@@ -48723,7 +48826,7 @@ function useChatAttachments() {
|
|
|
48723
48826
|
const urlResp = await _chunkN2TJ3HAMcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
48724
48827
|
method: "POST",
|
|
48725
48828
|
headers: { "Content-Type": "application/json" },
|
|
48726
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
48829
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _1229 => _1229.signal]),
|
|
48727
48830
|
body: JSON.stringify({
|
|
48728
48831
|
fileName: att.file.name,
|
|
48729
48832
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -48749,9 +48852,9 @@ function useChatAttachments() {
|
|
|
48749
48852
|
(pct) => {
|
|
48750
48853
|
updateOne(att.id, { progress: pct });
|
|
48751
48854
|
},
|
|
48752
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
48855
|
+
_optionalChain([ctrl, 'optionalAccess', _1230 => _1230.signal])
|
|
48753
48856
|
);
|
|
48754
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
48857
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1231 => _1231.signal, 'access', _1232 => _1232.aborted])) return;
|
|
48755
48858
|
updateOne(att.id, {
|
|
48756
48859
|
status: "ready",
|
|
48757
48860
|
progress: 100,
|
|
@@ -48759,7 +48862,7 @@ function useChatAttachments() {
|
|
|
48759
48862
|
viewToken: mintData.viewToken
|
|
48760
48863
|
});
|
|
48761
48864
|
} catch (err) {
|
|
48762
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
48865
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1233 => _1233.signal, 'access', _1234 => _1234.aborted])) return;
|
|
48763
48866
|
const message2 = err instanceof Error ? err.message : String(err);
|
|
48764
48867
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
|
|
48765
48868
|
} finally {
|
|
@@ -48910,7 +49013,7 @@ var ANON_DEFAULTS = {
|
|
|
48910
49013
|
function useResolveChatIdentity(enabled) {
|
|
48911
49014
|
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
48912
49015
|
const url = runtime.endpoints.identityUrl;
|
|
48913
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkN2TJ3HAMcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
49016
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkN2TJ3HAMcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1235 => _1235.email]), () => ( null));
|
|
48914
49017
|
const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
|
|
48915
49018
|
const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
|
|
48916
49019
|
_react.useEffect.call(void 0, () => {
|
|
@@ -49001,7 +49104,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
|
|
|
49001
49104
|
yield chunk;
|
|
49002
49105
|
}
|
|
49003
49106
|
} catch (err) {
|
|
49004
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
49107
|
+
if (_optionalChain([err, 'optionalAccess', _1236 => _1236.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
49005
49108
|
return;
|
|
49006
49109
|
}
|
|
49007
49110
|
const errorMessage = err instanceof Error ? err.message : "An error occurred";
|
|
@@ -49052,7 +49155,7 @@ function useChat({
|
|
|
49052
49155
|
const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
|
|
49053
49156
|
onMessagesChangeRef.current = onMessagesChange;
|
|
49054
49157
|
_react.useEffect.call(void 0, () => {
|
|
49055
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
49158
|
+
_optionalChain([onMessagesChangeRef, 'access', _1237 => _1237.current, 'optionalCall', _1238 => _1238(messages)]);
|
|
49056
49159
|
}, [messages]);
|
|
49057
49160
|
const {
|
|
49058
49161
|
streamMessage,
|
|
@@ -49089,7 +49192,7 @@ function useChat({
|
|
|
49089
49192
|
name: "You",
|
|
49090
49193
|
content: text,
|
|
49091
49194
|
timestamp: /* @__PURE__ */ new Date(),
|
|
49092
|
-
..._optionalChain([options, 'optionalAccess',
|
|
49195
|
+
..._optionalChain([options, 'optionalAccess', _1239 => _1239.hidden]) ? { hidden: true } : {}
|
|
49093
49196
|
};
|
|
49094
49197
|
addMessage(userMessage);
|
|
49095
49198
|
setIsTyping(true);
|
|
@@ -49151,7 +49254,7 @@ function useChat({
|
|
|
49151
49254
|
currentTextSegment = "";
|
|
49152
49255
|
}
|
|
49153
49256
|
const seg = segment;
|
|
49154
|
-
const proposalId = _optionalChain([seg, 'access',
|
|
49257
|
+
const proposalId = _optionalChain([seg, 'access', _1240 => _1240.data, 'optionalAccess', _1241 => _1241.requestId]);
|
|
49155
49258
|
const updateApprovalMessage = (transform) => {
|
|
49156
49259
|
setMessages((prev) => {
|
|
49157
49260
|
for (let i = prev.length - 1; i >= 0; i--) {
|
|
@@ -49160,7 +49263,7 @@ function useChat({
|
|
|
49160
49263
|
if (!Array.isArray(m.content)) continue;
|
|
49161
49264
|
const segments = m.content;
|
|
49162
49265
|
const hasMatch = segments.some(
|
|
49163
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
49266
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1242 => _1242.data, 'optionalAccess', _1243 => _1243.requestId]) === proposalId
|
|
49164
49267
|
);
|
|
49165
49268
|
if (!hasMatch) continue;
|
|
49166
49269
|
const next = [...prev];
|
|
@@ -49202,11 +49305,11 @@ function useChat({
|
|
|
49202
49305
|
if (!Array.isArray(m.content)) continue;
|
|
49203
49306
|
const segments = m.content;
|
|
49204
49307
|
const hasMatch = segments.some(
|
|
49205
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
49308
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1244 => _1244.data, 'optionalAccess', _1245 => _1245.requestId]) === decision.proposalId
|
|
49206
49309
|
);
|
|
49207
49310
|
if (!hasMatch) continue;
|
|
49208
49311
|
const flipped = segments.map(
|
|
49209
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
49312
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1246 => _1246.data, 'optionalAccess', _1247 => _1247.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
|
|
49210
49313
|
);
|
|
49211
49314
|
const next = [...prev];
|
|
49212
49315
|
next[i] = { ...m, content: flipped };
|
|
@@ -49368,8 +49471,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
49368
49471
|
})),
|
|
49369
49472
|
{ role: "user", content: message2 }
|
|
49370
49473
|
];
|
|
49371
|
-
const targetPath = _optionalChain([extra, 'optionalAccess',
|
|
49372
|
-
const requestBody = _optionalChain([extra, 'optionalAccess',
|
|
49474
|
+
const targetPath = _optionalChain([extra, 'optionalAccess', _1248 => _1248.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
|
|
49475
|
+
const requestBody = _optionalChain([extra, 'optionalAccess', _1249 => _1249.approvalAction]) ? {
|
|
49373
49476
|
proposal_id: extra.approvalAction.proposalId,
|
|
49374
49477
|
action: extra.approvalAction.action,
|
|
49375
49478
|
messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
|
|
@@ -49378,8 +49481,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
49378
49481
|
}))
|
|
49379
49482
|
} : {
|
|
49380
49483
|
messages: apiMessages,
|
|
49381
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
49382
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
49484
|
+
..._optionalChain([extra, 'optionalAccess', _1250 => _1250.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
|
|
49485
|
+
..._optionalChain([extra, 'optionalAccess', _1251 => _1251.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
|
|
49383
49486
|
};
|
|
49384
49487
|
const response = await _chunkN2TJ3HAMcjs.embedAuthedFetch.call(void 0, targetPath, {
|
|
49385
49488
|
method: "POST",
|
|
@@ -49389,7 +49492,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
49389
49492
|
if (!response.ok) {
|
|
49390
49493
|
throw new Error(`Chat request failed: ${response.status}`);
|
|
49391
49494
|
}
|
|
49392
|
-
const reader = _optionalChain([response, 'access',
|
|
49495
|
+
const reader = _optionalChain([response, 'access', _1252 => _1252.body, 'optionalAccess', _1253 => _1253.getReader, 'call', _1254 => _1254()]);
|
|
49393
49496
|
if (!reader) throw new Error("No response body");
|
|
49394
49497
|
const decoder = new TextDecoder();
|
|
49395
49498
|
let buffer = "";
|
|
@@ -49472,7 +49575,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
49472
49575
|
const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
|
|
49473
49576
|
const result = _nullishCoalesce(meta.result, () => ( null));
|
|
49474
49577
|
const card = _nullishCoalesce(meta.card, () => ( null));
|
|
49475
|
-
if (_optionalChain([card, 'optionalAccess',
|
|
49578
|
+
if (_optionalChain([card, 'optionalAccess', _1255 => _1255.ref, 'optionalAccess', _1256 => _1256.id]) && _optionalChain([card, 'optionalAccess', _1257 => _1257.type])) {
|
|
49476
49579
|
const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
|
|
49477
49580
|
const key = buildChatRefKey(card.type, card.ref.id);
|
|
49478
49581
|
refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
|
|
@@ -49485,8 +49588,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
49485
49588
|
willAutoContinue: meta.willAutoContinue === true,
|
|
49486
49589
|
...toolName ? { toolName } : {},
|
|
49487
49590
|
...result ? { result } : {},
|
|
49488
|
-
..._optionalChain([card, 'optionalAccess',
|
|
49489
|
-
..._optionalChain([card, 'optionalAccess',
|
|
49591
|
+
..._optionalChain([card, 'optionalAccess', _1258 => _1258.marker]) ? { marker: card.marker } : {},
|
|
49592
|
+
..._optionalChain([card, 'optionalAccess', _1259 => _1259.ref]) ? { cardRef: card.ref } : {},
|
|
49490
49593
|
...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
|
|
49491
49594
|
proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
|
|
49492
49595
|
};
|
|
@@ -49605,7 +49708,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
|
|
|
49605
49708
|
var chatStorageKey = (source) => {
|
|
49606
49709
|
const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
|
|
49607
49710
|
const auth = _chunkN2TJ3HAMcjs.getEmbedProxyAuth.call(void 0, );
|
|
49608
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
49711
|
+
if (_optionalChain([auth, 'optionalAccess', _1260 => _1260.email])) {
|
|
49609
49712
|
return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
|
|
49610
49713
|
}
|
|
49611
49714
|
return base;
|
|
@@ -49660,7 +49763,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
49660
49763
|
const { active = true } = runtimeOptions;
|
|
49661
49764
|
const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
|
|
49662
49765
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
49663
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
49766
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1261 => _1261.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
49664
49767
|
const persistedRef = _react.useRef.call(void 0, null);
|
|
49665
49768
|
if (persistedRef.current === null) {
|
|
49666
49769
|
pruneStaleChatStorage(source);
|
|
@@ -49765,7 +49868,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
49765
49868
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
49766
49869
|
sources = sourcesMapRef.current.get(lookupIdx);
|
|
49767
49870
|
chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
|
|
49768
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access',
|
|
49871
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1262 => _1262.current, 'access', _1263 => _1263.get, 'call', _1264 => _1264(lookupIdx), 'optionalAccess', _1265 => _1265.scrollAnchor]), () => ( void 0));
|
|
49769
49872
|
}
|
|
49770
49873
|
return {
|
|
49771
49874
|
id: m.id,
|
|
@@ -49813,7 +49916,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
49813
49916
|
);
|
|
49814
49917
|
return;
|
|
49815
49918
|
}
|
|
49816
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
49919
|
+
const refSlug = typeof _optionalChain([reference, 'access', _1266 => _1266.metadata, 'optionalAccess', _1267 => _1267.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
49817
49920
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
49818
49921
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
49819
49922
|
const text = `/${cmdId} display "${escaped}"`;
|
|
@@ -49885,18 +49988,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
49885
49988
|
clearMessages,
|
|
49886
49989
|
streamingPhase,
|
|
49887
49990
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
49888
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
49889
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
49890
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
49991
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1268 => _1268.provider]), () => ( null)),
|
|
49992
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1269 => _1269.modelLabel]), () => ( null)),
|
|
49993
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1270 => _1270.contextWindowMaxTokens]), () => ( null)),
|
|
49891
49994
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
49892
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
49995
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1271 => _1271.inputTokens]), () => ( null)),
|
|
49893
49996
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
49894
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
49997
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1272 => _1272.outputTokens]), () => ( null)),
|
|
49895
49998
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
49896
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
49999
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1273 => _1273.cacheHitRatePct]), () => ( null)),
|
|
49897
50000
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
49898
50001
|
* token counts). null until the trailing usage frame lands. */
|
|
49899
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
50002
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1274 => _1274.breakdown]), () => ( null)),
|
|
49900
50003
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
49901
50004
|
// Guide mode currently keeps its history in `localStorage` opaquely
|
|
49902
50005
|
// under the hood (`runtime.source` namespaced key). Surfacing that
|
|
@@ -49954,15 +50057,15 @@ var noopRejectRequest = async (_id, _reason) => {
|
|
|
49954
50057
|
|
|
49955
50058
|
// src/components/chat/utils/process-historical-messages.ts
|
|
49956
50059
|
function getOwnerDisplayName(owner) {
|
|
49957
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
50060
|
+
if (_optionalChain([owner, 'optionalAccess', _1275 => _1275.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
49958
50061
|
const { firstName, lastName } = owner.user;
|
|
49959
50062
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
49960
50063
|
if (name) return name;
|
|
49961
50064
|
}
|
|
49962
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
50065
|
+
return _optionalChain([owner, 'optionalAccess', _1276 => _1276.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
49963
50066
|
}
|
|
49964
50067
|
function getOwnerAvatar(owner) {
|
|
49965
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
50068
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1277 => _1277.user, 'optionalAccess', _1278 => _1278.image, 'optionalAccess', _1279 => _1279.imageUrl]), () => ( void 0));
|
|
49966
50069
|
}
|
|
49967
50070
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
49968
50071
|
messageDataArray.forEach((data) => {
|
|
@@ -50025,14 +50128,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
50025
50128
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
50026
50129
|
return;
|
|
50027
50130
|
}
|
|
50028
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
50131
|
+
const isUserMessage = _optionalChain([msg, 'access', _1280 => _1280.owner, 'optionalAccess', _1281 => _1281.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1282 => _1282.owner, 'optionalAccess', _1283 => _1283.type]) === OWNER_TYPE.ADMIN;
|
|
50029
50132
|
if (isUserMessage) {
|
|
50030
50133
|
flushAssistantMessage();
|
|
50031
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
50134
|
+
const userAuthorType = _optionalChain([msg, 'access', _1284 => _1284.owner, 'optionalAccess', _1285 => _1285.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
50032
50135
|
messageDataArray.forEach((data) => {
|
|
50033
50136
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
50034
50137
|
const rawContext = data.contextItems;
|
|
50035
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
50138
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1286 => _1286.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1287 => _1287.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
50036
50139
|
processedMessages.push({
|
|
50037
50140
|
id: msg.id,
|
|
50038
50141
|
role: "user",
|
|
@@ -50056,7 +50159,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
50056
50159
|
});
|
|
50057
50160
|
const nextMsg = messages[index + 1];
|
|
50058
50161
|
const isLastMessage = index === messages.length - 1;
|
|
50059
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
50162
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1288 => _1288.owner, 'optionalAccess', _1289 => _1289.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1290 => _1290.owner, 'optionalAccess', _1291 => _1291.type]) === OWNER_TYPE.ADMIN);
|
|
50060
50163
|
if (isLastMessage || nextIsFromUser) {
|
|
50061
50164
|
flushAssistantMessage();
|
|
50062
50165
|
}
|
|
@@ -50166,7 +50269,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
50166
50269
|
}
|
|
50167
50270
|
}
|
|
50168
50271
|
} else {
|
|
50169
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
50272
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1292 => _1292.set, 'call', _1293 => _1293(data.approvalRequestId, {
|
|
50170
50273
|
command: data.command || "",
|
|
50171
50274
|
explanation: data.explanation,
|
|
50172
50275
|
approvalType,
|
|
@@ -50180,8 +50283,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
50180
50283
|
const existingStatus = approvalStatuses[data.approvalRequestId];
|
|
50181
50284
|
const status = existingStatus || (data.approved ? "approved" : "rejected");
|
|
50182
50285
|
const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
|
|
50183
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
50184
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
50286
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1294 => _1294.get, 'call', _1295 => _1295(data.approvalRequestId)]);
|
|
50287
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _1296 => _1296.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
50185
50288
|
if (batchApprovalsEnabled) {
|
|
50186
50289
|
accumulator.addApprovalBatch(
|
|
50187
50290
|
data.approvalRequestId,
|
|
@@ -50203,7 +50306,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
50203
50306
|
);
|
|
50204
50307
|
}
|
|
50205
50308
|
}
|
|
50206
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
50309
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1297 => _1297.delete, 'call', _1298 => _1298(data.approvalRequestId)]);
|
|
50207
50310
|
break;
|
|
50208
50311
|
}
|
|
50209
50312
|
if (escalatedData) {
|
|
@@ -50212,7 +50315,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
50212
50315
|
explanation: escalatedData.explanation,
|
|
50213
50316
|
approvalType: escalatedData.approvalType
|
|
50214
50317
|
});
|
|
50215
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
50318
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1299 => _1299.delete, 'call', _1300 => _1300(data.approvalRequestId)]);
|
|
50216
50319
|
}
|
|
50217
50320
|
const before = accumulator.getSegments();
|
|
50218
50321
|
const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
|
|
@@ -50228,9 +50331,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
50228
50331
|
case MESSAGE_TYPE.ERROR:
|
|
50229
50332
|
if ("error" in data) {
|
|
50230
50333
|
let message2;
|
|
50231
|
-
if ("details" in data && _optionalChain([data, 'optionalAccess',
|
|
50334
|
+
if ("details" in data && _optionalChain([data, 'optionalAccess', _1301 => _1301.details])) {
|
|
50232
50335
|
try {
|
|
50233
|
-
message2 = _optionalChain([JSON, 'access',
|
|
50336
|
+
message2 = _optionalChain([JSON, 'access', _1302 => _1302.parse, 'call', _1303 => _1303(data.details), 'optionalAccess', _1304 => _1304.error, 'optionalAccess', _1305 => _1305.message]);
|
|
50234
50337
|
} catch (e67) {
|
|
50235
50338
|
message2 = data.details;
|
|
50236
50339
|
}
|
|
@@ -50313,14 +50416,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
50313
50416
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
50314
50417
|
return;
|
|
50315
50418
|
}
|
|
50316
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
50419
|
+
const isUserMessage = _optionalChain([msg, 'access', _1306 => _1306.owner, 'optionalAccess', _1307 => _1307.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1308 => _1308.owner, 'optionalAccess', _1309 => _1309.type]) === OWNER_TYPE.ADMIN;
|
|
50317
50420
|
if (isUserMessage) {
|
|
50318
50421
|
flushAssistantMessage();
|
|
50319
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
50422
|
+
const userAuthorType = _optionalChain([msg, 'access', _1310 => _1310.owner, 'optionalAccess', _1311 => _1311.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
50320
50423
|
messageDataArray.forEach((data) => {
|
|
50321
50424
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
50322
50425
|
const rawContext = data.contextItems;
|
|
50323
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
50426
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1312 => _1312.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1313 => _1313.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
50324
50427
|
processedMessages.push({
|
|
50325
50428
|
id: msg.id,
|
|
50326
50429
|
role: "user",
|
|
@@ -50344,7 +50447,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
50344
50447
|
});
|
|
50345
50448
|
const nextMsg = messages[index + 1];
|
|
50346
50449
|
const isLastMessage = index === messages.length - 1;
|
|
50347
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
50450
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1314 => _1314.owner, 'optionalAccess', _1315 => _1315.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1316 => _1316.owner, 'optionalAccess', _1317 => _1317.type]) === OWNER_TYPE.ADMIN);
|
|
50348
50451
|
if (isLastMessage || nextIsFromUser) {
|
|
50349
50452
|
flushAssistantMessage();
|
|
50350
50453
|
}
|
|
@@ -50412,6 +50515,14 @@ function mapProcessedToUnified(processed) {
|
|
|
50412
50515
|
}
|
|
50413
50516
|
return out;
|
|
50414
50517
|
}
|
|
50518
|
+
function historicalToUnified(messages, options = {}) {
|
|
50519
|
+
const { messages: processed } = processHistoricalMessagesWithErrors(messages, options);
|
|
50520
|
+
const byId = new Map(processed.map((p) => [p.id, p]));
|
|
50521
|
+
return mapProcessedToUnified(processed).map((u) => {
|
|
50522
|
+
const p = byId.get(u.id);
|
|
50523
|
+
return p ? { ...u, name: p.name, avatar: _nullishCoalesce(p.avatar, () => ( null)), authorType: p.authorType, timestamp: p.timestamp } : u;
|
|
50524
|
+
});
|
|
50525
|
+
}
|
|
50415
50526
|
function useNatsChatAdapter(config, options = {}) {
|
|
50416
50527
|
const { active = true } = options;
|
|
50417
50528
|
const {
|
|
@@ -50705,7 +50816,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
50705
50816
|
}, [active, fetchDialogs, loadDialogsPage]);
|
|
50706
50817
|
const sendMessage = _react.useCallback.call(void 0,
|
|
50707
50818
|
async (text, sendOptions) => {
|
|
50708
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
50819
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1318 => _1318.hidden]), () => ( false));
|
|
50709
50820
|
setMessages((prev) => [
|
|
50710
50821
|
...prev,
|
|
50711
50822
|
{
|
|
@@ -50869,11 +50980,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
50869
50980
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
50870
50981
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
50871
50982
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
50872
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
50873
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
50874
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
50875
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
50876
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
50983
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1319 => _1319.provider]), () => ( modelProvider)), () => ( null)),
|
|
50984
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1320 => _1320.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
50985
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1321 => _1321.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1322 => _1322.contextWindowMaxTokens]))), () => ( null)),
|
|
50986
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1323 => _1323.inputTokensSize]), () => ( null)),
|
|
50987
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1324 => _1324.outputTokensSize]), () => ( null)),
|
|
50877
50988
|
currentCacheHitRatePct: null,
|
|
50878
50989
|
currentUsageBreakdown: null,
|
|
50879
50990
|
// Dialog management
|
|
@@ -51121,7 +51232,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
51121
51232
|
break;
|
|
51122
51233
|
case "approval_batch": {
|
|
51123
51234
|
const allDone = !!segment.data.executions && segment.data.toolCalls.every(
|
|
51124
|
-
(c) => _optionalChain([segment, 'access',
|
|
51235
|
+
(c) => _optionalChain([segment, 'access', _1325 => _1325.data, 'access', _1326 => _1326.executions, 'optionalAccess', _1327 => _1327[c.toolExecutionRequestId], 'optionalAccess', _1328 => _1328.status]) === "done"
|
|
51125
51236
|
);
|
|
51126
51237
|
if (segment.status !== "rejected" && !allDone) {
|
|
51127
51238
|
hasIncompleteState = true;
|
|
@@ -51189,20 +51300,20 @@ function mergeHistoryWithRealtime(input) {
|
|
|
51189
51300
|
const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
|
|
51190
51301
|
const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
|
|
51191
51302
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
51192
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
51193
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
51303
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1329 => _1329.role]) === "assistant" ? trailing : null;
|
|
51304
|
+
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1330 => _1330.content, 'access', _1331 => _1331.find, 'call', _1332 => _1332((s) => s.type === "approval_batch"), 'optionalAccess', _1333 => _1333.data, 'optionalAccess', _1334 => _1334.approvalRequestId]), () => ( null)) : null;
|
|
51194
51305
|
let processedToUse = processedHistory;
|
|
51195
51306
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
51196
51307
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
51197
51308
|
if (historyBatchId) {
|
|
51198
51309
|
const batchTwins = existingMessages.filter(
|
|
51199
51310
|
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
|
|
51200
|
-
(s) => s.type === "approval_batch" && _optionalChain([s, 'access',
|
|
51311
|
+
(s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1335 => _1335.data, 'optionalAccess', _1336 => _1336.approvalRequestId]) === historyBatchId
|
|
51201
51312
|
)
|
|
51202
51313
|
);
|
|
51203
51314
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
51204
51315
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
51205
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
51316
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1337 => _1337.content])) ? historyTrailingAssistant.content.length : 0;
|
|
51206
51317
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
51207
51318
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
51208
51319
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -51218,16 +51329,16 @@ function mergeHistoryWithRealtime(input) {
|
|
|
51218
51329
|
if (pinnedSyntheticIds.has(m.id)) return true;
|
|
51219
51330
|
if (droppedSyntheticIds.has(m.id)) return false;
|
|
51220
51331
|
if (processedIds.has(m.id)) return false;
|
|
51221
|
-
if (_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
51332
|
+
if (_optionalChain([rawHistoryIds, 'optionalAccess', _1338 => _1338.has, 'call', _1339 => _1339(m.id)])) return false;
|
|
51222
51333
|
if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
|
|
51223
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access',
|
|
51334
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1340 => _1340.timestamp, 'optionalAccess', _1341 => _1341.getTime, 'call', _1342 => _1342()]), () => ( 0))) <= historyFetchedAt;
|
|
51224
51335
|
return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
|
|
51225
51336
|
}
|
|
51226
51337
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
51227
51338
|
if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
|
|
51228
51339
|
return false;
|
|
51229
51340
|
}
|
|
51230
|
-
const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access',
|
|
51341
|
+
const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1343 => _1343.timestamp, 'optionalAccess', _1344 => _1344.getTime, 'call', _1345 => _1345()]), () => ( 0))) <= historyFetchedAt;
|
|
51231
51342
|
if (covered) return false;
|
|
51232
51343
|
}
|
|
51233
51344
|
return true;
|
|
@@ -51275,6 +51386,60 @@ function chatChipClass({ tone, density = "chip", extra }) {
|
|
|
51275
51386
|
return extra ? `${base} ${extra}` : base;
|
|
51276
51387
|
}
|
|
51277
51388
|
|
|
51389
|
+
// src/components/chat/utils/scripted-stream.ts
|
|
51390
|
+
function normalizeHistoricalMessageData(md) {
|
|
51391
|
+
return Array.isArray(md) ? md : md ? [md] : [];
|
|
51392
|
+
}
|
|
51393
|
+
function isHistoricalUserTurn(m) {
|
|
51394
|
+
return !!m.owner;
|
|
51395
|
+
}
|
|
51396
|
+
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1346 => _1346.type]) === "TEXT" && typeof d.text === "string";
|
|
51397
|
+
var THINK_MS = 550;
|
|
51398
|
+
var TOKEN_MS = 55;
|
|
51399
|
+
var USER_MS = 480;
|
|
51400
|
+
var SEGMENT_MS = 340;
|
|
51401
|
+
var POST_MS = 240;
|
|
51402
|
+
function tokenize(text) {
|
|
51403
|
+
return _nullishCoalesce(text.match(/\s*\S+\s*/g), () => ( (text ? [text] : [])));
|
|
51404
|
+
}
|
|
51405
|
+
function buildStreamFrames(messages) {
|
|
51406
|
+
const frames = [];
|
|
51407
|
+
const revealed = [];
|
|
51408
|
+
const push = (msgs, phase, typing, delayMs) => frames.push({ messages: msgs.slice(), phase, typing, delayMs });
|
|
51409
|
+
messages.forEach((msg) => {
|
|
51410
|
+
if (isHistoricalUserTurn(msg)) {
|
|
51411
|
+
revealed.push(msg);
|
|
51412
|
+
push(revealed, "idle", false, USER_MS);
|
|
51413
|
+
return;
|
|
51414
|
+
}
|
|
51415
|
+
if (revealed.length > 0) push(revealed, "thinking", true, THINK_MS);
|
|
51416
|
+
const segs = normalizeHistoricalMessageData(msg.messageData);
|
|
51417
|
+
const built = [];
|
|
51418
|
+
const emit = () => push([...revealed, { ...msg, messageData: [...built] }], "streaming", false, 0);
|
|
51419
|
+
segs.forEach((seg) => {
|
|
51420
|
+
if (isTextSegment(seg)) {
|
|
51421
|
+
const tokens = tokenize(seg.text);
|
|
51422
|
+
let acc = "";
|
|
51423
|
+
built.push({ ...seg, text: "" });
|
|
51424
|
+
tokens.forEach((tok) => {
|
|
51425
|
+
acc += tok;
|
|
51426
|
+
built[built.length - 1] = { ...seg, text: acc };
|
|
51427
|
+
push([...revealed, { ...msg, messageData: [...built] }], "streaming", false, TOKEN_MS);
|
|
51428
|
+
});
|
|
51429
|
+
built[built.length - 1] = { ...seg };
|
|
51430
|
+
} else {
|
|
51431
|
+
built.push(seg);
|
|
51432
|
+
emit();
|
|
51433
|
+
frames[frames.length - 1].delayMs = SEGMENT_MS;
|
|
51434
|
+
}
|
|
51435
|
+
});
|
|
51436
|
+
revealed.push(msg);
|
|
51437
|
+
push(revealed, "idle", false, POST_MS);
|
|
51438
|
+
});
|
|
51439
|
+
if (frames.length === 0) push(revealed, "idle", false, 0);
|
|
51440
|
+
return frames;
|
|
51441
|
+
}
|
|
51442
|
+
|
|
51278
51443
|
// src/components/chat/embeddable-chat.tsx
|
|
51279
51444
|
|
|
51280
51445
|
|
|
@@ -51447,7 +51612,7 @@ function useChatDialogManager({
|
|
|
51447
51612
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
51448
51613
|
if (restoreTarget) {
|
|
51449
51614
|
try {
|
|
51450
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
51615
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _1347 => _1347(restoreTarget.id)]);
|
|
51451
51616
|
} catch (err) {
|
|
51452
51617
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
51453
51618
|
return;
|
|
@@ -51865,7 +52030,7 @@ function EmbeddableChatInner({
|
|
|
51865
52030
|
}),
|
|
51866
52031
|
[commandsUrl]
|
|
51867
52032
|
);
|
|
51868
|
-
const userName = _optionalChain([identityUser, 'optionalAccess',
|
|
52033
|
+
const userName = _optionalChain([identityUser, 'optionalAccess', _1348 => _1348.firstName, 'optionalAccess', _1349 => _1349.trim, 'call', _1350 => _1350()]) || _optionalChain([identityUser, 'optionalAccess', _1351 => _1351.name, 'optionalAccess', _1352 => _1352.split, 'call', _1353 => _1353(" "), 'access', _1354 => _1354[0], 'optionalAccess', _1355 => _1355.trim, 'call', _1356 => _1356()]) || void 0;
|
|
51869
52034
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
51870
52035
|
if (modes) return modes;
|
|
51871
52036
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -51874,19 +52039,19 @@ function EmbeddableChatInner({
|
|
|
51874
52039
|
const mingoCaps = _react.useMemo.call(void 0, () => {
|
|
51875
52040
|
if (mingoState) {
|
|
51876
52041
|
return {
|
|
51877
|
-
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
51878
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
51879
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
51880
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
51881
|
-
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
51882
|
-
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
52042
|
+
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1357 => _1357.canRename]), () => ( false)),
|
|
52043
|
+
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1358 => _1358.canArchive]), () => ( false)),
|
|
52044
|
+
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1359 => _1359.fetchArchivedDialogs]),
|
|
52045
|
+
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1360 => _1360.unarchiveDialog]),
|
|
52046
|
+
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1361 => _1361.searchQuery]),
|
|
52047
|
+
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1362 => _1362.onSearchChange])
|
|
51883
52048
|
};
|
|
51884
52049
|
}
|
|
51885
52050
|
return {
|
|
51886
|
-
canRename: !!_optionalChain([effectiveModes, 'access',
|
|
51887
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
51888
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
51889
|
-
unarchiveDialog: _optionalChain([effectiveModes, 'access',
|
|
52051
|
+
canRename: !!_optionalChain([effectiveModes, 'access', _1363 => _1363.mingo, 'optionalAccess', _1364 => _1364.renameDialog]),
|
|
52052
|
+
canArchive: !!_optionalChain([effectiveModes, 'access', _1365 => _1365.mingo, 'optionalAccess', _1366 => _1366.archiveDialog]),
|
|
52053
|
+
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1367 => _1367.mingo, 'optionalAccess', _1368 => _1368.fetchArchivedDialogs]),
|
|
52054
|
+
unarchiveDialog: _optionalChain([effectiveModes, 'access', _1369 => _1369.mingo, 'optionalAccess', _1370 => _1370.unarchiveDialog]),
|
|
51890
52055
|
searchQuery: void 0,
|
|
51891
52056
|
onSearchChange: void 0
|
|
51892
52057
|
};
|
|
@@ -51900,7 +52065,7 @@ function EmbeddableChatInner({
|
|
|
51900
52065
|
if (controlledActiveMode === void 0) {
|
|
51901
52066
|
setUncontrolledActiveMode(next);
|
|
51902
52067
|
}
|
|
51903
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
52068
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _1371 => _1371(next)]);
|
|
51904
52069
|
},
|
|
51905
52070
|
[controlledActiveMode, onActiveModeChange]
|
|
51906
52071
|
);
|
|
@@ -51922,7 +52087,7 @@ function EmbeddableChatInner({
|
|
|
51922
52087
|
const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
|
|
51923
52088
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
51924
52089
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
51925
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
52090
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1372 => _1372.title]) === "string" ? guideWelcome.title : null)));
|
|
51926
52091
|
const {
|
|
51927
52092
|
messages: rawMessages,
|
|
51928
52093
|
isLoading: chatLoading,
|
|
@@ -51962,7 +52127,7 @@ function EmbeddableChatInner({
|
|
|
51962
52127
|
if (activeMode !== "guide" || guidePromptSentRef.current) return;
|
|
51963
52128
|
guidePromptSentRef.current = true;
|
|
51964
52129
|
void sendMessage(guidePendingPrompt);
|
|
51965
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
52130
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _1373 => _1373()]);
|
|
51966
52131
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
51967
52132
|
const {
|
|
51968
52133
|
attachments: stagedAttachments,
|
|
@@ -51973,7 +52138,7 @@ function EmbeddableChatInner({
|
|
|
51973
52138
|
clear: clearAttachments
|
|
51974
52139
|
} = useChatAttachments();
|
|
51975
52140
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
51976
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
52141
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1374 => _1374.maxItems]), () => ( 10));
|
|
51977
52142
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
51978
52143
|
const [contextItems, setContextItems] = _react.useState.call(void 0, []);
|
|
51979
52144
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -51990,10 +52155,10 @@ function EmbeddableChatInner({
|
|
|
51990
52155
|
}, [activeDialogId, activeMode]);
|
|
51991
52156
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
51992
52157
|
const m = /* @__PURE__ */ new Map();
|
|
51993
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
52158
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1375 => _1375.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
51994
52159
|
return m;
|
|
51995
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
51996
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
52160
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _1376 => _1376.entityTypes])]);
|
|
52161
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1377 => _1377.entityTypes]);
|
|
51997
52162
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
51998
52163
|
const byType = /* @__PURE__ */ new Map();
|
|
51999
52164
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -52005,7 +52170,7 @@ function EmbeddableChatInner({
|
|
|
52005
52170
|
if (mentionActiveRef.current) {
|
|
52006
52171
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
52007
52172
|
if (contextItems.length >= contextMaxItems) return;
|
|
52008
|
-
_optionalChain([chatInputRef, 'access',
|
|
52173
|
+
_optionalChain([chatInputRef, 'access', _1378 => _1378.current, 'optionalAccess', _1379 => _1379.commitMention, 'call', _1380 => _1380(mentionTokenOf(key, mentionMarkerByType), {
|
|
52009
52174
|
label: item.label,
|
|
52010
52175
|
icon: resolveContextIcon(item)
|
|
52011
52176
|
})]);
|
|
@@ -52027,9 +52192,9 @@ function EmbeddableChatInner({
|
|
|
52027
52192
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
52028
52193
|
if (mentionKeysRef.current.has(key)) {
|
|
52029
52194
|
mentionKeysRef.current.delete(key);
|
|
52030
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
52195
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1381 => _1381.current, 'optionalAccess', _1382 => _1382.getValue, 'call', _1383 => _1383()]), () => ( ""));
|
|
52031
52196
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
52032
|
-
_optionalChain([chatInputRef, 'access',
|
|
52197
|
+
_optionalChain([chatInputRef, 'access', _1384 => _1384.current, 'optionalAccess', _1385 => _1385.setValue, 'call', _1386 => _1386(next)]);
|
|
52033
52198
|
}
|
|
52034
52199
|
}, [mentionMarkerByType]);
|
|
52035
52200
|
const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
|
|
@@ -52046,7 +52211,7 @@ function EmbeddableChatInner({
|
|
|
52046
52211
|
}, []);
|
|
52047
52212
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
52048
52213
|
if (mentionActiveRef.current) {
|
|
52049
|
-
_optionalChain([chatInputRef, 'access',
|
|
52214
|
+
_optionalChain([chatInputRef, 'access', _1387 => _1387.current, 'optionalAccess', _1388 => _1388.removeMentionTrigger, 'call', _1389 => _1389()]);
|
|
52050
52215
|
}
|
|
52051
52216
|
setContextPickerOpen(false);
|
|
52052
52217
|
setMentionQuery(null);
|
|
@@ -52080,8 +52245,8 @@ function EmbeddableChatInner({
|
|
|
52080
52245
|
[]
|
|
52081
52246
|
);
|
|
52082
52247
|
const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
|
|
52083
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
52084
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
52248
|
+
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1390 => _1390.firstName]), _optionalChain([identityUser, 'optionalAccess', _1391 => _1391.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1392 => _1392.name, 'optionalAccess', _1393 => _1393.trim, 'call', _1394 => _1394()]) || void 0 : void 0;
|
|
52249
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1395 => _1395.avatarUrl, 'optionalAccess', _1396 => _1396.trim, 'call', _1397 => _1397()]) || void 0 : void 0;
|
|
52085
52250
|
const messages = _react.useMemo.call(void 0, () => {
|
|
52086
52251
|
const cache = timestampCacheRef.current;
|
|
52087
52252
|
const seenIds = /* @__PURE__ */ new Set();
|
|
@@ -52226,7 +52391,7 @@ function EmbeddableChatInner({
|
|
|
52226
52391
|
const hasMessages = messages.length > 0;
|
|
52227
52392
|
const dialogsInitialLoading = isDialogsLoading && dialogs.length === 0;
|
|
52228
52393
|
const dialogsLoadError = dialogsError && dialogs.length === 0;
|
|
52229
|
-
const hasConversation = hasMessages || isOpeningDialog || isViewingArchived;
|
|
52394
|
+
const hasConversation = hasMessages || isOpeningDialog || isViewingArchived || previewMode && isMessagesLoading;
|
|
52230
52395
|
const messagesInitialLoading = isMessagesLoading && !hasMessages;
|
|
52231
52396
|
const contentViewKey = hasConversation ? "conversation" : activeMode;
|
|
52232
52397
|
const isGuideEmpty = !hasConversation && activeMode === "guide";
|
|
@@ -52259,9 +52424,9 @@ function EmbeddableChatInner({
|
|
|
52259
52424
|
const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
|
|
52260
52425
|
const lastSources = _react.useMemo.call(void 0, () => {
|
|
52261
52426
|
if (chatLoading) return void 0;
|
|
52262
|
-
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
52427
|
+
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1398 => _1398.sources]);
|
|
52263
52428
|
if (!sources || sources.length === 0) return void 0;
|
|
52264
|
-
const content = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
52429
|
+
const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1399 => _1399.content]) || "";
|
|
52265
52430
|
const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
|
|
52266
52431
|
(m) => parseInt(m[1], 10)
|
|
52267
52432
|
);
|
|
@@ -52307,8 +52472,9 @@ function EmbeddableChatInner({
|
|
|
52307
52472
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52308
52473
|
ChatPanelHeader,
|
|
52309
52474
|
{
|
|
52475
|
+
compact: previewMode,
|
|
52310
52476
|
showBack: hasConversation || guideCanReturnToMingo,
|
|
52311
|
-
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
52477
|
+
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1400 => _1400.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
|
|
52312
52478
|
backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
|
|
52313
52479
|
isArchivedView: isViewingArchived,
|
|
52314
52480
|
onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
|
|
@@ -52429,9 +52595,9 @@ function EmbeddableChatInner({
|
|
|
52429
52595
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
52430
52596
|
subtitleLoading: emptyStateLoading,
|
|
52431
52597
|
...guideWelcome,
|
|
52432
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
52433
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
52434
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
52598
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1401 => _1401.title]))),
|
|
52599
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1402 => _1402.icon]))),
|
|
52600
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1403 => _1403.quickActions]), () => ( guideSuggestedActions)),
|
|
52435
52601
|
onQuickAction: (action) => {
|
|
52436
52602
|
setQuickActionPreview(null);
|
|
52437
52603
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -53573,5 +53739,14 @@ function EmbeddableChatInner({
|
|
|
53573
53739
|
|
|
53574
53740
|
|
|
53575
53741
|
|
|
53576
|
-
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; 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.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.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.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.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; 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.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; 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.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.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; 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.SquareAvatar2 = SquareAvatar2; 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.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.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; 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.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.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.announcementDismissCookieName = announcementDismissCookieName; exports.isDismissedCookieValue = isDismissedCookieValue; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; 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.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.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.TabSelector = TabSelector; 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.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.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.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;
|
|
53577
|
-
|
|
53742
|
+
|
|
53743
|
+
|
|
53744
|
+
|
|
53745
|
+
|
|
53746
|
+
|
|
53747
|
+
|
|
53748
|
+
|
|
53749
|
+
|
|
53750
|
+
|
|
53751
|
+
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; 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.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.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.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.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; 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.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; 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.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.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; 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.SquareAvatar2 = SquareAvatar2; 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.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; 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.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.announcementDismissCookieName = announcementDismissCookieName; exports.isDismissedCookieValue = isDismissedCookieValue; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; 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.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.TabSelector = TabSelector; 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.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.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;
|
|
53752
|
+
//# sourceMappingURL=chunk-PP5KNHMK.cjs.map
|