@flamingo-stack/openframe-frontend-core 0.0.593 → 0.0.594-snapshot.20260905135632
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-WY2GQ62H.cjs → chunk-23UJ4EBJ.cjs} +10 -10
- package/dist/{chunk-WY2GQ62H.cjs.map → chunk-23UJ4EBJ.cjs.map} +1 -1
- package/dist/{chunk-KPO6TWEV.js → chunk-2WLW5HDU.js} +7 -7
- package/dist/{chunk-GEP3O6NU.js → chunk-3WZLPCJ7.js} +3 -3
- package/dist/{chunk-NEFNARFF.cjs → chunk-4R6AZFNU.cjs} +30 -30
- package/dist/{chunk-NEFNARFF.cjs.map → chunk-4R6AZFNU.cjs.map} +1 -1
- package/dist/{chunk-S6G6KJ57.cjs → chunk-4ZY5MP46.cjs} +15 -15
- package/dist/{chunk-S6G6KJ57.cjs.map → chunk-4ZY5MP46.cjs.map} +1 -1
- package/dist/{chunk-3ZHDEZQB.js → chunk-63PXZXCT.js} +4 -4
- package/dist/{chunk-2KISKWOY.cjs → chunk-6PEFK4UH.cjs} +6 -6
- package/dist/{chunk-2KISKWOY.cjs.map → chunk-6PEFK4UH.cjs.map} +1 -1
- package/dist/{chunk-MPNCYET3.js → chunk-7N2NJPUK.js} +3 -3
- package/dist/{chunk-J3D2WHWC.js → chunk-A57HKYLY.js} +6 -6
- package/dist/{chunk-I7JYX5O3.js → chunk-AQ65NLGJ.js} +88 -5
- package/dist/{chunk-I7JYX5O3.js.map → chunk-AQ65NLGJ.js.map} +1 -1
- package/dist/{chunk-XH5QBMXD.js → chunk-BKMSI2AW.js} +2 -2
- package/dist/{chunk-YSJ4TA6V.cjs → chunk-CPWX46TL.cjs} +6 -6
- package/dist/{chunk-YSJ4TA6V.cjs.map → chunk-CPWX46TL.cjs.map} +1 -1
- package/dist/{chunk-5SGTTSQN.cjs → chunk-CZM2H5F5.cjs} +5 -5
- package/dist/{chunk-5SGTTSQN.cjs.map → chunk-CZM2H5F5.cjs.map} +1 -1
- package/dist/{chunk-X7XO73M5.js → chunk-DYXVQ24Q.js} +3 -3
- package/dist/{chunk-OAAQKMMU.cjs → chunk-EO5GYWIX.cjs} +28 -28
- package/dist/{chunk-OAAQKMMU.cjs.map → chunk-EO5GYWIX.cjs.map} +1 -1
- package/dist/{chunk-CMAO4PPL.cjs → chunk-FHEN27GM.cjs} +11 -11
- package/dist/{chunk-CMAO4PPL.cjs.map → chunk-FHEN27GM.cjs.map} +1 -1
- package/dist/{chunk-VDAMJEMR.cjs → chunk-HGWC7ABT.cjs} +57 -57
- package/dist/{chunk-VDAMJEMR.cjs.map → chunk-HGWC7ABT.cjs.map} +1 -1
- package/dist/{chunk-4DRZZWC7.cjs → chunk-JGDDPNSC.cjs} +192 -192
- package/dist/{chunk-4DRZZWC7.cjs.map → chunk-JGDDPNSC.cjs.map} +1 -1
- package/dist/{chunk-2VOBGNEY.cjs → chunk-MDUAU74C.cjs} +28 -28
- package/dist/{chunk-2VOBGNEY.cjs.map → chunk-MDUAU74C.cjs.map} +1 -1
- package/dist/{chunk-QHTDFF52.cjs → chunk-MHORK6KM.cjs} +3 -3
- package/dist/{chunk-QHTDFF52.cjs.map → chunk-MHORK6KM.cjs.map} +1 -1
- package/dist/{chunk-ZZHHKE2Q.js → chunk-MUNVPRT2.js} +2 -2
- package/dist/{chunk-NRHU4V3E.cjs → chunk-MX7DNV7X.cjs} +33 -33
- package/dist/{chunk-NRHU4V3E.cjs.map → chunk-MX7DNV7X.cjs.map} +1 -1
- package/dist/{chunk-2645GIM2.js → chunk-NNMAMTA5.js} +3 -3
- package/dist/{chunk-2PMCHL37.cjs → chunk-OGE4GSLZ.cjs} +80 -80
- package/dist/{chunk-2PMCHL37.cjs.map → chunk-OGE4GSLZ.cjs.map} +1 -1
- package/dist/{chunk-WZHARPOT.cjs → chunk-OWWICTQR.cjs} +21 -21
- package/dist/{chunk-WZHARPOT.cjs.map → chunk-OWWICTQR.cjs.map} +1 -1
- package/dist/{chunk-GXPOEAXL.js → chunk-PYEJL2UG.js} +3 -3
- package/dist/{chunk-UG27ITVP.js → chunk-QLJMXCB5.js} +5 -5
- package/dist/{chunk-YAZY24ZK.js → chunk-SEVD4AST.js} +5 -5
- package/dist/{chunk-Y6I2DGKC.cjs → chunk-SK4IVCSI.cjs} +10 -2
- package/dist/{chunk-Y6I2DGKC.cjs.map → chunk-SK4IVCSI.cjs.map} +1 -1
- package/dist/{chunk-VUGQ3Z6E.js → chunk-T2JAJ7MR.js} +3 -3
- package/dist/{chunk-BTF3CNDP.js → chunk-TDEQ26A2.js} +10 -2
- package/dist/{chunk-BTF3CNDP.js.map → chunk-TDEQ26A2.js.map} +1 -1
- package/dist/{chunk-R2J6XMP6.js → chunk-U4QRK4MX.js} +3 -3
- package/dist/{chunk-MV3XJXPG.js → chunk-UPKN5CYH.js} +6 -6
- package/dist/{chunk-TVPJ5DIB.cjs → chunk-YYHYCQD6.cjs} +437 -354
- package/dist/chunk-YYHYCQD6.cjs.map +1 -0
- package/dist/{chunk-ZR72HRUJ.js → chunk-ZRXJX3JK.js} +4 -4
- package/dist/{chunk-HMRWH2HC.cjs → chunk-ZY3Z3F4X.cjs} +20 -20
- package/dist/{chunk-HMRWH2HC.cjs.map → chunk-ZY3Z3F4X.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +10 -10
- package/dist/components/case-studies/index.js +4 -4
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +3 -3
- package/dist/components/chat/index.js +2 -2
- package/dist/components/contact/index.cjs +5 -5
- package/dist/components/contact/index.js +4 -4
- package/dist/components/docs/index.cjs +8 -8
- package/dist/components/docs/index.js +7 -7
- package/dist/components/embeds/index.cjs +5 -5
- package/dist/components/embeds/index.js +4 -4
- package/dist/components/faq/index.cjs +5 -5
- package/dist/components/faq/index.js +4 -4
- package/dist/components/features/index.cjs +4 -4
- package/dist/components/features/index.js +3 -3
- package/dist/components/help-center-pages/index.cjs +24 -24
- package/dist/components/help-center-pages/index.js +15 -15
- package/dist/components/index.cjs +53 -53
- package/dist/components/index.js +15 -15
- package/dist/components/meeting-scheduler/index.cjs +31 -31
- package/dist/components/meeting-scheduler/index.js +3 -3
- package/dist/components/navigation/index.cjs +7 -7
- package/dist/components/navigation/index.js +6 -6
- package/dist/components/onboarding-guides/index.cjs +7 -7
- package/dist/components/onboarding-guides/index.js +6 -6
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +8 -8
- package/dist/components/tickets/index.js +7 -7
- package/dist/components/ui/index.cjs +4 -4
- package/dist/components/ui/index.js +3 -3
- package/dist/index.cjs +8 -8
- package/dist/index.js +7 -7
- package/dist/utils/index.cjs +25 -3
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.js +25 -3
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/list-url.d.ts.map +1 -1
- package/dist/utils/source-icons.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/entity-cards/dispatch.tsx +88 -0
- package/src/utils/__tests__/list-url.test.ts +6 -0
- package/src/utils/list-url.ts +8 -0
- package/src/utils/source-icons.ts +27 -0
- package/dist/chunk-TVPJ5DIB.cjs.map +0 -1
- /package/dist/{chunk-KPO6TWEV.js.map → chunk-2WLW5HDU.js.map} +0 -0
- /package/dist/{chunk-GEP3O6NU.js.map → chunk-3WZLPCJ7.js.map} +0 -0
- /package/dist/{chunk-3ZHDEZQB.js.map → chunk-63PXZXCT.js.map} +0 -0
- /package/dist/{chunk-MPNCYET3.js.map → chunk-7N2NJPUK.js.map} +0 -0
- /package/dist/{chunk-J3D2WHWC.js.map → chunk-A57HKYLY.js.map} +0 -0
- /package/dist/{chunk-XH5QBMXD.js.map → chunk-BKMSI2AW.js.map} +0 -0
- /package/dist/{chunk-X7XO73M5.js.map → chunk-DYXVQ24Q.js.map} +0 -0
- /package/dist/{chunk-ZZHHKE2Q.js.map → chunk-MUNVPRT2.js.map} +0 -0
- /package/dist/{chunk-2645GIM2.js.map → chunk-NNMAMTA5.js.map} +0 -0
- /package/dist/{chunk-GXPOEAXL.js.map → chunk-PYEJL2UG.js.map} +0 -0
- /package/dist/{chunk-UG27ITVP.js.map → chunk-QLJMXCB5.js.map} +0 -0
- /package/dist/{chunk-YAZY24ZK.js.map → chunk-SEVD4AST.js.map} +0 -0
- /package/dist/{chunk-VUGQ3Z6E.js.map → chunk-T2JAJ7MR.js.map} +0 -0
- /package/dist/{chunk-R2J6XMP6.js.map → chunk-U4QRK4MX.js.map} +0 -0
- /package/dist/{chunk-MV3XJXPG.js.map → chunk-UPKN5CYH.js.map} +0 -0
- /package/dist/{chunk-ZR72HRUJ.js.map → chunk-ZRXJX3JK.js.map} +0 -0
|
@@ -116,6 +116,8 @@ var _chunk5EM6NGBKcjs = require('./chunk-5EM6NGBK.cjs');
|
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
|
|
119
|
+
|
|
120
|
+
|
|
119
121
|
|
|
120
122
|
|
|
121
123
|
|
|
@@ -168,7 +170,7 @@ var _chunkGSQM4PDRcjs = require('./chunk-GSQM4PDR.cjs');
|
|
|
168
170
|
|
|
169
171
|
|
|
170
172
|
|
|
171
|
-
var
|
|
173
|
+
var _chunkSK4IVCSIcjs = require('./chunk-SK4IVCSI.cjs');
|
|
172
174
|
|
|
173
175
|
|
|
174
176
|
var _chunkWLSFBRT5cjs = require('./chunk-WLSFBRT5.cjs');
|
|
@@ -4756,7 +4758,7 @@ function MspOrganizationCard({
|
|
|
4756
4758
|
className
|
|
4757
4759
|
),
|
|
4758
4760
|
children: [
|
|
4759
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4761
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.SquareAvatar, { src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
|
|
4760
4762
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
4761
4763
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h3", children: _nullishCoalesce(title, () => ( `Your IT is managed by ${name}`)) }),
|
|
4762
4764
|
website ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: website }) : null
|
|
@@ -4889,7 +4891,7 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
4889
4891
|
] })
|
|
4890
4892
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
4891
4893
|
userIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-ods-accent", children: userIcon }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4892
|
-
|
|
4894
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
4893
4895
|
{
|
|
4894
4896
|
src: userAvatar,
|
|
4895
4897
|
alt: userName,
|
|
@@ -7252,7 +7254,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
7252
7254
|
// Host-supplied brand icon (e.g. Mingo): render it directly,
|
|
7253
7255
|
// no filled pill — the icon carries its own brand accent.
|
|
7254
7256
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-shrink-0 items-center justify-center", children: assistantIcon })
|
|
7255
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7257
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.SquareAvatar, { ...avatarProps })),
|
|
7256
7258
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
7257
7259
|
"span",
|
|
7258
7260
|
{
|
|
@@ -8038,7 +8040,7 @@ ChatMessageList.displayName = "ChatMessageList";
|
|
|
8038
8040
|
// src/components/chat/hooks/use-proxied-image-url.ts
|
|
8039
8041
|
function useProxiedImageUrl(url) {
|
|
8040
8042
|
const r = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
|
|
8041
|
-
return _nullishCoalesce(
|
|
8043
|
+
return _nullishCoalesce(_chunkSK4IVCSIcjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
|
|
8042
8044
|
proxyPrefix: r.endpoints.imageProxyUrlPrefix,
|
|
8043
8045
|
skipDomains: r.endpoints.imageProxySkipDomains,
|
|
8044
8046
|
directHttps: true
|
|
@@ -8064,7 +8066,7 @@ function ChatMessageRow({ displayName, avatarUrl, timeLabel, body, footer }) {
|
|
|
8064
8066
|
height: 40,
|
|
8065
8067
|
onError: () => setFailedSrc(_nullishCoalesce(resolvedAvatar, () => ( null)))
|
|
8066
8068
|
}
|
|
8067
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg text-ods-text-primary text-h6 md:h-10 md:w-10", children:
|
|
8069
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg text-ods-text-primary text-h6 md:h-10 md:w-10", children: _chunkSK4IVCSIcjs.personInitials.call(void 0, displayName) || "?" }),
|
|
8068
8070
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 max-w-full flex-1", children: [
|
|
8069
8071
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex min-w-0 max-w-full items-center gap-2", children: [
|
|
8070
8072
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-body text-[14px] font-bold leading-[1.33] tracking-[-0.02em] text-ods-text-primary md:text-[15px]", children: displayName }),
|
|
@@ -9344,7 +9346,7 @@ function MingoChatHistoryRow({
|
|
|
9344
9346
|
hasMenu && (menuOpen ? "pointer-events-none opacity-0" : "md:group-hover/row:pointer-events-none md:group-hover/row:opacity-0 md:peer-[:focus-within]/menu:pointer-events-none md:peer-[:focus-within]/menu:opacity-0")
|
|
9345
9347
|
),
|
|
9346
9348
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9347
|
-
|
|
9349
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
9348
9350
|
{
|
|
9349
9351
|
variant: "round",
|
|
9350
9352
|
sizePx: 24,
|
|
@@ -10485,7 +10487,7 @@ function ChatPanelHeader({
|
|
|
10485
10487
|
avatar && (avatar.name || avatar.avatarUrl) ? (
|
|
10486
10488
|
// Owner avatar at the title cell's right edge (Figma 113:63273).
|
|
10487
10489
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10488
|
-
|
|
10490
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
10489
10491
|
{
|
|
10490
10492
|
variant: "round",
|
|
10491
10493
|
sizePx: 32,
|
|
@@ -10699,8 +10701,8 @@ function AttachmentChip({ attachment, onRemove, disabled, size: size2 = "default
|
|
|
10699
10701
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "truncate text-ods-text-primary text-h6", title: file.name, children: file.name }),
|
|
10700
10702
|
(!compact || status !== "ready") && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-ods-text-muted text-h6", children: [
|
|
10701
10703
|
status === "sniffing" && "Checking\u2026",
|
|
10702
|
-
status === "uploading" && `${progress}% \xB7 ${
|
|
10703
|
-
status === "ready" &&
|
|
10704
|
+
status === "uploading" && `${progress}% \xB7 ${_chunkSK4IVCSIcjs.formatFileSize.call(void 0, file.size)}`,
|
|
10705
|
+
status === "ready" && _chunkSK4IVCSIcjs.formatFileSize.call(void 0, file.size),
|
|
10704
10706
|
status === "error" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-error", title: errorMessage, children: _nullishCoalesce(errorMessage, () => ( "Upload failed")) })
|
|
10705
10707
|
] })
|
|
10706
10708
|
] }),
|
|
@@ -11497,10 +11499,10 @@ function resolveExternalNavigation(args) {
|
|
|
11497
11499
|
|
|
11498
11500
|
// src/components/chat/utils/execute-navigation.ts
|
|
11499
11501
|
function isForeignOriginHref(href) {
|
|
11500
|
-
return /^https?:\/\//i.test(href) && !
|
|
11502
|
+
return /^https?:\/\//i.test(href) && !_chunkSK4IVCSIcjs.isSameOriginAbsoluteHref.call(void 0, href);
|
|
11501
11503
|
}
|
|
11502
11504
|
function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
11503
|
-
const isNewTab = runtime ?
|
|
11505
|
+
const isNewTab = runtime ? _chunkSK4IVCSIcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
|
|
11504
11506
|
if (isNewTab) {
|
|
11505
11507
|
if (_optionalChain([runtime, 'optionalAccess', _203 => _203.navigation, 'access', _204 => _204.openExternal])) runtime.navigation.openExternal(href);
|
|
11506
11508
|
else window.open(href, "_blank", NEW_TAB_FEATURES);
|
|
@@ -11559,7 +11561,7 @@ function NavLinkAnchorViaRuntime({
|
|
|
11559
11561
|
const router = _chunkSADRZ4YIcjs.useRouter.call(void 0, );
|
|
11560
11562
|
const panel = useChatPanel();
|
|
11561
11563
|
const resolvedHref = resolveHrefForRuntime(href, runtime);
|
|
11562
|
-
const isNewTab =
|
|
11564
|
+
const isNewTab = _chunkSK4IVCSIcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
|
|
11563
11565
|
const onClick = (e) => {
|
|
11564
11566
|
const handled = executeNavigation({
|
|
11565
11567
|
event: e,
|
|
@@ -11571,7 +11573,7 @@ function NavLinkAnchorViaRuntime({
|
|
|
11571
11573
|
});
|
|
11572
11574
|
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _208 => _208.closeChat])) panel.closeChat();
|
|
11573
11575
|
};
|
|
11574
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: resolvedHref, ...
|
|
11576
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: resolvedHref, ..._chunkSK4IVCSIcjs.newTabAnchorAttrs.call(void 0, isNewTab), onClick, className, children });
|
|
11575
11577
|
}
|
|
11576
11578
|
|
|
11577
11579
|
// src/components/chat/source-action-button.tsx
|
|
@@ -12813,9 +12815,9 @@ function UserDisplay({
|
|
|
12813
12815
|
}) {
|
|
12814
12816
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk23V5BSHDcjs.cn.call(void 0, "flex min-w-0 items-center gap-2", className), children: [
|
|
12815
12817
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12816
|
-
|
|
12818
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
12817
12819
|
{
|
|
12818
|
-
src: avatarUrl ?
|
|
12820
|
+
src: avatarUrl ? _chunkSK4IVCSIcjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
|
|
12819
12821
|
fallback: name,
|
|
12820
12822
|
alt: name,
|
|
12821
12823
|
sizePx: size2,
|
|
@@ -13315,7 +13317,7 @@ function VideoHoverPreviewSurface({
|
|
|
13315
13317
|
return () => io.disconnect();
|
|
13316
13318
|
}, [gateControlled]);
|
|
13317
13319
|
const showMedia = continuation || (gateControlled ? playerMounted : isNear);
|
|
13318
|
-
const { src: posterSrc, onError: onPosterError } =
|
|
13320
|
+
const { src: posterSrc, onError: onPosterError } = _chunkSK4IVCSIcjs.useCoverImageFallback.call(void 0, posterUrl);
|
|
13319
13321
|
const facadeSkipped = preload === "none" && !posterSrc;
|
|
13320
13322
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootElRef, className: _chunk23V5BSHDcjs.cn.call(void 0, "absolute inset-0", className), inert: isClone || void 0, children: showMedia ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
13321
13323
|
posterSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -13433,7 +13435,7 @@ function groupByAspectRatio(items, getAspectRatio) {
|
|
|
13433
13435
|
|
|
13434
13436
|
function VideoBitesStrip({
|
|
13435
13437
|
bites,
|
|
13436
|
-
title =
|
|
13438
|
+
title = _chunkSK4IVCSIcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
13437
13439
|
showTitle = true,
|
|
13438
13440
|
filterPublished = true,
|
|
13439
13441
|
profile = null,
|
|
@@ -13446,7 +13448,7 @@ function VideoBitesStrip({
|
|
|
13446
13448
|
cardHeightMobile = 300,
|
|
13447
13449
|
showChevrons = true,
|
|
13448
13450
|
onBiteNavigate,
|
|
13449
|
-
sortComparator =
|
|
13451
|
+
sortComparator = _chunkSK4IVCSIcjs.sortBitesByCreatedAtDesc,
|
|
13450
13452
|
className
|
|
13451
13453
|
}) {
|
|
13452
13454
|
const items = _react.useMemo.call(void 0, () => {
|
|
@@ -13671,7 +13673,7 @@ function EntityVideoSection({
|
|
|
13671
13673
|
title = "Video",
|
|
13672
13674
|
videoSummary,
|
|
13673
13675
|
videoBites,
|
|
13674
|
-
bitesTitle =
|
|
13676
|
+
bitesTitle = _chunkSK4IVCSIcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
13675
13677
|
filterPublishedBites = true,
|
|
13676
13678
|
bitesProfile = null,
|
|
13677
13679
|
bitesHref,
|
|
@@ -13910,7 +13912,7 @@ function ReviewStateBadge({ state, className = "" }) {
|
|
|
13910
13912
|
function GitHubActivityCard({ item, variant = "compact", className, anchorProps }) {
|
|
13911
13913
|
const kind = _nullishCoalesce(item.kind, () => ( "commit"));
|
|
13912
13914
|
const repo = _nullishCoalesce(_nullishCoalesce(item.repo, () => ( parseRepoFromUrl(item.url))), () => ( ""));
|
|
13913
|
-
const dateText =
|
|
13915
|
+
const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
13914
13916
|
const idLabel = formatActivityId(item.id, kind);
|
|
13915
13917
|
const { display: title, reviewState } = parseGithubTitle(item.title, kind);
|
|
13916
13918
|
const primaryText = kind === "pr_review" ? title.replace(/^by\s+/i, "").trim() || "Reviewer" : title;
|
|
@@ -13944,26 +13946,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
|
|
|
13944
13946
|
metaParts.push(
|
|
13945
13947
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
13946
13948
|
);
|
|
13947
|
-
const href =
|
|
13949
|
+
const href = _chunkSK4IVCSIcjs.safeHref.call(void 0, item.url);
|
|
13948
13950
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
13949
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13950
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
13951
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
13951
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
|
|
13952
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
13953
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
|
|
13952
13954
|
reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
|
|
13953
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13955
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE, children: primaryText })
|
|
13954
13956
|
] }),
|
|
13955
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13957
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
13956
13958
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
13957
13959
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
13958
13960
|
] }, i)) }) }),
|
|
13959
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13961
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SUMMARY, children: _chunkSK4IVCSIcjs.COMPACT_CARD_ROW_FILLER }) })
|
|
13960
13962
|
] }),
|
|
13961
13963
|
href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
|
|
13962
13964
|
] });
|
|
13963
13965
|
if (anchorProps) {
|
|
13964
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
13966
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
13965
13967
|
}
|
|
13966
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
13968
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
13967
13969
|
}
|
|
13968
13970
|
function GitHubActivityCardSkeleton({
|
|
13969
13971
|
variant = "compact",
|
|
@@ -13980,12 +13982,12 @@ function GitHubActivityCardSkeleton({
|
|
|
13980
13982
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
13981
13983
|
] });
|
|
13982
13984
|
}
|
|
13983
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
13984
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13985
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
13986
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13987
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13988
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13985
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
13986
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
|
|
13987
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
13988
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
|
|
13989
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
|
|
13990
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SUMMARY, children: _chunkSK4IVCSIcjs.COMPACT_CARD_ROW_FILLER }) })
|
|
13989
13991
|
] }),
|
|
13990
13992
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
|
|
13991
13993
|
] });
|
|
@@ -14009,7 +14011,7 @@ function parseChannelFromUrl(url) {
|
|
|
14009
14011
|
}
|
|
14010
14012
|
function SlackMessageCard({ item, variant = "compact", className, anchorProps }) {
|
|
14011
14013
|
const channel = _nullishCoalesce(_nullishCoalesce(item.channel, () => ( parseChannelFromUrl(item.url))), () => ( null));
|
|
14012
|
-
const dateText =
|
|
14014
|
+
const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
14013
14015
|
if (variant === "row") {
|
|
14014
14016
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14015
14017
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5EM6NGBKcjs.SlackIcon, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
@@ -14035,23 +14037,23 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
|
|
|
14035
14037
|
metaParts.push(
|
|
14036
14038
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
14037
14039
|
);
|
|
14038
|
-
const href =
|
|
14040
|
+
const href = _chunkSK4IVCSIcjs.safeHref.call(void 0, item.url);
|
|
14039
14041
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14040
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14041
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14042
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14043
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14044
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14042
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5EM6NGBKcjs.SlackIcon, { className: "h-5 w-5" }) }),
|
|
14043
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14044
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE, children: item.title }) }),
|
|
14045
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkSK4IVCSIcjs.COMPACT_CARD_ROW_FILLER }) }),
|
|
14046
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
14045
14047
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
14046
14048
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
14047
|
-
] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14049
|
+
] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SUMMARY, children: _chunkSK4IVCSIcjs.COMPACT_CARD_ROW_FILLER }) }) })
|
|
14048
14050
|
] }),
|
|
14049
14051
|
href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
|
|
14050
14052
|
] });
|
|
14051
14053
|
if (anchorProps) {
|
|
14052
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14054
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14053
14055
|
}
|
|
14054
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
14056
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14055
14057
|
}
|
|
14056
14058
|
function SlackMessageCardSkeleton({
|
|
14057
14059
|
variant = "compact",
|
|
@@ -14066,12 +14068,12 @@ function SlackMessageCardSkeleton({
|
|
|
14066
14068
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
14067
14069
|
] });
|
|
14068
14070
|
}
|
|
14069
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14070
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14071
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14072
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14073
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14074
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14071
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14072
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
|
|
14073
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14074
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
|
|
14075
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
|
|
14076
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
|
|
14075
14077
|
] }),
|
|
14076
14078
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
|
|
14077
14079
|
] });
|
|
@@ -14102,12 +14104,12 @@ function statusScheme(status) {
|
|
|
14102
14104
|
function HubspotTicketCard({ item, variant = "compact", className, anchorProps }) {
|
|
14103
14105
|
const statusText = _nullishCoalesce(item.statusLabel, () => ( formatToken(item.status)));
|
|
14104
14106
|
const priorityText = formatToken(item.priority);
|
|
14105
|
-
const dateText =
|
|
14107
|
+
const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
14106
14108
|
if (variant === "row") {
|
|
14107
14109
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14108
14110
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "max-w-[260px] shrink-0 truncate text-ods-text-primary text-h6", children: item.title }),
|
|
14109
14111
|
item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 truncate text-ods-text-secondary text-h6", children: item.preview }) : null,
|
|
14110
|
-
statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14112
|
+
statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
|
|
14111
14113
|
dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-24 shrink-0 text-right text-ods-text-secondary text-h6", children: dateText }) : null
|
|
14112
14114
|
] });
|
|
14113
14115
|
}
|
|
@@ -14121,13 +14123,13 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14121
14123
|
metaParts.push(
|
|
14122
14124
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
14123
14125
|
);
|
|
14124
|
-
const href =
|
|
14126
|
+
const href = _chunkSK4IVCSIcjs.safeHref.call(void 0, item.url);
|
|
14125
14127
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14126
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14128
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14127
14129
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14128
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14130
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
|
|
14129
14131
|
priorityText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14130
|
-
|
|
14132
|
+
_chunkSK4IVCSIcjs.StatusBadge,
|
|
14131
14133
|
{
|
|
14132
14134
|
text: priorityText,
|
|
14133
14135
|
variant: "button",
|
|
@@ -14136,7 +14138,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14136
14138
|
}
|
|
14137
14139
|
) : null,
|
|
14138
14140
|
statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14139
|
-
|
|
14141
|
+
_chunkSK4IVCSIcjs.StatusBadge,
|
|
14140
14142
|
{
|
|
14141
14143
|
text: statusText,
|
|
14142
14144
|
variant: "button",
|
|
@@ -14150,7 +14152,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14150
14152
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
|
|
14151
14153
|
] }) : null,
|
|
14152
14154
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-4 whitespace-pre-wrap break-words text-ods-text-secondary text-h6", children: item.preview || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "italic text-ods-text-secondary/60", children: "No description provided." }) }) }),
|
|
14153
|
-
metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14155
|
+
metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
14154
14156
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
14155
14157
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
14156
14158
|
] }, i)) }) }) : null
|
|
@@ -14158,9 +14160,9 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14158
14160
|
href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
|
|
14159
14161
|
] });
|
|
14160
14162
|
if (anchorProps) {
|
|
14161
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14163
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14162
14164
|
}
|
|
14163
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
14165
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14164
14166
|
}
|
|
14165
14167
|
function HubspotTicketCardSkeleton({
|
|
14166
14168
|
variant = "compact",
|
|
@@ -14174,8 +14176,8 @@ function HubspotTicketCardSkeleton({
|
|
|
14174
14176
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
14175
14177
|
] });
|
|
14176
14178
|
}
|
|
14177
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14178
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14179
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14180
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14179
14181
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14180
14182
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14181
14183
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
|
|
@@ -14188,7 +14190,7 @@ function HubspotTicketCardSkeleton({
|
|
|
14188
14190
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
|
|
14189
14191
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
|
|
14190
14192
|
] }),
|
|
14191
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14193
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
|
|
14192
14194
|
] }),
|
|
14193
14195
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
|
|
14194
14196
|
] });
|
|
@@ -14199,10 +14201,10 @@ function HubspotTicketCardSkeleton({
|
|
|
14199
14201
|
|
|
14200
14202
|
function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
14201
14203
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14202
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14204
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14203
14205
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14204
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14205
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14206
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
|
|
14207
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
|
|
14206
14208
|
] }),
|
|
14207
14209
|
item.path ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1 text-ods-text-secondary text-h6", children: [
|
|
14208
14210
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
|
|
@@ -14213,13 +14215,13 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
14213
14215
|
_optionalChain([anchorProps, 'optionalAccess', _343 => _343.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
|
|
14214
14216
|
] });
|
|
14215
14217
|
if (!anchorProps) {
|
|
14216
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14218
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14217
14219
|
}
|
|
14218
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14220
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14219
14221
|
}
|
|
14220
14222
|
function DataRoomDocCardSkeleton({ className }) {
|
|
14221
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14222
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14223
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14224
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14223
14225
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
14224
14226
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14225
14227
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
|
|
@@ -14240,29 +14242,29 @@ function DataRoomDocCardSkeleton({ className }) {
|
|
|
14240
14242
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
14241
14243
|
const goalsCount = _optionalChain([campaign, 'access', _344 => _344.goals, 'optionalAccess', _345 => _345.length]) || 0;
|
|
14242
14244
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14243
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14244
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14245
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14246
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14247
|
-
campaign.start_date ?
|
|
14245
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
|
|
14246
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14247
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
|
|
14248
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SUBTITLE, children: [
|
|
14249
|
+
campaign.start_date ? _chunkSK4IVCSIcjs.formatDateShort.call(void 0, campaign.start_date) : null,
|
|
14248
14250
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
14249
14251
|
"Marketing campaign"
|
|
14250
14252
|
].filter(Boolean).join(" \xB7 ") }) }),
|
|
14251
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14253
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkSK4IVCSIcjs.COMPACT_CARD_ROW_FILLER }) })
|
|
14252
14254
|
] })
|
|
14253
14255
|
] });
|
|
14254
14256
|
if (anchorProps) {
|
|
14255
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14257
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
|
|
14256
14258
|
}
|
|
14257
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14259
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
|
|
14258
14260
|
}
|
|
14259
14261
|
function CampaignCardAdminSkeleton({ className }) {
|
|
14260
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14261
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14262
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14263
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14264
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14265
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14262
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14263
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
|
|
14264
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14265
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
|
|
14266
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
|
|
14267
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
|
|
14266
14268
|
] })
|
|
14267
14269
|
] });
|
|
14268
14270
|
}
|
|
@@ -14271,14 +14273,14 @@ function CampaignCardAdminSkeleton({ className }) {
|
|
|
14271
14273
|
|
|
14272
14274
|
|
|
14273
14275
|
function GenericEntityCard({ item, className, anchorProps }) {
|
|
14274
|
-
const href =
|
|
14275
|
-
const dateText =
|
|
14276
|
+
const href = _chunkSK4IVCSIcjs.safeHref.call(void 0, item.url);
|
|
14277
|
+
const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
14276
14278
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14277
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14279
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14278
14280
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14279
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14281
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
|
|
14280
14282
|
item.badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14281
|
-
|
|
14283
|
+
_chunkSK4IVCSIcjs.StatusBadge,
|
|
14282
14284
|
{
|
|
14283
14285
|
text: item.badge.text,
|
|
14284
14286
|
variant: "button",
|
|
@@ -14296,18 +14298,18 @@ function GenericEntityCard({ item, className, anchorProps }) {
|
|
|
14296
14298
|
] }),
|
|
14297
14299
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-medium text-ods-text-primary", children: f.value })
|
|
14298
14300
|
] }, i)) }) : null,
|
|
14299
|
-
dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14301
|
+
dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
|
|
14300
14302
|
] }),
|
|
14301
14303
|
href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
|
|
14302
14304
|
] });
|
|
14303
14305
|
if (anchorProps) {
|
|
14304
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14306
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14305
14307
|
}
|
|
14306
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${
|
|
14308
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14307
14309
|
}
|
|
14308
14310
|
function GenericEntityCardSkeleton({ className }) {
|
|
14309
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14310
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14311
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14312
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14311
14313
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
14312
14314
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14313
14315
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
|
|
@@ -14356,8 +14358,8 @@ function useChatCardItem(type, id) {
|
|
|
14356
14358
|
const res = await _chunkYH6IQTPIcjs.embedAuthedFetch.call(void 0, url);
|
|
14357
14359
|
if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
|
|
14358
14360
|
const data = await res.json();
|
|
14359
|
-
const items =
|
|
14360
|
-
const match = items.find((it) =>
|
|
14361
|
+
const items = _chunkSK4IVCSIcjs.extractItems.call(void 0, data);
|
|
14362
|
+
const match = items.find((it) => _chunkSK4IVCSIcjs.extractItemId.call(void 0, type, it) === id);
|
|
14361
14363
|
return _nullishCoalesce(match, () => ( null));
|
|
14362
14364
|
},
|
|
14363
14365
|
enabled: !!url && id.length > 0,
|
|
@@ -14390,7 +14392,7 @@ function useChatCardItem(type, id) {
|
|
|
14390
14392
|
function CardMedia({ imageSrc, imageAlt, icon }) {
|
|
14391
14393
|
if (imageSrc) {
|
|
14392
14394
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative block size-10 shrink-0", children: [
|
|
14393
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-ods-text-primary text-h6", children:
|
|
14395
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-ods-text-primary text-h6", children: _chunkSK4IVCSIcjs.personInitials.call(void 0, imageAlt) || "?" }),
|
|
14394
14396
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14395
14397
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
14396
14398
|
{
|
|
@@ -14548,7 +14550,7 @@ function resolveFetchedCardHref({
|
|
|
14548
14550
|
composeContentUrl
|
|
14549
14551
|
}) {
|
|
14550
14552
|
if (!composeContentUrl || !contentRefType || !id) return null;
|
|
14551
|
-
const canonicalType =
|
|
14553
|
+
const canonicalType = _chunkSK4IVCSIcjs.canonicalContentRefType.call(void 0, contentRefType);
|
|
14552
14554
|
return composeContentUrl({
|
|
14553
14555
|
// The card registry keys some entries by the legacy rail vocabulary
|
|
14554
14556
|
// (`blog_post_existing`) because that is what `buildListUrl` expects.
|
|
@@ -14576,6 +14578,7 @@ var SOURCE_ICON_NAMES = {
|
|
|
14576
14578
|
events: "calendar",
|
|
14577
14579
|
podcasts: "headphones",
|
|
14578
14580
|
"customer-interviews": "users",
|
|
14581
|
+
faqs: "info",
|
|
14579
14582
|
// Financials
|
|
14580
14583
|
"investor-updates": "mail",
|
|
14581
14584
|
"financial-kpis": "activity",
|
|
@@ -14599,7 +14602,13 @@ var SOURCE_ICON_NAMES = {
|
|
|
14599
14602
|
"hubspot-tickets-anon": "hubspot",
|
|
14600
14603
|
"hubspot-tickets-self": "hubspot",
|
|
14601
14604
|
// Communications
|
|
14602
|
-
"slack-messages": "slack"
|
|
14605
|
+
"slack-messages": "slack",
|
|
14606
|
+
// People-hub employee content
|
|
14607
|
+
"what-i-shipped": "package",
|
|
14608
|
+
"how-i-work": "book-open",
|
|
14609
|
+
// Product-hub internal
|
|
14610
|
+
"design-docs": "file-text",
|
|
14611
|
+
"openframe-tenants": "globe"
|
|
14603
14612
|
};
|
|
14604
14613
|
function getSourceIconName(tableId) {
|
|
14605
14614
|
if (!tableId) return void 0;
|
|
@@ -14618,6 +14627,7 @@ var SOURCE_LABELS_BY_TABLE = {
|
|
|
14618
14627
|
events: "Events",
|
|
14619
14628
|
podcasts: "Podcasts",
|
|
14620
14629
|
"customer-interviews": "Customer Interviews",
|
|
14630
|
+
faqs: "FAQs",
|
|
14621
14631
|
// Financials
|
|
14622
14632
|
"investor-updates": "Investor Updates",
|
|
14623
14633
|
"financial-kpis": "Financial KPIs",
|
|
@@ -14647,7 +14657,13 @@ var SOURCE_LABELS_BY_TABLE = {
|
|
|
14647
14657
|
"hubspot-tickets-anon": "Tickets",
|
|
14648
14658
|
"hubspot-tickets-self": "My Tickets",
|
|
14649
14659
|
// Communications
|
|
14650
|
-
"slack-messages": "OpenMSP Community"
|
|
14660
|
+
"slack-messages": "OpenMSP Community",
|
|
14661
|
+
// People-hub employee content
|
|
14662
|
+
"what-i-shipped": "What I Shipped",
|
|
14663
|
+
"how-i-work": "How I Work",
|
|
14664
|
+
// Product-hub internal
|
|
14665
|
+
"design-docs": "Design Docs",
|
|
14666
|
+
"openframe-tenants": "OpenFrame Tenants"
|
|
14651
14667
|
};
|
|
14652
14668
|
function getSourceLabel(tableId) {
|
|
14653
14669
|
return _nullishCoalesce(SOURCE_LABELS_BY_TABLE[tableId], () => ( tableId));
|
|
@@ -14665,6 +14681,7 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
|
|
|
14665
14681
|
event: "events",
|
|
14666
14682
|
podcast: "podcasts",
|
|
14667
14683
|
customer_interview: "customer-interviews",
|
|
14684
|
+
faq: "faqs",
|
|
14668
14685
|
// Financials
|
|
14669
14686
|
investor_update: "investor-updates",
|
|
14670
14687
|
financial_kpi: "financial-kpis",
|
|
@@ -14688,7 +14705,13 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
|
|
|
14688
14705
|
hubspot_ticket_anon: "hubspot-tickets-anon",
|
|
14689
14706
|
hubspot_ticket_self: "hubspot-tickets-self",
|
|
14690
14707
|
// Communications
|
|
14691
|
-
slack_message: "slack-messages"
|
|
14708
|
+
slack_message: "slack-messages",
|
|
14709
|
+
// People-hub employee content
|
|
14710
|
+
what_i_shipped: "what-i-shipped",
|
|
14711
|
+
how_i_work: "how-i-work",
|
|
14712
|
+
// Product-hub internal
|
|
14713
|
+
design_doc: "design-docs",
|
|
14714
|
+
openframe_tenant: "openframe-tenants"
|
|
14692
14715
|
};
|
|
14693
14716
|
function defaultTableIdForDocumentType(documentType) {
|
|
14694
14717
|
return _nullishCoalesce(DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID[documentType], () => ( null));
|
|
@@ -14731,16 +14754,16 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
14731
14754
|
if (docTarget) {
|
|
14732
14755
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
14733
14756
|
const base = `${_chunk23V5BSHDcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
14734
|
-
href = _nullishCoalesce(
|
|
14757
|
+
href = _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
|
|
14735
14758
|
targetPlatform = docTarget.platform;
|
|
14736
14759
|
} else if (ctx.chipBasePlatform) {
|
|
14737
14760
|
const base = `${_chunk23V5BSHDcjs.getBaseUrl.call(void 0, ctx.chipBasePlatform)}/knowledge-base/`;
|
|
14738
|
-
href = _nullishCoalesce(
|
|
14761
|
+
href = _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
|
|
14739
14762
|
targetPlatform = ctx.chipBasePlatform;
|
|
14740
14763
|
} else if (ctx.baseRoute) {
|
|
14741
14764
|
const synthetic = `https://_internal_.local${ctx.baseRoute.startsWith("/") ? ctx.baseRoute : "/" + ctx.baseRoute}/`;
|
|
14742
14765
|
const absolute = new URL(safePath, synthetic).toString();
|
|
14743
|
-
href = _nullishCoalesce(
|
|
14766
|
+
href = _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
|
|
14744
14767
|
targetPlatform = _nullishCoalesce(ctx.currentPlatform, () => ( null));
|
|
14745
14768
|
}
|
|
14746
14769
|
}
|
|
@@ -14749,15 +14772,15 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
14749
14772
|
// Canonical vocabulary only — a rail-vocab alias would miss the host's
|
|
14750
14773
|
// `hostedTypes` / `overrides` and fall through to the seam's default
|
|
14751
14774
|
// `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
|
|
14752
|
-
type:
|
|
14775
|
+
type: _chunkSK4IVCSIcjs.canonicalContentRefType.call(void 0, row.documentType),
|
|
14753
14776
|
identifier: idValue,
|
|
14754
14777
|
externalUrl: row.externalUrl,
|
|
14755
14778
|
targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
|
|
14756
14779
|
});
|
|
14757
|
-
href = composed.href ? _nullishCoalesce(
|
|
14780
|
+
href = composed.href ? _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
|
|
14758
14781
|
targetPlatform = composed.targetPlatform;
|
|
14759
14782
|
} else if (row.externalUrl) {
|
|
14760
|
-
href = _nullishCoalesce(
|
|
14783
|
+
href = _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
|
|
14761
14784
|
targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
|
|
14762
14785
|
}
|
|
14763
14786
|
const documentType = row.documentType;
|
|
@@ -14792,11 +14815,11 @@ function resolveSourceIcon(input, ctx = {}) {
|
|
|
14792
14815
|
|
|
14793
14816
|
function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
|
|
14794
14817
|
const label = entityLabel || "Item";
|
|
14795
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${
|
|
14796
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
14797
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
14798
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
14799
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
14818
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14819
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
|
|
14820
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14821
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkSK4IVCSIcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
|
|
14822
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
14800
14823
|
label,
|
|
14801
14824
|
" deleted",
|
|
14802
14825
|
recoveryNote ? ` \xB7 ${recoveryNote}` : ""
|
|
@@ -14842,7 +14865,7 @@ function GitHubChatCard({
|
|
|
14842
14865
|
const title = kind === "pr_review" ? display.replace(/^by\s+/i, "").trim() || "Reviewer" : display;
|
|
14843
14866
|
const status = kind === "pr_review" && reviewState ? { label: reviewStateLabel(reviewState), variant: reviewStateToVariant(reviewState) } : { label: kindLabel(kind), variant: "grey" };
|
|
14844
14867
|
const idLabel = formatActivityId(chatRef.id, kind);
|
|
14845
|
-
const dateText =
|
|
14868
|
+
const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
|
|
14846
14869
|
const description = [idLabel, dateText].filter(Boolean).join(" \xB7 ") || void 0;
|
|
14847
14870
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14848
14871
|
MingoInfoCard,
|
|
@@ -14851,7 +14874,7 @@ function GitHubChatCard({
|
|
|
14851
14874
|
description,
|
|
14852
14875
|
icon: githubKindIcon(kind),
|
|
14853
14876
|
status,
|
|
14854
|
-
anchorProps:
|
|
14877
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
14855
14878
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
14856
14879
|
menuAriaLabel: "Activity actions"
|
|
14857
14880
|
}
|
|
@@ -14998,7 +15021,7 @@ function HubspotTicketChatCard({
|
|
|
14998
15021
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
14999
15022
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TagIcon, { size: 24 }),
|
|
15000
15023
|
status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
|
|
15001
|
-
anchorProps:
|
|
15024
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15002
15025
|
menuGroups: cardMenuGroups(chatRef.url, discuss, {
|
|
15003
15026
|
label: "Open Ticket Details",
|
|
15004
15027
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TagIcon, { size: 20 })
|
|
@@ -15021,7 +15044,7 @@ function FaqChatCard({
|
|
|
15021
15044
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15022
15045
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.QuestionCircleIcon, { size: 24 }),
|
|
15023
15046
|
status: { label: statusLabel, variant: "grey" },
|
|
15024
|
-
anchorProps:
|
|
15047
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15025
15048
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15026
15049
|
menuAriaLabel: "FAQ actions"
|
|
15027
15050
|
}
|
|
@@ -15041,12 +15064,30 @@ function SlackChatCard({
|
|
|
15041
15064
|
title,
|
|
15042
15065
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15043
15066
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.SlackLogoGreyIcon, { size: 24 }),
|
|
15044
|
-
anchorProps:
|
|
15067
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15045
15068
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15046
15069
|
menuAriaLabel: "Message actions"
|
|
15047
15070
|
}
|
|
15048
15071
|
);
|
|
15049
15072
|
}
|
|
15073
|
+
function GlyphChatCard({
|
|
15074
|
+
chatRef,
|
|
15075
|
+
icon,
|
|
15076
|
+
isNewTab,
|
|
15077
|
+
discuss
|
|
15078
|
+
}) {
|
|
15079
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15080
|
+
MingoInfoCard,
|
|
15081
|
+
{
|
|
15082
|
+
title: chatRef.title,
|
|
15083
|
+
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15084
|
+
icon,
|
|
15085
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15086
|
+
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15087
|
+
menuAriaLabel: "Card actions"
|
|
15088
|
+
}
|
|
15089
|
+
);
|
|
15090
|
+
}
|
|
15050
15091
|
function DataRoomDocChatCard({
|
|
15051
15092
|
chatRef,
|
|
15052
15093
|
isNewTab,
|
|
@@ -15060,7 +15101,7 @@ function DataRoomDocChatCard({
|
|
|
15060
15101
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15061
15102
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.FileContentIcon, { size: 24 }),
|
|
15062
15103
|
status: { label: badgeText, variant: "grey" },
|
|
15063
|
-
anchorProps:
|
|
15104
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15064
15105
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15065
15106
|
menuAriaLabel: "Document actions"
|
|
15066
15107
|
}
|
|
@@ -15079,7 +15120,7 @@ function GenericFinancialChatCard({
|
|
|
15079
15120
|
title: chatRef.title,
|
|
15080
15121
|
description: subtitle,
|
|
15081
15122
|
icon,
|
|
15082
|
-
anchorProps:
|
|
15123
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15083
15124
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15084
15125
|
menuAriaLabel: "Document actions"
|
|
15085
15126
|
}
|
|
@@ -15165,7 +15206,7 @@ function CampaignChatCard({
|
|
|
15165
15206
|
}) {
|
|
15166
15207
|
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _377 => _377.goals])) ? item.goals.length : 0;
|
|
15167
15208
|
const meta = [
|
|
15168
|
-
_optionalChain([item, 'optionalAccess', _378 => _378.start_date]) ?
|
|
15209
|
+
_optionalChain([item, 'optionalAccess', _378 => _378.start_date]) ? _chunkSK4IVCSIcjs.formatDateShort.call(void 0, item.start_date) : null,
|
|
15169
15210
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
15170
15211
|
"Marketing campaign"
|
|
15171
15212
|
].filter(Boolean).join(" \xB7 ");
|
|
@@ -15204,7 +15245,7 @@ function EntityMingoCard({
|
|
|
15204
15245
|
imageAlt: typeof title === "string" ? title : void 0,
|
|
15205
15246
|
icon: fallbackIcon,
|
|
15206
15247
|
status,
|
|
15207
|
-
anchorProps:
|
|
15248
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15208
15249
|
menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
|
|
15209
15250
|
menuAriaLabel
|
|
15210
15251
|
}
|
|
@@ -15216,7 +15257,7 @@ function entityCover(image, ogPlaceholder) {
|
|
|
15216
15257
|
function statusPill(status) {
|
|
15217
15258
|
const s = typeof status === "string" ? status.trim() : "";
|
|
15218
15259
|
if (!s) return void 0;
|
|
15219
|
-
const scheme =
|
|
15260
|
+
const scheme = _chunkSK4IVCSIcjs.getStatusColorScheme.call(void 0, s);
|
|
15220
15261
|
const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
|
|
15221
15262
|
return { label: s, variant };
|
|
15222
15263
|
}
|
|
@@ -15303,7 +15344,7 @@ function InvestorUpdateChatCard({
|
|
|
15303
15344
|
EntityMingoCard,
|
|
15304
15345
|
{
|
|
15305
15346
|
title,
|
|
15306
|
-
description: _optionalChain([item, 'optionalAccess', _406 => _406.strategic_update]) || _optionalChain([item, 'optionalAccess', _407 => _407.content]) ||
|
|
15347
|
+
description: _optionalChain([item, 'optionalAccess', _406 => _406.strategic_update]) || _optionalChain([item, 'optionalAccess', _407 => _407.content]) || _chunkSK4IVCSIcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _408 => _408.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _409 => _409.period_end]), () => ( null))) || void 0,
|
|
15307
15348
|
cover: entityCover(_optionalChain([item, 'optionalAccess', _410 => _410.featured_image]), ogPlaceholder),
|
|
15308
15349
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PresentationLineIcon, { size: 24 }),
|
|
15309
15350
|
status: { label: "Investor update", variant: "grey" },
|
|
@@ -15350,15 +15391,15 @@ function ProgramChatCard({
|
|
|
15350
15391
|
const isScheduled = _optionalChain([item, 'optionalAccess', _417 => _417.status]) === "scheduled";
|
|
15351
15392
|
let typeMeta;
|
|
15352
15393
|
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _418 => _418.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
|
|
15353
|
-
typeMeta =
|
|
15394
|
+
typeMeta = _chunkSK4IVCSIcjs.formatDurationCompact.call(void 0, item.duration_seconds);
|
|
15354
15395
|
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _419 => _419.location_name]) === "string" && item.location_name.trim().length > 0) {
|
|
15355
15396
|
typeMeta = item.location_name;
|
|
15356
15397
|
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _420 => _420.start_at])) {
|
|
15357
|
-
const time =
|
|
15358
|
-
const dur =
|
|
15398
|
+
const time = _chunkSK4IVCSIcjs.formatTimeWithTimezone.call(void 0, item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
|
|
15399
|
+
const dur = _chunkSK4IVCSIcjs.formatDurationFromRange.call(void 0, item.start_at, item.end_at);
|
|
15359
15400
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
15360
15401
|
}
|
|
15361
|
-
const itemDate =
|
|
15402
|
+
const itemDate = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.date]), () => ( null)), { fallback: "", timezone: "local" });
|
|
15362
15403
|
const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
|
|
15363
15404
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15364
15405
|
EntityMingoCard,
|
|
@@ -15385,7 +15426,7 @@ function RoadmapChatCard({
|
|
|
15385
15426
|
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _425 => _425.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
15386
15427
|
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _426 => _426.customItemId]) != null;
|
|
15387
15428
|
const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MapIcon, { size: 24 });
|
|
15388
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15429
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _427 => _427.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
15389
15430
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
15390
15431
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
15391
15432
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWLSFBRT5cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
|
|
@@ -15454,6 +15495,45 @@ var GITHUB_CARD_CONFIGS = {
|
|
|
15454
15495
|
github_pr_review: { label: "GitHub review", kind: "pr_review" },
|
|
15455
15496
|
github_pr_review_public: { label: "GitHub review (public)", kind: "pr_review" }
|
|
15456
15497
|
};
|
|
15498
|
+
var REF_GLYPH_CARD_CONFIGS = {
|
|
15499
|
+
design_doc: { label: "Design doc", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.FileContentIcon, { size: 24 }) },
|
|
15500
|
+
openframe_tenant: { label: "OpenFrame tenant", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.BuildingsIcon, { size: 24 }) }
|
|
15501
|
+
};
|
|
15502
|
+
function refGlyphRegistryEntries() {
|
|
15503
|
+
return registryEntries(
|
|
15504
|
+
REF_GLYPH_CARD_CONFIGS,
|
|
15505
|
+
(cfg, docType) => refHydratedEntry(docType, cfg.label, (displayRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, GlyphChatCard, { chatRef: displayRef, icon: cfg.icon(), isNewTab: opts.isNewTab, discuss: opts.discuss }))
|
|
15506
|
+
);
|
|
15507
|
+
}
|
|
15508
|
+
function fetchedEmployeeEntryDisplayRef(item, chatRef) {
|
|
15509
|
+
const it = item;
|
|
15510
|
+
const title = typeof _optionalChain([it, 'optionalAccess', _432 => _432.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
|
|
15511
|
+
const author = typeof _optionalChain([it, 'optionalAccess', _433 => _433.author, 'optionalAccess', _434 => _434.full_name]) === "string" ? it.author.full_name.trim() : "";
|
|
15512
|
+
const summary = typeof _optionalChain([it, 'optionalAccess', _435 => _435.summary]) === "string" ? it.summary.trim() : "";
|
|
15513
|
+
const preview = [author, summary].filter((x) => x.length > 0).join(" \xB7 ");
|
|
15514
|
+
return { ...chatRef, title, preview: preview.length > 0 ? preview : chatRef.preview };
|
|
15515
|
+
}
|
|
15516
|
+
var EMPLOYEE_ENTRY_CARD_CONFIGS = {
|
|
15517
|
+
what_i_shipped: { label: "What I Shipped", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Rocket02Icon, { size: 24 }) },
|
|
15518
|
+
how_i_work: { label: "How I Work", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.ClipboardListIcon, { size: 24 }) }
|
|
15519
|
+
};
|
|
15520
|
+
function employeeEntryRegistryEntries() {
|
|
15521
|
+
return registryEntries(EMPLOYEE_ENTRY_CARD_CONFIGS, (cfg, docType) => ({
|
|
15522
|
+
label: cfg.label,
|
|
15523
|
+
bareInline: true,
|
|
15524
|
+
contentRefType: docType,
|
|
15525
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15526
|
+
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15527
|
+
GlyphChatCard,
|
|
15528
|
+
{
|
|
15529
|
+
chatRef: fetchedEmployeeEntryDisplayRef(item, chatRef),
|
|
15530
|
+
icon: cfg.icon(),
|
|
15531
|
+
isNewTab: opts.isNewTab,
|
|
15532
|
+
discuss: opts.discuss
|
|
15533
|
+
}
|
|
15534
|
+
)
|
|
15535
|
+
}));
|
|
15536
|
+
}
|
|
15457
15537
|
function githubRegistryEntries() {
|
|
15458
15538
|
return registryEntries(
|
|
15459
15539
|
GITHUB_CARD_CONFIGS,
|
|
@@ -15470,7 +15550,7 @@ function programRegistryEntries() {
|
|
|
15470
15550
|
label: cfg.label,
|
|
15471
15551
|
contentRefType: cfg.contentRefType,
|
|
15472
15552
|
bareInline: true,
|
|
15473
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15553
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.ProgramCardSkeleton, { size: "sm" }),
|
|
15474
15554
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15475
15555
|
ProgramChatCard,
|
|
15476
15556
|
{
|
|
@@ -15480,7 +15560,7 @@ function programRegistryEntries() {
|
|
|
15480
15560
|
discuss: opts.discuss,
|
|
15481
15561
|
configKey: cfg.configKey,
|
|
15482
15562
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
15483
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15563
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _436 => _436.extras, 'optionalAccess', _437 => _437.buildOgPlaceholderUrl, 'optionalCall', _438 => _438(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _439 => _439.title]), () => ( "")))]), () => ( null))
|
|
15484
15564
|
}
|
|
15485
15565
|
)
|
|
15486
15566
|
}));
|
|
@@ -15501,7 +15581,7 @@ var ROADMAP_CARD_CONFIGS = {
|
|
|
15501
15581
|
// The card's destination IS the ClickUp deep link, derived from the
|
|
15502
15582
|
// task id post-fetch (the refs frame used to carry it).
|
|
15503
15583
|
noComposedHref: true,
|
|
15504
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15584
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _440 => _440.id]) != null ? clickupTaskUrl(String(item.id)) : null
|
|
15505
15585
|
}
|
|
15506
15586
|
};
|
|
15507
15587
|
function roadmapRegistryEntries() {
|
|
@@ -15511,7 +15591,7 @@ function roadmapRegistryEntries() {
|
|
|
15511
15591
|
bareInline: true,
|
|
15512
15592
|
...cfg.noComposedHref ? { noComposedHref: true } : {},
|
|
15513
15593
|
...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
|
|
15514
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15594
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.RoadmapCardSkeleton, { size: "sm" }),
|
|
15515
15595
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15516
15596
|
RoadmapChatCard,
|
|
15517
15597
|
{
|
|
@@ -15543,11 +15623,14 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15543
15623
|
DeletedDataCard,
|
|
15544
15624
|
{
|
|
15545
15625
|
title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
|
|
15546
|
-
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
15547
|
-
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
15626
|
+
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _441 => _441.metadata, 'optionalAccess', _442 => _442.entity_label]), () => ( null)),
|
|
15627
|
+
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _443 => _443.metadata, 'optionalAccess', _444 => _444.recovery_note]), () => ( null))
|
|
15548
15628
|
}
|
|
15549
15629
|
)
|
|
15550
15630
|
},
|
|
15631
|
+
// ───────── ref-only types (no list endpoint; the ChatRef IS the card) ─────────
|
|
15632
|
+
...refGlyphRegistryEntries(),
|
|
15633
|
+
...employeeEntryRegistryEntries(),
|
|
15551
15634
|
slack_message: refHydratedEntry("slack_message", "Slack message", (displayRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SlackChatCard, { chatRef: displayRef, isNewTab: opts.isNewTab, discuss: opts.discuss })),
|
|
15552
15635
|
// FAQ hydrates from its EXISTING public list API (`/api/faqs?ids=` —
|
|
15553
15636
|
// also feeding related-content rails, so its base path must not move).
|
|
@@ -15558,7 +15641,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15558
15641
|
bareInline: true,
|
|
15559
15642
|
contentRefType: "faq",
|
|
15560
15643
|
noComposedHref: true,
|
|
15561
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15644
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _445 => _445.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
|
|
15562
15645
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15563
15646
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15564
15647
|
},
|
|
@@ -15584,7 +15667,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15584
15667
|
label: "Blog post",
|
|
15585
15668
|
contentRefType: "blog_post_existing",
|
|
15586
15669
|
bareInline: true,
|
|
15587
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15670
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.BlogCardSkeleton, { size: "sm" }),
|
|
15588
15671
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15589
15672
|
BlogChatCard,
|
|
15590
15673
|
{
|
|
@@ -15592,8 +15675,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15592
15675
|
chatRef,
|
|
15593
15676
|
isNewTab: opts.isNewTab,
|
|
15594
15677
|
discuss: opts.discuss,
|
|
15595
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15596
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
15678
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _446 => _446.extras, 'optionalAccess', _447 => _447.buildOgPlaceholderUrl, 'optionalCall', _448 => _448(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _449 => _449.title]), () => ( "")))]), () => ( null)),
|
|
15679
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _450 => _450.metadata, 'optionalAccess', _451 => _451.hasEmbeddedVideo]) === true
|
|
15597
15680
|
}
|
|
15598
15681
|
)
|
|
15599
15682
|
},
|
|
@@ -15601,7 +15684,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15601
15684
|
label: "Case study",
|
|
15602
15685
|
contentRefType: "case_study",
|
|
15603
15686
|
bareInline: true,
|
|
15604
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15687
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.CaseStudyCardSkeleton, { size: "sm" }),
|
|
15605
15688
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15606
15689
|
CaseStudyChatCard,
|
|
15607
15690
|
{
|
|
@@ -15609,7 +15692,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15609
15692
|
chatRef,
|
|
15610
15693
|
isNewTab: opts.isNewTab,
|
|
15611
15694
|
discuss: opts.discuss,
|
|
15612
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15695
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _452 => _452.extras, 'optionalAccess', _453 => _453.buildOgPlaceholderUrl, 'optionalCall', _454 => _454(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _455 => _455.title]), () => ( "")))]), () => ( null))
|
|
15613
15696
|
}
|
|
15614
15697
|
)
|
|
15615
15698
|
},
|
|
@@ -15617,7 +15700,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15617
15700
|
label: "Customer interview",
|
|
15618
15701
|
contentRefType: "customer_interview",
|
|
15619
15702
|
bareInline: true,
|
|
15620
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15703
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.CustomerInterviewCardSkeleton, { size: "sm" }),
|
|
15621
15704
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15622
15705
|
CustomerInterviewChatCard,
|
|
15623
15706
|
{
|
|
@@ -15625,7 +15708,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15625
15708
|
chatRef,
|
|
15626
15709
|
isNewTab: opts.isNewTab,
|
|
15627
15710
|
discuss: opts.discuss,
|
|
15628
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15711
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _456 => _456.extras, 'optionalAccess', _457 => _457.buildOgPlaceholderUrl, 'optionalCall', _458 => _458(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _459 => _459.title]), () => ( "")))]), () => ( null))
|
|
15629
15712
|
}
|
|
15630
15713
|
)
|
|
15631
15714
|
},
|
|
@@ -15633,9 +15716,9 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15633
15716
|
label: "Product release",
|
|
15634
15717
|
contentRefType: "product_release",
|
|
15635
15718
|
bareInline: true,
|
|
15636
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15719
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.ProductReleaseCardSkeleton, { size: "sm" }),
|
|
15637
15720
|
render: (item, chatRef, opts) => {
|
|
15638
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15721
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _460 => _460.extras, 'optionalAccess', _461 => _461.buildProductReleaseCardProps]), () => ( _chunkSK4IVCSIcjs.defaultBuildProductReleaseCardProps));
|
|
15639
15722
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15640
15723
|
ProductReleaseChatCard,
|
|
15641
15724
|
{
|
|
@@ -15653,7 +15736,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15653
15736
|
label: "Investor update",
|
|
15654
15737
|
contentRefType: "investor_update",
|
|
15655
15738
|
bareInline: true,
|
|
15656
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15739
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.InvestorUpdateCardSkeleton, { size: "sm" }),
|
|
15657
15740
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15658
15741
|
InvestorUpdateChatCard,
|
|
15659
15742
|
{
|
|
@@ -15661,7 +15744,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15661
15744
|
chatRef,
|
|
15662
15745
|
isNewTab: opts.isNewTab,
|
|
15663
15746
|
discuss: opts.discuss,
|
|
15664
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15747
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _462 => _462.extras, 'optionalAccess', _463 => _463.buildOgPlaceholderUrl, 'optionalCall', _464 => _464(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _465 => _465.title]), () => ( "")))]), () => ( null))
|
|
15665
15748
|
}
|
|
15666
15749
|
)
|
|
15667
15750
|
},
|
|
@@ -15671,7 +15754,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15671
15754
|
bareInline: true,
|
|
15672
15755
|
// "Display" affordance (verbatim guide body) instead of "Ask".
|
|
15673
15756
|
displayAction: true,
|
|
15674
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15757
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.OnboardingGuideCardSkeleton, { size: "sm" }),
|
|
15675
15758
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15676
15759
|
OnboardingGuideChatCard,
|
|
15677
15760
|
{
|
|
@@ -15679,7 +15762,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15679
15762
|
chatRef,
|
|
15680
15763
|
isNewTab: opts.isNewTab,
|
|
15681
15764
|
discuss: opts.discuss,
|
|
15682
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15765
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _466 => _466.extras, 'optionalAccess', _467 => _467.buildOgPlaceholderUrl, 'optionalCall', _468 => _468(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _469 => _469.title]), () => ( "")))]), () => ( null))
|
|
15683
15766
|
}
|
|
15684
15767
|
)
|
|
15685
15768
|
},
|
|
@@ -15690,7 +15773,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15690
15773
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
15691
15774
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
15692
15775
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
15693
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15776
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _470 => _470.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
|
|
15694
15777
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15695
15778
|
},
|
|
15696
15779
|
...roadmapRegistryEntries()
|
|
@@ -15709,13 +15792,13 @@ function ChatCardNavWrap({
|
|
|
15709
15792
|
if (!href) return;
|
|
15710
15793
|
const targetEl = e.target;
|
|
15711
15794
|
const host = e.currentTarget;
|
|
15712
|
-
if (!_optionalChain([host, 'optionalAccess',
|
|
15713
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
15714
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
15795
|
+
if (!_optionalChain([host, 'optionalAccess', _471 => _471.contains, 'call', _472 => _472(targetEl)])) return;
|
|
15796
|
+
if (_optionalChain([targetEl, 'optionalAccess', _473 => _473.closest, 'optionalCall', _474 => _474("button")])) return;
|
|
15797
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _475 => _475.closest, 'optionalCall', _476 => _476("a")])) return;
|
|
15715
15798
|
const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
|
|
15716
15799
|
if (!handled) return;
|
|
15717
15800
|
e.stopPropagation();
|
|
15718
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
15801
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _477 => _477.closeChat])) panel.closeChat();
|
|
15719
15802
|
};
|
|
15720
15803
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
15721
15804
|
}
|
|
@@ -15737,7 +15820,7 @@ function ChatCardLoader({
|
|
|
15737
15820
|
title: chatRef.title,
|
|
15738
15821
|
externalUrl: chatRef.url,
|
|
15739
15822
|
targetPlatform: chatRef.targetPlatform,
|
|
15740
|
-
path: typeof _optionalChain([chatRef, 'access',
|
|
15823
|
+
path: typeof _optionalChain([chatRef, 'access', _478 => _478.metadata, 'optionalAccess', _479 => _479.path]) === "string" ? chatRef.metadata.path : null
|
|
15741
15824
|
},
|
|
15742
15825
|
sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
|
|
15743
15826
|
);
|
|
@@ -15751,11 +15834,11 @@ function ChatCardLoader({
|
|
|
15751
15834
|
const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
|
|
15752
15835
|
const fetchEntry = entry && entry.contentRefType ? entry : null;
|
|
15753
15836
|
const { item, isLoading, isError, isFetched } = useChatCardItem(
|
|
15754
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
15837
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _480 => _480.contentRefType]), () => ( "")),
|
|
15755
15838
|
fetchEntry ? resolvedChatRef.id : ""
|
|
15756
15839
|
);
|
|
15757
15840
|
if (!entry) return null;
|
|
15758
|
-
const composedHref = _optionalChain([fetchEntry, 'optionalAccess',
|
|
15841
|
+
const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _481 => _481.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
|
|
15759
15842
|
contentRefType: fetchEntry.contentRefType,
|
|
15760
15843
|
id: resolvedChatRef.id,
|
|
15761
15844
|
item,
|
|
@@ -15763,18 +15846,18 @@ function ChatCardLoader({
|
|
|
15763
15846
|
}) : null;
|
|
15764
15847
|
const hrefChoice = fetchEntry && !resolvedChatRef.url && item ? pickFetchedCardHref({
|
|
15765
15848
|
composed: composedHref,
|
|
15766
|
-
itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access',
|
|
15849
|
+
itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _482 => _482.fallbackHref, 'optionalCall', _483 => _483(item)]), () => ( null)),
|
|
15767
15850
|
allowComposed: !fetchEntry.noComposedHref
|
|
15768
15851
|
}) : null;
|
|
15769
15852
|
const hrefResolvedChatRef = hrefChoice ? {
|
|
15770
15853
|
...resolvedChatRef,
|
|
15771
|
-
url:
|
|
15854
|
+
url: _chunkSK4IVCSIcjs.safeHref.call(void 0, hrefChoice.href),
|
|
15772
15855
|
// The `item` branch carries no platform of its own — keep the ref's.
|
|
15773
15856
|
targetPlatform: _nullishCoalesce(_nullishCoalesce(hrefChoice.targetPlatform, () => ( resolvedChatRef.targetPlatform)), () => ( null))
|
|
15774
15857
|
} : resolvedChatRef;
|
|
15775
15858
|
const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
|
|
15776
15859
|
const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
|
|
15777
|
-
const isNewTab =
|
|
15860
|
+
const isNewTab = _chunkSK4IVCSIcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
|
|
15778
15861
|
const useDisplay = !!entry.displayAction && !!onDisplay;
|
|
15779
15862
|
const discussFn = useDisplay ? onDisplay : onDiscuss;
|
|
15780
15863
|
const discuss = discussFn ? {
|
|
@@ -15797,7 +15880,7 @@ function ChatCardLoader({
|
|
|
15797
15880
|
isNewTab,
|
|
15798
15881
|
discuss
|
|
15799
15882
|
};
|
|
15800
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
15883
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _484 => _484.metadata, 'optionalAccess', _485 => _485.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
15801
15884
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15802
15885
|
ChatCardNavWrap,
|
|
15803
15886
|
{
|
|
@@ -15821,7 +15904,7 @@ function ChatCardLoader({
|
|
|
15821
15904
|
if (!fetchEntry) {
|
|
15822
15905
|
return finish(entry.render(void 0, finalChatRef, renderOpts));
|
|
15823
15906
|
}
|
|
15824
|
-
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access',
|
|
15907
|
+
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _486 => _486.skeleton, 'optionalCall', _487 => _487()]), () => ( null)) });
|
|
15825
15908
|
if (!item) {
|
|
15826
15909
|
if (isError) {
|
|
15827
15910
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
|
|
@@ -16181,7 +16264,7 @@ function useChunkCatchup({
|
|
|
16181
16264
|
if (catchupRun.current === run) {
|
|
16182
16265
|
if (currentDialogId !== dialogIdRef.current) {
|
|
16183
16266
|
catchupRun.current = null;
|
|
16184
|
-
if (_optionalChain([pendingCatchupRef, 'access',
|
|
16267
|
+
if (_optionalChain([pendingCatchupRef, 'access', _488 => _488.current, 'optionalAccess', _489 => _489.dialogId]) === currentDialogId) {
|
|
16185
16268
|
pendingCatchupRef.current = null;
|
|
16186
16269
|
}
|
|
16187
16270
|
} else {
|
|
@@ -16192,7 +16275,7 @@ function useChunkCatchup({
|
|
|
16192
16275
|
if (pending.dialogId === currentDialogId) {
|
|
16193
16276
|
rearmForQueuedCatchup();
|
|
16194
16277
|
try {
|
|
16195
|
-
await _optionalChain([catchUpChunksRef, 'access',
|
|
16278
|
+
await _optionalChain([catchUpChunksRef, 'access', _490 => _490.current, 'optionalCall', _491 => _491(pending.fromSequenceId)]);
|
|
16196
16279
|
} catch (rerunError) {
|
|
16197
16280
|
console.error("Queued catch-up re-run failed:", rerunError);
|
|
16198
16281
|
}
|
|
@@ -16259,7 +16342,7 @@ function useChunkCatchup({
|
|
|
16259
16342
|
|
|
16260
16343
|
var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
|
|
16261
16344
|
function prefersReducedMotion() {
|
|
16262
|
-
return typeof window !== "undefined" && _optionalChain([window, 'access',
|
|
16345
|
+
return typeof window !== "undefined" && _optionalChain([window, 'access', _492 => _492.matchMedia, 'optionalCall', _493 => _493("(prefers-reduced-motion: reduce)"), 'access', _494 => _494.matches]) === true;
|
|
16263
16346
|
}
|
|
16264
16347
|
function useScriptedStream(frames, resetKey, enabled = true) {
|
|
16265
16348
|
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
@@ -16270,7 +16353,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
|
|
|
16270
16353
|
setIndex(0);
|
|
16271
16354
|
}
|
|
16272
16355
|
_react.useEffect.call(void 0, () => {
|
|
16273
|
-
const mq = _optionalChain([window, 'access',
|
|
16356
|
+
const mq = _optionalChain([window, 'access', _495 => _495.matchMedia, 'optionalCall', _496 => _496("(prefers-reduced-motion: reduce)")]);
|
|
16274
16357
|
const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
|
|
16275
16358
|
sync();
|
|
16276
16359
|
if (!mq) return void 0;
|
|
@@ -16413,7 +16496,7 @@ function useJetStreamDialogSubscription({
|
|
|
16413
16496
|
const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
|
|
16414
16497
|
conn: sharedConn,
|
|
16415
16498
|
wsUrl,
|
|
16416
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16499
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _497 => _497.current, 'optionalCall', _498 => _498()]),
|
|
16417
16500
|
backoff: reconnectionBackoffRef.current,
|
|
16418
16501
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16419
16502
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -16428,7 +16511,7 @@ function useJetStreamDialogSubscription({
|
|
|
16428
16511
|
setReconnectionCount((c) => c + 1);
|
|
16429
16512
|
}
|
|
16430
16513
|
hadConnectionBeforeRef.current = true;
|
|
16431
|
-
_optionalChain([onConnectRef, 'access',
|
|
16514
|
+
_optionalChain([onConnectRef, 'access', _499 => _499.current, 'optionalCall', _500 => _500()]);
|
|
16432
16515
|
}
|
|
16433
16516
|
if (status === "error") {
|
|
16434
16517
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -16438,7 +16521,7 @@ function useJetStreamDialogSubscription({
|
|
|
16438
16521
|
setIsConnected(false);
|
|
16439
16522
|
setIsSubscribed(false);
|
|
16440
16523
|
tearDownSubscription();
|
|
16441
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16524
|
+
_optionalChain([onDisconnectRef, 'access', _501 => _501.current, 'optionalCall', _502 => _502()]);
|
|
16442
16525
|
}
|
|
16443
16526
|
}
|
|
16444
16527
|
});
|
|
@@ -16564,7 +16647,7 @@ function useJetStreamDialogSubscription({
|
|
|
16564
16647
|
}
|
|
16565
16648
|
subscriptionRef.current = handle;
|
|
16566
16649
|
setIsSubscribed(true);
|
|
16567
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16650
|
+
_optionalChain([onSubscribedRef, 'access', _503 => _503.current, 'optionalCall', _504 => _504()]);
|
|
16568
16651
|
} catch (e50) {
|
|
16569
16652
|
if (!cancelled) {
|
|
16570
16653
|
setIsSubscribed(false);
|
|
@@ -16680,20 +16763,20 @@ function useNatsDialogSubscription({
|
|
|
16680
16763
|
const tearDownSubscriptions = () => {
|
|
16681
16764
|
subscriptionRefs.current.forEach((sub) => {
|
|
16682
16765
|
try {
|
|
16683
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16766
|
+
_optionalChain([sub, 'optionalAccess', _505 => _505.unsubscribe, 'call', _506 => _506()]);
|
|
16684
16767
|
} catch (e52) {
|
|
16685
16768
|
}
|
|
16686
16769
|
});
|
|
16687
16770
|
subscriptionRefs.current.clear();
|
|
16688
16771
|
lastSubscribedDialogIdRef.current = null;
|
|
16689
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16772
|
+
_optionalChain([abortControllerRef, 'access', _507 => _507.current, 'optionalAccess', _508 => _508.abort, 'call', _509 => _509()]);
|
|
16690
16773
|
abortControllerRef.current = null;
|
|
16691
16774
|
};
|
|
16692
16775
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
|
|
16693
16776
|
const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
|
|
16694
16777
|
conn: sharedConn,
|
|
16695
16778
|
wsUrl,
|
|
16696
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16779
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _510 => _510.current, 'optionalCall', _511 => _511()]),
|
|
16697
16780
|
backoff: reconnectionBackoffRef.current,
|
|
16698
16781
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16699
16782
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -16704,7 +16787,7 @@ function useNatsDialogSubscription({
|
|
|
16704
16787
|
setReconnectionCount((c) => c + 1);
|
|
16705
16788
|
}
|
|
16706
16789
|
hadConnectionBeforeRef.current = true;
|
|
16707
|
-
_optionalChain([onConnectRef, 'access',
|
|
16790
|
+
_optionalChain([onConnectRef, 'access', _512 => _512.current, 'optionalCall', _513 => _513()]);
|
|
16708
16791
|
}
|
|
16709
16792
|
if (status === "error") {
|
|
16710
16793
|
console.warn("[NATS] protocol error:", evt.data);
|
|
@@ -16714,7 +16797,7 @@ function useNatsDialogSubscription({
|
|
|
16714
16797
|
setIsConnected(false);
|
|
16715
16798
|
setIsSubscribed(false);
|
|
16716
16799
|
tearDownSubscriptions();
|
|
16717
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16800
|
+
_optionalChain([onDisconnectRef, 'access', _514 => _514.current, 'optionalCall', _515 => _515()]);
|
|
16718
16801
|
}
|
|
16719
16802
|
}
|
|
16720
16803
|
});
|
|
@@ -16745,13 +16828,13 @@ function useNatsDialogSubscription({
|
|
|
16745
16828
|
setIsSubscribed(false);
|
|
16746
16829
|
subscriptionRefs.current.forEach((sub) => {
|
|
16747
16830
|
try {
|
|
16748
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16831
|
+
_optionalChain([sub, 'optionalAccess', _516 => _516.unsubscribe, 'call', _517 => _517()]);
|
|
16749
16832
|
} catch (e53) {
|
|
16750
16833
|
}
|
|
16751
16834
|
});
|
|
16752
16835
|
subscriptionRefs.current.clear();
|
|
16753
16836
|
lastSubscribedDialogIdRef.current = null;
|
|
16754
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16837
|
+
_optionalChain([abortControllerRef, 'access', _518 => _518.current, 'optionalAccess', _519 => _519.abort, 'call', _520 => _520()]);
|
|
16755
16838
|
abortControllerRef.current = null;
|
|
16756
16839
|
}
|
|
16757
16840
|
return void 0;
|
|
@@ -16763,12 +16846,12 @@ function useNatsDialogSubscription({
|
|
|
16763
16846
|
if (subscriptionRefs.current.size > 0) {
|
|
16764
16847
|
subscriptionRefs.current.forEach((sub) => {
|
|
16765
16848
|
try {
|
|
16766
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16849
|
+
_optionalChain([sub, 'optionalAccess', _521 => _521.unsubscribe, 'call', _522 => _522()]);
|
|
16767
16850
|
} catch (e54) {
|
|
16768
16851
|
}
|
|
16769
16852
|
});
|
|
16770
16853
|
subscriptionRefs.current.clear();
|
|
16771
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16854
|
+
_optionalChain([abortControllerRef, 'access', _523 => _523.current, 'optionalAccess', _524 => _524.abort, 'call', _525 => _525()]);
|
|
16772
16855
|
}
|
|
16773
16856
|
abortControllerRef.current = new AbortController();
|
|
16774
16857
|
const abort = abortControllerRef.current;
|
|
@@ -16798,7 +16881,7 @@ function useNatsDialogSubscription({
|
|
|
16798
16881
|
});
|
|
16799
16882
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
16800
16883
|
setIsSubscribed(true);
|
|
16801
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16884
|
+
_optionalChain([onSubscribedRef, 'access', _526 => _526.current, 'optionalCall', _527 => _527()]);
|
|
16802
16885
|
};
|
|
16803
16886
|
if (isConnectedRef.current) {
|
|
16804
16887
|
createSubscriptions();
|
|
@@ -16809,7 +16892,7 @@ function useNatsDialogSubscription({
|
|
|
16809
16892
|
abort.abort();
|
|
16810
16893
|
subscriptions.forEach((sub) => {
|
|
16811
16894
|
try {
|
|
16812
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16895
|
+
_optionalChain([sub, 'optionalAccess', _528 => _528.unsubscribe, 'call', _529 => _529()]);
|
|
16813
16896
|
} catch (e56) {
|
|
16814
16897
|
}
|
|
16815
16898
|
});
|
|
@@ -16848,7 +16931,7 @@ function useNatsDialogSubscription({
|
|
|
16848
16931
|
});
|
|
16849
16932
|
lastSubscribedDialogIdRef.current = currentDialogId;
|
|
16850
16933
|
setIsSubscribed(true);
|
|
16851
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16934
|
+
_optionalChain([onSubscribedRef, 'access', _530 => _530.current, 'optionalCall', _531 => _531()]);
|
|
16852
16935
|
} else if (subscriptionRefs.current.size > 0) {
|
|
16853
16936
|
setIsSubscribed(true);
|
|
16854
16937
|
}
|
|
@@ -16856,10 +16939,10 @@ function useNatsDialogSubscription({
|
|
|
16856
16939
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
16857
16940
|
}
|
|
16858
16941
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
16859
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
16942
|
+
const path = _optionalChain([options, 'optionalAccess', _532 => _532.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
16860
16943
|
const u = new URL(path, apiBaseUrl);
|
|
16861
16944
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
16862
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
16945
|
+
if (_optionalChain([options, 'optionalAccess', _533 => _533.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _534 => _534.token])) {
|
|
16863
16946
|
u.searchParams.set("authorization", options.token);
|
|
16864
16947
|
}
|
|
16865
16948
|
return u.toString();
|
|
@@ -16877,7 +16960,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
16877
16960
|
const data = await res.json();
|
|
16878
16961
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
16879
16962
|
} catch (err) {
|
|
16880
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
16963
|
+
if (_optionalChain([err, 'optionalAccess', _535 => _535.name]) === "AbortError") throw err;
|
|
16881
16964
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
16882
16965
|
return [];
|
|
16883
16966
|
}
|
|
@@ -16885,8 +16968,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
16885
16968
|
var NO_COMMANDS = [];
|
|
16886
16969
|
function useSlashCommands(prefix, commandsUrl) {
|
|
16887
16970
|
const [answered, setAnswered] = _react.useState.call(void 0, null);
|
|
16888
|
-
const commands = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
16889
|
-
const loading = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
16971
|
+
const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _536 => _536.prefix]) === prefix ? answered.commands : NO_COMMANDS;
|
|
16972
|
+
const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _537 => _537.prefix]) !== prefix;
|
|
16890
16973
|
_react.useEffect.call(void 0, () => {
|
|
16891
16974
|
if (prefix == null) return void 0;
|
|
16892
16975
|
let cancelled = false;
|
|
@@ -16896,7 +16979,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
16896
16979
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
16897
16980
|
if (!cancelled) setAnswered({ prefix, commands: next });
|
|
16898
16981
|
} catch (err) {
|
|
16899
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
16982
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _538 => _538.name]) !== "AbortError") {
|
|
16900
16983
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
16901
16984
|
setAnswered({ prefix, commands: NO_COMMANDS });
|
|
16902
16985
|
}
|
|
@@ -16919,7 +17002,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
16919
17002
|
const query = _reactquery.useQuery.call(void 0, {
|
|
16920
17003
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
16921
17004
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
16922
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17005
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _539 => _539.enabled]), () => ( true)),
|
|
16923
17006
|
staleTime: Infinity,
|
|
16924
17007
|
gcTime: Infinity,
|
|
16925
17008
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -16958,21 +17041,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
16958
17041
|
}
|
|
16959
17042
|
const data = await res.json();
|
|
16960
17043
|
return {
|
|
16961
|
-
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16962
|
-
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16963
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16964
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16965
|
-
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16966
|
-
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17044
|
+
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _540 => _540.name]), () => ( null)),
|
|
17045
|
+
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _541 => _541.icon]), () => ( null)),
|
|
17046
|
+
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _542 => _542.greeting]), () => ( null)),
|
|
17047
|
+
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _543 => _543.enabledRagTableIds]), () => ( [])),
|
|
17048
|
+
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _544 => _544.quickActions]), () => ( [])),
|
|
17049
|
+
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _545 => _545.suggestedQueries]), () => ( []))
|
|
16967
17050
|
};
|
|
16968
17051
|
} catch (err) {
|
|
16969
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
17052
|
+
if (_optionalChain([err, 'optionalAccess', _546 => _546.name]) === "AbortError") throw err;
|
|
16970
17053
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
16971
17054
|
return EMPTY_STATE_FALLBACK;
|
|
16972
17055
|
}
|
|
16973
17056
|
}
|
|
16974
17057
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
16975
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17058
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _547 => _547.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
16976
17059
|
const query = _reactquery.useQuery.call(void 0, {
|
|
16977
17060
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
16978
17061
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -17001,7 +17084,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
17001
17084
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
17002
17085
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
17003
17086
|
return new Promise((resolve, reject) => {
|
|
17004
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
17087
|
+
if (_optionalChain([signal, 'optionalAccess', _548 => _548.aborted])) {
|
|
17005
17088
|
reject(new Error("Upload cancelled"));
|
|
17006
17089
|
return;
|
|
17007
17090
|
}
|
|
@@ -17043,7 +17126,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
17043
17126
|
const handleSignalAbort = () => {
|
|
17044
17127
|
xhr.abort();
|
|
17045
17128
|
};
|
|
17046
|
-
_optionalChain([signal, 'optionalAccess',
|
|
17129
|
+
_optionalChain([signal, 'optionalAccess', _549 => _549.addEventListener, 'call', _550 => _550("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
|
|
17047
17130
|
xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
|
|
17048
17131
|
xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
|
|
17049
17132
|
xhr.addEventListener("error", handleError, { signal: listeners.signal });
|
|
@@ -17087,10 +17170,10 @@ function useChatAttachments() {
|
|
|
17087
17170
|
try {
|
|
17088
17171
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
17089
17172
|
} catch (err) {
|
|
17090
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17173
|
+
if (_optionalChain([ctrl, 'optionalAccess', _551 => _551.signal, 'access', _552 => _552.aborted])) return;
|
|
17091
17174
|
throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
|
|
17092
17175
|
}
|
|
17093
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17176
|
+
if (_optionalChain([ctrl, 'optionalAccess', _553 => _553.signal, 'access', _554 => _554.aborted])) return;
|
|
17094
17177
|
if (!sniffed) {
|
|
17095
17178
|
throw new Error("Unrecognized file format");
|
|
17096
17179
|
}
|
|
@@ -17104,7 +17187,7 @@ function useChatAttachments() {
|
|
|
17104
17187
|
const urlResp = await _chunkYH6IQTPIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
17105
17188
|
method: "POST",
|
|
17106
17189
|
headers: { "Content-Type": "application/json" },
|
|
17107
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
17190
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _555 => _555.signal]),
|
|
17108
17191
|
body: JSON.stringify({
|
|
17109
17192
|
fileName: att.file.name,
|
|
17110
17193
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -17133,9 +17216,9 @@ function useChatAttachments() {
|
|
|
17133
17216
|
(pct) => {
|
|
17134
17217
|
updateOne(att.id, { progress: pct });
|
|
17135
17218
|
},
|
|
17136
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
17219
|
+
_optionalChain([ctrl, 'optionalAccess', _556 => _556.signal])
|
|
17137
17220
|
);
|
|
17138
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17221
|
+
if (_optionalChain([ctrl, 'optionalAccess', _557 => _557.signal, 'access', _558 => _558.aborted])) return;
|
|
17139
17222
|
updateOne(att.id, {
|
|
17140
17223
|
status: "ready",
|
|
17141
17224
|
progress: 100,
|
|
@@ -17143,7 +17226,7 @@ function useChatAttachments() {
|
|
|
17143
17226
|
viewToken: mintData.viewToken
|
|
17144
17227
|
});
|
|
17145
17228
|
} catch (err) {
|
|
17146
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17229
|
+
if (_optionalChain([ctrl, 'optionalAccess', _559 => _559.signal, 'access', _560 => _560.aborted])) return;
|
|
17147
17230
|
const message = err instanceof Error ? err.message : String(err);
|
|
17148
17231
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
|
|
17149
17232
|
} finally {
|
|
@@ -17265,7 +17348,7 @@ function useChatAttachmentImageGallery() {
|
|
|
17265
17348
|
return () => root.removeEventListener("click", onClick);
|
|
17266
17349
|
}, [viewUrlPrefix]);
|
|
17267
17350
|
const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17268
|
-
|
|
17351
|
+
_chunkSK4IVCSIcjs.ImageGalleryModal,
|
|
17269
17352
|
{
|
|
17270
17353
|
images: state.images,
|
|
17271
17354
|
isOpen: state.isOpen,
|
|
@@ -17292,11 +17375,11 @@ var ANON_DEFAULTS = {
|
|
|
17292
17375
|
function useResolveChatIdentity(enabled) {
|
|
17293
17376
|
const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
|
|
17294
17377
|
const url = runtime.endpoints.identityUrl;
|
|
17295
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkYH6IQTPIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
17378
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkYH6IQTPIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _561 => _561.email]), () => ( null));
|
|
17296
17379
|
const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
|
|
17297
17380
|
const [resolved, setResolved] = _react.useState.call(void 0, null);
|
|
17298
|
-
const data = _optionalChain([resolved, 'optionalAccess',
|
|
17299
|
-
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess',
|
|
17381
|
+
const data = _optionalChain([resolved, 'optionalAccess', _562 => _562.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
|
|
17382
|
+
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _563 => _563.key]) !== requestKey;
|
|
17300
17383
|
_react.useEffect.call(void 0, () => {
|
|
17301
17384
|
if (requestKey === null) return void 0;
|
|
17302
17385
|
let cancelled = false;
|
|
@@ -17443,7 +17526,7 @@ function useChat({
|
|
|
17443
17526
|
onMessagesChangeRef.current = onMessagesChange;
|
|
17444
17527
|
});
|
|
17445
17528
|
_react.useEffect.call(void 0, () => {
|
|
17446
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
17529
|
+
_optionalChain([onMessagesChangeRef, 'access', _564 => _564.current, 'optionalCall', _565 => _565(messages)]);
|
|
17447
17530
|
}, [messages]);
|
|
17448
17531
|
const {
|
|
17449
17532
|
streamMessage,
|
|
@@ -17480,7 +17563,7 @@ function useChat({
|
|
|
17480
17563
|
name: "You",
|
|
17481
17564
|
content: text,
|
|
17482
17565
|
timestamp: /* @__PURE__ */ new Date(),
|
|
17483
|
-
..._optionalChain([options, 'optionalAccess',
|
|
17566
|
+
..._optionalChain([options, 'optionalAccess', _566 => _566.hidden]) ? { hidden: true } : {}
|
|
17484
17567
|
};
|
|
17485
17568
|
addMessage(userMessage);
|
|
17486
17569
|
setIsTyping(true);
|
|
@@ -17694,7 +17777,7 @@ function buildConfirmToolBody(request) {
|
|
|
17694
17777
|
async function readServerErrorMessage(response) {
|
|
17695
17778
|
try {
|
|
17696
17779
|
const body = await response.json();
|
|
17697
|
-
if (typeof _optionalChain([body, 'optionalAccess',
|
|
17780
|
+
if (typeof _optionalChain([body, 'optionalAccess', _567 => _567.error]) === "string" && body.error.length > 0) return body.error;
|
|
17698
17781
|
} catch (e58) {
|
|
17699
17782
|
}
|
|
17700
17783
|
return null;
|
|
@@ -18039,9 +18122,9 @@ function appendToTrailingAssistant(prev, segments) {
|
|
|
18039
18122
|
for (const seg of segments) {
|
|
18040
18123
|
const tail = merged[merged.length - 1];
|
|
18041
18124
|
const key = upsertKey(seg);
|
|
18042
|
-
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess',
|
|
18125
|
+
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _568 => _568.type]) === "text") {
|
|
18043
18126
|
merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
|
|
18044
|
-
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess',
|
|
18127
|
+
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _569 => _569.type]) === "thinking") {
|
|
18045
18128
|
merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
|
|
18046
18129
|
} else if (key) {
|
|
18047
18130
|
let idx = merged.findIndex((m) => upsertKey(m) === key);
|
|
@@ -18082,7 +18165,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18082
18165
|
}
|
|
18083
18166
|
if (s.type !== "approval_batch") return s;
|
|
18084
18167
|
const isAnchor = s.data.approvalRequestId === requestId;
|
|
18085
|
-
const hasRow = _optionalChain([s, 'access',
|
|
18168
|
+
const hasRow = _optionalChain([s, 'access', _570 => _570.data, 'access', _571 => _571.toolCalls, 'optionalAccess', _572 => _572.some, 'call', _573 => _573((c) => c.toolExecutionRequestId === requestId)]);
|
|
18086
18169
|
if (!isAnchor && !hasRow) return s;
|
|
18087
18170
|
const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
|
|
18088
18171
|
const nextExecutions = hasRow ? {
|
|
@@ -18104,8 +18187,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18104
18187
|
};
|
|
18105
18188
|
}
|
|
18106
18189
|
function nextBatchExecution(prevExec, toolData) {
|
|
18107
|
-
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess',
|
|
18108
|
-
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess',
|
|
18190
|
+
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _574 => _574.status]) === "done") return null;
|
|
18191
|
+
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _575 => _575.result]), success: _optionalChain([prevExec, 'optionalAccess', _576 => _576.success]) };
|
|
18109
18192
|
}
|
|
18110
18193
|
function withBatchExecution(seg, execId, state) {
|
|
18111
18194
|
return {
|
|
@@ -18122,11 +18205,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
|
|
|
18122
18205
|
}
|
|
18123
18206
|
function projectBatchRowFailureToMessages(prev, rowRequestId) {
|
|
18124
18207
|
return mapSegments(prev, (s) => {
|
|
18125
|
-
if (s.type !== "approval_batch" || !_optionalChain([s, 'access',
|
|
18208
|
+
if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _577 => _577.data, 'access', _578 => _578.toolCalls, 'optionalAccess', _579 => _579.some, 'call', _580 => _580((c) => c.toolExecutionRequestId === rowRequestId)])) {
|
|
18126
18209
|
return s;
|
|
18127
18210
|
}
|
|
18128
|
-
const existing = _optionalChain([s, 'access',
|
|
18129
|
-
if (_optionalChain([existing, 'optionalAccess',
|
|
18211
|
+
const existing = _optionalChain([s, 'access', _581 => _581.data, 'access', _582 => _582.executions, 'optionalAccess', _583 => _583[rowRequestId]]);
|
|
18212
|
+
if (_optionalChain([existing, 'optionalAccess', _584 => _584.status]) === "done") return s;
|
|
18130
18213
|
return withBatchExecution(s, rowRequestId, { status: "done", success: false });
|
|
18131
18214
|
});
|
|
18132
18215
|
}
|
|
@@ -18162,7 +18245,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
|
|
|
18162
18245
|
for (let j = message.segments.length - 1; j >= 0; j--) {
|
|
18163
18246
|
const seg = message.segments[j];
|
|
18164
18247
|
if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
|
|
18165
|
-
const prevExec = _optionalChain([seg, 'access',
|
|
18248
|
+
const prevExec = _optionalChain([seg, 'access', _585 => _585.data, 'access', _586 => _586.executions, 'optionalAccess', _587 => _587[execId]]);
|
|
18166
18249
|
const nextExec = nextBatchExecution(prevExec, toolData);
|
|
18167
18250
|
if (nextExec === null) return prev;
|
|
18168
18251
|
if (sameExecutionState(prevExec, nextExec)) return prev;
|
|
@@ -18335,9 +18418,9 @@ var MessageSegmentAccumulator = class {
|
|
|
18335
18418
|
type: "tool_execution",
|
|
18336
18419
|
data: {
|
|
18337
18420
|
...toolData,
|
|
18338
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18339
|
-
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18340
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
18421
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _588 => _588.data, 'access', _589 => _589.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _590 => _590.toolTitle]))),
|
|
18422
|
+
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _591 => _591.data, 'access', _592 => _592.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _593 => _593.toolExplanation]))),
|
|
18423
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _594 => _594.parameters])
|
|
18341
18424
|
}
|
|
18342
18425
|
};
|
|
18343
18426
|
if (existingIndex !== -1) {
|
|
@@ -18361,7 +18444,7 @@ var MessageSegmentAccumulator = class {
|
|
|
18361
18444
|
if (seg.type !== "approval_batch") return seg;
|
|
18362
18445
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
18363
18446
|
if (!hasCall) return seg;
|
|
18364
|
-
const prev = _optionalChain([seg, 'access',
|
|
18447
|
+
const prev = _optionalChain([seg, 'access', _595 => _595.data, 'access', _596 => _596.executions, 'optionalAccess', _597 => _597[execId]]);
|
|
18365
18448
|
const next = nextBatchExecution(prev, toolData);
|
|
18366
18449
|
matched = true;
|
|
18367
18450
|
if (next === null) return seg;
|
|
@@ -18495,8 +18578,8 @@ var MessageSegmentAccumulator = class {
|
|
|
18495
18578
|
requestId,
|
|
18496
18579
|
{
|
|
18497
18580
|
...pendingApproval,
|
|
18498
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
18499
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
18581
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _598 => _598.command]) || "",
|
|
18582
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _599 => _599.approvalType]) || approvalType
|
|
18500
18583
|
},
|
|
18501
18584
|
status
|
|
18502
18585
|
);
|
|
@@ -18521,9 +18604,9 @@ var MessageSegmentAccumulator = class {
|
|
|
18521
18604
|
type: "escalation_offer",
|
|
18522
18605
|
// The resolved chunk carries no text/origin — a redelivered offer must
|
|
18523
18606
|
// not blank the card the PENDING chunk already painted.
|
|
18524
|
-
data: { offerId, text: text || _optionalChain([existing, 'optionalAccess',
|
|
18607
|
+
data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _600 => _600.data, 'access', _601 => _601.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _602 => _602.data, 'access', _603 => _603.origin]))) },
|
|
18525
18608
|
status,
|
|
18526
|
-
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess',
|
|
18609
|
+
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _604 => _604.resolvedByName]))),
|
|
18527
18610
|
onApprove: this.callbacks.onEscalationApprove,
|
|
18528
18611
|
onReject: this.callbacks.onEscalationReject
|
|
18529
18612
|
};
|
|
@@ -18848,7 +18931,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
18848
18931
|
let stateCache = null;
|
|
18849
18932
|
function invalidate() {
|
|
18850
18933
|
stateCache = null;
|
|
18851
|
-
_optionalChain([onChange, 'optionalCall',
|
|
18934
|
+
_optionalChain([onChange, 'optionalCall', _605 => _605()]);
|
|
18852
18935
|
}
|
|
18853
18936
|
function getState() {
|
|
18854
18937
|
if (!stateCache) {
|
|
@@ -18864,7 +18947,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
18864
18947
|
return stateCache;
|
|
18865
18948
|
}
|
|
18866
18949
|
function emit(name, ...args) {
|
|
18867
|
-
_optionalChain([onEffect, 'optionalCall',
|
|
18950
|
+
_optionalChain([onEffect, 'optionalCall', _606 => _606({ name, args })]);
|
|
18868
18951
|
}
|
|
18869
18952
|
function setMessagesInternal(next) {
|
|
18870
18953
|
if (next !== messages) {
|
|
@@ -18895,12 +18978,12 @@ function createChatStreamReducer(options = {}) {
|
|
|
18895
18978
|
return [...next.slice(0, -1), { ...last, streamSeq: seq }];
|
|
18896
18979
|
}
|
|
18897
18980
|
function applySegmentsToState(segments, meta) {
|
|
18898
|
-
const seq = _optionalChain([meta, 'optionalAccess',
|
|
18899
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
18981
|
+
const seq = _optionalChain([meta, 'optionalAccess', _607 => _607.streamSeq]);
|
|
18982
|
+
if (_optionalChain([meta, 'optionalAccess', _608 => _608.append]) && meta.isCompacting) {
|
|
18900
18983
|
setMessagesInternal(stampTrailingAssistantSeq(upsertTrailingCompaction(messages, segments), seq));
|
|
18901
18984
|
return;
|
|
18902
18985
|
}
|
|
18903
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
18986
|
+
if (_optionalChain([meta, 'optionalAccess', _609 => _609.append])) {
|
|
18904
18987
|
setMessagesInternal(stampTrailingAssistantSeq(appendToTrailingAssistant(messages, segments), seq));
|
|
18905
18988
|
return;
|
|
18906
18989
|
}
|
|
@@ -18912,7 +18995,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
18912
18995
|
adoptTrailingAssistant = false;
|
|
18913
18996
|
const last = messages[messages.length - 1];
|
|
18914
18997
|
if (!last || last.role !== "assistant" || adoptTail) return;
|
|
18915
|
-
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access',
|
|
18998
|
+
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _610 => _610.segments, 'optionalAccess', _611 => _611.length]), () => ( 0))) > 0 || last.content !== "";
|
|
18916
18999
|
if (!hasContent) return;
|
|
18917
19000
|
setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
|
|
18918
19001
|
}
|
|
@@ -19122,13 +19205,13 @@ function createChatStreamReducer(options = {}) {
|
|
|
19122
19205
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
19123
19206
|
pendingEscalated.set(requestId, {
|
|
19124
19207
|
command: summary,
|
|
19125
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19208
|
+
explanation: _optionalChain([required, 'optionalAccess', _612 => _612.toolExplanation]),
|
|
19126
19209
|
approvalType,
|
|
19127
19210
|
toolCalls
|
|
19128
19211
|
});
|
|
19129
19212
|
emit("onEscalatedApproval", requestId, {
|
|
19130
19213
|
command: summary,
|
|
19131
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19214
|
+
explanation: _optionalChain([required, 'optionalAccess', _613 => _613.toolExplanation]),
|
|
19132
19215
|
approvalType
|
|
19133
19216
|
});
|
|
19134
19217
|
break;
|
|
@@ -19512,7 +19595,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19512
19595
|
const resolveBatch = (status, confirm) => async () => {
|
|
19513
19596
|
setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
|
|
19514
19597
|
for (const id of ids) {
|
|
19515
|
-
const ok = await _optionalChain([confirm, 'optionalCall',
|
|
19598
|
+
const ok = await _optionalChain([confirm, 'optionalCall', _614 => _614(id)]);
|
|
19516
19599
|
if (ok === false) {
|
|
19517
19600
|
setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
|
|
19518
19601
|
}
|
|
@@ -19648,8 +19731,8 @@ function createChatStreamReducer(options = {}) {
|
|
|
19648
19731
|
}
|
|
19649
19732
|
}
|
|
19650
19733
|
}
|
|
19651
|
-
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess',
|
|
19652
|
-
if (_optionalChain([extras, 'optionalAccess',
|
|
19734
|
+
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _615 => _615.resumed]), () => ( messages.length > 0)));
|
|
19735
|
+
if (_optionalChain([extras, 'optionalAccess', _616 => _616.agentBusy])) agentBusyState();
|
|
19653
19736
|
invalidate();
|
|
19654
19737
|
}
|
|
19655
19738
|
return {
|
|
@@ -19734,7 +19817,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19734
19817
|
},
|
|
19735
19818
|
endSseTurn() {
|
|
19736
19819
|
const last = messages[messages.length - 1];
|
|
19737
|
-
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access',
|
|
19820
|
+
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _617 => _617.segments, 'optionalAccess', _618 => _618.length]), () => ( 0))) === 0 && last.content === "") {
|
|
19738
19821
|
messages = messages.slice(0, -1);
|
|
19739
19822
|
}
|
|
19740
19823
|
sseCurrentText = "";
|
|
@@ -19887,10 +19970,10 @@ function createChatDialogStore(options = {}) {
|
|
|
19887
19970
|
if (onEvict) {
|
|
19888
19971
|
const sep = key.indexOf(KEY_SEP);
|
|
19889
19972
|
onEvict(key.slice(0, sep), key.slice(sep + 1), {
|
|
19890
|
-
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19891
|
-
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19892
|
-
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19893
|
-
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19973
|
+
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _619 => _619.state, 'access', _620 => _620.messages]), () => ( EMPTY_STATE.messages)),
|
|
19974
|
+
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _621 => _621.state, 'access', _622 => _622.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
|
|
19975
|
+
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _623 => _623.getLastAppliedSeq, 'call', _624 => _624()]), () => ( Number.NEGATIVE_INFINITY)),
|
|
19976
|
+
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _625 => _625.getPendingEchoes, 'call', _626 => _626()]), () => ( EMPTY_PENDING_ECHOES))
|
|
19894
19977
|
});
|
|
19895
19978
|
}
|
|
19896
19979
|
}
|
|
@@ -19900,12 +19983,12 @@ function createChatDialogStore(options = {}) {
|
|
|
19900
19983
|
const key = keyOf(dialogId, side);
|
|
19901
19984
|
let reducer = reducers.get(key);
|
|
19902
19985
|
if (!reducer) {
|
|
19903
|
-
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall',
|
|
19986
|
+
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _627 => _627(dialogId, side)]), () => ( {}));
|
|
19904
19987
|
const userOnChange = base.onChange;
|
|
19905
19988
|
reducer = createChatStreamReducer({
|
|
19906
19989
|
...base,
|
|
19907
19990
|
onChange: () => {
|
|
19908
|
-
_optionalChain([userOnChange, 'optionalCall',
|
|
19991
|
+
_optionalChain([userOnChange, 'optionalCall', _628 => _628()]);
|
|
19909
19992
|
notify();
|
|
19910
19993
|
}
|
|
19911
19994
|
});
|
|
@@ -19950,7 +20033,7 @@ function createChatDialogStore(options = {}) {
|
|
|
19950
20033
|
};
|
|
19951
20034
|
}
|
|
19952
20035
|
function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
|
|
19953
|
-
return _nullishCoalesce(_optionalChain([reducers, 'access',
|
|
20036
|
+
return _nullishCoalesce(_optionalChain([reducers, 'access', _629 => _629.get, 'call', _630 => _630(keyOf(dialogId, side)), 'optionalAccess', _631 => _631.state]), () => ( EMPTY_STATE));
|
|
19954
20037
|
}
|
|
19955
20038
|
function getServerSnapshot2() {
|
|
19956
20039
|
return EMPTY_STATE;
|
|
@@ -20042,7 +20125,7 @@ function createDeltaBatcher({
|
|
|
20042
20125
|
pending = [];
|
|
20043
20126
|
const key = pendingKey;
|
|
20044
20127
|
for (const delta of batch) applyOne(delta, key);
|
|
20045
|
-
_optionalChain([onFlushed, 'optionalCall',
|
|
20128
|
+
_optionalChain([onFlushed, 'optionalCall', _632 => _632(batch.length)]);
|
|
20046
20129
|
}
|
|
20047
20130
|
function schedule() {
|
|
20048
20131
|
if (raf !== null || timer !== null) return;
|
|
@@ -20066,7 +20149,7 @@ function createDeltaBatcher({
|
|
|
20066
20149
|
}
|
|
20067
20150
|
if (!isDeltaEvent(event)) return false;
|
|
20068
20151
|
const tail = pending[pending.length - 1];
|
|
20069
|
-
const seqAdvances = _optionalChain([tail, 'optionalAccess',
|
|
20152
|
+
const seqAdvances = _optionalChain([tail, 'optionalAccess', _633 => _633.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
|
|
20070
20153
|
if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
|
|
20071
20154
|
pending[pending.length - 1] = {
|
|
20072
20155
|
...tail,
|
|
@@ -20097,7 +20180,7 @@ function useChatStreamReducer({
|
|
|
20097
20180
|
side = DEFAULT_DIALOG_SIDE,
|
|
20098
20181
|
createReducerOptions
|
|
20099
20182
|
}) {
|
|
20100
|
-
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall',
|
|
20183
|
+
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _634 => _634()]), () => ( {})));
|
|
20101
20184
|
const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
|
|
20102
20185
|
const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
|
|
20103
20186
|
const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
|
|
@@ -20136,7 +20219,7 @@ var STORAGE_KEY = "conversation";
|
|
|
20136
20219
|
var namespaceFor = (source) => {
|
|
20137
20220
|
const base = `mingo-chat-${source}`;
|
|
20138
20221
|
const auth = _chunkYH6IQTPIcjs.getEmbedProxyAuth.call(void 0, );
|
|
20139
|
-
return _optionalChain([auth, 'optionalAccess',
|
|
20222
|
+
return _optionalChain([auth, 'optionalAccess', _635 => _635.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
|
|
20140
20223
|
};
|
|
20141
20224
|
function createChatConversationStorage(source) {
|
|
20142
20225
|
return _chunkYH6IQTPIcjs.createLocalStorageAdapter.call(void 0, {
|
|
@@ -20200,7 +20283,7 @@ function formatSingularLookupInvocation(cmdId, value) {
|
|
|
20200
20283
|
return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
|
|
20201
20284
|
}
|
|
20202
20285
|
function extractEntityIdFilter(override, expectedTableId) {
|
|
20203
|
-
const f = _optionalChain([override, 'optionalAccess',
|
|
20286
|
+
const f = _optionalChain([override, 'optionalAccess', _636 => _636.entityIdFilter]);
|
|
20204
20287
|
if (!f) return null;
|
|
20205
20288
|
const tableId = typeof f.tableId === "string" ? f.tableId : "";
|
|
20206
20289
|
const id = typeof f.id === "string" ? f.id : "";
|
|
@@ -20239,7 +20322,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
|
|
|
20239
20322
|
function buildAutoContinuationDirective(toolName, opts = {}) {
|
|
20240
20323
|
const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
|
|
20241
20324
|
const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
|
|
20242
|
-
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access',
|
|
20325
|
+
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _637 => _637.status, 'optionalAccess', _638 => _638.toUpperCase, 'call', _639 => _639()]) === "CLOSED";
|
|
20243
20326
|
if (toolName === "create_ticket") {
|
|
20244
20327
|
return `${AUTO_CONTINUATION_DIRECTIVE_PREFIX} The user just approved create_ticket${ticketRef}. Per ticket-protocol \xA71a, ask 2-4 SHORT, issue-specific diagnostic follow-up questions tailored to the symptom they reported in their original message. When they answer, propose an update_ticket with content_addendum carrying a clean Q&A digest. Do NOT call any tool in this turn \u2014 just write the questions as prose.`;
|
|
20245
20328
|
}
|
|
@@ -20362,7 +20445,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20362
20445
|
const { active = true } = runtimeOptions;
|
|
20363
20446
|
const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
|
|
20364
20447
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
20365
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
20448
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _640 => _640.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
20366
20449
|
const sendMessageRef = _react.useRef.call(void 0,
|
|
20367
20450
|
() => Promise.resolve(true)
|
|
20368
20451
|
);
|
|
@@ -20399,7 +20482,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20399
20482
|
if (!restoredConversationRef.current) {
|
|
20400
20483
|
restoredConversationRef.current = true;
|
|
20401
20484
|
pruneStaleChatConversationStorage(source);
|
|
20402
|
-
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access',
|
|
20485
|
+
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _641 => _641.load, 'call', _642 => _642(), 'optionalAccess', _643 => _643.conversationId]), () => ( null));
|
|
20403
20486
|
}
|
|
20404
20487
|
const commandsUrl = runtime.endpoints.commandsUrl;
|
|
20405
20488
|
const { commands: slashCommands } = useSlashCommandRegistry(commandsUrl, {
|
|
@@ -20504,7 +20587,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20504
20587
|
const serverMessage = await readServerErrorMessage(response);
|
|
20505
20588
|
throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
|
|
20506
20589
|
}
|
|
20507
|
-
const reader = _optionalChain([response, 'access',
|
|
20590
|
+
const reader = _optionalChain([response, 'access', _644 => _644.body, 'optionalAccess', _645 => _645.getReader, 'call', _646 => _646()]);
|
|
20508
20591
|
if (!reader) throw new Error("No response body");
|
|
20509
20592
|
const frameDecoder = createSseFrameDecoder();
|
|
20510
20593
|
let finished = false;
|
|
@@ -20527,7 +20610,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20527
20610
|
}
|
|
20528
20611
|
return true;
|
|
20529
20612
|
} catch (err) {
|
|
20530
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
20613
|
+
if (_optionalChain([err, 'optionalAccess', _647 => _647.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
20531
20614
|
return true;
|
|
20532
20615
|
}
|
|
20533
20616
|
flushDeltas();
|
|
@@ -20547,7 +20630,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20547
20630
|
);
|
|
20548
20631
|
sendMessageRef.current = sendMessage;
|
|
20549
20632
|
const stopMessage = _react.useCallback.call(void 0, () => {
|
|
20550
|
-
_optionalChain([abortControllerRef, 'access',
|
|
20633
|
+
_optionalChain([abortControllerRef, 'access', _648 => _648.current, 'optionalAccess', _649 => _649.abort, 'call', _650 => _650()]);
|
|
20551
20634
|
flushDeltas();
|
|
20552
20635
|
mutate((r) => r.setPhase("idle"));
|
|
20553
20636
|
}, [mutate, flushDeltas]);
|
|
@@ -20563,7 +20646,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20563
20646
|
let sendIdx = -1;
|
|
20564
20647
|
return state.messages.map((m) => {
|
|
20565
20648
|
const segments = m.segments;
|
|
20566
|
-
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess',
|
|
20649
|
+
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _651 => _651.filter, 'call', _652 => _652((s) => s.type === "text"), 'access', _653 => _653.map, 'call', _654 => _654((s) => s.text), 'access', _655 => _655.join, 'call', _656 => _656("")]), () => ( ""));
|
|
20567
20650
|
let sources;
|
|
20568
20651
|
let scrollAnchor;
|
|
20569
20652
|
if (m.role === "user" && !m.hidden) {
|
|
@@ -20572,7 +20655,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20572
20655
|
if (m.role === "assistant") {
|
|
20573
20656
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
20574
20657
|
sources = sourcesMap.get(lookupIdx);
|
|
20575
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access',
|
|
20658
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _657 => _657.get, 'call', _658 => _658(lookupIdx), 'optionalAccess', _659 => _659.scrollAnchor]), () => ( void 0));
|
|
20576
20659
|
}
|
|
20577
20660
|
return {
|
|
20578
20661
|
id: m.id,
|
|
@@ -20599,7 +20682,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20599
20682
|
);
|
|
20600
20683
|
return;
|
|
20601
20684
|
}
|
|
20602
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
20685
|
+
const refSlug = typeof _optionalChain([reference, 'access', _660 => _660.metadata, 'optionalAccess', _661 => _661.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
20603
20686
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
20604
20687
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
20605
20688
|
const text = `/${cmdId} display "${escaped}"`;
|
|
@@ -20645,18 +20728,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20645
20728
|
/** True while the mount-time rebuild from the server transcript runs. */
|
|
20646
20729
|
isHydratingHistory,
|
|
20647
20730
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
20648
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20649
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20650
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20731
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _662 => _662.provider]), () => ( null)),
|
|
20732
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _663 => _663.modelLabel]), () => ( null)),
|
|
20733
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _664 => _664.contextWindowMaxTokens]), () => ( null)),
|
|
20651
20734
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
20652
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20735
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _665 => _665.inputTokens]), () => ( null)),
|
|
20653
20736
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
20654
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20737
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _666 => _666.outputTokens]), () => ( null)),
|
|
20655
20738
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
20656
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20739
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _667 => _667.cacheHitRatePct]), () => ( null)),
|
|
20657
20740
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
20658
20741
|
* token counts). null until the trailing usage frame lands. */
|
|
20659
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20742
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _668 => _668.breakdown]), () => ( null)),
|
|
20660
20743
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
20661
20744
|
// Guide mode keeps ONE server-side conversation per stored id
|
|
20662
20745
|
// (`chat_conversations`, hydrated on mount). Surfacing multiple threads
|
|
@@ -20901,7 +20984,7 @@ function decodeNatsChunk(chunk) {
|
|
|
20901
20984
|
userId: typeof data.userId === "string" ? data.userId : void 0,
|
|
20902
20985
|
// Wire shape carries no label; fall back to the id (parity with
|
|
20903
20986
|
// the history path in `process-historical-messages.ts`).
|
|
20904
|
-
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess',
|
|
20987
|
+
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _669 => _669.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _670 => _670.id]) === "string").map((it) => ({
|
|
20905
20988
|
type: it.type,
|
|
20906
20989
|
id: it.id,
|
|
20907
20990
|
label: it.id
|
|
@@ -20992,7 +21075,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
20992
21075
|
}
|
|
20993
21076
|
break;
|
|
20994
21077
|
case "approval_batch": {
|
|
20995
|
-
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access',
|
|
21078
|
+
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _671 => _671.data, 'access', _672 => _672.executions, 'optionalAccess', _673 => _673[c.toolExecutionRequestId], 'optionalAccess', _674 => _674.status]) === "done");
|
|
20996
21079
|
if (segment.status !== "rejected" && !allDone) {
|
|
20997
21080
|
hasIncompleteState = true;
|
|
20998
21081
|
}
|
|
@@ -21054,11 +21137,11 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
21054
21137
|
function extractIncompleteTailState(messages) {
|
|
21055
21138
|
if (!messages || messages.length === 0) return void 0;
|
|
21056
21139
|
let start = messages.length;
|
|
21057
|
-
while (start > 0 && _optionalChain([messages, 'access',
|
|
21140
|
+
while (start > 0 && _optionalChain([messages, 'access', _675 => _675[start - 1], 'optionalAccess', _676 => _676.role]) === "assistant") start -= 1;
|
|
21058
21141
|
if (start === messages.length) return void 0;
|
|
21059
21142
|
const segments = [];
|
|
21060
21143
|
for (let i = start; i < messages.length; i += 1) {
|
|
21061
|
-
const content = _optionalChain([messages, 'access',
|
|
21144
|
+
const content = _optionalChain([messages, 'access', _677 => _677[i], 'optionalAccess', _678 => _678.content]);
|
|
21062
21145
|
if (Array.isArray(content)) segments.push(...content);
|
|
21063
21146
|
}
|
|
21064
21147
|
if (segments.length === 0) return void 0;
|
|
@@ -21071,15 +21154,15 @@ function extractIncompleteTailState(messages) {
|
|
|
21071
21154
|
|
|
21072
21155
|
// src/components/chat/utils/process-historical-messages.ts
|
|
21073
21156
|
function getOwnerDisplayName(owner) {
|
|
21074
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
21157
|
+
if (_optionalChain([owner, 'optionalAccess', _679 => _679.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
21075
21158
|
const { firstName, lastName } = owner.user;
|
|
21076
21159
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
21077
21160
|
if (name) return name;
|
|
21078
21161
|
}
|
|
21079
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
21162
|
+
return _optionalChain([owner, 'optionalAccess', _680 => _680.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
21080
21163
|
}
|
|
21081
21164
|
function getOwnerAvatar(owner) {
|
|
21082
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
21165
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _681 => _681.user, 'optionalAccess', _682 => _682.image, 'optionalAccess', _683 => _683.imageUrl]), () => ( void 0));
|
|
21083
21166
|
}
|
|
21084
21167
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
21085
21168
|
messageDataArray.forEach((data) => {
|
|
@@ -21263,7 +21346,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21263
21346
|
event.offerId,
|
|
21264
21347
|
event.text,
|
|
21265
21348
|
event.origin,
|
|
21266
|
-
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess',
|
|
21349
|
+
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _684 => _684[event.offerId]]), () => ( "pending"))
|
|
21267
21350
|
);
|
|
21268
21351
|
break;
|
|
21269
21352
|
case "ticket-escalated":
|
|
@@ -21297,7 +21380,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21297
21380
|
);
|
|
21298
21381
|
break;
|
|
21299
21382
|
case "escalation-offer-resolved":
|
|
21300
|
-
_optionalChain([offerResolutions, 'optionalAccess',
|
|
21383
|
+
_optionalChain([offerResolutions, 'optionalAccess', _685 => _685.set, 'call', _686 => _686(event.offerId, {
|
|
21301
21384
|
status: event.status,
|
|
21302
21385
|
resolvedByName: event.resolvedByName
|
|
21303
21386
|
})]);
|
|
@@ -21361,7 +21444,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21361
21444
|
}
|
|
21362
21445
|
}
|
|
21363
21446
|
} else {
|
|
21364
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21447
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _687 => _687.set, 'call', _688 => _688(event.requestId, {
|
|
21365
21448
|
command: event.command || "",
|
|
21366
21449
|
explanation: event.explanation,
|
|
21367
21450
|
approvalType,
|
|
@@ -21376,8 +21459,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21376
21459
|
const existingStatus = approvalStatuses[requestId];
|
|
21377
21460
|
const status = existingStatus || event.status;
|
|
21378
21461
|
const resolvedByName = event.resolvedByName;
|
|
21379
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21380
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
21462
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _689 => _689.get, 'call', _690 => _690(requestId)]);
|
|
21463
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _691 => _691.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
21381
21464
|
if (batchApprovalsEnabled) {
|
|
21382
21465
|
accumulator.addApprovalBatch(
|
|
21383
21466
|
requestId,
|
|
@@ -21399,7 +21482,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21399
21482
|
);
|
|
21400
21483
|
}
|
|
21401
21484
|
}
|
|
21402
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21485
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _692 => _692.delete, 'call', _693 => _693(requestId)]);
|
|
21403
21486
|
break;
|
|
21404
21487
|
}
|
|
21405
21488
|
if (escalatedData) {
|
|
@@ -21408,7 +21491,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21408
21491
|
explanation: escalatedData.explanation,
|
|
21409
21492
|
approvalType: escalatedData.approvalType
|
|
21410
21493
|
});
|
|
21411
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21494
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _694 => _694.delete, 'call', _695 => _695(requestId)]);
|
|
21412
21495
|
}
|
|
21413
21496
|
const before = accumulator.getSegments();
|
|
21414
21497
|
const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
|
|
@@ -21497,14 +21580,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
21497
21580
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
21498
21581
|
return;
|
|
21499
21582
|
}
|
|
21500
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
21583
|
+
const isUserMessage = _optionalChain([msg, 'access', _696 => _696.owner, 'optionalAccess', _697 => _697.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _698 => _698.owner, 'optionalAccess', _699 => _699.type]) === OWNER_TYPE.ADMIN;
|
|
21501
21584
|
if (isUserMessage) {
|
|
21502
21585
|
flushAssistantMessage();
|
|
21503
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
21586
|
+
const userAuthorType = _optionalChain([msg, 'access', _700 => _700.owner, 'optionalAccess', _701 => _701.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
21504
21587
|
messageDataArray.forEach((data) => {
|
|
21505
21588
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
21506
21589
|
const rawContext = data.contextItems;
|
|
21507
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
21590
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _702 => _702.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _703 => _703.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
21508
21591
|
processedMessages.push({
|
|
21509
21592
|
id: msg.id,
|
|
21510
21593
|
role: "user",
|
|
@@ -21547,7 +21630,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
21547
21630
|
});
|
|
21548
21631
|
const nextMsg = messages[index + 1];
|
|
21549
21632
|
const isLastMessage = index === messages.length - 1;
|
|
21550
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
21633
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _704 => _704.owner, 'optionalAccess', _705 => _705.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _706 => _706.owner, 'optionalAccess', _707 => _707.type]) === OWNER_TYPE.ADMIN);
|
|
21551
21634
|
if (isLastMessage || nextIsFromUser) {
|
|
21552
21635
|
flushAssistantMessage();
|
|
21553
21636
|
}
|
|
@@ -21945,7 +22028,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
21945
22028
|
}, [active, fetchDialogs, loadDialogsPage]);
|
|
21946
22029
|
const sendMessage = _react.useCallback.call(void 0,
|
|
21947
22030
|
async (text, sendOptions) => {
|
|
21948
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
22031
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _708 => _708.hidden]), () => ( false));
|
|
21949
22032
|
mutate((r) => r.pushOptimisticSend(text, hidden));
|
|
21950
22033
|
await publishUserMessage(text, { hidden, dialogId });
|
|
21951
22034
|
},
|
|
@@ -22091,11 +22174,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
22091
22174
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
22092
22175
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
22093
22176
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
22094
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
22095
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
22096
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
22097
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
22098
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
22177
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _709 => _709.provider]), () => ( modelProvider)), () => ( null)),
|
|
22178
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _710 => _710.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
22179
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _711 => _711.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _712 => _712.contextWindowMaxTokens]))), () => ( null)),
|
|
22180
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _713 => _713.inputTokensSize]), () => ( null)),
|
|
22181
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _714 => _714.outputTokensSize]), () => ( null)),
|
|
22099
22182
|
currentCacheHitRatePct: null,
|
|
22100
22183
|
currentUsageBreakdown: null,
|
|
22101
22184
|
// Dialog management
|
|
@@ -22196,7 +22279,7 @@ function useUnifiedChat(options) {
|
|
|
22196
22279
|
[]
|
|
22197
22280
|
);
|
|
22198
22281
|
const displayRefForward = _react.useCallback.call(void 0,
|
|
22199
|
-
(ref) => _optionalChain([activeStateRef, 'access',
|
|
22282
|
+
(ref) => _optionalChain([activeStateRef, 'access', _715 => _715.current, 'access', _716 => _716.displayRef, 'optionalCall', _717 => _717(ref)]),
|
|
22200
22283
|
[]
|
|
22201
22284
|
);
|
|
22202
22285
|
const displayRef = activeState.displayRef ? displayRefForward : void 0;
|
|
@@ -22206,7 +22289,7 @@ function useUnifiedChat(options) {
|
|
|
22206
22289
|
const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
|
|
22207
22290
|
const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
|
|
22208
22291
|
const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
|
|
22209
|
-
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access',
|
|
22292
|
+
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _718 => _718.current, 'access', _719 => _719.setDialogScope, 'optionalCall', _720 => _720(scope)]), []);
|
|
22210
22293
|
const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
|
|
22211
22294
|
const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
|
|
22212
22295
|
const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
|
|
@@ -22299,19 +22382,19 @@ function turnRequestKeys(content) {
|
|
|
22299
22382
|
if (!Array.isArray(content)) return keys;
|
|
22300
22383
|
for (const seg of content) {
|
|
22301
22384
|
if (seg.type === "tool_execution") {
|
|
22302
|
-
const id = _optionalChain([seg, 'access',
|
|
22385
|
+
const id = _optionalChain([seg, 'access', _721 => _721.data, 'optionalAccess', _722 => _722.toolExecutionRequestId]);
|
|
22303
22386
|
if (id) keys.add(id);
|
|
22304
22387
|
} else if (seg.type === "approval_request") {
|
|
22305
|
-
const id = _optionalChain([seg, 'access',
|
|
22388
|
+
const id = _optionalChain([seg, 'access', _723 => _723.data, 'optionalAccess', _724 => _724.requestId]);
|
|
22306
22389
|
if (id) keys.add(id);
|
|
22307
22390
|
} else if (seg.type === "escalation_offer") {
|
|
22308
|
-
const id = _optionalChain([seg, 'access',
|
|
22391
|
+
const id = _optionalChain([seg, 'access', _725 => _725.data, 'optionalAccess', _726 => _726.offerId]);
|
|
22309
22392
|
if (id) keys.add(id);
|
|
22310
22393
|
} else if (seg.type === "approval_batch") {
|
|
22311
22394
|
const data = seg.data;
|
|
22312
|
-
if (_optionalChain([data, 'optionalAccess',
|
|
22313
|
-
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
22314
|
-
if (_optionalChain([call, 'optionalAccess',
|
|
22395
|
+
if (_optionalChain([data, 'optionalAccess', _727 => _727.approvalRequestId])) keys.add(data.approvalRequestId);
|
|
22396
|
+
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _728 => _728.toolCalls]), () => ( []))) {
|
|
22397
|
+
if (_optionalChain([call, 'optionalAccess', _729 => _729.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
|
|
22315
22398
|
}
|
|
22316
22399
|
}
|
|
22317
22400
|
}
|
|
@@ -22363,18 +22446,18 @@ function mergeHistoryWithRealtime(input) {
|
|
|
22363
22446
|
}
|
|
22364
22447
|
}
|
|
22365
22448
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
22366
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
22367
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
22449
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _730 => _730.role]) === "assistant" ? trailing : null;
|
|
22450
|
+
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _731 => _731.content, 'access', _732 => _732.find, 'call', _733 => _733((s) => s.type === "approval_batch"), 'optionalAccess', _734 => _734.data, 'optionalAccess', _735 => _735.approvalRequestId]), () => ( null)) : null;
|
|
22368
22451
|
let processedToUse = processedHistory;
|
|
22369
22452
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
22370
22453
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
22371
22454
|
if (historyBatchId) {
|
|
22372
22455
|
const batchTwins = existingMessages.filter(
|
|
22373
|
-
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access',
|
|
22456
|
+
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _736 => _736.data, 'optionalAccess', _737 => _737.approvalRequestId]) === historyBatchId)
|
|
22374
22457
|
);
|
|
22375
22458
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
22376
22459
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
22377
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
22460
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _738 => _738.content])) ? historyTrailingAssistant.content.length : 0;
|
|
22378
22461
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
22379
22462
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
22380
22463
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -22416,9 +22499,9 @@ function mergeHistoryWithRealtime(input) {
|
|
|
22416
22499
|
if (pinnedSyntheticIds.has(m.id)) return true;
|
|
22417
22500
|
if (droppedSyntheticIds.has(m.id)) return false;
|
|
22418
22501
|
if (processedIds.has(m.id)) return false;
|
|
22419
|
-
if (_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
22502
|
+
if (_optionalChain([rawHistoryIds, 'optionalAccess', _739 => _739.has, 'call', _740 => _740(m.id)])) return false;
|
|
22420
22503
|
if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
|
|
22421
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access',
|
|
22504
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _741 => _741.timestamp, 'optionalAccess', _742 => _742.getTime, 'call', _743 => _743()]), () => ( 0))) <= historyFetchedAt;
|
|
22422
22505
|
return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
|
|
22423
22506
|
}
|
|
22424
22507
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
@@ -22442,7 +22525,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
22442
22525
|
} else if (typeof m.streamSeq === "number") {
|
|
22443
22526
|
covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
|
|
22444
22527
|
} else {
|
|
22445
|
-
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access',
|
|
22528
|
+
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _744 => _744.timestamp, 'optionalAccess', _745 => _745.getTime, 'call', _746 => _746()]), () => ( 0))) <= historyFetchedAt;
|
|
22446
22529
|
}
|
|
22447
22530
|
if (covered) return false;
|
|
22448
22531
|
}
|
|
@@ -22512,7 +22595,7 @@ function normalizeHistoricalMessageData(md) {
|
|
|
22512
22595
|
function isHistoricalUserTurn(m) {
|
|
22513
22596
|
return !!m.owner;
|
|
22514
22597
|
}
|
|
22515
|
-
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess',
|
|
22598
|
+
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _747 => _747.type]) === "TEXT" && typeof d.text === "string";
|
|
22516
22599
|
var THINK_MS = 550;
|
|
22517
22600
|
var TOKEN_MS = 55;
|
|
22518
22601
|
var USER_MS = 480;
|
|
@@ -23132,7 +23215,7 @@ function useChatDialogManager({
|
|
|
23132
23215
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
23133
23216
|
if (restoreTarget) {
|
|
23134
23217
|
try {
|
|
23135
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
23218
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _748 => _748(restoreTarget.id)]);
|
|
23136
23219
|
} catch (err) {
|
|
23137
23220
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
23138
23221
|
return;
|
|
@@ -23315,7 +23398,7 @@ function SourceChip({
|
|
|
23315
23398
|
const Icon = cta.icon;
|
|
23316
23399
|
const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
|
|
23317
23400
|
const chipClass = chatChipClass({ tone: "secondary" });
|
|
23318
|
-
const decideTab = (href, targetPlatform) =>
|
|
23401
|
+
const decideTab = (href, targetPlatform) => _chunkSK4IVCSIcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
|
|
23319
23402
|
if (src.items && src.items.length > 0) {
|
|
23320
23403
|
const dropdownItems = src.items.map((item) => {
|
|
23321
23404
|
const itemCta = resolveSourceRowCTA(
|
|
@@ -23404,7 +23487,7 @@ function SourceChip({
|
|
|
23404
23487
|
"a",
|
|
23405
23488
|
{
|
|
23406
23489
|
href: resolvedHref,
|
|
23407
|
-
...
|
|
23490
|
+
..._chunkSK4IVCSIcjs.newTabAnchorAttrs.call(void 0, isNewTab),
|
|
23408
23491
|
onClick: buildClickHandler(resolvedHref, null, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
|
|
23409
23492
|
className: chipClass,
|
|
23410
23493
|
children: chipBody(src.name)
|
|
@@ -23420,7 +23503,7 @@ function SourceChip({
|
|
|
23420
23503
|
"a",
|
|
23421
23504
|
{
|
|
23422
23505
|
href: resolvedHref,
|
|
23423
|
-
...
|
|
23506
|
+
..._chunkSK4IVCSIcjs.newTabAnchorAttrs.call(void 0, isNewTab),
|
|
23424
23507
|
onClick: buildClickHandler(resolvedHref, src.path, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
|
|
23425
23508
|
className: chipClass,
|
|
23426
23509
|
title: displayName,
|
|
@@ -23612,7 +23695,7 @@ function EmbeddableChatInner({
|
|
|
23612
23695
|
}),
|
|
23613
23696
|
[commandsUrl]
|
|
23614
23697
|
);
|
|
23615
|
-
const headerUserName = _optionalChain([identityUser, 'optionalAccess',
|
|
23698
|
+
const headerUserName = _optionalChain([identityUser, 'optionalAccess', _749 => _749.name, 'optionalAccess', _750 => _750.trim, 'call', _751 => _751()]) || [_optionalChain([identityUser, 'optionalAccess', _752 => _752.firstName]), _optionalChain([identityUser, 'optionalAccess', _753 => _753.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _754 => _754.trim, 'call', _755 => _755()]) || void 0;
|
|
23616
23699
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
23617
23700
|
if (modes) return modes;
|
|
23618
23701
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -23621,20 +23704,20 @@ function EmbeddableChatInner({
|
|
|
23621
23704
|
const mingoCaps = _react.useMemo.call(void 0, () => {
|
|
23622
23705
|
if (mingoState) {
|
|
23623
23706
|
return {
|
|
23624
|
-
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23625
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23626
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23627
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23628
|
-
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23629
|
-
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23630
|
-
onCopyLink: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23707
|
+
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _756 => _756.canRename]), () => ( false)),
|
|
23708
|
+
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _757 => _757.canArchive]), () => ( false)),
|
|
23709
|
+
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _758 => _758.fetchArchivedDialogs]),
|
|
23710
|
+
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _759 => _759.unarchiveDialog]),
|
|
23711
|
+
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _760 => _760.searchQuery]),
|
|
23712
|
+
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _761 => _761.onSearchChange]),
|
|
23713
|
+
onCopyLink: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _762 => _762.onCopyLink])
|
|
23631
23714
|
};
|
|
23632
23715
|
}
|
|
23633
23716
|
return {
|
|
23634
|
-
canRename: !!_optionalChain([effectiveModes, 'access',
|
|
23635
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
23636
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
23637
|
-
unarchiveDialog: _optionalChain([effectiveModes, 'access',
|
|
23717
|
+
canRename: !!_optionalChain([effectiveModes, 'access', _763 => _763.mingo, 'optionalAccess', _764 => _764.renameDialog]),
|
|
23718
|
+
canArchive: !!_optionalChain([effectiveModes, 'access', _765 => _765.mingo, 'optionalAccess', _766 => _766.archiveDialog]),
|
|
23719
|
+
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _767 => _767.mingo, 'optionalAccess', _768 => _768.fetchArchivedDialogs]),
|
|
23720
|
+
unarchiveDialog: _optionalChain([effectiveModes, 'access', _769 => _769.mingo, 'optionalAccess', _770 => _770.unarchiveDialog]),
|
|
23638
23721
|
searchQuery: void 0,
|
|
23639
23722
|
onSearchChange: void 0,
|
|
23640
23723
|
onCopyLink: void 0
|
|
@@ -23649,7 +23732,7 @@ function EmbeddableChatInner({
|
|
|
23649
23732
|
if (controlledActiveMode === void 0) {
|
|
23650
23733
|
setUncontrolledActiveMode(next);
|
|
23651
23734
|
}
|
|
23652
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
23735
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _771 => _771(next)]);
|
|
23653
23736
|
},
|
|
23654
23737
|
[controlledActiveMode, onActiveModeChange]
|
|
23655
23738
|
);
|
|
@@ -23676,7 +23759,7 @@ function EmbeddableChatInner({
|
|
|
23676
23759
|
);
|
|
23677
23760
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
23678
23761
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
23679
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
23762
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _772 => _772.title]) === "string" ? guideWelcome.title : null)));
|
|
23680
23763
|
const {
|
|
23681
23764
|
messages: rawMessages,
|
|
23682
23765
|
isLoading: chatLoading,
|
|
@@ -23720,7 +23803,7 @@ function EmbeddableChatInner({
|
|
|
23720
23803
|
void sendMessage(guidePendingPrompt).catch((err) => {
|
|
23721
23804
|
console.error("[EmbeddableChat] guide launcher prompt failed:", err);
|
|
23722
23805
|
});
|
|
23723
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
23806
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _773 => _773()]);
|
|
23724
23807
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
23725
23808
|
const {
|
|
23726
23809
|
attachments: stagedAttachments,
|
|
@@ -23731,7 +23814,7 @@ function EmbeddableChatInner({
|
|
|
23731
23814
|
clear: clearAttachments
|
|
23732
23815
|
} = useChatAttachments();
|
|
23733
23816
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
23734
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
23817
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _774 => _774.maxItems]), () => ( 10));
|
|
23735
23818
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
23736
23819
|
const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
|
|
23737
23820
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -23752,10 +23835,10 @@ function EmbeddableChatInner({
|
|
|
23752
23835
|
}, [activeDialogId, activeMode]);
|
|
23753
23836
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
23754
23837
|
const m = /* @__PURE__ */ new Map();
|
|
23755
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
23838
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _775 => _775.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
23756
23839
|
return m;
|
|
23757
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
23758
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
23840
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _776 => _776.entityTypes])]);
|
|
23841
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _777 => _777.entityTypes]);
|
|
23759
23842
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
23760
23843
|
const byType = /* @__PURE__ */ new Map();
|
|
23761
23844
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -23767,7 +23850,7 @@ function EmbeddableChatInner({
|
|
|
23767
23850
|
if (mentionActiveRef.current) {
|
|
23768
23851
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
23769
23852
|
if (contextItems.length >= contextMaxItems) return;
|
|
23770
|
-
_optionalChain([chatInputRef, 'access',
|
|
23853
|
+
_optionalChain([chatInputRef, 'access', _778 => _778.current, 'optionalAccess', _779 => _779.commitMention, 'call', _780 => _780(mentionTokenOf(key, mentionMarkerByType), {
|
|
23771
23854
|
label: item.label,
|
|
23772
23855
|
icon: resolveContextIcon(item)
|
|
23773
23856
|
})]);
|
|
@@ -23790,9 +23873,9 @@ function EmbeddableChatInner({
|
|
|
23790
23873
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
23791
23874
|
if (mentionKeysRef.current.has(key)) {
|
|
23792
23875
|
mentionKeysRef.current.delete(key);
|
|
23793
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
23876
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _781 => _781.current, 'optionalAccess', _782 => _782.getValue, 'call', _783 => _783()]), () => ( ""));
|
|
23794
23877
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
23795
|
-
_optionalChain([chatInputRef, 'access',
|
|
23878
|
+
_optionalChain([chatInputRef, 'access', _784 => _784.current, 'optionalAccess', _785 => _785.setValue, 'call', _786 => _786(next)]);
|
|
23796
23879
|
}
|
|
23797
23880
|
},
|
|
23798
23881
|
[mentionMarkerByType]
|
|
@@ -23814,7 +23897,7 @@ function EmbeddableChatInner({
|
|
|
23814
23897
|
}, []);
|
|
23815
23898
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
23816
23899
|
if (mentionActiveRef.current) {
|
|
23817
|
-
_optionalChain([chatInputRef, 'access',
|
|
23900
|
+
_optionalChain([chatInputRef, 'access', _787 => _787.current, 'optionalAccess', _788 => _788.removeMentionTrigger, 'call', _789 => _789()]);
|
|
23818
23901
|
}
|
|
23819
23902
|
setContextPickerOpen(false);
|
|
23820
23903
|
setMentionQuery(null);
|
|
@@ -23848,8 +23931,8 @@ function EmbeddableChatInner({
|
|
|
23848
23931
|
[effectiveAssistantIcon]
|
|
23849
23932
|
);
|
|
23850
23933
|
const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
|
|
23851
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
23852
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
23934
|
+
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _790 => _790.firstName]), _optionalChain([identityUser, 'optionalAccess', _791 => _791.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _792 => _792.name, 'optionalAccess', _793 => _793.trim, 'call', _794 => _794()]) || void 0 : void 0;
|
|
23935
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _795 => _795.avatarUrl, 'optionalAccess', _796 => _796.trim, 'call', _797 => _797()]) || void 0 : void 0;
|
|
23853
23936
|
const messages = _react.useMemo.call(void 0, () => {
|
|
23854
23937
|
const cache = timestampCache;
|
|
23855
23938
|
const seenIds = /* @__PURE__ */ new Set();
|
|
@@ -24038,9 +24121,9 @@ function EmbeddableChatInner({
|
|
|
24038
24121
|
const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
|
|
24039
24122
|
const lastSources = _react.useMemo.call(void 0, () => {
|
|
24040
24123
|
if (chatLoading) return void 0;
|
|
24041
|
-
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
24124
|
+
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _798 => _798.sources]);
|
|
24042
24125
|
if (!sources || sources.length === 0) return void 0;
|
|
24043
|
-
const content = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
24126
|
+
const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _799 => _799.content]) || "";
|
|
24044
24127
|
const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map((m) => parseInt(m[1], 10));
|
|
24045
24128
|
const seenOrder = /* @__PURE__ */ new Map();
|
|
24046
24129
|
citationOrder.forEach((idx) => {
|
|
@@ -24058,7 +24141,7 @@ function EmbeddableChatInner({
|
|
|
24058
24141
|
const el = panelMeasureRef.current;
|
|
24059
24142
|
if (!el || typeof ResizeObserver === "undefined") return void 0;
|
|
24060
24143
|
const ro = new ResizeObserver((entries) => {
|
|
24061
|
-
const w = _optionalChain([entries, 'access',
|
|
24144
|
+
const w = _optionalChain([entries, 'access', _800 => _800[0], 'optionalAccess', _801 => _801.contentRect, 'optionalAccess', _802 => _802.width]);
|
|
24062
24145
|
if (typeof w === "number") setPanelWidth(w);
|
|
24063
24146
|
});
|
|
24064
24147
|
ro.observe(el);
|
|
@@ -24101,17 +24184,17 @@ function EmbeddableChatInner({
|
|
|
24101
24184
|
const isMingoMode = activeMode === "mingo";
|
|
24102
24185
|
const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
|
|
24103
24186
|
const headerShowBack = hasConversation || guideCanReturnToMingo;
|
|
24104
|
-
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
24187
|
+
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _803 => _803.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
|
|
24105
24188
|
const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
|
|
24106
24189
|
const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
|
|
24107
24190
|
const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
|
|
24108
24191
|
const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
|
|
24109
24192
|
const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
|
|
24110
|
-
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access',
|
|
24193
|
+
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _804 => _804.onCopyLink, 'optionalCall', _805 => _805(activeDialog)]) : void 0;
|
|
24111
24194
|
const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
|
|
24112
|
-
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
24113
|
-
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess',
|
|
24114
|
-
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access',
|
|
24195
|
+
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _806 => _806.owner]) : void 0;
|
|
24196
|
+
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _807 => _807.name, 'optionalAccess', _808 => _808.trim, 'call', _809 => _809()]) || headerUserName;
|
|
24197
|
+
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _810 => _810.avatarUrl, 'optionalAccess', _811 => _811.trim, 'call', _812 => _812()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _813 => _813.avatarUrl, 'optionalAccess', _814 => _814.trim, 'call', _815 => _815()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _816 => _816.trim, 'call', _817 => _817()]) || void 0;
|
|
24115
24198
|
const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
|
|
24116
24199
|
const handleNewChat = _react.useCallback.call(void 0, () => {
|
|
24117
24200
|
resetToNewChat();
|
|
@@ -24257,7 +24340,7 @@ function EmbeddableChatInner({
|
|
|
24257
24340
|
headerAvatar ? (
|
|
24258
24341
|
// Owner avatar at the title cell's right edge (Figma 113:63273).
|
|
24259
24342
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24260
|
-
|
|
24343
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
24261
24344
|
{
|
|
24262
24345
|
variant: "round",
|
|
24263
24346
|
sizePx: 32,
|
|
@@ -24441,9 +24524,9 @@ function EmbeddableChatInner({
|
|
|
24441
24524
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
24442
24525
|
subtitleLoading: emptyStateLoading,
|
|
24443
24526
|
...guideWelcome,
|
|
24444
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
24445
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
24446
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
24527
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _818 => _818.title]))),
|
|
24528
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _819 => _819.icon]))),
|
|
24529
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _820 => _820.quickActions]), () => ( guideSuggestedActions)),
|
|
24447
24530
|
onQuickAction: (action) => {
|
|
24448
24531
|
setQuickActionPreview(null);
|
|
24449
24532
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -24517,8 +24600,8 @@ function EmbeddableChatInner({
|
|
|
24517
24600
|
selectedContextItems: contextItems,
|
|
24518
24601
|
onToggleContextItem: toggleContextItem,
|
|
24519
24602
|
onRemoveContextItem: removeContextItem,
|
|
24520
|
-
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess',
|
|
24521
|
-
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess',
|
|
24603
|
+
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _821 => _821.items]),
|
|
24604
|
+
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _822 => _822.onRemove]),
|
|
24522
24605
|
contextPickerOpen,
|
|
24523
24606
|
onOpenContextPicker: openContextPicker,
|
|
24524
24607
|
onCloseContextPicker: closeContextPicker,
|
|
@@ -24980,4 +25063,4 @@ function EmbeddableChatInner({
|
|
|
24980
25063
|
|
|
24981
25064
|
|
|
24982
25065
|
exports.FloatingTooltip = FloatingTooltip; exports.tagVariants = tagVariants; exports.Tag = Tag; 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.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getCurrentPlatform = getCurrentPlatform; exports.switchPlatformTheme = switchPlatformTheme; exports.getSemanticColor = getSemanticColor; exports.getPlatformConfig = getPlatformConfig; exports.usePlatformColors = usePlatformColors; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; 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.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.useIsHydrated = useIsHydrated; exports.MermaidDiagram = MermaidDiagram; exports.hasRenderableSrc = hasRenderableSrc; exports.buildStandardLeafRenderers = buildStandardLeafRenderers; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.NO_BROKEN_LINKS = NO_BROKEN_LINKS; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.extractYouTubeId = extractYouTubeId; exports.VIDEO_PLAYBACK_FAILED_EVENT = VIDEO_PLAYBACK_FAILED_EVENT; exports.Video = Video2; 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.EscalationOfferMessage = EscalationOfferMessage; exports.formatTime = formatTime; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.AskDisplay = AskDisplay; 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.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.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.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.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; 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.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; 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.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.useChatCardItem = useChatCardItem; exports.clickupTaskUrl = clickupTaskUrl; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; 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.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; 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.approvalDisplaysInline = approvalDisplaysInline; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat;
|
|
24983
|
-
//# sourceMappingURL=chunk-
|
|
25066
|
+
//# sourceMappingURL=chunk-YYHYCQD6.cjs.map
|