@flamingo-stack/openframe-frontend-core 0.0.594 → 0.0.595
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-5XQMEDGE.cjs → chunk-23UJ4EBJ.cjs} +10 -10
- package/dist/{chunk-5XQMEDGE.cjs.map → chunk-23UJ4EBJ.cjs.map} +1 -1
- package/dist/{chunk-DRZ224RU.js → chunk-2WLW5HDU.js} +7 -7
- package/dist/{chunk-3OQIZPUX.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-CCLPJSY3.cjs → chunk-4ZY5MP46.cjs} +15 -15
- package/dist/{chunk-CCLPJSY3.cjs.map → chunk-4ZY5MP46.cjs.map} +1 -1
- package/dist/{chunk-Y22VQDVW.js → chunk-63PXZXCT.js} +4 -4
- package/dist/{chunk-C4YJC5X7.cjs → chunk-6PEFK4UH.cjs} +6 -6
- package/dist/{chunk-C4YJC5X7.cjs.map → chunk-6PEFK4UH.cjs.map} +1 -1
- package/dist/{chunk-MEWAFY6X.js → chunk-7N2NJPUK.js} +3 -3
- package/dist/{chunk-IKQVXZB5.js → chunk-A57HKYLY.js} +6 -6
- package/dist/{chunk-LKN2KKYZ.js → chunk-AQ65NLGJ.js} +39 -9
- package/dist/{chunk-LKN2KKYZ.js.map → chunk-AQ65NLGJ.js.map} +1 -1
- package/dist/{chunk-YZLUOZKR.js → chunk-BKMSI2AW.js} +2 -2
- package/dist/{chunk-66I2QUFE.cjs → chunk-CPWX46TL.cjs} +6 -6
- package/dist/{chunk-66I2QUFE.cjs.map → chunk-CPWX46TL.cjs.map} +1 -1
- package/dist/{chunk-PETYVGEQ.cjs → chunk-CZM2H5F5.cjs} +5 -5
- package/dist/{chunk-PETYVGEQ.cjs.map → chunk-CZM2H5F5.cjs.map} +1 -1
- package/dist/{chunk-N3RHX26N.js → chunk-DYXVQ24Q.js} +3 -3
- package/dist/{chunk-43ADGEWL.cjs → chunk-EO5GYWIX.cjs} +28 -28
- package/dist/{chunk-43ADGEWL.cjs.map → chunk-EO5GYWIX.cjs.map} +1 -1
- package/dist/{chunk-ZK3AZ5YF.cjs → chunk-FHEN27GM.cjs} +11 -11
- package/dist/{chunk-ZK3AZ5YF.cjs.map → chunk-FHEN27GM.cjs.map} +1 -1
- package/dist/{chunk-EWOFXJGH.cjs → chunk-HGWC7ABT.cjs} +57 -57
- package/dist/{chunk-EWOFXJGH.cjs.map → chunk-HGWC7ABT.cjs.map} +1 -1
- package/dist/{chunk-UBRVIVY4.cjs → chunk-JGDDPNSC.cjs} +192 -192
- package/dist/{chunk-UBRVIVY4.cjs.map → chunk-JGDDPNSC.cjs.map} +1 -1
- package/dist/{chunk-QAVT6P5F.cjs → chunk-MDUAU74C.cjs} +28 -28
- package/dist/{chunk-QAVT6P5F.cjs.map → chunk-MDUAU74C.cjs.map} +1 -1
- package/dist/{chunk-CQ35OMPJ.cjs → chunk-MHORK6KM.cjs} +3 -3
- package/dist/{chunk-CQ35OMPJ.cjs.map → chunk-MHORK6KM.cjs.map} +1 -1
- package/dist/{chunk-ZZHHKE2Q.js → chunk-MUNVPRT2.js} +2 -2
- package/dist/{chunk-ZEG3ZJPY.cjs → chunk-MX7DNV7X.cjs} +33 -33
- package/dist/{chunk-ZEG3ZJPY.cjs.map → chunk-MX7DNV7X.cjs.map} +1 -1
- package/dist/{chunk-3T7ZP3TL.js → chunk-NNMAMTA5.js} +3 -3
- package/dist/{chunk-ACU7J5BL.cjs → chunk-OGE4GSLZ.cjs} +80 -80
- package/dist/{chunk-ACU7J5BL.cjs.map → chunk-OGE4GSLZ.cjs.map} +1 -1
- package/dist/{chunk-HQWZ4IXU.cjs → chunk-OWWICTQR.cjs} +21 -21
- package/dist/{chunk-HQWZ4IXU.cjs.map → chunk-OWWICTQR.cjs.map} +1 -1
- package/dist/{chunk-KVNA3HU2.js → chunk-PYEJL2UG.js} +3 -3
- package/dist/{chunk-M5HGULIY.js → chunk-QLJMXCB5.js} +5 -5
- package/dist/{chunk-3XDPXOMS.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-PMN7WDXI.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-HOLK4ZMT.js → chunk-U4QRK4MX.js} +3 -3
- package/dist/{chunk-F5Q3DTP5.js → chunk-UPKN5CYH.js} +6 -6
- package/dist/{chunk-YLVPQNLO.cjs → chunk-YYHYCQD6.cjs} +389 -359
- package/dist/chunk-YYHYCQD6.cjs.map +1 -0
- package/dist/{chunk-GBIC3VNA.js → chunk-ZRXJX3JK.js} +4 -4
- package/dist/{chunk-S7VW4HVL.cjs → chunk-ZY3Z3F4X.cjs} +20 -20
- package/dist/{chunk-S7VW4HVL.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 +11 -1
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.js +11 -1
- 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 +47 -16
- package/src/utils/__tests__/list-url.test.ts +6 -0
- package/src/utils/list-url.ts +8 -0
- package/src/utils/source-icons.ts +3 -0
- package/dist/chunk-YLVPQNLO.cjs.map +0 -1
- /package/dist/{chunk-DRZ224RU.js.map → chunk-2WLW5HDU.js.map} +0 -0
- /package/dist/{chunk-3OQIZPUX.js.map → chunk-3WZLPCJ7.js.map} +0 -0
- /package/dist/{chunk-Y22VQDVW.js.map → chunk-63PXZXCT.js.map} +0 -0
- /package/dist/{chunk-MEWAFY6X.js.map → chunk-7N2NJPUK.js.map} +0 -0
- /package/dist/{chunk-IKQVXZB5.js.map → chunk-A57HKYLY.js.map} +0 -0
- /package/dist/{chunk-YZLUOZKR.js.map → chunk-BKMSI2AW.js.map} +0 -0
- /package/dist/{chunk-N3RHX26N.js.map → chunk-DYXVQ24Q.js.map} +0 -0
- /package/dist/{chunk-ZZHHKE2Q.js.map → chunk-MUNVPRT2.js.map} +0 -0
- /package/dist/{chunk-3T7ZP3TL.js.map → chunk-NNMAMTA5.js.map} +0 -0
- /package/dist/{chunk-KVNA3HU2.js.map → chunk-PYEJL2UG.js.map} +0 -0
- /package/dist/{chunk-M5HGULIY.js.map → chunk-QLJMXCB5.js.map} +0 -0
- /package/dist/{chunk-3XDPXOMS.js.map → chunk-SEVD4AST.js.map} +0 -0
- /package/dist/{chunk-PMN7WDXI.js.map → chunk-T2JAJ7MR.js.map} +0 -0
- /package/dist/{chunk-HOLK4ZMT.js.map → chunk-U4QRK4MX.js.map} +0 -0
- /package/dist/{chunk-F5Q3DTP5.js.map → chunk-UPKN5CYH.js.map} +0 -0
- /package/dist/{chunk-GBIC3VNA.js.map → chunk-ZRXJX3JK.js.map} +0 -0
|
@@ -170,7 +170,7 @@ var _chunkGSQM4PDRcjs = require('./chunk-GSQM4PDR.cjs');
|
|
|
170
170
|
|
|
171
171
|
|
|
172
172
|
|
|
173
|
-
var
|
|
173
|
+
var _chunkSK4IVCSIcjs = require('./chunk-SK4IVCSI.cjs');
|
|
174
174
|
|
|
175
175
|
|
|
176
176
|
var _chunkWLSFBRT5cjs = require('./chunk-WLSFBRT5.cjs');
|
|
@@ -4758,7 +4758,7 @@ function MspOrganizationCard({
|
|
|
4758
4758
|
className
|
|
4759
4759
|
),
|
|
4760
4760
|
children: [
|
|
4761
|
-
/* @__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" }),
|
|
4762
4762
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
4763
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}`)) }),
|
|
4764
4764
|
website ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: website }) : null
|
|
@@ -4891,7 +4891,7 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
4891
4891
|
] })
|
|
4892
4892
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
4893
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,
|
|
4894
|
-
|
|
4894
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
4895
4895
|
{
|
|
4896
4896
|
src: userAvatar,
|
|
4897
4897
|
alt: userName,
|
|
@@ -7254,7 +7254,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
7254
7254
|
// Host-supplied brand icon (e.g. Mingo): render it directly,
|
|
7255
7255
|
// no filled pill — the icon carries its own brand accent.
|
|
7256
7256
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-shrink-0 items-center justify-center", children: assistantIcon })
|
|
7257
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7257
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.SquareAvatar, { ...avatarProps })),
|
|
7258
7258
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
7259
7259
|
"span",
|
|
7260
7260
|
{
|
|
@@ -8040,7 +8040,7 @@ ChatMessageList.displayName = "ChatMessageList";
|
|
|
8040
8040
|
// src/components/chat/hooks/use-proxied-image-url.ts
|
|
8041
8041
|
function useProxiedImageUrl(url) {
|
|
8042
8042
|
const r = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
|
|
8043
|
-
return _nullishCoalesce(
|
|
8043
|
+
return _nullishCoalesce(_chunkSK4IVCSIcjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
|
|
8044
8044
|
proxyPrefix: r.endpoints.imageProxyUrlPrefix,
|
|
8045
8045
|
skipDomains: r.endpoints.imageProxySkipDomains,
|
|
8046
8046
|
directHttps: true
|
|
@@ -8066,7 +8066,7 @@ function ChatMessageRow({ displayName, avatarUrl, timeLabel, body, footer }) {
|
|
|
8066
8066
|
height: 40,
|
|
8067
8067
|
onError: () => setFailedSrc(_nullishCoalesce(resolvedAvatar, () => ( null)))
|
|
8068
8068
|
}
|
|
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:
|
|
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) || "?" }),
|
|
8070
8070
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 max-w-full flex-1", children: [
|
|
8071
8071
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex min-w-0 max-w-full items-center gap-2", children: [
|
|
8072
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 }),
|
|
@@ -9346,7 +9346,7 @@ function MingoChatHistoryRow({
|
|
|
9346
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")
|
|
9347
9347
|
),
|
|
9348
9348
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9349
|
-
|
|
9349
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
9350
9350
|
{
|
|
9351
9351
|
variant: "round",
|
|
9352
9352
|
sizePx: 24,
|
|
@@ -10487,7 +10487,7 @@ function ChatPanelHeader({
|
|
|
10487
10487
|
avatar && (avatar.name || avatar.avatarUrl) ? (
|
|
10488
10488
|
// Owner avatar at the title cell's right edge (Figma 113:63273).
|
|
10489
10489
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10490
|
-
|
|
10490
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
10491
10491
|
{
|
|
10492
10492
|
variant: "round",
|
|
10493
10493
|
sizePx: 32,
|
|
@@ -10701,8 +10701,8 @@ function AttachmentChip({ attachment, onRemove, disabled, size: size2 = "default
|
|
|
10701
10701
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "truncate text-ods-text-primary text-h6", title: file.name, children: file.name }),
|
|
10702
10702
|
(!compact || status !== "ready") && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-ods-text-muted text-h6", children: [
|
|
10703
10703
|
status === "sniffing" && "Checking\u2026",
|
|
10704
|
-
status === "uploading" && `${progress}% \xB7 ${
|
|
10705
|
-
status === "ready" &&
|
|
10704
|
+
status === "uploading" && `${progress}% \xB7 ${_chunkSK4IVCSIcjs.formatFileSize.call(void 0, file.size)}`,
|
|
10705
|
+
status === "ready" && _chunkSK4IVCSIcjs.formatFileSize.call(void 0, file.size),
|
|
10706
10706
|
status === "error" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-error", title: errorMessage, children: _nullishCoalesce(errorMessage, () => ( "Upload failed")) })
|
|
10707
10707
|
] })
|
|
10708
10708
|
] }),
|
|
@@ -11499,10 +11499,10 @@ function resolveExternalNavigation(args) {
|
|
|
11499
11499
|
|
|
11500
11500
|
// src/components/chat/utils/execute-navigation.ts
|
|
11501
11501
|
function isForeignOriginHref(href) {
|
|
11502
|
-
return /^https?:\/\//i.test(href) && !
|
|
11502
|
+
return /^https?:\/\//i.test(href) && !_chunkSK4IVCSIcjs.isSameOriginAbsoluteHref.call(void 0, href);
|
|
11503
11503
|
}
|
|
11504
11504
|
function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
11505
|
-
const isNewTab = runtime ?
|
|
11505
|
+
const isNewTab = runtime ? _chunkSK4IVCSIcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
|
|
11506
11506
|
if (isNewTab) {
|
|
11507
11507
|
if (_optionalChain([runtime, 'optionalAccess', _203 => _203.navigation, 'access', _204 => _204.openExternal])) runtime.navigation.openExternal(href);
|
|
11508
11508
|
else window.open(href, "_blank", NEW_TAB_FEATURES);
|
|
@@ -11561,7 +11561,7 @@ function NavLinkAnchorViaRuntime({
|
|
|
11561
11561
|
const router = _chunkSADRZ4YIcjs.useRouter.call(void 0, );
|
|
11562
11562
|
const panel = useChatPanel();
|
|
11563
11563
|
const resolvedHref = resolveHrefForRuntime(href, runtime);
|
|
11564
|
-
const isNewTab =
|
|
11564
|
+
const isNewTab = _chunkSK4IVCSIcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
|
|
11565
11565
|
const onClick = (e) => {
|
|
11566
11566
|
const handled = executeNavigation({
|
|
11567
11567
|
event: e,
|
|
@@ -11573,7 +11573,7 @@ function NavLinkAnchorViaRuntime({
|
|
|
11573
11573
|
});
|
|
11574
11574
|
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _208 => _208.closeChat])) panel.closeChat();
|
|
11575
11575
|
};
|
|
11576
|
-
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 });
|
|
11577
11577
|
}
|
|
11578
11578
|
|
|
11579
11579
|
// src/components/chat/source-action-button.tsx
|
|
@@ -12815,9 +12815,9 @@ function UserDisplay({
|
|
|
12815
12815
|
}) {
|
|
12816
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: [
|
|
12817
12817
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12818
|
-
|
|
12818
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
12819
12819
|
{
|
|
12820
|
-
src: avatarUrl ?
|
|
12820
|
+
src: avatarUrl ? _chunkSK4IVCSIcjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
|
|
12821
12821
|
fallback: name,
|
|
12822
12822
|
alt: name,
|
|
12823
12823
|
sizePx: size2,
|
|
@@ -13317,7 +13317,7 @@ function VideoHoverPreviewSurface({
|
|
|
13317
13317
|
return () => io.disconnect();
|
|
13318
13318
|
}, [gateControlled]);
|
|
13319
13319
|
const showMedia = continuation || (gateControlled ? playerMounted : isNear);
|
|
13320
|
-
const { src: posterSrc, onError: onPosterError } =
|
|
13320
|
+
const { src: posterSrc, onError: onPosterError } = _chunkSK4IVCSIcjs.useCoverImageFallback.call(void 0, posterUrl);
|
|
13321
13321
|
const facadeSkipped = preload === "none" && !posterSrc;
|
|
13322
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: [
|
|
13323
13323
|
posterSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -13435,7 +13435,7 @@ function groupByAspectRatio(items, getAspectRatio) {
|
|
|
13435
13435
|
|
|
13436
13436
|
function VideoBitesStrip({
|
|
13437
13437
|
bites,
|
|
13438
|
-
title =
|
|
13438
|
+
title = _chunkSK4IVCSIcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
13439
13439
|
showTitle = true,
|
|
13440
13440
|
filterPublished = true,
|
|
13441
13441
|
profile = null,
|
|
@@ -13448,7 +13448,7 @@ function VideoBitesStrip({
|
|
|
13448
13448
|
cardHeightMobile = 300,
|
|
13449
13449
|
showChevrons = true,
|
|
13450
13450
|
onBiteNavigate,
|
|
13451
|
-
sortComparator =
|
|
13451
|
+
sortComparator = _chunkSK4IVCSIcjs.sortBitesByCreatedAtDesc,
|
|
13452
13452
|
className
|
|
13453
13453
|
}) {
|
|
13454
13454
|
const items = _react.useMemo.call(void 0, () => {
|
|
@@ -13673,7 +13673,7 @@ function EntityVideoSection({
|
|
|
13673
13673
|
title = "Video",
|
|
13674
13674
|
videoSummary,
|
|
13675
13675
|
videoBites,
|
|
13676
|
-
bitesTitle =
|
|
13676
|
+
bitesTitle = _chunkSK4IVCSIcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
13677
13677
|
filterPublishedBites = true,
|
|
13678
13678
|
bitesProfile = null,
|
|
13679
13679
|
bitesHref,
|
|
@@ -13912,7 +13912,7 @@ function ReviewStateBadge({ state, className = "" }) {
|
|
|
13912
13912
|
function GitHubActivityCard({ item, variant = "compact", className, anchorProps }) {
|
|
13913
13913
|
const kind = _nullishCoalesce(item.kind, () => ( "commit"));
|
|
13914
13914
|
const repo = _nullishCoalesce(_nullishCoalesce(item.repo, () => ( parseRepoFromUrl(item.url))), () => ( ""));
|
|
13915
|
-
const dateText =
|
|
13915
|
+
const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
13916
13916
|
const idLabel = formatActivityId(item.id, kind);
|
|
13917
13917
|
const { display: title, reviewState } = parseGithubTitle(item.title, kind);
|
|
13918
13918
|
const primaryText = kind === "pr_review" ? title.replace(/^by\s+/i, "").trim() || "Reviewer" : title;
|
|
@@ -13946,26 +13946,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
|
|
|
13946
13946
|
metaParts.push(
|
|
13947
13947
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
13948
13948
|
);
|
|
13949
|
-
const href =
|
|
13949
|
+
const href = _chunkSK4IVCSIcjs.safeHref.call(void 0, item.url);
|
|
13950
13950
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
13951
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13952
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
13953
|
-
/* @__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: [
|
|
13954
13954
|
reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
|
|
13955
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13955
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TITLE, children: primaryText })
|
|
13956
13956
|
] }),
|
|
13957
|
-
/* @__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: [
|
|
13958
13958
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
13959
13959
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
13960
13960
|
] }, i)) }) }),
|
|
13961
|
-
/* @__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 }) })
|
|
13962
13962
|
] }),
|
|
13963
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
|
|
13964
13964
|
] });
|
|
13965
13965
|
if (anchorProps) {
|
|
13966
|
-
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 });
|
|
13967
13967
|
}
|
|
13968
|
-
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 });
|
|
13969
13969
|
}
|
|
13970
13970
|
function GitHubActivityCardSkeleton({
|
|
13971
13971
|
variant = "compact",
|
|
@@ -13982,12 +13982,12 @@ function GitHubActivityCardSkeleton({
|
|
|
13982
13982
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
13983
13983
|
] });
|
|
13984
13984
|
}
|
|
13985
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
13986
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13987
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
13988
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13989
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13990
|
-
/* @__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 }) })
|
|
13991
13991
|
] }),
|
|
13992
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" }) })
|
|
13993
13993
|
] });
|
|
@@ -14011,7 +14011,7 @@ function parseChannelFromUrl(url) {
|
|
|
14011
14011
|
}
|
|
14012
14012
|
function SlackMessageCard({ item, variant = "compact", className, anchorProps }) {
|
|
14013
14013
|
const channel = _nullishCoalesce(_nullishCoalesce(item.channel, () => ( parseChannelFromUrl(item.url))), () => ( null));
|
|
14014
|
-
const dateText =
|
|
14014
|
+
const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
14015
14015
|
if (variant === "row") {
|
|
14016
14016
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14017
14017
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5EM6NGBKcjs.SlackIcon, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
@@ -14037,23 +14037,23 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
|
|
|
14037
14037
|
metaParts.push(
|
|
14038
14038
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
14039
14039
|
);
|
|
14040
|
-
const href =
|
|
14040
|
+
const href = _chunkSK4IVCSIcjs.safeHref.call(void 0, item.url);
|
|
14041
14041
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14042
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14043
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14044
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14045
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14046
|
-
/* @__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: [
|
|
14047
14047
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
14048
14048
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
14049
|
-
] }, 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 }) }) })
|
|
14050
14050
|
] }),
|
|
14051
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
|
|
14052
14052
|
] });
|
|
14053
14053
|
if (anchorProps) {
|
|
14054
|
-
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 });
|
|
14055
14055
|
}
|
|
14056
|
-
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 });
|
|
14057
14057
|
}
|
|
14058
14058
|
function SlackMessageCardSkeleton({
|
|
14059
14059
|
variant = "compact",
|
|
@@ -14068,12 +14068,12 @@ function SlackMessageCardSkeleton({
|
|
|
14068
14068
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
14069
14069
|
] });
|
|
14070
14070
|
}
|
|
14071
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14072
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14073
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14074
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14075
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14076
|
-
/* @__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" }) })
|
|
14077
14077
|
] }),
|
|
14078
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" }) })
|
|
14079
14079
|
] });
|
|
@@ -14104,12 +14104,12 @@ function statusScheme(status) {
|
|
|
14104
14104
|
function HubspotTicketCard({ item, variant = "compact", className, anchorProps }) {
|
|
14105
14105
|
const statusText = _nullishCoalesce(item.statusLabel, () => ( formatToken(item.status)));
|
|
14106
14106
|
const priorityText = formatToken(item.priority);
|
|
14107
|
-
const dateText =
|
|
14107
|
+
const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
14108
14108
|
if (variant === "row") {
|
|
14109
14109
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14110
14110
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "max-w-[260px] shrink-0 truncate text-ods-text-primary text-h6", children: item.title }),
|
|
14111
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,
|
|
14112
|
-
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,
|
|
14113
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
|
|
14114
14114
|
] });
|
|
14115
14115
|
}
|
|
@@ -14123,13 +14123,13 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14123
14123
|
metaParts.push(
|
|
14124
14124
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
14125
14125
|
);
|
|
14126
|
-
const href =
|
|
14126
|
+
const href = _chunkSK4IVCSIcjs.safeHref.call(void 0, item.url);
|
|
14127
14127
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14128
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14128
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14129
14129
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14130
|
-
/* @__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 }),
|
|
14131
14131
|
priorityText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14132
|
-
|
|
14132
|
+
_chunkSK4IVCSIcjs.StatusBadge,
|
|
14133
14133
|
{
|
|
14134
14134
|
text: priorityText,
|
|
14135
14135
|
variant: "button",
|
|
@@ -14138,7 +14138,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14138
14138
|
}
|
|
14139
14139
|
) : null,
|
|
14140
14140
|
statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14141
|
-
|
|
14141
|
+
_chunkSK4IVCSIcjs.StatusBadge,
|
|
14142
14142
|
{
|
|
14143
14143
|
text: statusText,
|
|
14144
14144
|
variant: "button",
|
|
@@ -14152,7 +14152,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14152
14152
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
|
|
14153
14153
|
] }) : null,
|
|
14154
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." }) }) }),
|
|
14155
|
-
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: [
|
|
14156
14156
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
14157
14157
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
14158
14158
|
] }, i)) }) }) : null
|
|
@@ -14160,9 +14160,9 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
14160
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
|
|
14161
14161
|
] });
|
|
14162
14162
|
if (anchorProps) {
|
|
14163
|
-
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 });
|
|
14164
14164
|
}
|
|
14165
|
-
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 });
|
|
14166
14166
|
}
|
|
14167
14167
|
function HubspotTicketCardSkeleton({
|
|
14168
14168
|
variant = "compact",
|
|
@@ -14176,8 +14176,8 @@ function HubspotTicketCardSkeleton({
|
|
|
14176
14176
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
14177
14177
|
] });
|
|
14178
14178
|
}
|
|
14179
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14180
|
-
/* @__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: [
|
|
14181
14181
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14182
14182
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14183
14183
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
|
|
@@ -14190,7 +14190,7 @@ function HubspotTicketCardSkeleton({
|
|
|
14190
14190
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
|
|
14191
14191
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
|
|
14192
14192
|
] }),
|
|
14193
|
-
/* @__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" }) })
|
|
14194
14194
|
] }),
|
|
14195
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" }) })
|
|
14196
14196
|
] });
|
|
@@ -14201,10 +14201,10 @@ function HubspotTicketCardSkeleton({
|
|
|
14201
14201
|
|
|
14202
14202
|
function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
14203
14203
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14204
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14204
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14205
14205
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14206
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14207
|
-
/* @__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" })
|
|
14208
14208
|
] }),
|
|
14209
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: [
|
|
14210
14210
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
|
|
@@ -14215,13 +14215,13 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
14215
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
|
|
14216
14216
|
] });
|
|
14217
14217
|
if (!anchorProps) {
|
|
14218
|
-
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 });
|
|
14219
14219
|
}
|
|
14220
|
-
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 });
|
|
14221
14221
|
}
|
|
14222
14222
|
function DataRoomDocCardSkeleton({ className }) {
|
|
14223
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14224
|
-
/* @__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: [
|
|
14225
14225
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
14226
14226
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14227
14227
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
|
|
@@ -14242,29 +14242,29 @@ function DataRoomDocCardSkeleton({ className }) {
|
|
|
14242
14242
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
14243
14243
|
const goalsCount = _optionalChain([campaign, 'access', _344 => _344.goals, 'optionalAccess', _345 => _345.length]) || 0;
|
|
14244
14244
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14245
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14246
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14247
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14248
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14249
|
-
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,
|
|
14250
14250
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
14251
14251
|
"Marketing campaign"
|
|
14252
14252
|
].filter(Boolean).join(" \xB7 ") }) }),
|
|
14253
|
-
/* @__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 }) })
|
|
14254
14254
|
] })
|
|
14255
14255
|
] });
|
|
14256
14256
|
if (anchorProps) {
|
|
14257
|
-
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 });
|
|
14258
14258
|
}
|
|
14259
|
-
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 });
|
|
14260
14260
|
}
|
|
14261
14261
|
function CampaignCardAdminSkeleton({ className }) {
|
|
14262
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14263
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14264
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14265
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14266
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14267
|
-
/* @__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" }) })
|
|
14268
14268
|
] })
|
|
14269
14269
|
] });
|
|
14270
14270
|
}
|
|
@@ -14273,14 +14273,14 @@ function CampaignCardAdminSkeleton({ className }) {
|
|
|
14273
14273
|
|
|
14274
14274
|
|
|
14275
14275
|
function GenericEntityCard({ item, className, anchorProps }) {
|
|
14276
|
-
const href =
|
|
14277
|
-
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" });
|
|
14278
14278
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14279
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14279
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkSK4IVCSIcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14280
14280
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14281
|
-
/* @__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 }),
|
|
14282
14282
|
item.badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14283
|
-
|
|
14283
|
+
_chunkSK4IVCSIcjs.StatusBadge,
|
|
14284
14284
|
{
|
|
14285
14285
|
text: item.badge.text,
|
|
14286
14286
|
variant: "button",
|
|
@@ -14298,18 +14298,18 @@ function GenericEntityCard({ item, className, anchorProps }) {
|
|
|
14298
14298
|
] }),
|
|
14299
14299
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-medium text-ods-text-primary", children: f.value })
|
|
14300
14300
|
] }, i)) }) : null,
|
|
14301
|
-
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
|
|
14302
14302
|
] }),
|
|
14303
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
|
|
14304
14304
|
] });
|
|
14305
14305
|
if (anchorProps) {
|
|
14306
|
-
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 });
|
|
14307
14307
|
}
|
|
14308
|
-
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 });
|
|
14309
14309
|
}
|
|
14310
14310
|
function GenericEntityCardSkeleton({ className }) {
|
|
14311
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14312
|
-
/* @__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: [
|
|
14313
14313
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
14314
14314
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14315
14315
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
|
|
@@ -14358,8 +14358,8 @@ function useChatCardItem(type, id) {
|
|
|
14358
14358
|
const res = await _chunkYH6IQTPIcjs.embedAuthedFetch.call(void 0, url);
|
|
14359
14359
|
if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
|
|
14360
14360
|
const data = await res.json();
|
|
14361
|
-
const items =
|
|
14362
|
-
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);
|
|
14363
14363
|
return _nullishCoalesce(match, () => ( null));
|
|
14364
14364
|
},
|
|
14365
14365
|
enabled: !!url && id.length > 0,
|
|
@@ -14392,7 +14392,7 @@ function useChatCardItem(type, id) {
|
|
|
14392
14392
|
function CardMedia({ imageSrc, imageAlt, icon }) {
|
|
14393
14393
|
if (imageSrc) {
|
|
14394
14394
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative block size-10 shrink-0", 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:
|
|
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) || "?" }),
|
|
14396
14396
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14397
14397
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
14398
14398
|
{
|
|
@@ -14550,7 +14550,7 @@ function resolveFetchedCardHref({
|
|
|
14550
14550
|
composeContentUrl
|
|
14551
14551
|
}) {
|
|
14552
14552
|
if (!composeContentUrl || !contentRefType || !id) return null;
|
|
14553
|
-
const canonicalType =
|
|
14553
|
+
const canonicalType = _chunkSK4IVCSIcjs.canonicalContentRefType.call(void 0, contentRefType);
|
|
14554
14554
|
return composeContentUrl({
|
|
14555
14555
|
// The card registry keys some entries by the legacy rail vocabulary
|
|
14556
14556
|
// (`blog_post_existing`) because that is what `buildListUrl` expects.
|
|
@@ -14578,6 +14578,7 @@ var SOURCE_ICON_NAMES = {
|
|
|
14578
14578
|
events: "calendar",
|
|
14579
14579
|
podcasts: "headphones",
|
|
14580
14580
|
"customer-interviews": "users",
|
|
14581
|
+
faqs: "info",
|
|
14581
14582
|
// Financials
|
|
14582
14583
|
"investor-updates": "mail",
|
|
14583
14584
|
"financial-kpis": "activity",
|
|
@@ -14626,6 +14627,7 @@ var SOURCE_LABELS_BY_TABLE = {
|
|
|
14626
14627
|
events: "Events",
|
|
14627
14628
|
podcasts: "Podcasts",
|
|
14628
14629
|
"customer-interviews": "Customer Interviews",
|
|
14630
|
+
faqs: "FAQs",
|
|
14629
14631
|
// Financials
|
|
14630
14632
|
"investor-updates": "Investor Updates",
|
|
14631
14633
|
"financial-kpis": "Financial KPIs",
|
|
@@ -14679,6 +14681,7 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
|
|
|
14679
14681
|
event: "events",
|
|
14680
14682
|
podcast: "podcasts",
|
|
14681
14683
|
customer_interview: "customer-interviews",
|
|
14684
|
+
faq: "faqs",
|
|
14682
14685
|
// Financials
|
|
14683
14686
|
investor_update: "investor-updates",
|
|
14684
14687
|
financial_kpi: "financial-kpis",
|
|
@@ -14751,16 +14754,16 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
14751
14754
|
if (docTarget) {
|
|
14752
14755
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
14753
14756
|
const base = `${_chunk23V5BSHDcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
14754
|
-
href = _nullishCoalesce(
|
|
14757
|
+
href = _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
|
|
14755
14758
|
targetPlatform = docTarget.platform;
|
|
14756
14759
|
} else if (ctx.chipBasePlatform) {
|
|
14757
14760
|
const base = `${_chunk23V5BSHDcjs.getBaseUrl.call(void 0, ctx.chipBasePlatform)}/knowledge-base/`;
|
|
14758
|
-
href = _nullishCoalesce(
|
|
14761
|
+
href = _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
|
|
14759
14762
|
targetPlatform = ctx.chipBasePlatform;
|
|
14760
14763
|
} else if (ctx.baseRoute) {
|
|
14761
14764
|
const synthetic = `https://_internal_.local${ctx.baseRoute.startsWith("/") ? ctx.baseRoute : "/" + ctx.baseRoute}/`;
|
|
14762
14765
|
const absolute = new URL(safePath, synthetic).toString();
|
|
14763
|
-
href = _nullishCoalesce(
|
|
14766
|
+
href = _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
|
|
14764
14767
|
targetPlatform = _nullishCoalesce(ctx.currentPlatform, () => ( null));
|
|
14765
14768
|
}
|
|
14766
14769
|
}
|
|
@@ -14769,15 +14772,15 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
14769
14772
|
// Canonical vocabulary only — a rail-vocab alias would miss the host's
|
|
14770
14773
|
// `hostedTypes` / `overrides` and fall through to the seam's default
|
|
14771
14774
|
// `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
|
|
14772
|
-
type:
|
|
14775
|
+
type: _chunkSK4IVCSIcjs.canonicalContentRefType.call(void 0, row.documentType),
|
|
14773
14776
|
identifier: idValue,
|
|
14774
14777
|
externalUrl: row.externalUrl,
|
|
14775
14778
|
targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
|
|
14776
14779
|
});
|
|
14777
|
-
href = composed.href ? _nullishCoalesce(
|
|
14780
|
+
href = composed.href ? _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
|
|
14778
14781
|
targetPlatform = composed.targetPlatform;
|
|
14779
14782
|
} else if (row.externalUrl) {
|
|
14780
|
-
href = _nullishCoalesce(
|
|
14783
|
+
href = _nullishCoalesce(_chunkSK4IVCSIcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
|
|
14781
14784
|
targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
|
|
14782
14785
|
}
|
|
14783
14786
|
const documentType = row.documentType;
|
|
@@ -14812,11 +14815,11 @@ function resolveSourceIcon(input, ctx = {}) {
|
|
|
14812
14815
|
|
|
14813
14816
|
function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
|
|
14814
14817
|
const label = entityLabel || "Item";
|
|
14815
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${
|
|
14816
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
14817
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
14818
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
14819
|
-
/* @__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: [
|
|
14820
14823
|
label,
|
|
14821
14824
|
" deleted",
|
|
14822
14825
|
recoveryNote ? ` \xB7 ${recoveryNote}` : ""
|
|
@@ -14862,7 +14865,7 @@ function GitHubChatCard({
|
|
|
14862
14865
|
const title = kind === "pr_review" ? display.replace(/^by\s+/i, "").trim() || "Reviewer" : display;
|
|
14863
14866
|
const status = kind === "pr_review" && reviewState ? { label: reviewStateLabel(reviewState), variant: reviewStateToVariant(reviewState) } : { label: kindLabel(kind), variant: "grey" };
|
|
14864
14867
|
const idLabel = formatActivityId(chatRef.id, kind);
|
|
14865
|
-
const dateText =
|
|
14868
|
+
const dateText = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
|
|
14866
14869
|
const description = [idLabel, dateText].filter(Boolean).join(" \xB7 ") || void 0;
|
|
14867
14870
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14868
14871
|
MingoInfoCard,
|
|
@@ -14871,7 +14874,7 @@ function GitHubChatCard({
|
|
|
14871
14874
|
description,
|
|
14872
14875
|
icon: githubKindIcon(kind),
|
|
14873
14876
|
status,
|
|
14874
|
-
anchorProps:
|
|
14877
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
14875
14878
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
14876
14879
|
menuAriaLabel: "Activity actions"
|
|
14877
14880
|
}
|
|
@@ -15018,7 +15021,7 @@ function HubspotTicketChatCard({
|
|
|
15018
15021
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15019
15022
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TagIcon, { size: 24 }),
|
|
15020
15023
|
status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
|
|
15021
|
-
anchorProps:
|
|
15024
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15022
15025
|
menuGroups: cardMenuGroups(chatRef.url, discuss, {
|
|
15023
15026
|
label: "Open Ticket Details",
|
|
15024
15027
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TagIcon, { size: 20 })
|
|
@@ -15041,7 +15044,7 @@ function FaqChatCard({
|
|
|
15041
15044
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15042
15045
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.QuestionCircleIcon, { size: 24 }),
|
|
15043
15046
|
status: { label: statusLabel, variant: "grey" },
|
|
15044
|
-
anchorProps:
|
|
15047
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15045
15048
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15046
15049
|
menuAriaLabel: "FAQ actions"
|
|
15047
15050
|
}
|
|
@@ -15061,13 +15064,13 @@ function SlackChatCard({
|
|
|
15061
15064
|
title,
|
|
15062
15065
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15063
15066
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.SlackLogoGreyIcon, { size: 24 }),
|
|
15064
|
-
anchorProps:
|
|
15067
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15065
15068
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15066
15069
|
menuAriaLabel: "Message actions"
|
|
15067
15070
|
}
|
|
15068
15071
|
);
|
|
15069
15072
|
}
|
|
15070
|
-
function
|
|
15073
|
+
function GlyphChatCard({
|
|
15071
15074
|
chatRef,
|
|
15072
15075
|
icon,
|
|
15073
15076
|
isNewTab,
|
|
@@ -15079,7 +15082,7 @@ function RefOnlyChatCard({
|
|
|
15079
15082
|
title: chatRef.title,
|
|
15080
15083
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15081
15084
|
icon,
|
|
15082
|
-
anchorProps:
|
|
15085
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15083
15086
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15084
15087
|
menuAriaLabel: "Card actions"
|
|
15085
15088
|
}
|
|
@@ -15098,7 +15101,7 @@ function DataRoomDocChatCard({
|
|
|
15098
15101
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
15099
15102
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.FileContentIcon, { size: 24 }),
|
|
15100
15103
|
status: { label: badgeText, variant: "grey" },
|
|
15101
|
-
anchorProps:
|
|
15104
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15102
15105
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15103
15106
|
menuAriaLabel: "Document actions"
|
|
15104
15107
|
}
|
|
@@ -15117,7 +15120,7 @@ function GenericFinancialChatCard({
|
|
|
15117
15120
|
title: chatRef.title,
|
|
15118
15121
|
description: subtitle,
|
|
15119
15122
|
icon,
|
|
15120
|
-
anchorProps:
|
|
15123
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15121
15124
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
15122
15125
|
menuAriaLabel: "Document actions"
|
|
15123
15126
|
}
|
|
@@ -15203,7 +15206,7 @@ function CampaignChatCard({
|
|
|
15203
15206
|
}) {
|
|
15204
15207
|
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _377 => _377.goals])) ? item.goals.length : 0;
|
|
15205
15208
|
const meta = [
|
|
15206
|
-
_optionalChain([item, 'optionalAccess', _378 => _378.start_date]) ?
|
|
15209
|
+
_optionalChain([item, 'optionalAccess', _378 => _378.start_date]) ? _chunkSK4IVCSIcjs.formatDateShort.call(void 0, item.start_date) : null,
|
|
15207
15210
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
15208
15211
|
"Marketing campaign"
|
|
15209
15212
|
].filter(Boolean).join(" \xB7 ");
|
|
@@ -15242,7 +15245,7 @@ function EntityMingoCard({
|
|
|
15242
15245
|
imageAlt: typeof title === "string" ? title : void 0,
|
|
15243
15246
|
icon: fallbackIcon,
|
|
15244
15247
|
status,
|
|
15245
|
-
anchorProps:
|
|
15248
|
+
anchorProps: _chunkSK4IVCSIcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
15246
15249
|
menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
|
|
15247
15250
|
menuAriaLabel
|
|
15248
15251
|
}
|
|
@@ -15254,7 +15257,7 @@ function entityCover(image, ogPlaceholder) {
|
|
|
15254
15257
|
function statusPill(status) {
|
|
15255
15258
|
const s = typeof status === "string" ? status.trim() : "";
|
|
15256
15259
|
if (!s) return void 0;
|
|
15257
|
-
const scheme =
|
|
15260
|
+
const scheme = _chunkSK4IVCSIcjs.getStatusColorScheme.call(void 0, s);
|
|
15258
15261
|
const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
|
|
15259
15262
|
return { label: s, variant };
|
|
15260
15263
|
}
|
|
@@ -15341,7 +15344,7 @@ function InvestorUpdateChatCard({
|
|
|
15341
15344
|
EntityMingoCard,
|
|
15342
15345
|
{
|
|
15343
15346
|
title,
|
|
15344
|
-
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,
|
|
15345
15348
|
cover: entityCover(_optionalChain([item, 'optionalAccess', _410 => _410.featured_image]), ogPlaceholder),
|
|
15346
15349
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PresentationLineIcon, { size: 24 }),
|
|
15347
15350
|
status: { label: "Investor update", variant: "grey" },
|
|
@@ -15388,15 +15391,15 @@ function ProgramChatCard({
|
|
|
15388
15391
|
const isScheduled = _optionalChain([item, 'optionalAccess', _417 => _417.status]) === "scheduled";
|
|
15389
15392
|
let typeMeta;
|
|
15390
15393
|
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _418 => _418.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
|
|
15391
|
-
typeMeta =
|
|
15394
|
+
typeMeta = _chunkSK4IVCSIcjs.formatDurationCompact.call(void 0, item.duration_seconds);
|
|
15392
15395
|
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _419 => _419.location_name]) === "string" && item.location_name.trim().length > 0) {
|
|
15393
15396
|
typeMeta = item.location_name;
|
|
15394
15397
|
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _420 => _420.start_at])) {
|
|
15395
|
-
const time =
|
|
15396
|
-
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);
|
|
15397
15400
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
15398
15401
|
}
|
|
15399
|
-
const itemDate =
|
|
15402
|
+
const itemDate = _chunkSK4IVCSIcjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.date]), () => ( null)), { fallback: "", timezone: "local" });
|
|
15400
15403
|
const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
|
|
15401
15404
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15402
15405
|
EntityMingoCard,
|
|
@@ -15423,7 +15426,7 @@ function RoadmapChatCard({
|
|
|
15423
15426
|
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _425 => _425.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
15424
15427
|
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _426 => _426.customItemId]) != null;
|
|
15425
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 });
|
|
15426
|
-
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 ? (
|
|
15427
15430
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
15428
15431
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
15429
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 })
|
|
@@ -15492,17 +15495,43 @@ var GITHUB_CARD_CONFIGS = {
|
|
|
15492
15495
|
github_pr_review: { label: "GitHub review", kind: "pr_review" },
|
|
15493
15496
|
github_pr_review_public: { label: "GitHub review (public)", kind: "pr_review" }
|
|
15494
15497
|
};
|
|
15495
|
-
var
|
|
15498
|
+
var REF_GLYPH_CARD_CONFIGS = {
|
|
15496
15499
|
design_doc: { label: "Design doc", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.FileContentIcon, { size: 24 }) },
|
|
15497
|
-
openframe_tenant: { label: "OpenFrame tenant", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.BuildingsIcon, { 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 = {
|
|
15498
15517
|
what_i_shipped: { label: "What I Shipped", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Rocket02Icon, { size: 24 }) },
|
|
15499
15518
|
how_i_work: { label: "How I Work", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.ClipboardListIcon, { size: 24 }) }
|
|
15500
15519
|
};
|
|
15501
|
-
function
|
|
15502
|
-
return registryEntries(
|
|
15520
|
+
function employeeEntryRegistryEntries() {
|
|
15521
|
+
return registryEntries(EMPLOYEE_ENTRY_CARD_CONFIGS, (cfg, docType) => ({
|
|
15503
15522
|
label: cfg.label,
|
|
15504
15523
|
bareInline: true,
|
|
15505
|
-
|
|
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
|
+
)
|
|
15506
15535
|
}));
|
|
15507
15536
|
}
|
|
15508
15537
|
function githubRegistryEntries() {
|
|
@@ -15521,7 +15550,7 @@ function programRegistryEntries() {
|
|
|
15521
15550
|
label: cfg.label,
|
|
15522
15551
|
contentRefType: cfg.contentRefType,
|
|
15523
15552
|
bareInline: true,
|
|
15524
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15553
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.ProgramCardSkeleton, { size: "sm" }),
|
|
15525
15554
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15526
15555
|
ProgramChatCard,
|
|
15527
15556
|
{
|
|
@@ -15531,7 +15560,7 @@ function programRegistryEntries() {
|
|
|
15531
15560
|
discuss: opts.discuss,
|
|
15532
15561
|
configKey: cfg.configKey,
|
|
15533
15562
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
15534
|
-
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))
|
|
15535
15564
|
}
|
|
15536
15565
|
)
|
|
15537
15566
|
}));
|
|
@@ -15552,7 +15581,7 @@ var ROADMAP_CARD_CONFIGS = {
|
|
|
15552
15581
|
// The card's destination IS the ClickUp deep link, derived from the
|
|
15553
15582
|
// task id post-fetch (the refs frame used to carry it).
|
|
15554
15583
|
noComposedHref: true,
|
|
15555
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15584
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _440 => _440.id]) != null ? clickupTaskUrl(String(item.id)) : null
|
|
15556
15585
|
}
|
|
15557
15586
|
};
|
|
15558
15587
|
function roadmapRegistryEntries() {
|
|
@@ -15562,7 +15591,7 @@ function roadmapRegistryEntries() {
|
|
|
15562
15591
|
bareInline: true,
|
|
15563
15592
|
...cfg.noComposedHref ? { noComposedHref: true } : {},
|
|
15564
15593
|
...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
|
|
15565
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15594
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.RoadmapCardSkeleton, { size: "sm" }),
|
|
15566
15595
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15567
15596
|
RoadmapChatCard,
|
|
15568
15597
|
{
|
|
@@ -15594,13 +15623,14 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15594
15623
|
DeletedDataCard,
|
|
15595
15624
|
{
|
|
15596
15625
|
title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
|
|
15597
|
-
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
15598
|
-
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))
|
|
15599
15628
|
}
|
|
15600
15629
|
)
|
|
15601
15630
|
},
|
|
15602
15631
|
// ───────── ref-only types (no list endpoint; the ChatRef IS the card) ─────────
|
|
15603
|
-
...
|
|
15632
|
+
...refGlyphRegistryEntries(),
|
|
15633
|
+
...employeeEntryRegistryEntries(),
|
|
15604
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 })),
|
|
15605
15635
|
// FAQ hydrates from its EXISTING public list API (`/api/faqs?ids=` —
|
|
15606
15636
|
// also feeding related-content rails, so its base path must not move).
|
|
@@ -15611,7 +15641,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15611
15641
|
bareInline: true,
|
|
15612
15642
|
contentRefType: "faq",
|
|
15613
15643
|
noComposedHref: true,
|
|
15614
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15644
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _445 => _445.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
|
|
15615
15645
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15616
15646
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15617
15647
|
},
|
|
@@ -15637,7 +15667,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15637
15667
|
label: "Blog post",
|
|
15638
15668
|
contentRefType: "blog_post_existing",
|
|
15639
15669
|
bareInline: true,
|
|
15640
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15670
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.BlogCardSkeleton, { size: "sm" }),
|
|
15641
15671
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15642
15672
|
BlogChatCard,
|
|
15643
15673
|
{
|
|
@@ -15645,8 +15675,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15645
15675
|
chatRef,
|
|
15646
15676
|
isNewTab: opts.isNewTab,
|
|
15647
15677
|
discuss: opts.discuss,
|
|
15648
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15649
|
-
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
|
|
15650
15680
|
}
|
|
15651
15681
|
)
|
|
15652
15682
|
},
|
|
@@ -15654,7 +15684,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15654
15684
|
label: "Case study",
|
|
15655
15685
|
contentRefType: "case_study",
|
|
15656
15686
|
bareInline: true,
|
|
15657
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15687
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.CaseStudyCardSkeleton, { size: "sm" }),
|
|
15658
15688
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15659
15689
|
CaseStudyChatCard,
|
|
15660
15690
|
{
|
|
@@ -15662,7 +15692,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15662
15692
|
chatRef,
|
|
15663
15693
|
isNewTab: opts.isNewTab,
|
|
15664
15694
|
discuss: opts.discuss,
|
|
15665
|
-
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))
|
|
15666
15696
|
}
|
|
15667
15697
|
)
|
|
15668
15698
|
},
|
|
@@ -15670,7 +15700,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15670
15700
|
label: "Customer interview",
|
|
15671
15701
|
contentRefType: "customer_interview",
|
|
15672
15702
|
bareInline: true,
|
|
15673
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15703
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.CustomerInterviewCardSkeleton, { size: "sm" }),
|
|
15674
15704
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15675
15705
|
CustomerInterviewChatCard,
|
|
15676
15706
|
{
|
|
@@ -15678,7 +15708,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15678
15708
|
chatRef,
|
|
15679
15709
|
isNewTab: opts.isNewTab,
|
|
15680
15710
|
discuss: opts.discuss,
|
|
15681
|
-
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))
|
|
15682
15712
|
}
|
|
15683
15713
|
)
|
|
15684
15714
|
},
|
|
@@ -15686,9 +15716,9 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15686
15716
|
label: "Product release",
|
|
15687
15717
|
contentRefType: "product_release",
|
|
15688
15718
|
bareInline: true,
|
|
15689
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15719
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.ProductReleaseCardSkeleton, { size: "sm" }),
|
|
15690
15720
|
render: (item, chatRef, opts) => {
|
|
15691
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15721
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _460 => _460.extras, 'optionalAccess', _461 => _461.buildProductReleaseCardProps]), () => ( _chunkSK4IVCSIcjs.defaultBuildProductReleaseCardProps));
|
|
15692
15722
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15693
15723
|
ProductReleaseChatCard,
|
|
15694
15724
|
{
|
|
@@ -15706,7 +15736,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15706
15736
|
label: "Investor update",
|
|
15707
15737
|
contentRefType: "investor_update",
|
|
15708
15738
|
bareInline: true,
|
|
15709
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15739
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.InvestorUpdateCardSkeleton, { size: "sm" }),
|
|
15710
15740
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15711
15741
|
InvestorUpdateChatCard,
|
|
15712
15742
|
{
|
|
@@ -15714,7 +15744,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15714
15744
|
chatRef,
|
|
15715
15745
|
isNewTab: opts.isNewTab,
|
|
15716
15746
|
discuss: opts.discuss,
|
|
15717
|
-
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))
|
|
15718
15748
|
}
|
|
15719
15749
|
)
|
|
15720
15750
|
},
|
|
@@ -15724,7 +15754,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15724
15754
|
bareInline: true,
|
|
15725
15755
|
// "Display" affordance (verbatim guide body) instead of "Ask".
|
|
15726
15756
|
displayAction: true,
|
|
15727
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15757
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSK4IVCSIcjs.OnboardingGuideCardSkeleton, { size: "sm" }),
|
|
15728
15758
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15729
15759
|
OnboardingGuideChatCard,
|
|
15730
15760
|
{
|
|
@@ -15732,7 +15762,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15732
15762
|
chatRef,
|
|
15733
15763
|
isNewTab: opts.isNewTab,
|
|
15734
15764
|
discuss: opts.discuss,
|
|
15735
|
-
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))
|
|
15736
15766
|
}
|
|
15737
15767
|
)
|
|
15738
15768
|
},
|
|
@@ -15743,7 +15773,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15743
15773
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
15744
15774
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
15745
15775
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
15746
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15776
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _470 => _470.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
|
|
15747
15777
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15748
15778
|
},
|
|
15749
15779
|
...roadmapRegistryEntries()
|
|
@@ -15762,13 +15792,13 @@ function ChatCardNavWrap({
|
|
|
15762
15792
|
if (!href) return;
|
|
15763
15793
|
const targetEl = e.target;
|
|
15764
15794
|
const host = e.currentTarget;
|
|
15765
|
-
if (!_optionalChain([host, 'optionalAccess',
|
|
15766
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
15767
|
-
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;
|
|
15768
15798
|
const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
|
|
15769
15799
|
if (!handled) return;
|
|
15770
15800
|
e.stopPropagation();
|
|
15771
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
15801
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _477 => _477.closeChat])) panel.closeChat();
|
|
15772
15802
|
};
|
|
15773
15803
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
15774
15804
|
}
|
|
@@ -15790,7 +15820,7 @@ function ChatCardLoader({
|
|
|
15790
15820
|
title: chatRef.title,
|
|
15791
15821
|
externalUrl: chatRef.url,
|
|
15792
15822
|
targetPlatform: chatRef.targetPlatform,
|
|
15793
|
-
path: typeof _optionalChain([chatRef, 'access',
|
|
15823
|
+
path: typeof _optionalChain([chatRef, 'access', _478 => _478.metadata, 'optionalAccess', _479 => _479.path]) === "string" ? chatRef.metadata.path : null
|
|
15794
15824
|
},
|
|
15795
15825
|
sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
|
|
15796
15826
|
);
|
|
@@ -15804,11 +15834,11 @@ function ChatCardLoader({
|
|
|
15804
15834
|
const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
|
|
15805
15835
|
const fetchEntry = entry && entry.contentRefType ? entry : null;
|
|
15806
15836
|
const { item, isLoading, isError, isFetched } = useChatCardItem(
|
|
15807
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
15837
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _480 => _480.contentRefType]), () => ( "")),
|
|
15808
15838
|
fetchEntry ? resolvedChatRef.id : ""
|
|
15809
15839
|
);
|
|
15810
15840
|
if (!entry) return null;
|
|
15811
|
-
const composedHref = _optionalChain([fetchEntry, 'optionalAccess',
|
|
15841
|
+
const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _481 => _481.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
|
|
15812
15842
|
contentRefType: fetchEntry.contentRefType,
|
|
15813
15843
|
id: resolvedChatRef.id,
|
|
15814
15844
|
item,
|
|
@@ -15816,18 +15846,18 @@ function ChatCardLoader({
|
|
|
15816
15846
|
}) : null;
|
|
15817
15847
|
const hrefChoice = fetchEntry && !resolvedChatRef.url && item ? pickFetchedCardHref({
|
|
15818
15848
|
composed: composedHref,
|
|
15819
|
-
itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access',
|
|
15849
|
+
itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _482 => _482.fallbackHref, 'optionalCall', _483 => _483(item)]), () => ( null)),
|
|
15820
15850
|
allowComposed: !fetchEntry.noComposedHref
|
|
15821
15851
|
}) : null;
|
|
15822
15852
|
const hrefResolvedChatRef = hrefChoice ? {
|
|
15823
15853
|
...resolvedChatRef,
|
|
15824
|
-
url:
|
|
15854
|
+
url: _chunkSK4IVCSIcjs.safeHref.call(void 0, hrefChoice.href),
|
|
15825
15855
|
// The `item` branch carries no platform of its own — keep the ref's.
|
|
15826
15856
|
targetPlatform: _nullishCoalesce(_nullishCoalesce(hrefChoice.targetPlatform, () => ( resolvedChatRef.targetPlatform)), () => ( null))
|
|
15827
15857
|
} : resolvedChatRef;
|
|
15828
15858
|
const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
|
|
15829
15859
|
const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
|
|
15830
|
-
const isNewTab =
|
|
15860
|
+
const isNewTab = _chunkSK4IVCSIcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
|
|
15831
15861
|
const useDisplay = !!entry.displayAction && !!onDisplay;
|
|
15832
15862
|
const discussFn = useDisplay ? onDisplay : onDiscuss;
|
|
15833
15863
|
const discuss = discussFn ? {
|
|
@@ -15850,7 +15880,7 @@ function ChatCardLoader({
|
|
|
15850
15880
|
isNewTab,
|
|
15851
15881
|
discuss
|
|
15852
15882
|
};
|
|
15853
|
-
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;
|
|
15854
15884
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15855
15885
|
ChatCardNavWrap,
|
|
15856
15886
|
{
|
|
@@ -15874,7 +15904,7 @@ function ChatCardLoader({
|
|
|
15874
15904
|
if (!fetchEntry) {
|
|
15875
15905
|
return finish(entry.render(void 0, finalChatRef, renderOpts));
|
|
15876
15906
|
}
|
|
15877
|
-
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)) });
|
|
15878
15908
|
if (!item) {
|
|
15879
15909
|
if (isError) {
|
|
15880
15910
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
|
|
@@ -16234,7 +16264,7 @@ function useChunkCatchup({
|
|
|
16234
16264
|
if (catchupRun.current === run) {
|
|
16235
16265
|
if (currentDialogId !== dialogIdRef.current) {
|
|
16236
16266
|
catchupRun.current = null;
|
|
16237
|
-
if (_optionalChain([pendingCatchupRef, 'access',
|
|
16267
|
+
if (_optionalChain([pendingCatchupRef, 'access', _488 => _488.current, 'optionalAccess', _489 => _489.dialogId]) === currentDialogId) {
|
|
16238
16268
|
pendingCatchupRef.current = null;
|
|
16239
16269
|
}
|
|
16240
16270
|
} else {
|
|
@@ -16245,7 +16275,7 @@ function useChunkCatchup({
|
|
|
16245
16275
|
if (pending.dialogId === currentDialogId) {
|
|
16246
16276
|
rearmForQueuedCatchup();
|
|
16247
16277
|
try {
|
|
16248
|
-
await _optionalChain([catchUpChunksRef, 'access',
|
|
16278
|
+
await _optionalChain([catchUpChunksRef, 'access', _490 => _490.current, 'optionalCall', _491 => _491(pending.fromSequenceId)]);
|
|
16249
16279
|
} catch (rerunError) {
|
|
16250
16280
|
console.error("Queued catch-up re-run failed:", rerunError);
|
|
16251
16281
|
}
|
|
@@ -16312,7 +16342,7 @@ function useChunkCatchup({
|
|
|
16312
16342
|
|
|
16313
16343
|
var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
|
|
16314
16344
|
function prefersReducedMotion() {
|
|
16315
|
-
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;
|
|
16316
16346
|
}
|
|
16317
16347
|
function useScriptedStream(frames, resetKey, enabled = true) {
|
|
16318
16348
|
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
@@ -16323,7 +16353,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
|
|
|
16323
16353
|
setIndex(0);
|
|
16324
16354
|
}
|
|
16325
16355
|
_react.useEffect.call(void 0, () => {
|
|
16326
|
-
const mq = _optionalChain([window, 'access',
|
|
16356
|
+
const mq = _optionalChain([window, 'access', _495 => _495.matchMedia, 'optionalCall', _496 => _496("(prefers-reduced-motion: reduce)")]);
|
|
16327
16357
|
const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
|
|
16328
16358
|
sync();
|
|
16329
16359
|
if (!mq) return void 0;
|
|
@@ -16466,7 +16496,7 @@ function useJetStreamDialogSubscription({
|
|
|
16466
16496
|
const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
|
|
16467
16497
|
conn: sharedConn,
|
|
16468
16498
|
wsUrl,
|
|
16469
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16499
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _497 => _497.current, 'optionalCall', _498 => _498()]),
|
|
16470
16500
|
backoff: reconnectionBackoffRef.current,
|
|
16471
16501
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16472
16502
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -16481,7 +16511,7 @@ function useJetStreamDialogSubscription({
|
|
|
16481
16511
|
setReconnectionCount((c) => c + 1);
|
|
16482
16512
|
}
|
|
16483
16513
|
hadConnectionBeforeRef.current = true;
|
|
16484
|
-
_optionalChain([onConnectRef, 'access',
|
|
16514
|
+
_optionalChain([onConnectRef, 'access', _499 => _499.current, 'optionalCall', _500 => _500()]);
|
|
16485
16515
|
}
|
|
16486
16516
|
if (status === "error") {
|
|
16487
16517
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -16491,7 +16521,7 @@ function useJetStreamDialogSubscription({
|
|
|
16491
16521
|
setIsConnected(false);
|
|
16492
16522
|
setIsSubscribed(false);
|
|
16493
16523
|
tearDownSubscription();
|
|
16494
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16524
|
+
_optionalChain([onDisconnectRef, 'access', _501 => _501.current, 'optionalCall', _502 => _502()]);
|
|
16495
16525
|
}
|
|
16496
16526
|
}
|
|
16497
16527
|
});
|
|
@@ -16617,7 +16647,7 @@ function useJetStreamDialogSubscription({
|
|
|
16617
16647
|
}
|
|
16618
16648
|
subscriptionRef.current = handle;
|
|
16619
16649
|
setIsSubscribed(true);
|
|
16620
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16650
|
+
_optionalChain([onSubscribedRef, 'access', _503 => _503.current, 'optionalCall', _504 => _504()]);
|
|
16621
16651
|
} catch (e50) {
|
|
16622
16652
|
if (!cancelled) {
|
|
16623
16653
|
setIsSubscribed(false);
|
|
@@ -16733,20 +16763,20 @@ function useNatsDialogSubscription({
|
|
|
16733
16763
|
const tearDownSubscriptions = () => {
|
|
16734
16764
|
subscriptionRefs.current.forEach((sub) => {
|
|
16735
16765
|
try {
|
|
16736
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16766
|
+
_optionalChain([sub, 'optionalAccess', _505 => _505.unsubscribe, 'call', _506 => _506()]);
|
|
16737
16767
|
} catch (e52) {
|
|
16738
16768
|
}
|
|
16739
16769
|
});
|
|
16740
16770
|
subscriptionRefs.current.clear();
|
|
16741
16771
|
lastSubscribedDialogIdRef.current = null;
|
|
16742
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16772
|
+
_optionalChain([abortControllerRef, 'access', _507 => _507.current, 'optionalAccess', _508 => _508.abort, 'call', _509 => _509()]);
|
|
16743
16773
|
abortControllerRef.current = null;
|
|
16744
16774
|
};
|
|
16745
16775
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
|
|
16746
16776
|
const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
|
|
16747
16777
|
conn: sharedConn,
|
|
16748
16778
|
wsUrl,
|
|
16749
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16779
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _510 => _510.current, 'optionalCall', _511 => _511()]),
|
|
16750
16780
|
backoff: reconnectionBackoffRef.current,
|
|
16751
16781
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16752
16782
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -16757,7 +16787,7 @@ function useNatsDialogSubscription({
|
|
|
16757
16787
|
setReconnectionCount((c) => c + 1);
|
|
16758
16788
|
}
|
|
16759
16789
|
hadConnectionBeforeRef.current = true;
|
|
16760
|
-
_optionalChain([onConnectRef, 'access',
|
|
16790
|
+
_optionalChain([onConnectRef, 'access', _512 => _512.current, 'optionalCall', _513 => _513()]);
|
|
16761
16791
|
}
|
|
16762
16792
|
if (status === "error") {
|
|
16763
16793
|
console.warn("[NATS] protocol error:", evt.data);
|
|
@@ -16767,7 +16797,7 @@ function useNatsDialogSubscription({
|
|
|
16767
16797
|
setIsConnected(false);
|
|
16768
16798
|
setIsSubscribed(false);
|
|
16769
16799
|
tearDownSubscriptions();
|
|
16770
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16800
|
+
_optionalChain([onDisconnectRef, 'access', _514 => _514.current, 'optionalCall', _515 => _515()]);
|
|
16771
16801
|
}
|
|
16772
16802
|
}
|
|
16773
16803
|
});
|
|
@@ -16798,13 +16828,13 @@ function useNatsDialogSubscription({
|
|
|
16798
16828
|
setIsSubscribed(false);
|
|
16799
16829
|
subscriptionRefs.current.forEach((sub) => {
|
|
16800
16830
|
try {
|
|
16801
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16831
|
+
_optionalChain([sub, 'optionalAccess', _516 => _516.unsubscribe, 'call', _517 => _517()]);
|
|
16802
16832
|
} catch (e53) {
|
|
16803
16833
|
}
|
|
16804
16834
|
});
|
|
16805
16835
|
subscriptionRefs.current.clear();
|
|
16806
16836
|
lastSubscribedDialogIdRef.current = null;
|
|
16807
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16837
|
+
_optionalChain([abortControllerRef, 'access', _518 => _518.current, 'optionalAccess', _519 => _519.abort, 'call', _520 => _520()]);
|
|
16808
16838
|
abortControllerRef.current = null;
|
|
16809
16839
|
}
|
|
16810
16840
|
return void 0;
|
|
@@ -16816,12 +16846,12 @@ function useNatsDialogSubscription({
|
|
|
16816
16846
|
if (subscriptionRefs.current.size > 0) {
|
|
16817
16847
|
subscriptionRefs.current.forEach((sub) => {
|
|
16818
16848
|
try {
|
|
16819
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16849
|
+
_optionalChain([sub, 'optionalAccess', _521 => _521.unsubscribe, 'call', _522 => _522()]);
|
|
16820
16850
|
} catch (e54) {
|
|
16821
16851
|
}
|
|
16822
16852
|
});
|
|
16823
16853
|
subscriptionRefs.current.clear();
|
|
16824
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16854
|
+
_optionalChain([abortControllerRef, 'access', _523 => _523.current, 'optionalAccess', _524 => _524.abort, 'call', _525 => _525()]);
|
|
16825
16855
|
}
|
|
16826
16856
|
abortControllerRef.current = new AbortController();
|
|
16827
16857
|
const abort = abortControllerRef.current;
|
|
@@ -16851,7 +16881,7 @@ function useNatsDialogSubscription({
|
|
|
16851
16881
|
});
|
|
16852
16882
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
16853
16883
|
setIsSubscribed(true);
|
|
16854
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16884
|
+
_optionalChain([onSubscribedRef, 'access', _526 => _526.current, 'optionalCall', _527 => _527()]);
|
|
16855
16885
|
};
|
|
16856
16886
|
if (isConnectedRef.current) {
|
|
16857
16887
|
createSubscriptions();
|
|
@@ -16862,7 +16892,7 @@ function useNatsDialogSubscription({
|
|
|
16862
16892
|
abort.abort();
|
|
16863
16893
|
subscriptions.forEach((sub) => {
|
|
16864
16894
|
try {
|
|
16865
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16895
|
+
_optionalChain([sub, 'optionalAccess', _528 => _528.unsubscribe, 'call', _529 => _529()]);
|
|
16866
16896
|
} catch (e56) {
|
|
16867
16897
|
}
|
|
16868
16898
|
});
|
|
@@ -16901,7 +16931,7 @@ function useNatsDialogSubscription({
|
|
|
16901
16931
|
});
|
|
16902
16932
|
lastSubscribedDialogIdRef.current = currentDialogId;
|
|
16903
16933
|
setIsSubscribed(true);
|
|
16904
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16934
|
+
_optionalChain([onSubscribedRef, 'access', _530 => _530.current, 'optionalCall', _531 => _531()]);
|
|
16905
16935
|
} else if (subscriptionRefs.current.size > 0) {
|
|
16906
16936
|
setIsSubscribed(true);
|
|
16907
16937
|
}
|
|
@@ -16909,10 +16939,10 @@ function useNatsDialogSubscription({
|
|
|
16909
16939
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
16910
16940
|
}
|
|
16911
16941
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
16912
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
16942
|
+
const path = _optionalChain([options, 'optionalAccess', _532 => _532.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
16913
16943
|
const u = new URL(path, apiBaseUrl);
|
|
16914
16944
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
16915
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
16945
|
+
if (_optionalChain([options, 'optionalAccess', _533 => _533.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _534 => _534.token])) {
|
|
16916
16946
|
u.searchParams.set("authorization", options.token);
|
|
16917
16947
|
}
|
|
16918
16948
|
return u.toString();
|
|
@@ -16930,7 +16960,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
16930
16960
|
const data = await res.json();
|
|
16931
16961
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
16932
16962
|
} catch (err) {
|
|
16933
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
16963
|
+
if (_optionalChain([err, 'optionalAccess', _535 => _535.name]) === "AbortError") throw err;
|
|
16934
16964
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
16935
16965
|
return [];
|
|
16936
16966
|
}
|
|
@@ -16938,8 +16968,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
16938
16968
|
var NO_COMMANDS = [];
|
|
16939
16969
|
function useSlashCommands(prefix, commandsUrl) {
|
|
16940
16970
|
const [answered, setAnswered] = _react.useState.call(void 0, null);
|
|
16941
|
-
const commands = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
16942
|
-
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;
|
|
16943
16973
|
_react.useEffect.call(void 0, () => {
|
|
16944
16974
|
if (prefix == null) return void 0;
|
|
16945
16975
|
let cancelled = false;
|
|
@@ -16949,7 +16979,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
16949
16979
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
16950
16980
|
if (!cancelled) setAnswered({ prefix, commands: next });
|
|
16951
16981
|
} catch (err) {
|
|
16952
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
16982
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _538 => _538.name]) !== "AbortError") {
|
|
16953
16983
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
16954
16984
|
setAnswered({ prefix, commands: NO_COMMANDS });
|
|
16955
16985
|
}
|
|
@@ -16972,7 +17002,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
16972
17002
|
const query = _reactquery.useQuery.call(void 0, {
|
|
16973
17003
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
16974
17004
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
16975
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17005
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _539 => _539.enabled]), () => ( true)),
|
|
16976
17006
|
staleTime: Infinity,
|
|
16977
17007
|
gcTime: Infinity,
|
|
16978
17008
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -17011,21 +17041,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
17011
17041
|
}
|
|
17012
17042
|
const data = await res.json();
|
|
17013
17043
|
return {
|
|
17014
|
-
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17015
|
-
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17016
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17017
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17018
|
-
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17019
|
-
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]), () => ( []))
|
|
17020
17050
|
};
|
|
17021
17051
|
} catch (err) {
|
|
17022
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
17052
|
+
if (_optionalChain([err, 'optionalAccess', _546 => _546.name]) === "AbortError") throw err;
|
|
17023
17053
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
17024
17054
|
return EMPTY_STATE_FALLBACK;
|
|
17025
17055
|
}
|
|
17026
17056
|
}
|
|
17027
17057
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
17028
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17058
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _547 => _547.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
17029
17059
|
const query = _reactquery.useQuery.call(void 0, {
|
|
17030
17060
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
17031
17061
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -17054,7 +17084,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
17054
17084
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
17055
17085
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
17056
17086
|
return new Promise((resolve, reject) => {
|
|
17057
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
17087
|
+
if (_optionalChain([signal, 'optionalAccess', _548 => _548.aborted])) {
|
|
17058
17088
|
reject(new Error("Upload cancelled"));
|
|
17059
17089
|
return;
|
|
17060
17090
|
}
|
|
@@ -17096,7 +17126,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
17096
17126
|
const handleSignalAbort = () => {
|
|
17097
17127
|
xhr.abort();
|
|
17098
17128
|
};
|
|
17099
|
-
_optionalChain([signal, 'optionalAccess',
|
|
17129
|
+
_optionalChain([signal, 'optionalAccess', _549 => _549.addEventListener, 'call', _550 => _550("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
|
|
17100
17130
|
xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
|
|
17101
17131
|
xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
|
|
17102
17132
|
xhr.addEventListener("error", handleError, { signal: listeners.signal });
|
|
@@ -17140,10 +17170,10 @@ function useChatAttachments() {
|
|
|
17140
17170
|
try {
|
|
17141
17171
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
17142
17172
|
} catch (err) {
|
|
17143
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17173
|
+
if (_optionalChain([ctrl, 'optionalAccess', _551 => _551.signal, 'access', _552 => _552.aborted])) return;
|
|
17144
17174
|
throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
|
|
17145
17175
|
}
|
|
17146
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17176
|
+
if (_optionalChain([ctrl, 'optionalAccess', _553 => _553.signal, 'access', _554 => _554.aborted])) return;
|
|
17147
17177
|
if (!sniffed) {
|
|
17148
17178
|
throw new Error("Unrecognized file format");
|
|
17149
17179
|
}
|
|
@@ -17157,7 +17187,7 @@ function useChatAttachments() {
|
|
|
17157
17187
|
const urlResp = await _chunkYH6IQTPIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
17158
17188
|
method: "POST",
|
|
17159
17189
|
headers: { "Content-Type": "application/json" },
|
|
17160
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
17190
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _555 => _555.signal]),
|
|
17161
17191
|
body: JSON.stringify({
|
|
17162
17192
|
fileName: att.file.name,
|
|
17163
17193
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -17186,9 +17216,9 @@ function useChatAttachments() {
|
|
|
17186
17216
|
(pct) => {
|
|
17187
17217
|
updateOne(att.id, { progress: pct });
|
|
17188
17218
|
},
|
|
17189
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
17219
|
+
_optionalChain([ctrl, 'optionalAccess', _556 => _556.signal])
|
|
17190
17220
|
);
|
|
17191
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17221
|
+
if (_optionalChain([ctrl, 'optionalAccess', _557 => _557.signal, 'access', _558 => _558.aborted])) return;
|
|
17192
17222
|
updateOne(att.id, {
|
|
17193
17223
|
status: "ready",
|
|
17194
17224
|
progress: 100,
|
|
@@ -17196,7 +17226,7 @@ function useChatAttachments() {
|
|
|
17196
17226
|
viewToken: mintData.viewToken
|
|
17197
17227
|
});
|
|
17198
17228
|
} catch (err) {
|
|
17199
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17229
|
+
if (_optionalChain([ctrl, 'optionalAccess', _559 => _559.signal, 'access', _560 => _560.aborted])) return;
|
|
17200
17230
|
const message = err instanceof Error ? err.message : String(err);
|
|
17201
17231
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
|
|
17202
17232
|
} finally {
|
|
@@ -17318,7 +17348,7 @@ function useChatAttachmentImageGallery() {
|
|
|
17318
17348
|
return () => root.removeEventListener("click", onClick);
|
|
17319
17349
|
}, [viewUrlPrefix]);
|
|
17320
17350
|
const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17321
|
-
|
|
17351
|
+
_chunkSK4IVCSIcjs.ImageGalleryModal,
|
|
17322
17352
|
{
|
|
17323
17353
|
images: state.images,
|
|
17324
17354
|
isOpen: state.isOpen,
|
|
@@ -17345,11 +17375,11 @@ var ANON_DEFAULTS = {
|
|
|
17345
17375
|
function useResolveChatIdentity(enabled) {
|
|
17346
17376
|
const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
|
|
17347
17377
|
const url = runtime.endpoints.identityUrl;
|
|
17348
|
-
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));
|
|
17349
17379
|
const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
|
|
17350
17380
|
const [resolved, setResolved] = _react.useState.call(void 0, null);
|
|
17351
|
-
const data = _optionalChain([resolved, 'optionalAccess',
|
|
17352
|
-
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;
|
|
17353
17383
|
_react.useEffect.call(void 0, () => {
|
|
17354
17384
|
if (requestKey === null) return void 0;
|
|
17355
17385
|
let cancelled = false;
|
|
@@ -17496,7 +17526,7 @@ function useChat({
|
|
|
17496
17526
|
onMessagesChangeRef.current = onMessagesChange;
|
|
17497
17527
|
});
|
|
17498
17528
|
_react.useEffect.call(void 0, () => {
|
|
17499
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
17529
|
+
_optionalChain([onMessagesChangeRef, 'access', _564 => _564.current, 'optionalCall', _565 => _565(messages)]);
|
|
17500
17530
|
}, [messages]);
|
|
17501
17531
|
const {
|
|
17502
17532
|
streamMessage,
|
|
@@ -17533,7 +17563,7 @@ function useChat({
|
|
|
17533
17563
|
name: "You",
|
|
17534
17564
|
content: text,
|
|
17535
17565
|
timestamp: /* @__PURE__ */ new Date(),
|
|
17536
|
-
..._optionalChain([options, 'optionalAccess',
|
|
17566
|
+
..._optionalChain([options, 'optionalAccess', _566 => _566.hidden]) ? { hidden: true } : {}
|
|
17537
17567
|
};
|
|
17538
17568
|
addMessage(userMessage);
|
|
17539
17569
|
setIsTyping(true);
|
|
@@ -17747,7 +17777,7 @@ function buildConfirmToolBody(request) {
|
|
|
17747
17777
|
async function readServerErrorMessage(response) {
|
|
17748
17778
|
try {
|
|
17749
17779
|
const body = await response.json();
|
|
17750
|
-
if (typeof _optionalChain([body, 'optionalAccess',
|
|
17780
|
+
if (typeof _optionalChain([body, 'optionalAccess', _567 => _567.error]) === "string" && body.error.length > 0) return body.error;
|
|
17751
17781
|
} catch (e58) {
|
|
17752
17782
|
}
|
|
17753
17783
|
return null;
|
|
@@ -18092,9 +18122,9 @@ function appendToTrailingAssistant(prev, segments) {
|
|
|
18092
18122
|
for (const seg of segments) {
|
|
18093
18123
|
const tail = merged[merged.length - 1];
|
|
18094
18124
|
const key = upsertKey(seg);
|
|
18095
|
-
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess',
|
|
18125
|
+
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _568 => _568.type]) === "text") {
|
|
18096
18126
|
merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
|
|
18097
|
-
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess',
|
|
18127
|
+
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _569 => _569.type]) === "thinking") {
|
|
18098
18128
|
merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
|
|
18099
18129
|
} else if (key) {
|
|
18100
18130
|
let idx = merged.findIndex((m) => upsertKey(m) === key);
|
|
@@ -18135,7 +18165,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18135
18165
|
}
|
|
18136
18166
|
if (s.type !== "approval_batch") return s;
|
|
18137
18167
|
const isAnchor = s.data.approvalRequestId === requestId;
|
|
18138
|
-
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)]);
|
|
18139
18169
|
if (!isAnchor && !hasRow) return s;
|
|
18140
18170
|
const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
|
|
18141
18171
|
const nextExecutions = hasRow ? {
|
|
@@ -18157,8 +18187,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18157
18187
|
};
|
|
18158
18188
|
}
|
|
18159
18189
|
function nextBatchExecution(prevExec, toolData) {
|
|
18160
|
-
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess',
|
|
18161
|
-
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]) };
|
|
18162
18192
|
}
|
|
18163
18193
|
function withBatchExecution(seg, execId, state) {
|
|
18164
18194
|
return {
|
|
@@ -18175,11 +18205,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
|
|
|
18175
18205
|
}
|
|
18176
18206
|
function projectBatchRowFailureToMessages(prev, rowRequestId) {
|
|
18177
18207
|
return mapSegments(prev, (s) => {
|
|
18178
|
-
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)])) {
|
|
18179
18209
|
return s;
|
|
18180
18210
|
}
|
|
18181
|
-
const existing = _optionalChain([s, 'access',
|
|
18182
|
-
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;
|
|
18183
18213
|
return withBatchExecution(s, rowRequestId, { status: "done", success: false });
|
|
18184
18214
|
});
|
|
18185
18215
|
}
|
|
@@ -18215,7 +18245,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
|
|
|
18215
18245
|
for (let j = message.segments.length - 1; j >= 0; j--) {
|
|
18216
18246
|
const seg = message.segments[j];
|
|
18217
18247
|
if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
|
|
18218
|
-
const prevExec = _optionalChain([seg, 'access',
|
|
18248
|
+
const prevExec = _optionalChain([seg, 'access', _585 => _585.data, 'access', _586 => _586.executions, 'optionalAccess', _587 => _587[execId]]);
|
|
18219
18249
|
const nextExec = nextBatchExecution(prevExec, toolData);
|
|
18220
18250
|
if (nextExec === null) return prev;
|
|
18221
18251
|
if (sameExecutionState(prevExec, nextExec)) return prev;
|
|
@@ -18388,9 +18418,9 @@ var MessageSegmentAccumulator = class {
|
|
|
18388
18418
|
type: "tool_execution",
|
|
18389
18419
|
data: {
|
|
18390
18420
|
...toolData,
|
|
18391
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18392
|
-
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18393
|
-
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])
|
|
18394
18424
|
}
|
|
18395
18425
|
};
|
|
18396
18426
|
if (existingIndex !== -1) {
|
|
@@ -18414,7 +18444,7 @@ var MessageSegmentAccumulator = class {
|
|
|
18414
18444
|
if (seg.type !== "approval_batch") return seg;
|
|
18415
18445
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
18416
18446
|
if (!hasCall) return seg;
|
|
18417
|
-
const prev = _optionalChain([seg, 'access',
|
|
18447
|
+
const prev = _optionalChain([seg, 'access', _595 => _595.data, 'access', _596 => _596.executions, 'optionalAccess', _597 => _597[execId]]);
|
|
18418
18448
|
const next = nextBatchExecution(prev, toolData);
|
|
18419
18449
|
matched = true;
|
|
18420
18450
|
if (next === null) return seg;
|
|
@@ -18548,8 +18578,8 @@ var MessageSegmentAccumulator = class {
|
|
|
18548
18578
|
requestId,
|
|
18549
18579
|
{
|
|
18550
18580
|
...pendingApproval,
|
|
18551
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
18552
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
18581
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _598 => _598.command]) || "",
|
|
18582
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _599 => _599.approvalType]) || approvalType
|
|
18553
18583
|
},
|
|
18554
18584
|
status
|
|
18555
18585
|
);
|
|
@@ -18574,9 +18604,9 @@ var MessageSegmentAccumulator = class {
|
|
|
18574
18604
|
type: "escalation_offer",
|
|
18575
18605
|
// The resolved chunk carries no text/origin — a redelivered offer must
|
|
18576
18606
|
// not blank the card the PENDING chunk already painted.
|
|
18577
|
-
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]))) },
|
|
18578
18608
|
status,
|
|
18579
|
-
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess',
|
|
18609
|
+
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _604 => _604.resolvedByName]))),
|
|
18580
18610
|
onApprove: this.callbacks.onEscalationApprove,
|
|
18581
18611
|
onReject: this.callbacks.onEscalationReject
|
|
18582
18612
|
};
|
|
@@ -18901,7 +18931,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
18901
18931
|
let stateCache = null;
|
|
18902
18932
|
function invalidate() {
|
|
18903
18933
|
stateCache = null;
|
|
18904
|
-
_optionalChain([onChange, 'optionalCall',
|
|
18934
|
+
_optionalChain([onChange, 'optionalCall', _605 => _605()]);
|
|
18905
18935
|
}
|
|
18906
18936
|
function getState() {
|
|
18907
18937
|
if (!stateCache) {
|
|
@@ -18917,7 +18947,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
18917
18947
|
return stateCache;
|
|
18918
18948
|
}
|
|
18919
18949
|
function emit(name, ...args) {
|
|
18920
|
-
_optionalChain([onEffect, 'optionalCall',
|
|
18950
|
+
_optionalChain([onEffect, 'optionalCall', _606 => _606({ name, args })]);
|
|
18921
18951
|
}
|
|
18922
18952
|
function setMessagesInternal(next) {
|
|
18923
18953
|
if (next !== messages) {
|
|
@@ -18948,12 +18978,12 @@ function createChatStreamReducer(options = {}) {
|
|
|
18948
18978
|
return [...next.slice(0, -1), { ...last, streamSeq: seq }];
|
|
18949
18979
|
}
|
|
18950
18980
|
function applySegmentsToState(segments, meta) {
|
|
18951
|
-
const seq = _optionalChain([meta, 'optionalAccess',
|
|
18952
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
18981
|
+
const seq = _optionalChain([meta, 'optionalAccess', _607 => _607.streamSeq]);
|
|
18982
|
+
if (_optionalChain([meta, 'optionalAccess', _608 => _608.append]) && meta.isCompacting) {
|
|
18953
18983
|
setMessagesInternal(stampTrailingAssistantSeq(upsertTrailingCompaction(messages, segments), seq));
|
|
18954
18984
|
return;
|
|
18955
18985
|
}
|
|
18956
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
18986
|
+
if (_optionalChain([meta, 'optionalAccess', _609 => _609.append])) {
|
|
18957
18987
|
setMessagesInternal(stampTrailingAssistantSeq(appendToTrailingAssistant(messages, segments), seq));
|
|
18958
18988
|
return;
|
|
18959
18989
|
}
|
|
@@ -18965,7 +18995,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
18965
18995
|
adoptTrailingAssistant = false;
|
|
18966
18996
|
const last = messages[messages.length - 1];
|
|
18967
18997
|
if (!last || last.role !== "assistant" || adoptTail) return;
|
|
18968
|
-
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access',
|
|
18998
|
+
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _610 => _610.segments, 'optionalAccess', _611 => _611.length]), () => ( 0))) > 0 || last.content !== "";
|
|
18969
18999
|
if (!hasContent) return;
|
|
18970
19000
|
setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
|
|
18971
19001
|
}
|
|
@@ -19175,13 +19205,13 @@ function createChatStreamReducer(options = {}) {
|
|
|
19175
19205
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
19176
19206
|
pendingEscalated.set(requestId, {
|
|
19177
19207
|
command: summary,
|
|
19178
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19208
|
+
explanation: _optionalChain([required, 'optionalAccess', _612 => _612.toolExplanation]),
|
|
19179
19209
|
approvalType,
|
|
19180
19210
|
toolCalls
|
|
19181
19211
|
});
|
|
19182
19212
|
emit("onEscalatedApproval", requestId, {
|
|
19183
19213
|
command: summary,
|
|
19184
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19214
|
+
explanation: _optionalChain([required, 'optionalAccess', _613 => _613.toolExplanation]),
|
|
19185
19215
|
approvalType
|
|
19186
19216
|
});
|
|
19187
19217
|
break;
|
|
@@ -19565,7 +19595,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19565
19595
|
const resolveBatch = (status, confirm) => async () => {
|
|
19566
19596
|
setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
|
|
19567
19597
|
for (const id of ids) {
|
|
19568
|
-
const ok = await _optionalChain([confirm, 'optionalCall',
|
|
19598
|
+
const ok = await _optionalChain([confirm, 'optionalCall', _614 => _614(id)]);
|
|
19569
19599
|
if (ok === false) {
|
|
19570
19600
|
setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
|
|
19571
19601
|
}
|
|
@@ -19701,8 +19731,8 @@ function createChatStreamReducer(options = {}) {
|
|
|
19701
19731
|
}
|
|
19702
19732
|
}
|
|
19703
19733
|
}
|
|
19704
|
-
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess',
|
|
19705
|
-
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();
|
|
19706
19736
|
invalidate();
|
|
19707
19737
|
}
|
|
19708
19738
|
return {
|
|
@@ -19787,7 +19817,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19787
19817
|
},
|
|
19788
19818
|
endSseTurn() {
|
|
19789
19819
|
const last = messages[messages.length - 1];
|
|
19790
|
-
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 === "") {
|
|
19791
19821
|
messages = messages.slice(0, -1);
|
|
19792
19822
|
}
|
|
19793
19823
|
sseCurrentText = "";
|
|
@@ -19940,10 +19970,10 @@ function createChatDialogStore(options = {}) {
|
|
|
19940
19970
|
if (onEvict) {
|
|
19941
19971
|
const sep = key.indexOf(KEY_SEP);
|
|
19942
19972
|
onEvict(key.slice(0, sep), key.slice(sep + 1), {
|
|
19943
|
-
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19944
|
-
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19945
|
-
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19946
|
-
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))
|
|
19947
19977
|
});
|
|
19948
19978
|
}
|
|
19949
19979
|
}
|
|
@@ -19953,12 +19983,12 @@ function createChatDialogStore(options = {}) {
|
|
|
19953
19983
|
const key = keyOf(dialogId, side);
|
|
19954
19984
|
let reducer = reducers.get(key);
|
|
19955
19985
|
if (!reducer) {
|
|
19956
|
-
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall',
|
|
19986
|
+
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _627 => _627(dialogId, side)]), () => ( {}));
|
|
19957
19987
|
const userOnChange = base.onChange;
|
|
19958
19988
|
reducer = createChatStreamReducer({
|
|
19959
19989
|
...base,
|
|
19960
19990
|
onChange: () => {
|
|
19961
|
-
_optionalChain([userOnChange, 'optionalCall',
|
|
19991
|
+
_optionalChain([userOnChange, 'optionalCall', _628 => _628()]);
|
|
19962
19992
|
notify();
|
|
19963
19993
|
}
|
|
19964
19994
|
});
|
|
@@ -20003,7 +20033,7 @@ function createChatDialogStore(options = {}) {
|
|
|
20003
20033
|
};
|
|
20004
20034
|
}
|
|
20005
20035
|
function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
|
|
20006
|
-
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));
|
|
20007
20037
|
}
|
|
20008
20038
|
function getServerSnapshot2() {
|
|
20009
20039
|
return EMPTY_STATE;
|
|
@@ -20095,7 +20125,7 @@ function createDeltaBatcher({
|
|
|
20095
20125
|
pending = [];
|
|
20096
20126
|
const key = pendingKey;
|
|
20097
20127
|
for (const delta of batch) applyOne(delta, key);
|
|
20098
|
-
_optionalChain([onFlushed, 'optionalCall',
|
|
20128
|
+
_optionalChain([onFlushed, 'optionalCall', _632 => _632(batch.length)]);
|
|
20099
20129
|
}
|
|
20100
20130
|
function schedule() {
|
|
20101
20131
|
if (raf !== null || timer !== null) return;
|
|
@@ -20119,7 +20149,7 @@ function createDeltaBatcher({
|
|
|
20119
20149
|
}
|
|
20120
20150
|
if (!isDeltaEvent(event)) return false;
|
|
20121
20151
|
const tail = pending[pending.length - 1];
|
|
20122
|
-
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;
|
|
20123
20153
|
if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
|
|
20124
20154
|
pending[pending.length - 1] = {
|
|
20125
20155
|
...tail,
|
|
@@ -20150,7 +20180,7 @@ function useChatStreamReducer({
|
|
|
20150
20180
|
side = DEFAULT_DIALOG_SIDE,
|
|
20151
20181
|
createReducerOptions
|
|
20152
20182
|
}) {
|
|
20153
|
-
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall',
|
|
20183
|
+
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _634 => _634()]), () => ( {})));
|
|
20154
20184
|
const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
|
|
20155
20185
|
const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
|
|
20156
20186
|
const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
|
|
@@ -20189,7 +20219,7 @@ var STORAGE_KEY = "conversation";
|
|
|
20189
20219
|
var namespaceFor = (source) => {
|
|
20190
20220
|
const base = `mingo-chat-${source}`;
|
|
20191
20221
|
const auth = _chunkYH6IQTPIcjs.getEmbedProxyAuth.call(void 0, );
|
|
20192
|
-
return _optionalChain([auth, 'optionalAccess',
|
|
20222
|
+
return _optionalChain([auth, 'optionalAccess', _635 => _635.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
|
|
20193
20223
|
};
|
|
20194
20224
|
function createChatConversationStorage(source) {
|
|
20195
20225
|
return _chunkYH6IQTPIcjs.createLocalStorageAdapter.call(void 0, {
|
|
@@ -20253,7 +20283,7 @@ function formatSingularLookupInvocation(cmdId, value) {
|
|
|
20253
20283
|
return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
|
|
20254
20284
|
}
|
|
20255
20285
|
function extractEntityIdFilter(override, expectedTableId) {
|
|
20256
|
-
const f = _optionalChain([override, 'optionalAccess',
|
|
20286
|
+
const f = _optionalChain([override, 'optionalAccess', _636 => _636.entityIdFilter]);
|
|
20257
20287
|
if (!f) return null;
|
|
20258
20288
|
const tableId = typeof f.tableId === "string" ? f.tableId : "";
|
|
20259
20289
|
const id = typeof f.id === "string" ? f.id : "";
|
|
@@ -20292,7 +20322,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
|
|
|
20292
20322
|
function buildAutoContinuationDirective(toolName, opts = {}) {
|
|
20293
20323
|
const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
|
|
20294
20324
|
const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
|
|
20295
|
-
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";
|
|
20296
20326
|
if (toolName === "create_ticket") {
|
|
20297
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.`;
|
|
20298
20328
|
}
|
|
@@ -20415,7 +20445,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20415
20445
|
const { active = true } = runtimeOptions;
|
|
20416
20446
|
const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
|
|
20417
20447
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
20418
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
20448
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _640 => _640.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
20419
20449
|
const sendMessageRef = _react.useRef.call(void 0,
|
|
20420
20450
|
() => Promise.resolve(true)
|
|
20421
20451
|
);
|
|
@@ -20452,7 +20482,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20452
20482
|
if (!restoredConversationRef.current) {
|
|
20453
20483
|
restoredConversationRef.current = true;
|
|
20454
20484
|
pruneStaleChatConversationStorage(source);
|
|
20455
|
-
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access',
|
|
20485
|
+
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _641 => _641.load, 'call', _642 => _642(), 'optionalAccess', _643 => _643.conversationId]), () => ( null));
|
|
20456
20486
|
}
|
|
20457
20487
|
const commandsUrl = runtime.endpoints.commandsUrl;
|
|
20458
20488
|
const { commands: slashCommands } = useSlashCommandRegistry(commandsUrl, {
|
|
@@ -20557,7 +20587,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20557
20587
|
const serverMessage = await readServerErrorMessage(response);
|
|
20558
20588
|
throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
|
|
20559
20589
|
}
|
|
20560
|
-
const reader = _optionalChain([response, 'access',
|
|
20590
|
+
const reader = _optionalChain([response, 'access', _644 => _644.body, 'optionalAccess', _645 => _645.getReader, 'call', _646 => _646()]);
|
|
20561
20591
|
if (!reader) throw new Error("No response body");
|
|
20562
20592
|
const frameDecoder = createSseFrameDecoder();
|
|
20563
20593
|
let finished = false;
|
|
@@ -20580,7 +20610,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20580
20610
|
}
|
|
20581
20611
|
return true;
|
|
20582
20612
|
} catch (err) {
|
|
20583
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
20613
|
+
if (_optionalChain([err, 'optionalAccess', _647 => _647.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
20584
20614
|
return true;
|
|
20585
20615
|
}
|
|
20586
20616
|
flushDeltas();
|
|
@@ -20600,7 +20630,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20600
20630
|
);
|
|
20601
20631
|
sendMessageRef.current = sendMessage;
|
|
20602
20632
|
const stopMessage = _react.useCallback.call(void 0, () => {
|
|
20603
|
-
_optionalChain([abortControllerRef, 'access',
|
|
20633
|
+
_optionalChain([abortControllerRef, 'access', _648 => _648.current, 'optionalAccess', _649 => _649.abort, 'call', _650 => _650()]);
|
|
20604
20634
|
flushDeltas();
|
|
20605
20635
|
mutate((r) => r.setPhase("idle"));
|
|
20606
20636
|
}, [mutate, flushDeltas]);
|
|
@@ -20616,7 +20646,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20616
20646
|
let sendIdx = -1;
|
|
20617
20647
|
return state.messages.map((m) => {
|
|
20618
20648
|
const segments = m.segments;
|
|
20619
|
-
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("")]), () => ( ""));
|
|
20620
20650
|
let sources;
|
|
20621
20651
|
let scrollAnchor;
|
|
20622
20652
|
if (m.role === "user" && !m.hidden) {
|
|
@@ -20625,7 +20655,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20625
20655
|
if (m.role === "assistant") {
|
|
20626
20656
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
20627
20657
|
sources = sourcesMap.get(lookupIdx);
|
|
20628
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access',
|
|
20658
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _657 => _657.get, 'call', _658 => _658(lookupIdx), 'optionalAccess', _659 => _659.scrollAnchor]), () => ( void 0));
|
|
20629
20659
|
}
|
|
20630
20660
|
return {
|
|
20631
20661
|
id: m.id,
|
|
@@ -20652,7 +20682,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20652
20682
|
);
|
|
20653
20683
|
return;
|
|
20654
20684
|
}
|
|
20655
|
-
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 : "";
|
|
20656
20686
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
20657
20687
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
20658
20688
|
const text = `/${cmdId} display "${escaped}"`;
|
|
@@ -20698,18 +20728,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20698
20728
|
/** True while the mount-time rebuild from the server transcript runs. */
|
|
20699
20729
|
isHydratingHistory,
|
|
20700
20730
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
20701
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20702
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20703
|
-
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)),
|
|
20704
20734
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
20705
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20735
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _665 => _665.inputTokens]), () => ( null)),
|
|
20706
20736
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
20707
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20737
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _666 => _666.outputTokens]), () => ( null)),
|
|
20708
20738
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
20709
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20739
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _667 => _667.cacheHitRatePct]), () => ( null)),
|
|
20710
20740
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
20711
20741
|
* token counts). null until the trailing usage frame lands. */
|
|
20712
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20742
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _668 => _668.breakdown]), () => ( null)),
|
|
20713
20743
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
20714
20744
|
// Guide mode keeps ONE server-side conversation per stored id
|
|
20715
20745
|
// (`chat_conversations`, hydrated on mount). Surfacing multiple threads
|
|
@@ -20954,7 +20984,7 @@ function decodeNatsChunk(chunk) {
|
|
|
20954
20984
|
userId: typeof data.userId === "string" ? data.userId : void 0,
|
|
20955
20985
|
// Wire shape carries no label; fall back to the id (parity with
|
|
20956
20986
|
// the history path in `process-historical-messages.ts`).
|
|
20957
|
-
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) => ({
|
|
20958
20988
|
type: it.type,
|
|
20959
20989
|
id: it.id,
|
|
20960
20990
|
label: it.id
|
|
@@ -21045,7 +21075,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
21045
21075
|
}
|
|
21046
21076
|
break;
|
|
21047
21077
|
case "approval_batch": {
|
|
21048
|
-
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");
|
|
21049
21079
|
if (segment.status !== "rejected" && !allDone) {
|
|
21050
21080
|
hasIncompleteState = true;
|
|
21051
21081
|
}
|
|
@@ -21107,11 +21137,11 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
21107
21137
|
function extractIncompleteTailState(messages) {
|
|
21108
21138
|
if (!messages || messages.length === 0) return void 0;
|
|
21109
21139
|
let start = messages.length;
|
|
21110
|
-
while (start > 0 && _optionalChain([messages, 'access',
|
|
21140
|
+
while (start > 0 && _optionalChain([messages, 'access', _675 => _675[start - 1], 'optionalAccess', _676 => _676.role]) === "assistant") start -= 1;
|
|
21111
21141
|
if (start === messages.length) return void 0;
|
|
21112
21142
|
const segments = [];
|
|
21113
21143
|
for (let i = start; i < messages.length; i += 1) {
|
|
21114
|
-
const content = _optionalChain([messages, 'access',
|
|
21144
|
+
const content = _optionalChain([messages, 'access', _677 => _677[i], 'optionalAccess', _678 => _678.content]);
|
|
21115
21145
|
if (Array.isArray(content)) segments.push(...content);
|
|
21116
21146
|
}
|
|
21117
21147
|
if (segments.length === 0) return void 0;
|
|
@@ -21124,15 +21154,15 @@ function extractIncompleteTailState(messages) {
|
|
|
21124
21154
|
|
|
21125
21155
|
// src/components/chat/utils/process-historical-messages.ts
|
|
21126
21156
|
function getOwnerDisplayName(owner) {
|
|
21127
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
21157
|
+
if (_optionalChain([owner, 'optionalAccess', _679 => _679.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
21128
21158
|
const { firstName, lastName } = owner.user;
|
|
21129
21159
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
21130
21160
|
if (name) return name;
|
|
21131
21161
|
}
|
|
21132
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
21162
|
+
return _optionalChain([owner, 'optionalAccess', _680 => _680.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
21133
21163
|
}
|
|
21134
21164
|
function getOwnerAvatar(owner) {
|
|
21135
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
21165
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _681 => _681.user, 'optionalAccess', _682 => _682.image, 'optionalAccess', _683 => _683.imageUrl]), () => ( void 0));
|
|
21136
21166
|
}
|
|
21137
21167
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
21138
21168
|
messageDataArray.forEach((data) => {
|
|
@@ -21316,7 +21346,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21316
21346
|
event.offerId,
|
|
21317
21347
|
event.text,
|
|
21318
21348
|
event.origin,
|
|
21319
|
-
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess',
|
|
21349
|
+
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _684 => _684[event.offerId]]), () => ( "pending"))
|
|
21320
21350
|
);
|
|
21321
21351
|
break;
|
|
21322
21352
|
case "ticket-escalated":
|
|
@@ -21350,7 +21380,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21350
21380
|
);
|
|
21351
21381
|
break;
|
|
21352
21382
|
case "escalation-offer-resolved":
|
|
21353
|
-
_optionalChain([offerResolutions, 'optionalAccess',
|
|
21383
|
+
_optionalChain([offerResolutions, 'optionalAccess', _685 => _685.set, 'call', _686 => _686(event.offerId, {
|
|
21354
21384
|
status: event.status,
|
|
21355
21385
|
resolvedByName: event.resolvedByName
|
|
21356
21386
|
})]);
|
|
@@ -21414,7 +21444,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21414
21444
|
}
|
|
21415
21445
|
}
|
|
21416
21446
|
} else {
|
|
21417
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21447
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _687 => _687.set, 'call', _688 => _688(event.requestId, {
|
|
21418
21448
|
command: event.command || "",
|
|
21419
21449
|
explanation: event.explanation,
|
|
21420
21450
|
approvalType,
|
|
@@ -21429,8 +21459,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21429
21459
|
const existingStatus = approvalStatuses[requestId];
|
|
21430
21460
|
const status = existingStatus || event.status;
|
|
21431
21461
|
const resolvedByName = event.resolvedByName;
|
|
21432
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21433
|
-
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) {
|
|
21434
21464
|
if (batchApprovalsEnabled) {
|
|
21435
21465
|
accumulator.addApprovalBatch(
|
|
21436
21466
|
requestId,
|
|
@@ -21452,7 +21482,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21452
21482
|
);
|
|
21453
21483
|
}
|
|
21454
21484
|
}
|
|
21455
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21485
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _692 => _692.delete, 'call', _693 => _693(requestId)]);
|
|
21456
21486
|
break;
|
|
21457
21487
|
}
|
|
21458
21488
|
if (escalatedData) {
|
|
@@ -21461,7 +21491,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21461
21491
|
explanation: escalatedData.explanation,
|
|
21462
21492
|
approvalType: escalatedData.approvalType
|
|
21463
21493
|
});
|
|
21464
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21494
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _694 => _694.delete, 'call', _695 => _695(requestId)]);
|
|
21465
21495
|
}
|
|
21466
21496
|
const before = accumulator.getSegments();
|
|
21467
21497
|
const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
|
|
@@ -21550,14 +21580,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
21550
21580
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
21551
21581
|
return;
|
|
21552
21582
|
}
|
|
21553
|
-
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;
|
|
21554
21584
|
if (isUserMessage) {
|
|
21555
21585
|
flushAssistantMessage();
|
|
21556
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
21586
|
+
const userAuthorType = _optionalChain([msg, 'access', _700 => _700.owner, 'optionalAccess', _701 => _701.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
21557
21587
|
messageDataArray.forEach((data) => {
|
|
21558
21588
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
21559
21589
|
const rawContext = data.contextItems;
|
|
21560
|
-
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;
|
|
21561
21591
|
processedMessages.push({
|
|
21562
21592
|
id: msg.id,
|
|
21563
21593
|
role: "user",
|
|
@@ -21600,7 +21630,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
21600
21630
|
});
|
|
21601
21631
|
const nextMsg = messages[index + 1];
|
|
21602
21632
|
const isLastMessage = index === messages.length - 1;
|
|
21603
|
-
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);
|
|
21604
21634
|
if (isLastMessage || nextIsFromUser) {
|
|
21605
21635
|
flushAssistantMessage();
|
|
21606
21636
|
}
|
|
@@ -21998,7 +22028,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
21998
22028
|
}, [active, fetchDialogs, loadDialogsPage]);
|
|
21999
22029
|
const sendMessage = _react.useCallback.call(void 0,
|
|
22000
22030
|
async (text, sendOptions) => {
|
|
22001
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
22031
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _708 => _708.hidden]), () => ( false));
|
|
22002
22032
|
mutate((r) => r.pushOptimisticSend(text, hidden));
|
|
22003
22033
|
await publishUserMessage(text, { hidden, dialogId });
|
|
22004
22034
|
},
|
|
@@ -22144,11 +22174,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
22144
22174
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
22145
22175
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
22146
22176
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
22147
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
22148
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
22149
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
22150
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
22151
|
-
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)),
|
|
22152
22182
|
currentCacheHitRatePct: null,
|
|
22153
22183
|
currentUsageBreakdown: null,
|
|
22154
22184
|
// Dialog management
|
|
@@ -22249,7 +22279,7 @@ function useUnifiedChat(options) {
|
|
|
22249
22279
|
[]
|
|
22250
22280
|
);
|
|
22251
22281
|
const displayRefForward = _react.useCallback.call(void 0,
|
|
22252
|
-
(ref) => _optionalChain([activeStateRef, 'access',
|
|
22282
|
+
(ref) => _optionalChain([activeStateRef, 'access', _715 => _715.current, 'access', _716 => _716.displayRef, 'optionalCall', _717 => _717(ref)]),
|
|
22253
22283
|
[]
|
|
22254
22284
|
);
|
|
22255
22285
|
const displayRef = activeState.displayRef ? displayRefForward : void 0;
|
|
@@ -22259,7 +22289,7 @@ function useUnifiedChat(options) {
|
|
|
22259
22289
|
const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
|
|
22260
22290
|
const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
|
|
22261
22291
|
const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
|
|
22262
|
-
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)]), []);
|
|
22263
22293
|
const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
|
|
22264
22294
|
const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
|
|
22265
22295
|
const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
|
|
@@ -22352,19 +22382,19 @@ function turnRequestKeys(content) {
|
|
|
22352
22382
|
if (!Array.isArray(content)) return keys;
|
|
22353
22383
|
for (const seg of content) {
|
|
22354
22384
|
if (seg.type === "tool_execution") {
|
|
22355
|
-
const id = _optionalChain([seg, 'access',
|
|
22385
|
+
const id = _optionalChain([seg, 'access', _721 => _721.data, 'optionalAccess', _722 => _722.toolExecutionRequestId]);
|
|
22356
22386
|
if (id) keys.add(id);
|
|
22357
22387
|
} else if (seg.type === "approval_request") {
|
|
22358
|
-
const id = _optionalChain([seg, 'access',
|
|
22388
|
+
const id = _optionalChain([seg, 'access', _723 => _723.data, 'optionalAccess', _724 => _724.requestId]);
|
|
22359
22389
|
if (id) keys.add(id);
|
|
22360
22390
|
} else if (seg.type === "escalation_offer") {
|
|
22361
|
-
const id = _optionalChain([seg, 'access',
|
|
22391
|
+
const id = _optionalChain([seg, 'access', _725 => _725.data, 'optionalAccess', _726 => _726.offerId]);
|
|
22362
22392
|
if (id) keys.add(id);
|
|
22363
22393
|
} else if (seg.type === "approval_batch") {
|
|
22364
22394
|
const data = seg.data;
|
|
22365
|
-
if (_optionalChain([data, 'optionalAccess',
|
|
22366
|
-
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
22367
|
-
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);
|
|
22368
22398
|
}
|
|
22369
22399
|
}
|
|
22370
22400
|
}
|
|
@@ -22416,18 +22446,18 @@ function mergeHistoryWithRealtime(input) {
|
|
|
22416
22446
|
}
|
|
22417
22447
|
}
|
|
22418
22448
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
22419
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
22420
|
-
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;
|
|
22421
22451
|
let processedToUse = processedHistory;
|
|
22422
22452
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
22423
22453
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
22424
22454
|
if (historyBatchId) {
|
|
22425
22455
|
const batchTwins = existingMessages.filter(
|
|
22426
|
-
(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)
|
|
22427
22457
|
);
|
|
22428
22458
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
22429
22459
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
22430
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
22460
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _738 => _738.content])) ? historyTrailingAssistant.content.length : 0;
|
|
22431
22461
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
22432
22462
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
22433
22463
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -22469,9 +22499,9 @@ function mergeHistoryWithRealtime(input) {
|
|
|
22469
22499
|
if (pinnedSyntheticIds.has(m.id)) return true;
|
|
22470
22500
|
if (droppedSyntheticIds.has(m.id)) return false;
|
|
22471
22501
|
if (processedIds.has(m.id)) return false;
|
|
22472
|
-
if (_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
22502
|
+
if (_optionalChain([rawHistoryIds, 'optionalAccess', _739 => _739.has, 'call', _740 => _740(m.id)])) return false;
|
|
22473
22503
|
if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
|
|
22474
|
-
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;
|
|
22475
22505
|
return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
|
|
22476
22506
|
}
|
|
22477
22507
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
@@ -22495,7 +22525,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
22495
22525
|
} else if (typeof m.streamSeq === "number") {
|
|
22496
22526
|
covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
|
|
22497
22527
|
} else {
|
|
22498
|
-
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;
|
|
22499
22529
|
}
|
|
22500
22530
|
if (covered) return false;
|
|
22501
22531
|
}
|
|
@@ -22565,7 +22595,7 @@ function normalizeHistoricalMessageData(md) {
|
|
|
22565
22595
|
function isHistoricalUserTurn(m) {
|
|
22566
22596
|
return !!m.owner;
|
|
22567
22597
|
}
|
|
22568
|
-
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess',
|
|
22598
|
+
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _747 => _747.type]) === "TEXT" && typeof d.text === "string";
|
|
22569
22599
|
var THINK_MS = 550;
|
|
22570
22600
|
var TOKEN_MS = 55;
|
|
22571
22601
|
var USER_MS = 480;
|
|
@@ -23185,7 +23215,7 @@ function useChatDialogManager({
|
|
|
23185
23215
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
23186
23216
|
if (restoreTarget) {
|
|
23187
23217
|
try {
|
|
23188
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
23218
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _748 => _748(restoreTarget.id)]);
|
|
23189
23219
|
} catch (err) {
|
|
23190
23220
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
23191
23221
|
return;
|
|
@@ -23368,7 +23398,7 @@ function SourceChip({
|
|
|
23368
23398
|
const Icon = cta.icon;
|
|
23369
23399
|
const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
|
|
23370
23400
|
const chipClass = chatChipClass({ tone: "secondary" });
|
|
23371
|
-
const decideTab = (href, targetPlatform) =>
|
|
23401
|
+
const decideTab = (href, targetPlatform) => _chunkSK4IVCSIcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
|
|
23372
23402
|
if (src.items && src.items.length > 0) {
|
|
23373
23403
|
const dropdownItems = src.items.map((item) => {
|
|
23374
23404
|
const itemCta = resolveSourceRowCTA(
|
|
@@ -23457,7 +23487,7 @@ function SourceChip({
|
|
|
23457
23487
|
"a",
|
|
23458
23488
|
{
|
|
23459
23489
|
href: resolvedHref,
|
|
23460
|
-
...
|
|
23490
|
+
..._chunkSK4IVCSIcjs.newTabAnchorAttrs.call(void 0, isNewTab),
|
|
23461
23491
|
onClick: buildClickHandler(resolvedHref, null, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
|
|
23462
23492
|
className: chipClass,
|
|
23463
23493
|
children: chipBody(src.name)
|
|
@@ -23473,7 +23503,7 @@ function SourceChip({
|
|
|
23473
23503
|
"a",
|
|
23474
23504
|
{
|
|
23475
23505
|
href: resolvedHref,
|
|
23476
|
-
...
|
|
23506
|
+
..._chunkSK4IVCSIcjs.newTabAnchorAttrs.call(void 0, isNewTab),
|
|
23477
23507
|
onClick: buildClickHandler(resolvedHref, src.path, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
|
|
23478
23508
|
className: chipClass,
|
|
23479
23509
|
title: displayName,
|
|
@@ -23665,7 +23695,7 @@ function EmbeddableChatInner({
|
|
|
23665
23695
|
}),
|
|
23666
23696
|
[commandsUrl]
|
|
23667
23697
|
);
|
|
23668
|
-
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;
|
|
23669
23699
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
23670
23700
|
if (modes) return modes;
|
|
23671
23701
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -23674,20 +23704,20 @@ function EmbeddableChatInner({
|
|
|
23674
23704
|
const mingoCaps = _react.useMemo.call(void 0, () => {
|
|
23675
23705
|
if (mingoState) {
|
|
23676
23706
|
return {
|
|
23677
|
-
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23678
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23679
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23680
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23681
|
-
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23682
|
-
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23683
|
-
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])
|
|
23684
23714
|
};
|
|
23685
23715
|
}
|
|
23686
23716
|
return {
|
|
23687
|
-
canRename: !!_optionalChain([effectiveModes, 'access',
|
|
23688
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
23689
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
23690
|
-
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]),
|
|
23691
23721
|
searchQuery: void 0,
|
|
23692
23722
|
onSearchChange: void 0,
|
|
23693
23723
|
onCopyLink: void 0
|
|
@@ -23702,7 +23732,7 @@ function EmbeddableChatInner({
|
|
|
23702
23732
|
if (controlledActiveMode === void 0) {
|
|
23703
23733
|
setUncontrolledActiveMode(next);
|
|
23704
23734
|
}
|
|
23705
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
23735
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _771 => _771(next)]);
|
|
23706
23736
|
},
|
|
23707
23737
|
[controlledActiveMode, onActiveModeChange]
|
|
23708
23738
|
);
|
|
@@ -23729,7 +23759,7 @@ function EmbeddableChatInner({
|
|
|
23729
23759
|
);
|
|
23730
23760
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
23731
23761
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
23732
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
23762
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _772 => _772.title]) === "string" ? guideWelcome.title : null)));
|
|
23733
23763
|
const {
|
|
23734
23764
|
messages: rawMessages,
|
|
23735
23765
|
isLoading: chatLoading,
|
|
@@ -23773,7 +23803,7 @@ function EmbeddableChatInner({
|
|
|
23773
23803
|
void sendMessage(guidePendingPrompt).catch((err) => {
|
|
23774
23804
|
console.error("[EmbeddableChat] guide launcher prompt failed:", err);
|
|
23775
23805
|
});
|
|
23776
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
23806
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _773 => _773()]);
|
|
23777
23807
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
23778
23808
|
const {
|
|
23779
23809
|
attachments: stagedAttachments,
|
|
@@ -23784,7 +23814,7 @@ function EmbeddableChatInner({
|
|
|
23784
23814
|
clear: clearAttachments
|
|
23785
23815
|
} = useChatAttachments();
|
|
23786
23816
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
23787
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
23817
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _774 => _774.maxItems]), () => ( 10));
|
|
23788
23818
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
23789
23819
|
const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
|
|
23790
23820
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -23805,10 +23835,10 @@ function EmbeddableChatInner({
|
|
|
23805
23835
|
}, [activeDialogId, activeMode]);
|
|
23806
23836
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
23807
23837
|
const m = /* @__PURE__ */ new Map();
|
|
23808
|
-
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);
|
|
23809
23839
|
return m;
|
|
23810
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
23811
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
23840
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _776 => _776.entityTypes])]);
|
|
23841
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _777 => _777.entityTypes]);
|
|
23812
23842
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
23813
23843
|
const byType = /* @__PURE__ */ new Map();
|
|
23814
23844
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -23820,7 +23850,7 @@ function EmbeddableChatInner({
|
|
|
23820
23850
|
if (mentionActiveRef.current) {
|
|
23821
23851
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
23822
23852
|
if (contextItems.length >= contextMaxItems) return;
|
|
23823
|
-
_optionalChain([chatInputRef, 'access',
|
|
23853
|
+
_optionalChain([chatInputRef, 'access', _778 => _778.current, 'optionalAccess', _779 => _779.commitMention, 'call', _780 => _780(mentionTokenOf(key, mentionMarkerByType), {
|
|
23824
23854
|
label: item.label,
|
|
23825
23855
|
icon: resolveContextIcon(item)
|
|
23826
23856
|
})]);
|
|
@@ -23843,9 +23873,9 @@ function EmbeddableChatInner({
|
|
|
23843
23873
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
23844
23874
|
if (mentionKeysRef.current.has(key)) {
|
|
23845
23875
|
mentionKeysRef.current.delete(key);
|
|
23846
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
23876
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _781 => _781.current, 'optionalAccess', _782 => _782.getValue, 'call', _783 => _783()]), () => ( ""));
|
|
23847
23877
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
23848
|
-
_optionalChain([chatInputRef, 'access',
|
|
23878
|
+
_optionalChain([chatInputRef, 'access', _784 => _784.current, 'optionalAccess', _785 => _785.setValue, 'call', _786 => _786(next)]);
|
|
23849
23879
|
}
|
|
23850
23880
|
},
|
|
23851
23881
|
[mentionMarkerByType]
|
|
@@ -23867,7 +23897,7 @@ function EmbeddableChatInner({
|
|
|
23867
23897
|
}, []);
|
|
23868
23898
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
23869
23899
|
if (mentionActiveRef.current) {
|
|
23870
|
-
_optionalChain([chatInputRef, 'access',
|
|
23900
|
+
_optionalChain([chatInputRef, 'access', _787 => _787.current, 'optionalAccess', _788 => _788.removeMentionTrigger, 'call', _789 => _789()]);
|
|
23871
23901
|
}
|
|
23872
23902
|
setContextPickerOpen(false);
|
|
23873
23903
|
setMentionQuery(null);
|
|
@@ -23901,8 +23931,8 @@ function EmbeddableChatInner({
|
|
|
23901
23931
|
[effectiveAssistantIcon]
|
|
23902
23932
|
);
|
|
23903
23933
|
const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
|
|
23904
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
23905
|
-
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;
|
|
23906
23936
|
const messages = _react.useMemo.call(void 0, () => {
|
|
23907
23937
|
const cache = timestampCache;
|
|
23908
23938
|
const seenIds = /* @__PURE__ */ new Set();
|
|
@@ -24091,9 +24121,9 @@ function EmbeddableChatInner({
|
|
|
24091
24121
|
const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
|
|
24092
24122
|
const lastSources = _react.useMemo.call(void 0, () => {
|
|
24093
24123
|
if (chatLoading) return void 0;
|
|
24094
|
-
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
24124
|
+
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _798 => _798.sources]);
|
|
24095
24125
|
if (!sources || sources.length === 0) return void 0;
|
|
24096
|
-
const content = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
24126
|
+
const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _799 => _799.content]) || "";
|
|
24097
24127
|
const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map((m) => parseInt(m[1], 10));
|
|
24098
24128
|
const seenOrder = /* @__PURE__ */ new Map();
|
|
24099
24129
|
citationOrder.forEach((idx) => {
|
|
@@ -24111,7 +24141,7 @@ function EmbeddableChatInner({
|
|
|
24111
24141
|
const el = panelMeasureRef.current;
|
|
24112
24142
|
if (!el || typeof ResizeObserver === "undefined") return void 0;
|
|
24113
24143
|
const ro = new ResizeObserver((entries) => {
|
|
24114
|
-
const w = _optionalChain([entries, 'access',
|
|
24144
|
+
const w = _optionalChain([entries, 'access', _800 => _800[0], 'optionalAccess', _801 => _801.contentRect, 'optionalAccess', _802 => _802.width]);
|
|
24115
24145
|
if (typeof w === "number") setPanelWidth(w);
|
|
24116
24146
|
});
|
|
24117
24147
|
ro.observe(el);
|
|
@@ -24154,17 +24184,17 @@ function EmbeddableChatInner({
|
|
|
24154
24184
|
const isMingoMode = activeMode === "mingo";
|
|
24155
24185
|
const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
|
|
24156
24186
|
const headerShowBack = hasConversation || guideCanReturnToMingo;
|
|
24157
|
-
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";
|
|
24158
24188
|
const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
|
|
24159
24189
|
const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
|
|
24160
24190
|
const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
|
|
24161
24191
|
const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
|
|
24162
24192
|
const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
|
|
24163
|
-
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;
|
|
24164
24194
|
const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
|
|
24165
|
-
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
24166
|
-
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess',
|
|
24167
|
-
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;
|
|
24168
24198
|
const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
|
|
24169
24199
|
const handleNewChat = _react.useCallback.call(void 0, () => {
|
|
24170
24200
|
resetToNewChat();
|
|
@@ -24310,7 +24340,7 @@ function EmbeddableChatInner({
|
|
|
24310
24340
|
headerAvatar ? (
|
|
24311
24341
|
// Owner avatar at the title cell's right edge (Figma 113:63273).
|
|
24312
24342
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24313
|
-
|
|
24343
|
+
_chunkSK4IVCSIcjs.SquareAvatar,
|
|
24314
24344
|
{
|
|
24315
24345
|
variant: "round",
|
|
24316
24346
|
sizePx: 32,
|
|
@@ -24494,9 +24524,9 @@ function EmbeddableChatInner({
|
|
|
24494
24524
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
24495
24525
|
subtitleLoading: emptyStateLoading,
|
|
24496
24526
|
...guideWelcome,
|
|
24497
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
24498
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
24499
|
-
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)),
|
|
24500
24530
|
onQuickAction: (action) => {
|
|
24501
24531
|
setQuickActionPreview(null);
|
|
24502
24532
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -24570,8 +24600,8 @@ function EmbeddableChatInner({
|
|
|
24570
24600
|
selectedContextItems: contextItems,
|
|
24571
24601
|
onToggleContextItem: toggleContextItem,
|
|
24572
24602
|
onRemoveContextItem: removeContextItem,
|
|
24573
|
-
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess',
|
|
24574
|
-
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess',
|
|
24603
|
+
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _821 => _821.items]),
|
|
24604
|
+
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _822 => _822.onRemove]),
|
|
24575
24605
|
contextPickerOpen,
|
|
24576
24606
|
onOpenContextPicker: openContextPicker,
|
|
24577
24607
|
onCloseContextPicker: closeContextPicker,
|
|
@@ -25033,4 +25063,4 @@ function EmbeddableChatInner({
|
|
|
25033
25063
|
|
|
25034
25064
|
|
|
25035
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;
|
|
25036
|
-
//# sourceMappingURL=chunk-
|
|
25066
|
+
//# sourceMappingURL=chunk-YYHYCQD6.cjs.map
|