@flamingo-stack/openframe-frontend-core 0.0.577 → 0.0.578-1950.5326.1
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-JQI726T3.js → chunk-3LMYQGAJ.js} +3 -2
- package/dist/chunk-3LMYQGAJ.js.map +1 -0
- package/dist/{chunk-RUJKOU5F.js → chunk-5IAGT5LB.js} +2 -2
- package/dist/{chunk-TU32TSAK.js → chunk-5NG2P2KI.js} +5 -5
- package/dist/{chunk-GDWBJFMG.cjs → chunk-ABWA3W3M.cjs} +32 -32
- package/dist/{chunk-GDWBJFMG.cjs.map → chunk-ABWA3W3M.cjs.map} +1 -1
- package/dist/{chunk-U3SDSA5K.js → chunk-AJ67T7LI.js} +4 -4
- package/dist/{chunk-THDGDYJ3.js → chunk-BFJBE4PQ.js} +5 -5
- package/dist/{chunk-KE2TCUOH.cjs → chunk-BLPGMX2L.cjs} +190 -190
- package/dist/{chunk-KE2TCUOH.cjs.map → chunk-BLPGMX2L.cjs.map} +1 -1
- package/dist/{chunk-HSOMYCUG.cjs → chunk-E5QAU63Y.cjs} +11 -11
- package/dist/{chunk-HSOMYCUG.cjs.map → chunk-E5QAU63Y.cjs.map} +1 -1
- package/dist/{chunk-ZBJ6XSDO.js → chunk-ESXUEMPA.js} +3 -3
- package/dist/{chunk-CFTZAZ7R.cjs → chunk-G3AJXLKH.cjs} +28 -28
- package/dist/{chunk-CFTZAZ7R.cjs.map → chunk-G3AJXLKH.cjs.map} +1 -1
- package/dist/{chunk-XG2WNF4L.cjs → chunk-GOEBT72V.cjs} +19 -19
- package/dist/{chunk-XG2WNF4L.cjs.map → chunk-GOEBT72V.cjs.map} +1 -1
- package/dist/{chunk-LYOGSVFO.js → chunk-IBSOYTGZ.js} +3 -3
- package/dist/{chunk-AQ5MZVYN.js → chunk-IWK2NFVR.js} +3 -3
- package/dist/{chunk-2YCUEUIZ.js → chunk-JJH4H4CJ.js} +6 -6
- package/dist/{chunk-RSMUAAPW.js → chunk-KLG3MGRP.js} +3 -3
- package/dist/{chunk-RNUH5IHZ.js → chunk-KPE277X2.js} +3 -3
- package/dist/{chunk-XBBCUC32.cjs → chunk-KQBYQBQN.cjs} +15 -15
- package/dist/{chunk-XBBCUC32.cjs.map → chunk-KQBYQBQN.cjs.map} +1 -1
- package/dist/{chunk-IQFXDS5O.js → chunk-LEUJNBWU.js} +7 -7
- package/dist/{chunk-4D2BR756.js → chunk-LPFA56WY.js} +52 -31
- package/dist/chunk-LPFA56WY.js.map +1 -0
- package/dist/{chunk-75X6BRID.cjs → chunk-M7FNT5AC.cjs} +453 -432
- package/dist/chunk-M7FNT5AC.cjs.map +1 -0
- package/dist/{chunk-JCH6HGQD.js → chunk-MCWAZ5XI.js} +2 -2
- package/dist/{chunk-ET3Q4FIZ.cjs → chunk-NJDL7F7K.cjs} +10 -10
- package/dist/{chunk-ET3Q4FIZ.cjs.map → chunk-NJDL7F7K.cjs.map} +1 -1
- package/dist/{chunk-MIY5FYX3.cjs → chunk-NNFQLTJ3.cjs} +4 -3
- package/dist/chunk-NNFQLTJ3.cjs.map +1 -0
- package/dist/{chunk-XBSW7IF6.cjs → chunk-NPNYQSCG.cjs} +21 -21
- package/dist/{chunk-XBSW7IF6.cjs.map → chunk-NPNYQSCG.cjs.map} +1 -1
- package/dist/{chunk-NQCGDZJ3.cjs → chunk-OIJWSYKP.cjs} +3 -3
- package/dist/{chunk-NQCGDZJ3.cjs.map → chunk-OIJWSYKP.cjs.map} +1 -1
- package/dist/{chunk-WOHHZZJK.cjs → chunk-POB6GNIR.cjs} +57 -57
- package/dist/{chunk-WOHHZZJK.cjs.map → chunk-POB6GNIR.cjs.map} +1 -1
- package/dist/{chunk-NEKT67O5.js → chunk-QHGARH6P.js} +6 -6
- package/dist/{chunk-5DPCIIJ7.cjs → chunk-R7OJZCE6.cjs} +80 -80
- package/dist/{chunk-5DPCIIJ7.cjs.map → chunk-R7OJZCE6.cjs.map} +1 -1
- package/dist/{chunk-6FJABKPX.cjs → chunk-SETRICAM.cjs} +6 -6
- package/dist/{chunk-6FJABKPX.cjs.map → chunk-SETRICAM.cjs.map} +1 -1
- package/dist/{chunk-4KR7JWKB.js → chunk-SHJXC7A4.js} +4 -4
- package/dist/{chunk-NP3XN6ZX.js → chunk-SNZZ6Q6G.js} +4 -4
- package/dist/chunk-SNZZ6Q6G.js.map +1 -0
- package/dist/{chunk-APFGR2KK.cjs → chunk-UQPA2XT7.cjs} +28 -28
- package/dist/{chunk-APFGR2KK.cjs.map → chunk-UQPA2XT7.cjs.map} +1 -1
- package/dist/{chunk-GPWU3PPR.cjs → chunk-VEHZNQ77.cjs} +30 -30
- package/dist/{chunk-GPWU3PPR.cjs.map → chunk-VEHZNQ77.cjs.map} +1 -1
- package/dist/{chunk-RCLJSENK.cjs → chunk-WUZQYZXI.cjs} +6 -6
- package/dist/{chunk-RCLJSENK.cjs.map → chunk-WUZQYZXI.cjs.map} +1 -1
- package/dist/{chunk-CIUYHBAY.cjs → chunk-YOYHJQX3.cjs} +5 -5
- package/dist/{chunk-CIUYHBAY.cjs.map → chunk-YOYHJQX3.cjs.map} +1 -1
- package/dist/{chunk-FCVAVOXS.js → chunk-ZBVMPVJF.js} +3 -3
- package/dist/components/case-studies/index.cjs +10 -10
- package/dist/components/case-studies/index.js +4 -4
- package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-unified-chat.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +3 -3
- package/dist/components/chat/index.js +2 -2
- package/dist/components/chat/nav-link-anchor-via-runtime.d.ts.map +1 -1
- package/dist/components/chat/types/unified-chat-state.types.d.ts +9 -2
- package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
- package/dist/components/chat/utils/chat-nav-resolution.d.ts +9 -3
- package/dist/components/chat/utils/chat-nav-resolution.d.ts.map +1 -1
- package/dist/components/chat/utils/execute-navigation.d.ts +11 -0
- package/dist/components/chat/utils/execute-navigation.d.ts.map +1 -1
- package/dist/components/chat/utils/index.d.ts +1 -1
- package/dist/components/chat/utils/index.d.ts.map +1 -1
- package/dist/components/chat/utils/nav-anchor-props.d.ts +4 -0
- package/dist/components/chat/utils/nav-anchor-props.d.ts.map +1 -1
- package/dist/components/chat/utils/resolve-fetched-card-href.d.ts +42 -3
- package/dist/components/chat/utils/resolve-fetched-card-href.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +5 -5
- package/dist/components/contact/index.js +4 -4
- package/dist/components/docs/index.cjs +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 +136 -136
- 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/content-href.d.ts +26 -5
- package/dist/utils/content-href.d.ts.map +1 -1
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/embeddable-chat.tsx +9 -2
- package/src/components/chat/entity-cards/.dispatch.md +1 -1
- package/src/components/chat/entity-cards/dispatch.tsx +43 -23
- package/src/components/chat/hooks/.use-unified-chat.md +5 -1
- package/src/components/chat/hooks/use-nats-chat-adapter.ts +4 -7
- package/src/components/chat/hooks/use-unified-chat.ts +8 -2
- package/src/components/chat/nav-link-anchor-via-runtime.tsx +8 -10
- package/src/components/chat/types/.unified-chat-state.types.md +2 -1
- package/src/components/chat/types/unified-chat-state.types.ts +9 -2
- package/src/components/chat/utils/__tests__/execute-navigation.test.ts +190 -0
- package/src/components/chat/utils/__tests__/resolve-fetched-card-href.test.ts +75 -2
- package/src/components/chat/utils/chat-nav-resolution.ts +9 -3
- package/src/components/chat/utils/execute-navigation.ts +32 -2
- package/src/components/chat/utils/index.ts +1 -1
- package/src/components/chat/utils/nav-anchor-props.ts +4 -2
- package/src/components/chat/utils/resolve-fetched-card-href.ts +50 -2
- package/src/utils/.content-href.md +1 -1
- package/src/utils/__tests__/content-href.test.ts +3 -0
- package/src/utils/content-href.ts +30 -3
- package/src/utils/index.ts +1 -0
- package/dist/chunk-4D2BR756.js.map +0 -1
- package/dist/chunk-75X6BRID.cjs.map +0 -1
- package/dist/chunk-JQI726T3.js.map +0 -1
- package/dist/chunk-MIY5FYX3.cjs.map +0 -1
- package/dist/chunk-NP3XN6ZX.js.map +0 -1
- package/dist/components/chat/utils/nav-click-handler.d.ts +0 -24
- package/dist/components/chat/utils/nav-click-handler.d.ts.map +0 -1
- package/src/components/chat/utils/.nav-click-handler.md +0 -43
- package/src/components/chat/utils/nav-click-handler.ts +0 -34
- /package/dist/{chunk-RUJKOU5F.js.map → chunk-5IAGT5LB.js.map} +0 -0
- /package/dist/{chunk-TU32TSAK.js.map → chunk-5NG2P2KI.js.map} +0 -0
- /package/dist/{chunk-U3SDSA5K.js.map → chunk-AJ67T7LI.js.map} +0 -0
- /package/dist/{chunk-THDGDYJ3.js.map → chunk-BFJBE4PQ.js.map} +0 -0
- /package/dist/{chunk-ZBJ6XSDO.js.map → chunk-ESXUEMPA.js.map} +0 -0
- /package/dist/{chunk-LYOGSVFO.js.map → chunk-IBSOYTGZ.js.map} +0 -0
- /package/dist/{chunk-AQ5MZVYN.js.map → chunk-IWK2NFVR.js.map} +0 -0
- /package/dist/{chunk-2YCUEUIZ.js.map → chunk-JJH4H4CJ.js.map} +0 -0
- /package/dist/{chunk-RSMUAAPW.js.map → chunk-KLG3MGRP.js.map} +0 -0
- /package/dist/{chunk-RNUH5IHZ.js.map → chunk-KPE277X2.js.map} +0 -0
- /package/dist/{chunk-IQFXDS5O.js.map → chunk-LEUJNBWU.js.map} +0 -0
- /package/dist/{chunk-JCH6HGQD.js.map → chunk-MCWAZ5XI.js.map} +0 -0
- /package/dist/{chunk-NEKT67O5.js.map → chunk-QHGARH6P.js.map} +0 -0
- /package/dist/{chunk-4KR7JWKB.js.map → chunk-SHJXC7A4.js.map} +0 -0
- /package/dist/{chunk-FCVAVOXS.js.map → chunk-ZBVMPVJF.js.map} +0 -0
|
@@ -166,7 +166,8 @@ var _chunkGSQM4PDRcjs = require('./chunk-GSQM4PDR.cjs');
|
|
|
166
166
|
|
|
167
167
|
|
|
168
168
|
|
|
169
|
-
|
|
169
|
+
|
|
170
|
+
var _chunkNNFQLTJ3cjs = require('./chunk-NNFQLTJ3.cjs');
|
|
170
171
|
|
|
171
172
|
|
|
172
173
|
var _chunkWLSFBRT5cjs = require('./chunk-WLSFBRT5.cjs');
|
|
@@ -4704,7 +4705,7 @@ function MspOrganizationCard({
|
|
|
4704
4705
|
className
|
|
4705
4706
|
),
|
|
4706
4707
|
children: [
|
|
4707
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4708
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.SquareAvatar, { src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
|
|
4708
4709
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
4709
4710
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h3", children: _nullishCoalesce(title, () => ( `Your IT is managed by ${name}`)) }),
|
|
4710
4711
|
website ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: website }) : null
|
|
@@ -4837,7 +4838,7 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
4837
4838
|
] })
|
|
4838
4839
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
4839
4840
|
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,
|
|
4840
|
-
|
|
4841
|
+
_chunkNNFQLTJ3cjs.SquareAvatar,
|
|
4841
4842
|
{
|
|
4842
4843
|
src: userAvatar,
|
|
4843
4844
|
alt: userName,
|
|
@@ -7200,7 +7201,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
7200
7201
|
// Host-supplied brand icon (e.g. Mingo): render it directly,
|
|
7201
7202
|
// no filled pill — the icon carries its own brand accent.
|
|
7202
7203
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-shrink-0 items-center justify-center", children: assistantIcon })
|
|
7203
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7204
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.SquareAvatar, { ...avatarProps })),
|
|
7204
7205
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
7205
7206
|
"span",
|
|
7206
7207
|
{
|
|
@@ -7988,7 +7989,7 @@ ChatMessageList.displayName = "ChatMessageList";
|
|
|
7988
7989
|
// src/components/chat/hooks/use-proxied-image-url.ts
|
|
7989
7990
|
function useProxiedImageUrl(url) {
|
|
7990
7991
|
const r = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
|
|
7991
|
-
return _nullishCoalesce(
|
|
7992
|
+
return _nullishCoalesce(_chunkNNFQLTJ3cjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
|
|
7992
7993
|
proxyPrefix: r.endpoints.imageProxyUrlPrefix,
|
|
7993
7994
|
skipDomains: r.endpoints.imageProxySkipDomains,
|
|
7994
7995
|
directHttps: true
|
|
@@ -8014,7 +8015,7 @@ function ChatMessageRow({ displayName, avatarUrl, timeLabel, body, footer }) {
|
|
|
8014
8015
|
height: 40,
|
|
8015
8016
|
onError: () => setFailedSrc(_nullishCoalesce(resolvedAvatar, () => ( null)))
|
|
8016
8017
|
}
|
|
8017
|
-
) : /* @__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:
|
|
8018
|
+
) : /* @__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: _chunkNNFQLTJ3cjs.getFirstLastInitials.call(void 0, displayName) || "?" }),
|
|
8018
8019
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 max-w-full flex-1", children: [
|
|
8019
8020
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex min-w-0 max-w-full items-center gap-2", children: [
|
|
8020
8021
|
/* @__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 }),
|
|
@@ -9294,7 +9295,7 @@ function MingoChatHistoryRow({
|
|
|
9294
9295
|
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")
|
|
9295
9296
|
),
|
|
9296
9297
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9297
|
-
|
|
9298
|
+
_chunkNNFQLTJ3cjs.SquareAvatar,
|
|
9298
9299
|
{
|
|
9299
9300
|
variant: "round",
|
|
9300
9301
|
sizePx: 24,
|
|
@@ -10434,7 +10435,7 @@ function ChatPanelHeader({
|
|
|
10434
10435
|
avatar && (avatar.name || avatar.avatarUrl) ? (
|
|
10435
10436
|
// Owner avatar at the title cell's right edge (Figma 113:63273).
|
|
10436
10437
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10437
|
-
|
|
10438
|
+
_chunkNNFQLTJ3cjs.SquareAvatar,
|
|
10438
10439
|
{
|
|
10439
10440
|
variant: "round",
|
|
10440
10441
|
sizePx: 32,
|
|
@@ -10648,8 +10649,8 @@ function AttachmentChip({ attachment, onRemove, disabled, size: size2 = "default
|
|
|
10648
10649
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "truncate text-ods-text-primary text-h6", title: file.name, children: file.name }),
|
|
10649
10650
|
(!compact || status !== "ready") && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-ods-text-muted text-h6", children: [
|
|
10650
10651
|
status === "sniffing" && "Checking\u2026",
|
|
10651
|
-
status === "uploading" && `${progress}% \xB7 ${
|
|
10652
|
-
status === "ready" &&
|
|
10652
|
+
status === "uploading" && `${progress}% \xB7 ${_chunkNNFQLTJ3cjs.formatFileSize.call(void 0, file.size)}`,
|
|
10653
|
+
status === "ready" && _chunkNNFQLTJ3cjs.formatFileSize.call(void 0, file.size),
|
|
10653
10654
|
status === "error" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-error", title: errorMessage, children: _nullishCoalesce(errorMessage, () => ( "Upload failed")) })
|
|
10654
10655
|
] })
|
|
10655
10656
|
] }),
|
|
@@ -11418,14 +11419,17 @@ function resolveExternalNavigation(args) {
|
|
|
11418
11419
|
}
|
|
11419
11420
|
|
|
11420
11421
|
// src/components/chat/utils/execute-navigation.ts
|
|
11422
|
+
function isForeignOriginHref(href) {
|
|
11423
|
+
return /^https?:\/\//i.test(href) && !_chunkNNFQLTJ3cjs.isSameOriginAbsoluteHref.call(void 0, href);
|
|
11424
|
+
}
|
|
11421
11425
|
function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
11422
|
-
const isNewTab = runtime ?
|
|
11426
|
+
const isNewTab = runtime ? _chunkNNFQLTJ3cjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
|
|
11423
11427
|
if (isNewTab) {
|
|
11424
11428
|
if (_optionalChain([runtime, 'optionalAccess', _203 => _203.navigation, 'access', _204 => _204.openExternal])) runtime.navigation.openExternal(href);
|
|
11425
11429
|
else window.open(href, "_blank", NEW_TAB_FEATURES);
|
|
11426
11430
|
return;
|
|
11427
11431
|
}
|
|
11428
|
-
const target = stripSameOriginToPath(href);
|
|
11432
|
+
const target = isForeignOriginHref(href) ? href : stripSameOriginToPath(href);
|
|
11429
11433
|
if (target.includes("#") && _chunk36NFJULVcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunk36NFJULVcjs.STICKY_HEADER_OFFSET_PX })) {
|
|
11430
11434
|
return;
|
|
11431
11435
|
}
|
|
@@ -11461,10 +11465,8 @@ function executeNavigationImperative({
|
|
|
11461
11465
|
}) {
|
|
11462
11466
|
runNavigation(runtime, href, void 0, targetPlatform, fallbackNavigate);
|
|
11463
11467
|
}
|
|
11464
|
-
|
|
11465
|
-
|
|
11466
|
-
function handleChatNavClick(e, runtime, { href, path, targetPlatform }, fallbackNavigate) {
|
|
11467
|
-
return executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate });
|
|
11468
|
+
function handleChatNavClick(event, runtime, { href, path, targetPlatform }, fallbackNavigate) {
|
|
11469
|
+
return executeNavigation({ event, runtime, href, path, targetPlatform, fallbackNavigate });
|
|
11468
11470
|
}
|
|
11469
11471
|
|
|
11470
11472
|
// src/components/chat/nav-link-anchor-via-runtime.tsx
|
|
@@ -11480,21 +11482,19 @@ function NavLinkAnchorViaRuntime({
|
|
|
11480
11482
|
const router = _chunkSADRZ4YIcjs.useRouter.call(void 0, );
|
|
11481
11483
|
const panel = useChatPanel();
|
|
11482
11484
|
const resolvedHref = resolveHrefForRuntime(href, runtime);
|
|
11483
|
-
const isNewTab =
|
|
11485
|
+
const isNewTab = _chunkNNFQLTJ3cjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
|
|
11484
11486
|
const onClick = (e) => {
|
|
11485
|
-
const handled =
|
|
11486
|
-
e,
|
|
11487
|
+
const handled = executeNavigation({
|
|
11488
|
+
event: e,
|
|
11487
11489
|
runtime,
|
|
11488
|
-
|
|
11489
|
-
|
|
11490
|
-
|
|
11491
|
-
|
|
11492
|
-
|
|
11493
|
-
router.push
|
|
11494
|
-
);
|
|
11490
|
+
href: resolvedHref,
|
|
11491
|
+
path,
|
|
11492
|
+
targetPlatform,
|
|
11493
|
+
fallbackNavigate: router.push
|
|
11494
|
+
});
|
|
11495
11495
|
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _208 => _208.closeChat])) panel.closeChat();
|
|
11496
11496
|
};
|
|
11497
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: resolvedHref, ...
|
|
11497
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: resolvedHref, ..._chunkNNFQLTJ3cjs.newTabAnchorAttrs.call(void 0, isNewTab), onClick, className, children });
|
|
11498
11498
|
}
|
|
11499
11499
|
|
|
11500
11500
|
// src/components/chat/source-action-button.tsx
|
|
@@ -12612,9 +12612,9 @@ function UserDisplay({
|
|
|
12612
12612
|
}) {
|
|
12613
12613
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex min-w-0 items-center gap-2", className), children: [
|
|
12614
12614
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12615
|
-
|
|
12615
|
+
_chunkNNFQLTJ3cjs.SquareAvatar,
|
|
12616
12616
|
{
|
|
12617
|
-
src: avatarUrl ?
|
|
12617
|
+
src: avatarUrl ? _chunkNNFQLTJ3cjs.getProxiedImageUrl.call(void 0, avatarUrl) || avatarUrl : void 0,
|
|
12618
12618
|
fallback: name,
|
|
12619
12619
|
alt: name,
|
|
12620
12620
|
sizePx: size2,
|
|
@@ -13114,7 +13114,7 @@ function VideoHoverPreviewSurface({
|
|
|
13114
13114
|
return () => io.disconnect();
|
|
13115
13115
|
}, [gateControlled]);
|
|
13116
13116
|
const showMedia = continuation || (gateControlled ? playerMounted : isNear);
|
|
13117
|
-
const { src: posterSrc, onError: onPosterError } =
|
|
13117
|
+
const { src: posterSrc, onError: onPosterError } = _chunkNNFQLTJ3cjs.useCoverImageFallback.call(void 0, posterUrl);
|
|
13118
13118
|
const facadeSkipped = preload === "none" && !posterSrc;
|
|
13119
13119
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootElRef, className: _chunkPRPZBXWZcjs.cn.call(void 0, "absolute inset-0", className), inert: isClone || void 0, children: showMedia ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
13120
13120
|
posterSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -13232,7 +13232,7 @@ function groupByAspectRatio(items, getAspectRatio) {
|
|
|
13232
13232
|
|
|
13233
13233
|
function VideoBitesStrip({
|
|
13234
13234
|
bites,
|
|
13235
|
-
title =
|
|
13235
|
+
title = _chunkNNFQLTJ3cjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
13236
13236
|
showTitle = true,
|
|
13237
13237
|
filterPublished = true,
|
|
13238
13238
|
profile = null,
|
|
@@ -13245,7 +13245,7 @@ function VideoBitesStrip({
|
|
|
13245
13245
|
cardHeightMobile = 300,
|
|
13246
13246
|
showChevrons = true,
|
|
13247
13247
|
onBiteNavigate,
|
|
13248
|
-
sortComparator =
|
|
13248
|
+
sortComparator = _chunkNNFQLTJ3cjs.sortBitesByCreatedAtDesc,
|
|
13249
13249
|
className
|
|
13250
13250
|
}) {
|
|
13251
13251
|
const items = _react.useMemo.call(void 0, () => {
|
|
@@ -13470,7 +13470,7 @@ function EntityVideoSection({
|
|
|
13470
13470
|
title = "Video",
|
|
13471
13471
|
videoSummary,
|
|
13472
13472
|
videoBites,
|
|
13473
|
-
bitesTitle =
|
|
13473
|
+
bitesTitle = _chunkNNFQLTJ3cjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
13474
13474
|
filterPublishedBites = true,
|
|
13475
13475
|
bitesProfile = null,
|
|
13476
13476
|
bitesHref,
|
|
@@ -13709,7 +13709,7 @@ function ReviewStateBadge({ state, className = "" }) {
|
|
|
13709
13709
|
function GitHubActivityCard({ item, variant = "compact", className, anchorProps }) {
|
|
13710
13710
|
const kind = _nullishCoalesce(item.kind, () => ( "commit"));
|
|
13711
13711
|
const repo = _nullishCoalesce(_nullishCoalesce(item.repo, () => ( parseRepoFromUrl(item.url))), () => ( ""));
|
|
13712
|
-
const dateText =
|
|
13712
|
+
const dateText = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
13713
13713
|
const idLabel = formatActivityId(item.id, kind);
|
|
13714
13714
|
const { display: title, reviewState } = parseGithubTitle(item.title, kind);
|
|
13715
13715
|
const primaryText = kind === "pr_review" ? title.replace(/^by\s+/i, "").trim() || "Reviewer" : title;
|
|
@@ -13743,26 +13743,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
|
|
|
13743
13743
|
metaParts.push(
|
|
13744
13744
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
13745
13745
|
);
|
|
13746
|
-
const href =
|
|
13746
|
+
const href = _chunkNNFQLTJ3cjs.safeHref.call(void 0, item.url);
|
|
13747
13747
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
13748
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13749
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
13750
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
13748
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
|
|
13749
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
13750
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
|
|
13751
13751
|
reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
|
|
13752
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13752
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE, children: primaryText })
|
|
13753
13753
|
] }),
|
|
13754
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13754
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
13755
13755
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
13756
13756
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
13757
13757
|
] }, i)) }) }),
|
|
13758
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13758
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SUMMARY, children: _chunkNNFQLTJ3cjs.COMPACT_CARD_ROW_FILLER }) })
|
|
13759
13759
|
] }),
|
|
13760
13760
|
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
|
|
13761
13761
|
] });
|
|
13762
13762
|
if (anchorProps) {
|
|
13763
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
13763
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
13764
13764
|
}
|
|
13765
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
13765
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
13766
13766
|
}
|
|
13767
13767
|
function GitHubActivityCardSkeleton({
|
|
13768
13768
|
variant = "compact",
|
|
@@ -13779,12 +13779,12 @@ function GitHubActivityCardSkeleton({
|
|
|
13779
13779
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
13780
13780
|
] });
|
|
13781
13781
|
}
|
|
13782
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
13783
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13784
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
13785
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13786
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13787
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13782
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
13783
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
|
|
13784
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
13785
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
|
|
13786
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
|
|
13787
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SUMMARY, children: _chunkNNFQLTJ3cjs.COMPACT_CARD_ROW_FILLER }) })
|
|
13788
13788
|
] }),
|
|
13789
13789
|
/* @__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" }) })
|
|
13790
13790
|
] });
|
|
@@ -13808,7 +13808,7 @@ function parseChannelFromUrl(url) {
|
|
|
13808
13808
|
}
|
|
13809
13809
|
function SlackMessageCard({ item, variant = "compact", className, anchorProps }) {
|
|
13810
13810
|
const channel = _nullishCoalesce(_nullishCoalesce(item.channel, () => ( parseChannelFromUrl(item.url))), () => ( null));
|
|
13811
|
-
const dateText =
|
|
13811
|
+
const dateText = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
13812
13812
|
if (variant === "row") {
|
|
13813
13813
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
13814
13814
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKZAAIUP5cjs.SlackIcon, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
@@ -13834,23 +13834,23 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
|
|
|
13834
13834
|
metaParts.push(
|
|
13835
13835
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
13836
13836
|
);
|
|
13837
|
-
const href =
|
|
13837
|
+
const href = _chunkNNFQLTJ3cjs.safeHref.call(void 0, item.url);
|
|
13838
13838
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
13839
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13840
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
13841
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13842
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13843
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13839
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKZAAIUP5cjs.SlackIcon, { className: "h-5 w-5" }) }),
|
|
13840
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
13841
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE, children: item.title }) }),
|
|
13842
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkNNFQLTJ3cjs.COMPACT_CARD_ROW_FILLER }) }),
|
|
13843
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
13844
13844
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
13845
13845
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
13846
|
-
] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13846
|
+
] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SUMMARY, children: _chunkNNFQLTJ3cjs.COMPACT_CARD_ROW_FILLER }) }) })
|
|
13847
13847
|
] }),
|
|
13848
13848
|
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
|
|
13849
13849
|
] });
|
|
13850
13850
|
if (anchorProps) {
|
|
13851
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
13851
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
13852
13852
|
}
|
|
13853
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
13853
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
13854
13854
|
}
|
|
13855
13855
|
function SlackMessageCardSkeleton({
|
|
13856
13856
|
variant = "compact",
|
|
@@ -13865,12 +13865,12 @@ function SlackMessageCardSkeleton({
|
|
|
13865
13865
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
13866
13866
|
] });
|
|
13867
13867
|
}
|
|
13868
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
13869
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13870
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
13871
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13872
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13873
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13868
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
13869
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
|
|
13870
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
13871
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
|
|
13872
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
|
|
13873
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
|
|
13874
13874
|
] }),
|
|
13875
13875
|
/* @__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" }) })
|
|
13876
13876
|
] });
|
|
@@ -13901,12 +13901,12 @@ function statusScheme(status) {
|
|
|
13901
13901
|
function HubspotTicketCard({ item, variant = "compact", className, anchorProps }) {
|
|
13902
13902
|
const statusText = _nullishCoalesce(item.statusLabel, () => ( formatToken(item.status)));
|
|
13903
13903
|
const priorityText = formatToken(item.priority);
|
|
13904
|
-
const dateText =
|
|
13904
|
+
const dateText = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
13905
13905
|
if (variant === "row") {
|
|
13906
13906
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
13907
13907
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "max-w-[260px] shrink-0 truncate text-ods-text-primary text-h6", children: item.title }),
|
|
13908
13908
|
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,
|
|
13909
|
-
statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13909
|
+
statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
|
|
13910
13910
|
dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-24 shrink-0 text-right text-ods-text-secondary text-h6", children: dateText }) : null
|
|
13911
13911
|
] });
|
|
13912
13912
|
}
|
|
@@ -13920,13 +13920,13 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
13920
13920
|
metaParts.push(
|
|
13921
13921
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
13922
13922
|
);
|
|
13923
|
-
const href =
|
|
13923
|
+
const href = _chunkNNFQLTJ3cjs.safeHref.call(void 0, item.url);
|
|
13924
13924
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
13925
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
13925
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
13926
13926
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
13927
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
13927
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
|
|
13928
13928
|
priorityText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13929
|
-
|
|
13929
|
+
_chunkNNFQLTJ3cjs.StatusBadge,
|
|
13930
13930
|
{
|
|
13931
13931
|
text: priorityText,
|
|
13932
13932
|
variant: "button",
|
|
@@ -13935,7 +13935,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
13935
13935
|
}
|
|
13936
13936
|
) : null,
|
|
13937
13937
|
statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13938
|
-
|
|
13938
|
+
_chunkNNFQLTJ3cjs.StatusBadge,
|
|
13939
13939
|
{
|
|
13940
13940
|
text: statusText,
|
|
13941
13941
|
variant: "button",
|
|
@@ -13949,7 +13949,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
13949
13949
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
|
|
13950
13950
|
] }) : null,
|
|
13951
13951
|
/* @__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." }) }) }),
|
|
13952
|
-
metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13952
|
+
metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
13953
13953
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
13954
13954
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
13955
13955
|
] }, i)) }) }) : null
|
|
@@ -13957,9 +13957,9 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
13957
13957
|
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
|
|
13958
13958
|
] });
|
|
13959
13959
|
if (anchorProps) {
|
|
13960
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
13960
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
13961
13961
|
}
|
|
13962
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
13962
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
13963
13963
|
}
|
|
13964
13964
|
function HubspotTicketCardSkeleton({
|
|
13965
13965
|
variant = "compact",
|
|
@@ -13973,8 +13973,8 @@ function HubspotTicketCardSkeleton({
|
|
|
13973
13973
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-20 shrink-0 rounded bg-ods-bg/60" })
|
|
13974
13974
|
] });
|
|
13975
13975
|
}
|
|
13976
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
13977
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
13976
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
13977
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
13978
13978
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
13979
13979
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
13980
13980
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
|
|
@@ -13987,7 +13987,7 @@ function HubspotTicketCardSkeleton({
|
|
|
13987
13987
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
|
|
13988
13988
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
|
|
13989
13989
|
] }),
|
|
13990
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13990
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
|
|
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
|
] });
|
|
@@ -13998,10 +13998,10 @@ function HubspotTicketCardSkeleton({
|
|
|
13998
13998
|
|
|
13999
13999
|
function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
14000
14000
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14001
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14001
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14002
14002
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14003
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14004
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14003
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
|
|
14004
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
|
|
14005
14005
|
] }),
|
|
14006
14006
|
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: [
|
|
14007
14007
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
|
|
@@ -14012,13 +14012,13 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
14012
14012
|
_optionalChain([anchorProps, 'optionalAccess', _335 => _335.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
|
|
14013
14013
|
] });
|
|
14014
14014
|
if (!anchorProps) {
|
|
14015
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14015
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14016
14016
|
}
|
|
14017
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14017
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14018
14018
|
}
|
|
14019
14019
|
function DataRoomDocCardSkeleton({ className }) {
|
|
14020
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14021
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14020
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14021
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14022
14022
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
14023
14023
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14024
14024
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
|
|
@@ -14039,29 +14039,29 @@ function DataRoomDocCardSkeleton({ className }) {
|
|
|
14039
14039
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
14040
14040
|
const goalsCount = _optionalChain([campaign, 'access', _336 => _336.goals, 'optionalAccess', _337 => _337.length]) || 0;
|
|
14041
14041
|
const innerChildren = /* @__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
|
-
campaign.start_date ?
|
|
14042
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
|
|
14043
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14044
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
|
|
14045
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SUBTITLE, children: [
|
|
14046
|
+
campaign.start_date ? _chunkNNFQLTJ3cjs.formatDateShort.call(void 0, campaign.start_date) : null,
|
|
14047
14047
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
14048
14048
|
"Marketing campaign"
|
|
14049
14049
|
].filter(Boolean).join(" \xB7 ") }) }),
|
|
14050
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14050
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkNNFQLTJ3cjs.COMPACT_CARD_ROW_FILLER }) })
|
|
14051
14051
|
] })
|
|
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: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
|
|
14055
14055
|
}
|
|
14056
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14056
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
|
|
14057
14057
|
}
|
|
14058
14058
|
function CampaignCardAdminSkeleton({ className }) {
|
|
14059
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14060
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14061
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14062
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14063
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14064
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14059
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14060
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
|
|
14061
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14062
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
|
|
14063
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
|
|
14064
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
|
|
14065
14065
|
] })
|
|
14066
14066
|
] });
|
|
14067
14067
|
}
|
|
@@ -14070,14 +14070,14 @@ function CampaignCardAdminSkeleton({ className }) {
|
|
|
14070
14070
|
|
|
14071
14071
|
|
|
14072
14072
|
function GenericEntityCard({ item, className, anchorProps }) {
|
|
14073
|
-
const href =
|
|
14074
|
-
const dateText =
|
|
14073
|
+
const href = _chunkNNFQLTJ3cjs.safeHref.call(void 0, item.url);
|
|
14074
|
+
const dateText = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
14075
14075
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14076
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14076
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14077
14077
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
|
|
14078
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${
|
|
14078
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
|
|
14079
14079
|
item.badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14080
|
-
|
|
14080
|
+
_chunkNNFQLTJ3cjs.StatusBadge,
|
|
14081
14081
|
{
|
|
14082
14082
|
text: item.badge.text,
|
|
14083
14083
|
variant: "button",
|
|
@@ -14095,18 +14095,18 @@ function GenericEntityCard({ item, className, anchorProps }) {
|
|
|
14095
14095
|
] }),
|
|
14096
14096
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-medium text-ods-text-primary", children: f.value })
|
|
14097
14097
|
] }, i)) }) : null,
|
|
14098
|
-
dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
14098
|
+
dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
|
|
14099
14099
|
] }),
|
|
14100
14100
|
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
|
|
14101
14101
|
] });
|
|
14102
14102
|
if (anchorProps) {
|
|
14103
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${
|
|
14103
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...anchorProps, className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
14104
14104
|
}
|
|
14105
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${
|
|
14105
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
14106
14106
|
}
|
|
14107
14107
|
function GenericEntityCardSkeleton({ className }) {
|
|
14108
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
14109
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
14108
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14109
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14110
14110
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
14111
14111
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
|
|
14112
14112
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
|
|
@@ -14155,8 +14155,8 @@ function useChatCardItem(type, id) {
|
|
|
14155
14155
|
const res = await _chunkCP6TIRONcjs.embedAuthedFetch.call(void 0, url);
|
|
14156
14156
|
if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
|
|
14157
14157
|
const data = await res.json();
|
|
14158
|
-
const items =
|
|
14159
|
-
const match = items.find((it) =>
|
|
14158
|
+
const items = _chunkNNFQLTJ3cjs.extractItems.call(void 0, data);
|
|
14159
|
+
const match = items.find((it) => _chunkNNFQLTJ3cjs.extractItemId.call(void 0, type, it) === id);
|
|
14160
14160
|
return _nullishCoalesce(match, () => ( null));
|
|
14161
14161
|
},
|
|
14162
14162
|
enabled: !!url && id.length > 0,
|
|
@@ -14189,7 +14189,7 @@ function useChatCardItem(type, id) {
|
|
|
14189
14189
|
function CardMedia({ imageSrc, imageAlt, icon }) {
|
|
14190
14190
|
if (imageSrc) {
|
|
14191
14191
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative block size-10 shrink-0", children: [
|
|
14192
|
-
/* @__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:
|
|
14192
|
+
/* @__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: _chunkNNFQLTJ3cjs.getFirstLastInitials.call(void 0, imageAlt) || "?" }),
|
|
14193
14193
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14194
14194
|
_chunkWLSFBRT5cjs.next_image_default,
|
|
14195
14195
|
{
|
|
@@ -14326,6 +14326,20 @@ function readPlatforms(item, canonicalType) {
|
|
|
14326
14326
|
}
|
|
14327
14327
|
return void 0;
|
|
14328
14328
|
}
|
|
14329
|
+
function pickFetchedCardHref({
|
|
14330
|
+
composed,
|
|
14331
|
+
itemHref,
|
|
14332
|
+
allowComposed
|
|
14333
|
+
}) {
|
|
14334
|
+
if (_optionalChain([composed, 'optionalAccess', _338 => _338.hostOverride])) {
|
|
14335
|
+
return { source: "hostOverride", href: composed.href, targetPlatform: composed.targetPlatform };
|
|
14336
|
+
}
|
|
14337
|
+
if (itemHref) return { source: "item", href: itemHref };
|
|
14338
|
+
if (composed && allowComposed) {
|
|
14339
|
+
return { source: "composed", href: composed.href, targetPlatform: composed.targetPlatform };
|
|
14340
|
+
}
|
|
14341
|
+
return null;
|
|
14342
|
+
}
|
|
14329
14343
|
function resolveFetchedCardHref({
|
|
14330
14344
|
contentRefType,
|
|
14331
14345
|
id,
|
|
@@ -14333,7 +14347,7 @@ function resolveFetchedCardHref({
|
|
|
14333
14347
|
composeContentUrl
|
|
14334
14348
|
}) {
|
|
14335
14349
|
if (!composeContentUrl || !contentRefType || !id) return null;
|
|
14336
|
-
const canonicalType =
|
|
14350
|
+
const canonicalType = _chunkNNFQLTJ3cjs.canonicalContentRefType.call(void 0, contentRefType);
|
|
14337
14351
|
return composeContentUrl({
|
|
14338
14352
|
// The card registry keys some entries by the legacy rail vocabulary
|
|
14339
14353
|
// (`blog_post_existing`) because that is what `buildListUrl` expects.
|
|
@@ -14512,20 +14526,20 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
14512
14526
|
if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
|
|
14513
14527
|
const safePath = sanitizePath(row.path);
|
|
14514
14528
|
if (safePath) {
|
|
14515
|
-
const docTarget = row.documentType ? _optionalChain([ctx, 'access',
|
|
14529
|
+
const docTarget = row.documentType ? _optionalChain([ctx, 'access', _339 => _339.docPlatformTargets, 'optionalAccess', _340 => _340[row.documentType]]) : void 0;
|
|
14516
14530
|
if (docTarget) {
|
|
14517
14531
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
14518
14532
|
const base = `${_chunkPRPZBXWZcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
14519
|
-
href = _nullishCoalesce(
|
|
14533
|
+
href = _nullishCoalesce(_chunkNNFQLTJ3cjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
|
|
14520
14534
|
targetPlatform = docTarget.platform;
|
|
14521
14535
|
} else if (ctx.chipBasePlatform) {
|
|
14522
14536
|
const base = `${_chunkPRPZBXWZcjs.getBaseUrl.call(void 0, ctx.chipBasePlatform)}/knowledge-base/`;
|
|
14523
|
-
href = _nullishCoalesce(
|
|
14537
|
+
href = _nullishCoalesce(_chunkNNFQLTJ3cjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
|
|
14524
14538
|
targetPlatform = ctx.chipBasePlatform;
|
|
14525
14539
|
} else if (ctx.baseRoute) {
|
|
14526
14540
|
const synthetic = `https://_internal_.local${ctx.baseRoute.startsWith("/") ? ctx.baseRoute : "/" + ctx.baseRoute}/`;
|
|
14527
14541
|
const absolute = new URL(safePath, synthetic).toString();
|
|
14528
|
-
href = _nullishCoalesce(
|
|
14542
|
+
href = _nullishCoalesce(_chunkNNFQLTJ3cjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
|
|
14529
14543
|
targetPlatform = _nullishCoalesce(ctx.currentPlatform, () => ( null));
|
|
14530
14544
|
}
|
|
14531
14545
|
}
|
|
@@ -14534,15 +14548,15 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
14534
14548
|
// Canonical vocabulary only — a rail-vocab alias would miss the host's
|
|
14535
14549
|
// `hostedTypes` / `overrides` and fall through to the seam's default
|
|
14536
14550
|
// `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
|
|
14537
|
-
type:
|
|
14551
|
+
type: _chunkNNFQLTJ3cjs.canonicalContentRefType.call(void 0, row.documentType),
|
|
14538
14552
|
identifier: idValue,
|
|
14539
14553
|
externalUrl: row.externalUrl,
|
|
14540
14554
|
targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
|
|
14541
14555
|
});
|
|
14542
|
-
href = composed.href ? _nullishCoalesce(
|
|
14556
|
+
href = composed.href ? _nullishCoalesce(_chunkNNFQLTJ3cjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
|
|
14543
14557
|
targetPlatform = composed.targetPlatform;
|
|
14544
14558
|
} else if (row.externalUrl) {
|
|
14545
|
-
href = _nullishCoalesce(
|
|
14559
|
+
href = _nullishCoalesce(_chunkNNFQLTJ3cjs.safeHref.call(void 0, row.externalUrl), () => ( null));
|
|
14546
14560
|
targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
|
|
14547
14561
|
}
|
|
14548
14562
|
const documentType = row.documentType;
|
|
@@ -14577,11 +14591,11 @@ function resolveSourceIcon(input, ctx = {}) {
|
|
|
14577
14591
|
|
|
14578
14592
|
function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
|
|
14579
14593
|
const label = entityLabel || "Item";
|
|
14580
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${
|
|
14581
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
14582
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
14583
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
14584
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
14594
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
14595
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
|
|
14596
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
14597
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
|
|
14598
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
14585
14599
|
label,
|
|
14586
14600
|
" deleted",
|
|
14587
14601
|
recoveryNote ? ` \xB7 ${recoveryNote}` : ""
|
|
@@ -14627,7 +14641,7 @@ function GitHubChatCard({
|
|
|
14627
14641
|
const title = kind === "pr_review" ? display.replace(/^by\s+/i, "").trim() || "Reviewer" : display;
|
|
14628
14642
|
const status = kind === "pr_review" && reviewState ? { label: reviewStateLabel(reviewState), variant: reviewStateToVariant(reviewState) } : { label: kindLabel(kind), variant: "grey" };
|
|
14629
14643
|
const idLabel = formatActivityId(chatRef.id, kind);
|
|
14630
|
-
const dateText =
|
|
14644
|
+
const dateText = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
|
|
14631
14645
|
const description = [idLabel, dateText].filter(Boolean).join(" \xB7 ") || void 0;
|
|
14632
14646
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14633
14647
|
MingoInfoCard,
|
|
@@ -14636,7 +14650,7 @@ function GitHubChatCard({
|
|
|
14636
14650
|
description,
|
|
14637
14651
|
icon: githubKindIcon(kind),
|
|
14638
14652
|
status,
|
|
14639
|
-
anchorProps:
|
|
14653
|
+
anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
14640
14654
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
14641
14655
|
menuAriaLabel: "Activity actions"
|
|
14642
14656
|
}
|
|
@@ -14655,8 +14669,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
|
|
|
14655
14669
|
if (href) {
|
|
14656
14670
|
items.push({
|
|
14657
14671
|
id: "open-details",
|
|
14658
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
14659
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
14672
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _341 => _341.label]), () => ( "Open Details")),
|
|
14673
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _342 => _342.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.EyeIcon, { size: 20 }))),
|
|
14660
14674
|
// Main row → open the entity (same tab, soft Link nav).
|
|
14661
14675
|
href,
|
|
14662
14676
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -14716,18 +14730,18 @@ function itemVideoMetadata(item) {
|
|
|
14716
14730
|
for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
|
|
14717
14731
|
return void 0;
|
|
14718
14732
|
};
|
|
14719
|
-
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
14733
|
+
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _343 => _343.metadata]), () => ( {}));
|
|
14720
14734
|
const out = {};
|
|
14721
|
-
const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess',
|
|
14722
|
-
const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess',
|
|
14723
|
-
const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess',
|
|
14735
|
+
const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _344 => _344.custom_video_url]), _optionalChain([item, 'optionalAccess', _345 => _345.main_video_url]));
|
|
14736
|
+
const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _346 => _346.youtube_url]), _optionalChain([item, 'optionalAccess', _347 => _347.testimonial_video_url]));
|
|
14737
|
+
const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _348 => _348.highlight_video_url]));
|
|
14724
14738
|
const videoPoster = pick(
|
|
14725
14739
|
m.videoPoster,
|
|
14726
|
-
_optionalChain([item, 'optionalAccess',
|
|
14727
|
-
_optionalChain([item, 'optionalAccess',
|
|
14728
|
-
_optionalChain([item, 'optionalAccess',
|
|
14740
|
+
_optionalChain([item, 'optionalAccess', _349 => _349.main_video_thumbnail]),
|
|
14741
|
+
_optionalChain([item, 'optionalAccess', _350 => _350.highlight_video_thumbnail]),
|
|
14742
|
+
_optionalChain([item, 'optionalAccess', _351 => _351.featured_image])
|
|
14729
14743
|
);
|
|
14730
|
-
const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess',
|
|
14744
|
+
const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _352 => _352.highlight_video_thumbnail]));
|
|
14731
14745
|
if (videoUrl) out.videoUrl = videoUrl;
|
|
14732
14746
|
if (youtubeUrl) out.youtubeUrl = youtubeUrl;
|
|
14733
14747
|
if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
|
|
@@ -14757,15 +14771,15 @@ function fetchedItemDisplayRef(item, chatRef) {
|
|
|
14757
14771
|
}
|
|
14758
14772
|
function fetchedFaqDisplayRef(item, chatRef) {
|
|
14759
14773
|
const it = item;
|
|
14760
|
-
const answer = typeof _optionalChain([it, 'optionalAccess',
|
|
14774
|
+
const answer = typeof _optionalChain([it, 'optionalAccess', _353 => _353.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
|
|
14761
14775
|
return {
|
|
14762
14776
|
type: "faq",
|
|
14763
14777
|
id: chatRef.id,
|
|
14764
14778
|
sourceRepo: chatRef.sourceRepo,
|
|
14765
|
-
title: typeof _optionalChain([it, 'optionalAccess',
|
|
14779
|
+
title: typeof _optionalChain([it, 'optionalAccess', _354 => _354.question]) === "string" && it.question ? it.question : chatRef.id,
|
|
14766
14780
|
url: _nullishCoalesce(chatRef.url, () => ( null)),
|
|
14767
14781
|
...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
|
|
14768
|
-
metadata: typeof _optionalChain([it, 'optionalAccess',
|
|
14782
|
+
metadata: typeof _optionalChain([it, 'optionalAccess', _355 => _355.section]) === "string" && it.section ? { section: it.section } : {}
|
|
14769
14783
|
};
|
|
14770
14784
|
}
|
|
14771
14785
|
function HubspotTicketChatCard({
|
|
@@ -14773,8 +14787,8 @@ function HubspotTicketChatCard({
|
|
|
14773
14787
|
isNewTab,
|
|
14774
14788
|
discuss
|
|
14775
14789
|
}) {
|
|
14776
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
14777
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
14790
|
+
const status = typeof _optionalChain([chatRef, 'access', _356 => _356.metadata, 'optionalAccess', _357 => _357.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
14791
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _358 => _358.metadata, 'optionalAccess', _359 => _359.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
14778
14792
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
14779
14793
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14780
14794
|
MingoInfoCard,
|
|
@@ -14783,7 +14797,7 @@ function HubspotTicketChatCard({
|
|
|
14783
14797
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
14784
14798
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TagIcon, { size: 24 }),
|
|
14785
14799
|
status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
|
|
14786
|
-
anchorProps:
|
|
14800
|
+
anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
14787
14801
|
menuGroups: cardMenuGroups(chatRef.url, discuss, {
|
|
14788
14802
|
label: "Open Ticket Details",
|
|
14789
14803
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TagIcon, { size: 20 })
|
|
@@ -14797,7 +14811,7 @@ function FaqChatCard({
|
|
|
14797
14811
|
isNewTab,
|
|
14798
14812
|
discuss
|
|
14799
14813
|
}) {
|
|
14800
|
-
const section = typeof _optionalChain([chatRef, 'access',
|
|
14814
|
+
const section = typeof _optionalChain([chatRef, 'access', _360 => _360.metadata, 'optionalAccess', _361 => _361.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
|
|
14801
14815
|
const statusLabel = section && section.length > 0 ? section : "FAQ";
|
|
14802
14816
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14803
14817
|
MingoInfoCard,
|
|
@@ -14806,7 +14820,7 @@ function FaqChatCard({
|
|
|
14806
14820
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
14807
14821
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.QuestionCircleIcon, { size: 24 }),
|
|
14808
14822
|
status: { label: statusLabel, variant: "grey" },
|
|
14809
|
-
anchorProps:
|
|
14823
|
+
anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
14810
14824
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
14811
14825
|
menuAriaLabel: "FAQ actions"
|
|
14812
14826
|
}
|
|
@@ -14817,7 +14831,7 @@ function SlackChatCard({
|
|
|
14817
14831
|
isNewTab,
|
|
14818
14832
|
discuss
|
|
14819
14833
|
}) {
|
|
14820
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
14834
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _362 => _362.metadata, 'optionalAccess', _363 => _363.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
14821
14835
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
14822
14836
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
14823
14837
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -14826,7 +14840,7 @@ function SlackChatCard({
|
|
|
14826
14840
|
title,
|
|
14827
14841
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
14828
14842
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.SlackLogoGreyIcon, { size: 24 }),
|
|
14829
|
-
anchorProps:
|
|
14843
|
+
anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
14830
14844
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
14831
14845
|
menuAriaLabel: "Message actions"
|
|
14832
14846
|
}
|
|
@@ -14845,7 +14859,7 @@ function DataRoomDocChatCard({
|
|
|
14845
14859
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
14846
14860
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.FileContentIcon, { size: 24 }),
|
|
14847
14861
|
status: { label: badgeText, variant: "grey" },
|
|
14848
|
-
anchorProps:
|
|
14862
|
+
anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
14849
14863
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
14850
14864
|
menuAriaLabel: "Document actions"
|
|
14851
14865
|
}
|
|
@@ -14857,14 +14871,14 @@ function GenericFinancialChatCard({
|
|
|
14857
14871
|
isNewTab,
|
|
14858
14872
|
discuss
|
|
14859
14873
|
}) {
|
|
14860
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
14874
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _364 => _364.metadata, 'optionalAccess', _365 => _365.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
14861
14875
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14862
14876
|
MingoInfoCard,
|
|
14863
14877
|
{
|
|
14864
14878
|
title: chatRef.title,
|
|
14865
14879
|
description: subtitle,
|
|
14866
14880
|
icon,
|
|
14867
|
-
anchorProps:
|
|
14881
|
+
anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
14868
14882
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
14869
14883
|
menuAriaLabel: "Document actions"
|
|
14870
14884
|
}
|
|
@@ -14926,12 +14940,12 @@ function ProductReleaseChatCard({
|
|
|
14926
14940
|
discuss
|
|
14927
14941
|
}) {
|
|
14928
14942
|
const releaseProps = buildProps(item);
|
|
14929
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
14943
|
+
const status = _optionalChain([item, 'optionalAccess', _366 => _366.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
14930
14944
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14931
14945
|
EntityMingoCard,
|
|
14932
14946
|
{
|
|
14933
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
14934
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
14947
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _367 => _367.title]), () => ( "")),
|
|
14948
|
+
description: _optionalChain([item, 'optionalAccess', _368 => _368.summary]) || releaseProps.formattedDate || void 0,
|
|
14935
14949
|
cover: releaseProps.coverImage || void 0,
|
|
14936
14950
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Rocket02Icon, { size: 24 }),
|
|
14937
14951
|
status,
|
|
@@ -14948,17 +14962,17 @@ function CampaignChatCard({
|
|
|
14948
14962
|
isNewTab,
|
|
14949
14963
|
discuss
|
|
14950
14964
|
}) {
|
|
14951
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
14965
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _369 => _369.goals])) ? item.goals.length : 0;
|
|
14952
14966
|
const meta = [
|
|
14953
|
-
_optionalChain([item, 'optionalAccess',
|
|
14967
|
+
_optionalChain([item, 'optionalAccess', _370 => _370.start_date]) ? _chunkNNFQLTJ3cjs.formatDateShort.call(void 0, item.start_date) : null,
|
|
14954
14968
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
14955
14969
|
"Marketing campaign"
|
|
14956
14970
|
].filter(Boolean).join(" \xB7 ");
|
|
14957
14971
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14958
14972
|
EntityMingoCard,
|
|
14959
14973
|
{
|
|
14960
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
14961
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
14974
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _371 => _371.name]), () => ( "")),
|
|
14975
|
+
description: meta || _optionalChain([item, 'optionalAccess', _372 => _372.description]) || void 0,
|
|
14962
14976
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Megaphone01Icon, { size: 24 }),
|
|
14963
14977
|
chatRef,
|
|
14964
14978
|
isNewTab,
|
|
@@ -14989,7 +15003,7 @@ function EntityMingoCard({
|
|
|
14989
15003
|
imageAlt: typeof title === "string" ? title : void 0,
|
|
14990
15004
|
icon: fallbackIcon,
|
|
14991
15005
|
status,
|
|
14992
|
-
anchorProps:
|
|
15006
|
+
anchorProps: _chunkNNFQLTJ3cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
14993
15007
|
menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
|
|
14994
15008
|
menuAriaLabel
|
|
14995
15009
|
}
|
|
@@ -15001,7 +15015,7 @@ function entityCover(image, ogPlaceholder) {
|
|
|
15001
15015
|
function statusPill(status) {
|
|
15002
15016
|
const s = typeof status === "string" ? status.trim() : "";
|
|
15003
15017
|
if (!s) return void 0;
|
|
15004
|
-
const scheme =
|
|
15018
|
+
const scheme = _chunkNNFQLTJ3cjs.getStatusColorScheme.call(void 0, s);
|
|
15005
15019
|
const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
|
|
15006
15020
|
return { label: s, variant };
|
|
15007
15021
|
}
|
|
@@ -15013,14 +15027,14 @@ function BlogChatCard({
|
|
|
15013
15027
|
hasEmbeddedVideo,
|
|
15014
15028
|
discuss
|
|
15015
15029
|
}) {
|
|
15016
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
15030
|
+
const category = Array.isArray(_optionalChain([item, 'optionalAccess', _373 => _373.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _374 => _374.categories, 'access', _375 => _375.find, 'call', _376 => _376((c) => _optionalChain([c, 'optionalAccess', _377 => _377.name])), 'optionalAccess', _378 => _378.name]), () => ( void 0)) : void 0;
|
|
15017
15031
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
15018
15032
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15019
15033
|
EntityMingoCard,
|
|
15020
15034
|
{
|
|
15021
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15022
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15023
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15035
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _379 => _379.title]), () => ( "")),
|
|
15036
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _380 => _380.summary]), () => ( void 0)),
|
|
15037
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _381 => _381.featured_image]), ogPlaceholder),
|
|
15024
15038
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.NewspaperIcon, { size: 24 }),
|
|
15025
15039
|
status,
|
|
15026
15040
|
chatRef,
|
|
@@ -15037,13 +15051,13 @@ function CaseStudyChatCard({
|
|
|
15037
15051
|
ogPlaceholder,
|
|
15038
15052
|
discuss
|
|
15039
15053
|
}) {
|
|
15040
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15054
|
+
const meta = [_optionalChain([item, 'optionalAccess', _382 => _382.msp, 'optionalAccess', _383 => _383.name]), _optionalChain([item, 'optionalAccess', _384 => _384.user, 'optionalAccess', _385 => _385.full_name])].filter(Boolean).join(" \xB7 ");
|
|
15041
15055
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15042
15056
|
EntityMingoCard,
|
|
15043
15057
|
{
|
|
15044
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15045
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15046
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15058
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _386 => _386.title]), () => ( "")),
|
|
15059
|
+
description: _optionalChain([item, 'optionalAccess', _387 => _387.summary]) || meta || void 0,
|
|
15060
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _388 => _388.featured_image]), ogPlaceholder),
|
|
15047
15061
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TrophyIcon, { size: 24 }),
|
|
15048
15062
|
status: { label: "Case study", variant: "grey" },
|
|
15049
15063
|
chatRef,
|
|
@@ -15060,13 +15074,13 @@ function CustomerInterviewChatCard({
|
|
|
15060
15074
|
ogPlaceholder,
|
|
15061
15075
|
discuss
|
|
15062
15076
|
}) {
|
|
15063
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15077
|
+
const meta = [_optionalChain([item, 'optionalAccess', _389 => _389.user, 'optionalAccess', _390 => _390.full_name]), _optionalChain([item, 'optionalAccess', _391 => _391.msp, 'optionalAccess', _392 => _392.name])].filter(Boolean).join(" \xB7 ");
|
|
15064
15078
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15065
15079
|
EntityMingoCard,
|
|
15066
15080
|
{
|
|
15067
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15068
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15069
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15081
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _393 => _393.title]), () => ( "")),
|
|
15082
|
+
description: _optionalChain([item, 'optionalAccess', _394 => _394.video_summary]) || meta || void 0,
|
|
15083
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _395 => _395.featured_image]), ogPlaceholder),
|
|
15070
15084
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MicrophoneIcon, { size: 24 }),
|
|
15071
15085
|
status: { label: "Interview", variant: "grey" },
|
|
15072
15086
|
chatRef,
|
|
@@ -15083,13 +15097,13 @@ function InvestorUpdateChatCard({
|
|
|
15083
15097
|
ogPlaceholder,
|
|
15084
15098
|
discuss
|
|
15085
15099
|
}) {
|
|
15086
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
15100
|
+
const title = _optionalChain([item, 'optionalAccess', _396 => _396.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _397 => _397.update_number]), () => ( "?"))}`;
|
|
15087
15101
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15088
15102
|
EntityMingoCard,
|
|
15089
15103
|
{
|
|
15090
15104
|
title,
|
|
15091
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15092
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15105
|
+
description: _optionalChain([item, 'optionalAccess', _398 => _398.strategic_update]) || _optionalChain([item, 'optionalAccess', _399 => _399.content]) || _chunkNNFQLTJ3cjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _400 => _400.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _401 => _401.period_end]), () => ( null))) || void 0,
|
|
15106
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _402 => _402.featured_image]), ogPlaceholder),
|
|
15093
15107
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PresentationLineIcon, { size: 24 }),
|
|
15094
15108
|
status: { label: "Investor update", variant: "grey" },
|
|
15095
15109
|
chatRef,
|
|
@@ -15106,12 +15120,12 @@ function OnboardingGuideChatCard({
|
|
|
15106
15120
|
ogPlaceholder,
|
|
15107
15121
|
discuss
|
|
15108
15122
|
}) {
|
|
15109
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
15123
|
+
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _403 => _403.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _404 => _404.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _405 => _405.og_image_url]), ogPlaceholder)));
|
|
15110
15124
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15111
15125
|
EntityMingoCard,
|
|
15112
15126
|
{
|
|
15113
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15114
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15127
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _406 => _406.title]), () => ( "")),
|
|
15128
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _407 => _407.summary]), () => ( _optionalChain([item, 'optionalAccess', _408 => _408.description]))), () => ( void 0)),
|
|
15115
15129
|
cover,
|
|
15116
15130
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CompassIcon, { size: 24 }),
|
|
15117
15131
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -15132,25 +15146,25 @@ function ProgramChatCard({
|
|
|
15132
15146
|
discuss
|
|
15133
15147
|
}) {
|
|
15134
15148
|
const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MicrophoneIcon, { size: 24 });
|
|
15135
|
-
const isScheduled = _optionalChain([item, 'optionalAccess',
|
|
15149
|
+
const isScheduled = _optionalChain([item, 'optionalAccess', _409 => _409.status]) === "scheduled";
|
|
15136
15150
|
let typeMeta;
|
|
15137
|
-
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess',
|
|
15138
|
-
typeMeta =
|
|
15139
|
-
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess',
|
|
15151
|
+
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _410 => _410.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
|
|
15152
|
+
typeMeta = _chunkNNFQLTJ3cjs.formatDurationCompact.call(void 0, item.duration_seconds);
|
|
15153
|
+
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _411 => _411.location_name]) === "string" && item.location_name.trim().length > 0) {
|
|
15140
15154
|
typeMeta = item.location_name;
|
|
15141
|
-
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess',
|
|
15142
|
-
const time =
|
|
15143
|
-
const dur =
|
|
15155
|
+
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _412 => _412.start_at])) {
|
|
15156
|
+
const time = _chunkNNFQLTJ3cjs.formatTimeWithTimezone.call(void 0, item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
|
|
15157
|
+
const dur = _chunkNNFQLTJ3cjs.formatDurationFromRange.call(void 0, item.start_at, item.end_at);
|
|
15144
15158
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
15145
15159
|
}
|
|
15146
|
-
const itemDate =
|
|
15160
|
+
const itemDate = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _413 => _413.date]), () => ( null)), { fallback: "", timezone: "local" });
|
|
15147
15161
|
const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
|
|
15148
15162
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15149
15163
|
EntityMingoCard,
|
|
15150
15164
|
{
|
|
15151
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15152
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
15153
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15165
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _414 => _414.title]), () => ( "")),
|
|
15166
|
+
description: meta || _optionalChain([item, 'optionalAccess', _415 => _415.description]) || void 0,
|
|
15167
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _416 => _416.cover_url]), ogPlaceholder),
|
|
15154
15168
|
fallbackIcon: icon,
|
|
15155
15169
|
status: { label, variant: "grey" },
|
|
15156
15170
|
chatRef,
|
|
@@ -15167,10 +15181,10 @@ function RoadmapChatCard({
|
|
|
15167
15181
|
cardType,
|
|
15168
15182
|
discuss
|
|
15169
15183
|
}) {
|
|
15170
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
15171
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
15184
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _417 => _417.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
15185
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _418 => _418.customItemId]) != null;
|
|
15172
15186
|
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 });
|
|
15173
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15187
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _419 => _419.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
15174
15188
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
15175
15189
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
15176
15190
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWLSFBRT5cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
|
|
@@ -15181,10 +15195,10 @@ function RoadmapChatCard({
|
|
|
15181
15195
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15182
15196
|
EntityMingoCard,
|
|
15183
15197
|
{
|
|
15184
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15185
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15198
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _420 => _420.title]), () => ( "")),
|
|
15199
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.description]), () => ( void 0)),
|
|
15186
15200
|
fallbackIcon: icon,
|
|
15187
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
15201
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _422 => _422.status])),
|
|
15188
15202
|
chatRef,
|
|
15189
15203
|
isNewTab,
|
|
15190
15204
|
discuss,
|
|
@@ -15200,7 +15214,7 @@ function refHydratedEntry(docType, label, renderRef) {
|
|
|
15200
15214
|
bareInline: true,
|
|
15201
15215
|
contentRefType: docType,
|
|
15202
15216
|
noComposedHref: true,
|
|
15203
|
-
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15217
|
+
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _423 => _423.url]), () => ( null)),
|
|
15204
15218
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15205
15219
|
render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
|
|
15206
15220
|
};
|
|
@@ -15255,7 +15269,7 @@ function programRegistryEntries() {
|
|
|
15255
15269
|
label: cfg.label,
|
|
15256
15270
|
contentRefType: cfg.contentRefType,
|
|
15257
15271
|
bareInline: true,
|
|
15258
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15272
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.ProgramCardSkeleton, { size: "sm" }),
|
|
15259
15273
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15260
15274
|
ProgramChatCard,
|
|
15261
15275
|
{
|
|
@@ -15265,7 +15279,7 @@ function programRegistryEntries() {
|
|
|
15265
15279
|
discuss: opts.discuss,
|
|
15266
15280
|
configKey: cfg.configKey,
|
|
15267
15281
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
15268
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15282
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _424 => _424.extras, 'optionalAccess', _425 => _425.buildOgPlaceholderUrl, 'optionalCall', _426 => _426(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _427 => _427.title]), () => ( "")))]), () => ( null))
|
|
15269
15283
|
}
|
|
15270
15284
|
)
|
|
15271
15285
|
}));
|
|
@@ -15286,7 +15300,7 @@ var ROADMAP_CARD_CONFIGS = {
|
|
|
15286
15300
|
// The card's destination IS the ClickUp deep link, derived from the
|
|
15287
15301
|
// task id post-fetch (the refs frame used to carry it).
|
|
15288
15302
|
noComposedHref: true,
|
|
15289
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15303
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _428 => _428.id]) != null ? clickupTaskUrl(String(item.id)) : null
|
|
15290
15304
|
}
|
|
15291
15305
|
};
|
|
15292
15306
|
function roadmapRegistryEntries() {
|
|
@@ -15296,7 +15310,7 @@ function roadmapRegistryEntries() {
|
|
|
15296
15310
|
bareInline: true,
|
|
15297
15311
|
...cfg.noComposedHref ? { noComposedHref: true } : {},
|
|
15298
15312
|
...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
|
|
15299
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15313
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.RoadmapCardSkeleton, { size: "sm" }),
|
|
15300
15314
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15301
15315
|
RoadmapChatCard,
|
|
15302
15316
|
{
|
|
@@ -15328,8 +15342,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15328
15342
|
DeletedDataCard,
|
|
15329
15343
|
{
|
|
15330
15344
|
title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
|
|
15331
|
-
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
15332
|
-
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
15345
|
+
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _429 => _429.metadata, 'optionalAccess', _430 => _430.entity_label]), () => ( null)),
|
|
15346
|
+
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _431 => _431.metadata, 'optionalAccess', _432 => _432.recovery_note]), () => ( null))
|
|
15333
15347
|
}
|
|
15334
15348
|
)
|
|
15335
15349
|
},
|
|
@@ -15343,7 +15357,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15343
15357
|
bareInline: true,
|
|
15344
15358
|
contentRefType: "faq",
|
|
15345
15359
|
noComposedHref: true,
|
|
15346
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15360
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _433 => _433.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
|
|
15347
15361
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15348
15362
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15349
15363
|
},
|
|
@@ -15369,7 +15383,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15369
15383
|
label: "Blog post",
|
|
15370
15384
|
contentRefType: "blog_post_existing",
|
|
15371
15385
|
bareInline: true,
|
|
15372
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15386
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.BlogCardSkeleton, { size: "sm" }),
|
|
15373
15387
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15374
15388
|
BlogChatCard,
|
|
15375
15389
|
{
|
|
@@ -15377,8 +15391,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15377
15391
|
chatRef,
|
|
15378
15392
|
isNewTab: opts.isNewTab,
|
|
15379
15393
|
discuss: opts.discuss,
|
|
15380
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15381
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
15394
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _434 => _434.extras, 'optionalAccess', _435 => _435.buildOgPlaceholderUrl, 'optionalCall', _436 => _436(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _437 => _437.title]), () => ( "")))]), () => ( null)),
|
|
15395
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _438 => _438.metadata, 'optionalAccess', _439 => _439.hasEmbeddedVideo]) === true
|
|
15382
15396
|
}
|
|
15383
15397
|
)
|
|
15384
15398
|
},
|
|
@@ -15386,7 +15400,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15386
15400
|
label: "Case study",
|
|
15387
15401
|
contentRefType: "case_study",
|
|
15388
15402
|
bareInline: true,
|
|
15389
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15403
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.CaseStudyCardSkeleton, { size: "sm" }),
|
|
15390
15404
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15391
15405
|
CaseStudyChatCard,
|
|
15392
15406
|
{
|
|
@@ -15394,7 +15408,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15394
15408
|
chatRef,
|
|
15395
15409
|
isNewTab: opts.isNewTab,
|
|
15396
15410
|
discuss: opts.discuss,
|
|
15397
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15411
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _440 => _440.extras, 'optionalAccess', _441 => _441.buildOgPlaceholderUrl, 'optionalCall', _442 => _442(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _443 => _443.title]), () => ( "")))]), () => ( null))
|
|
15398
15412
|
}
|
|
15399
15413
|
)
|
|
15400
15414
|
},
|
|
@@ -15402,7 +15416,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15402
15416
|
label: "Customer interview",
|
|
15403
15417
|
contentRefType: "customer_interview",
|
|
15404
15418
|
bareInline: true,
|
|
15405
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15419
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.CustomerInterviewCardSkeleton, { size: "sm" }),
|
|
15406
15420
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15407
15421
|
CustomerInterviewChatCard,
|
|
15408
15422
|
{
|
|
@@ -15410,7 +15424,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15410
15424
|
chatRef,
|
|
15411
15425
|
isNewTab: opts.isNewTab,
|
|
15412
15426
|
discuss: opts.discuss,
|
|
15413
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15427
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _444 => _444.extras, 'optionalAccess', _445 => _445.buildOgPlaceholderUrl, 'optionalCall', _446 => _446(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _447 => _447.title]), () => ( "")))]), () => ( null))
|
|
15414
15428
|
}
|
|
15415
15429
|
)
|
|
15416
15430
|
},
|
|
@@ -15418,9 +15432,9 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15418
15432
|
label: "Product release",
|
|
15419
15433
|
contentRefType: "product_release",
|
|
15420
15434
|
bareInline: true,
|
|
15421
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15435
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.ProductReleaseCardSkeleton, { size: "sm" }),
|
|
15422
15436
|
render: (item, chatRef, opts) => {
|
|
15423
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15437
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _448 => _448.extras, 'optionalAccess', _449 => _449.buildProductReleaseCardProps]), () => ( _chunkNNFQLTJ3cjs.defaultBuildProductReleaseCardProps));
|
|
15424
15438
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15425
15439
|
ProductReleaseChatCard,
|
|
15426
15440
|
{
|
|
@@ -15438,7 +15452,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15438
15452
|
label: "Investor update",
|
|
15439
15453
|
contentRefType: "investor_update",
|
|
15440
15454
|
bareInline: true,
|
|
15441
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15455
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.InvestorUpdateCardSkeleton, { size: "sm" }),
|
|
15442
15456
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15443
15457
|
InvestorUpdateChatCard,
|
|
15444
15458
|
{
|
|
@@ -15446,7 +15460,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15446
15460
|
chatRef,
|
|
15447
15461
|
isNewTab: opts.isNewTab,
|
|
15448
15462
|
discuss: opts.discuss,
|
|
15449
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15463
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _450 => _450.extras, 'optionalAccess', _451 => _451.buildOgPlaceholderUrl, 'optionalCall', _452 => _452(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _453 => _453.title]), () => ( "")))]), () => ( null))
|
|
15450
15464
|
}
|
|
15451
15465
|
)
|
|
15452
15466
|
},
|
|
@@ -15456,7 +15470,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15456
15470
|
bareInline: true,
|
|
15457
15471
|
// "Display" affordance (verbatim guide body) instead of "Ask".
|
|
15458
15472
|
displayAction: true,
|
|
15459
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15473
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.OnboardingGuideCardSkeleton, { size: "sm" }),
|
|
15460
15474
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15461
15475
|
OnboardingGuideChatCard,
|
|
15462
15476
|
{
|
|
@@ -15464,7 +15478,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15464
15478
|
chatRef,
|
|
15465
15479
|
isNewTab: opts.isNewTab,
|
|
15466
15480
|
discuss: opts.discuss,
|
|
15467
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15481
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _454 => _454.extras, 'optionalAccess', _455 => _455.buildOgPlaceholderUrl, 'optionalCall', _456 => _456(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _457 => _457.title]), () => ( "")))]), () => ( null))
|
|
15468
15482
|
}
|
|
15469
15483
|
)
|
|
15470
15484
|
},
|
|
@@ -15475,7 +15489,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15475
15489
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
15476
15490
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
15477
15491
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
15478
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15492
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _458 => _458.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
|
|
15479
15493
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15480
15494
|
},
|
|
15481
15495
|
...roadmapRegistryEntries()
|
|
@@ -15494,13 +15508,13 @@ function ChatCardNavWrap({
|
|
|
15494
15508
|
if (!href) return;
|
|
15495
15509
|
const targetEl = e.target;
|
|
15496
15510
|
const host = e.currentTarget;
|
|
15497
|
-
if (!_optionalChain([host, 'optionalAccess',
|
|
15498
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
15499
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
15500
|
-
const handled =
|
|
15511
|
+
if (!_optionalChain([host, 'optionalAccess', _459 => _459.contains, 'call', _460 => _460(targetEl)])) return;
|
|
15512
|
+
if (_optionalChain([targetEl, 'optionalAccess', _461 => _461.closest, 'optionalCall', _462 => _462("button")])) return;
|
|
15513
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _463 => _463.closest, 'optionalCall', _464 => _464("a")])) return;
|
|
15514
|
+
const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
|
|
15501
15515
|
if (!handled) return;
|
|
15502
15516
|
e.stopPropagation();
|
|
15503
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
15517
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _465 => _465.closeChat])) panel.closeChat();
|
|
15504
15518
|
};
|
|
15505
15519
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
15506
15520
|
}
|
|
@@ -15522,7 +15536,7 @@ function ChatCardLoader({
|
|
|
15522
15536
|
title: chatRef.title,
|
|
15523
15537
|
externalUrl: chatRef.url,
|
|
15524
15538
|
targetPlatform: chatRef.targetPlatform,
|
|
15525
|
-
path: typeof _optionalChain([chatRef, 'access',
|
|
15539
|
+
path: typeof _optionalChain([chatRef, 'access', _466 => _466.metadata, 'optionalAccess', _467 => _467.path]) === "string" ? chatRef.metadata.path : null
|
|
15526
15540
|
},
|
|
15527
15541
|
sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
|
|
15528
15542
|
);
|
|
@@ -15536,27 +15550,30 @@ function ChatCardLoader({
|
|
|
15536
15550
|
const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
|
|
15537
15551
|
const fetchEntry = entry && entry.contentRefType ? entry : null;
|
|
15538
15552
|
const { item, isLoading, isError, isFetched } = useChatCardItem(
|
|
15539
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
15553
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _468 => _468.contentRefType]), () => ( "")),
|
|
15540
15554
|
fetchEntry ? resolvedChatRef.id : ""
|
|
15541
15555
|
);
|
|
15542
15556
|
if (!entry) return null;
|
|
15543
|
-
const composedHref = _optionalChain([fetchEntry, 'optionalAccess',
|
|
15557
|
+
const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _469 => _469.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
|
|
15544
15558
|
contentRefType: fetchEntry.contentRefType,
|
|
15545
15559
|
id: resolvedChatRef.id,
|
|
15546
15560
|
item,
|
|
15547
15561
|
composeContentUrl: runtime.composeContentUrl
|
|
15548
15562
|
}) : null;
|
|
15549
|
-
const
|
|
15550
|
-
|
|
15551
|
-
|
|
15552
|
-
|
|
15563
|
+
const hrefChoice = fetchEntry && !resolvedChatRef.url && item ? pickFetchedCardHref({
|
|
15564
|
+
composed: composedHref,
|
|
15565
|
+
itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _470 => _470.fallbackHref, 'optionalCall', _471 => _471(item)]), () => ( null)),
|
|
15566
|
+
allowComposed: !fetchEntry.noComposedHref
|
|
15567
|
+
}) : null;
|
|
15568
|
+
const hrefResolvedChatRef = hrefChoice ? {
|
|
15553
15569
|
...resolvedChatRef,
|
|
15554
|
-
url:
|
|
15555
|
-
|
|
15570
|
+
url: _chunkNNFQLTJ3cjs.safeHref.call(void 0, hrefChoice.href),
|
|
15571
|
+
// The `item` branch carries no platform of its own — keep the ref's.
|
|
15572
|
+
targetPlatform: _nullishCoalesce(_nullishCoalesce(hrefChoice.targetPlatform, () => ( resolvedChatRef.targetPlatform)), () => ( null))
|
|
15556
15573
|
} : resolvedChatRef;
|
|
15557
15574
|
const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
|
|
15558
15575
|
const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
|
|
15559
|
-
const isNewTab =
|
|
15576
|
+
const isNewTab = _chunkNNFQLTJ3cjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
|
|
15560
15577
|
const useDisplay = !!entry.displayAction && !!onDisplay;
|
|
15561
15578
|
const discussFn = useDisplay ? onDisplay : onDiscuss;
|
|
15562
15579
|
const discuss = discussFn ? {
|
|
@@ -15579,7 +15596,7 @@ function ChatCardLoader({
|
|
|
15579
15596
|
isNewTab,
|
|
15580
15597
|
discuss
|
|
15581
15598
|
};
|
|
15582
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
15599
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _472 => _472.metadata, 'optionalAccess', _473 => _473.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
15583
15600
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15584
15601
|
ChatCardNavWrap,
|
|
15585
15602
|
{
|
|
@@ -15603,7 +15620,7 @@ function ChatCardLoader({
|
|
|
15603
15620
|
if (!fetchEntry) {
|
|
15604
15621
|
return finish(entry.render(void 0, finalChatRef, renderOpts));
|
|
15605
15622
|
}
|
|
15606
|
-
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access',
|
|
15623
|
+
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _474 => _474.skeleton, 'optionalCall', _475 => _475()]), () => ( null)) });
|
|
15607
15624
|
if (!item) {
|
|
15608
15625
|
if (isError) {
|
|
15609
15626
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
|
|
@@ -15963,7 +15980,7 @@ function useChunkCatchup({
|
|
|
15963
15980
|
if (catchupRun.current === run) {
|
|
15964
15981
|
if (currentDialogId !== dialogIdRef.current) {
|
|
15965
15982
|
catchupRun.current = null;
|
|
15966
|
-
if (_optionalChain([pendingCatchupRef, 'access',
|
|
15983
|
+
if (_optionalChain([pendingCatchupRef, 'access', _476 => _476.current, 'optionalAccess', _477 => _477.dialogId]) === currentDialogId) {
|
|
15967
15984
|
pendingCatchupRef.current = null;
|
|
15968
15985
|
}
|
|
15969
15986
|
} else {
|
|
@@ -15974,7 +15991,7 @@ function useChunkCatchup({
|
|
|
15974
15991
|
if (pending.dialogId === currentDialogId) {
|
|
15975
15992
|
rearmForQueuedCatchup();
|
|
15976
15993
|
try {
|
|
15977
|
-
await _optionalChain([catchUpChunksRef, 'access',
|
|
15994
|
+
await _optionalChain([catchUpChunksRef, 'access', _478 => _478.current, 'optionalCall', _479 => _479(pending.fromSequenceId)]);
|
|
15978
15995
|
} catch (rerunError) {
|
|
15979
15996
|
console.error("Queued catch-up re-run failed:", rerunError);
|
|
15980
15997
|
}
|
|
@@ -16041,7 +16058,7 @@ function useChunkCatchup({
|
|
|
16041
16058
|
|
|
16042
16059
|
var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
|
|
16043
16060
|
function prefersReducedMotion() {
|
|
16044
|
-
return typeof window !== "undefined" && _optionalChain([window, 'access',
|
|
16061
|
+
return typeof window !== "undefined" && _optionalChain([window, 'access', _480 => _480.matchMedia, 'optionalCall', _481 => _481("(prefers-reduced-motion: reduce)"), 'access', _482 => _482.matches]) === true;
|
|
16045
16062
|
}
|
|
16046
16063
|
function useScriptedStream(frames, resetKey, enabled = true) {
|
|
16047
16064
|
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
@@ -16052,7 +16069,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
|
|
|
16052
16069
|
setIndex(0);
|
|
16053
16070
|
}
|
|
16054
16071
|
_react.useEffect.call(void 0, () => {
|
|
16055
|
-
const mq = _optionalChain([window, 'access',
|
|
16072
|
+
const mq = _optionalChain([window, 'access', _483 => _483.matchMedia, 'optionalCall', _484 => _484("(prefers-reduced-motion: reduce)")]);
|
|
16056
16073
|
const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
|
|
16057
16074
|
sync();
|
|
16058
16075
|
if (!mq) return void 0;
|
|
@@ -16195,7 +16212,7 @@ function useJetStreamDialogSubscription({
|
|
|
16195
16212
|
const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
|
|
16196
16213
|
conn: sharedConn,
|
|
16197
16214
|
wsUrl,
|
|
16198
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16215
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _485 => _485.current, 'optionalCall', _486 => _486()]),
|
|
16199
16216
|
backoff: reconnectionBackoffRef.current,
|
|
16200
16217
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16201
16218
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -16210,7 +16227,7 @@ function useJetStreamDialogSubscription({
|
|
|
16210
16227
|
setReconnectionCount((c) => c + 1);
|
|
16211
16228
|
}
|
|
16212
16229
|
hadConnectionBeforeRef.current = true;
|
|
16213
|
-
_optionalChain([onConnectRef, 'access',
|
|
16230
|
+
_optionalChain([onConnectRef, 'access', _487 => _487.current, 'optionalCall', _488 => _488()]);
|
|
16214
16231
|
}
|
|
16215
16232
|
if (status === "error") {
|
|
16216
16233
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -16220,7 +16237,7 @@ function useJetStreamDialogSubscription({
|
|
|
16220
16237
|
setIsConnected(false);
|
|
16221
16238
|
setIsSubscribed(false);
|
|
16222
16239
|
tearDownSubscription();
|
|
16223
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16240
|
+
_optionalChain([onDisconnectRef, 'access', _489 => _489.current, 'optionalCall', _490 => _490()]);
|
|
16224
16241
|
}
|
|
16225
16242
|
}
|
|
16226
16243
|
});
|
|
@@ -16346,7 +16363,7 @@ function useJetStreamDialogSubscription({
|
|
|
16346
16363
|
}
|
|
16347
16364
|
subscriptionRef.current = handle;
|
|
16348
16365
|
setIsSubscribed(true);
|
|
16349
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16366
|
+
_optionalChain([onSubscribedRef, 'access', _491 => _491.current, 'optionalCall', _492 => _492()]);
|
|
16350
16367
|
} catch (e47) {
|
|
16351
16368
|
if (!cancelled) {
|
|
16352
16369
|
setIsSubscribed(false);
|
|
@@ -16462,20 +16479,20 @@ function useNatsDialogSubscription({
|
|
|
16462
16479
|
const tearDownSubscriptions = () => {
|
|
16463
16480
|
subscriptionRefs.current.forEach((sub) => {
|
|
16464
16481
|
try {
|
|
16465
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16482
|
+
_optionalChain([sub, 'optionalAccess', _493 => _493.unsubscribe, 'call', _494 => _494()]);
|
|
16466
16483
|
} catch (e49) {
|
|
16467
16484
|
}
|
|
16468
16485
|
});
|
|
16469
16486
|
subscriptionRefs.current.clear();
|
|
16470
16487
|
lastSubscribedDialogIdRef.current = null;
|
|
16471
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16488
|
+
_optionalChain([abortControllerRef, 'access', _495 => _495.current, 'optionalAccess', _496 => _496.abort, 'call', _497 => _497()]);
|
|
16472
16489
|
abortControllerRef.current = null;
|
|
16473
16490
|
};
|
|
16474
16491
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
|
|
16475
16492
|
const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
|
|
16476
16493
|
conn: sharedConn,
|
|
16477
16494
|
wsUrl,
|
|
16478
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16495
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _498 => _498.current, 'optionalCall', _499 => _499()]),
|
|
16479
16496
|
backoff: reconnectionBackoffRef.current,
|
|
16480
16497
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16481
16498
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -16486,7 +16503,7 @@ function useNatsDialogSubscription({
|
|
|
16486
16503
|
setReconnectionCount((c) => c + 1);
|
|
16487
16504
|
}
|
|
16488
16505
|
hadConnectionBeforeRef.current = true;
|
|
16489
|
-
_optionalChain([onConnectRef, 'access',
|
|
16506
|
+
_optionalChain([onConnectRef, 'access', _500 => _500.current, 'optionalCall', _501 => _501()]);
|
|
16490
16507
|
}
|
|
16491
16508
|
if (status === "error") {
|
|
16492
16509
|
console.warn("[NATS] protocol error:", evt.data);
|
|
@@ -16496,7 +16513,7 @@ function useNatsDialogSubscription({
|
|
|
16496
16513
|
setIsConnected(false);
|
|
16497
16514
|
setIsSubscribed(false);
|
|
16498
16515
|
tearDownSubscriptions();
|
|
16499
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16516
|
+
_optionalChain([onDisconnectRef, 'access', _502 => _502.current, 'optionalCall', _503 => _503()]);
|
|
16500
16517
|
}
|
|
16501
16518
|
}
|
|
16502
16519
|
});
|
|
@@ -16527,13 +16544,13 @@ function useNatsDialogSubscription({
|
|
|
16527
16544
|
setIsSubscribed(false);
|
|
16528
16545
|
subscriptionRefs.current.forEach((sub) => {
|
|
16529
16546
|
try {
|
|
16530
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16547
|
+
_optionalChain([sub, 'optionalAccess', _504 => _504.unsubscribe, 'call', _505 => _505()]);
|
|
16531
16548
|
} catch (e50) {
|
|
16532
16549
|
}
|
|
16533
16550
|
});
|
|
16534
16551
|
subscriptionRefs.current.clear();
|
|
16535
16552
|
lastSubscribedDialogIdRef.current = null;
|
|
16536
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16553
|
+
_optionalChain([abortControllerRef, 'access', _506 => _506.current, 'optionalAccess', _507 => _507.abort, 'call', _508 => _508()]);
|
|
16537
16554
|
abortControllerRef.current = null;
|
|
16538
16555
|
}
|
|
16539
16556
|
return void 0;
|
|
@@ -16545,12 +16562,12 @@ function useNatsDialogSubscription({
|
|
|
16545
16562
|
if (subscriptionRefs.current.size > 0) {
|
|
16546
16563
|
subscriptionRefs.current.forEach((sub) => {
|
|
16547
16564
|
try {
|
|
16548
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16565
|
+
_optionalChain([sub, 'optionalAccess', _509 => _509.unsubscribe, 'call', _510 => _510()]);
|
|
16549
16566
|
} catch (e51) {
|
|
16550
16567
|
}
|
|
16551
16568
|
});
|
|
16552
16569
|
subscriptionRefs.current.clear();
|
|
16553
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16570
|
+
_optionalChain([abortControllerRef, 'access', _511 => _511.current, 'optionalAccess', _512 => _512.abort, 'call', _513 => _513()]);
|
|
16554
16571
|
}
|
|
16555
16572
|
abortControllerRef.current = new AbortController();
|
|
16556
16573
|
const abort = abortControllerRef.current;
|
|
@@ -16580,7 +16597,7 @@ function useNatsDialogSubscription({
|
|
|
16580
16597
|
});
|
|
16581
16598
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
16582
16599
|
setIsSubscribed(true);
|
|
16583
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16600
|
+
_optionalChain([onSubscribedRef, 'access', _514 => _514.current, 'optionalCall', _515 => _515()]);
|
|
16584
16601
|
};
|
|
16585
16602
|
if (isConnectedRef.current) {
|
|
16586
16603
|
createSubscriptions();
|
|
@@ -16591,7 +16608,7 @@ function useNatsDialogSubscription({
|
|
|
16591
16608
|
abort.abort();
|
|
16592
16609
|
subscriptions.forEach((sub) => {
|
|
16593
16610
|
try {
|
|
16594
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16611
|
+
_optionalChain([sub, 'optionalAccess', _516 => _516.unsubscribe, 'call', _517 => _517()]);
|
|
16595
16612
|
} catch (e53) {
|
|
16596
16613
|
}
|
|
16597
16614
|
});
|
|
@@ -16630,7 +16647,7 @@ function useNatsDialogSubscription({
|
|
|
16630
16647
|
});
|
|
16631
16648
|
lastSubscribedDialogIdRef.current = currentDialogId;
|
|
16632
16649
|
setIsSubscribed(true);
|
|
16633
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16650
|
+
_optionalChain([onSubscribedRef, 'access', _518 => _518.current, 'optionalCall', _519 => _519()]);
|
|
16634
16651
|
} else if (subscriptionRefs.current.size > 0) {
|
|
16635
16652
|
setIsSubscribed(true);
|
|
16636
16653
|
}
|
|
@@ -16638,10 +16655,10 @@ function useNatsDialogSubscription({
|
|
|
16638
16655
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
16639
16656
|
}
|
|
16640
16657
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
16641
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
16658
|
+
const path = _optionalChain([options, 'optionalAccess', _520 => _520.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
16642
16659
|
const u = new URL(path, apiBaseUrl);
|
|
16643
16660
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
16644
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
16661
|
+
if (_optionalChain([options, 'optionalAccess', _521 => _521.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _522 => _522.token])) {
|
|
16645
16662
|
u.searchParams.set("authorization", options.token);
|
|
16646
16663
|
}
|
|
16647
16664
|
return u.toString();
|
|
@@ -16659,7 +16676,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
16659
16676
|
const data = await res.json();
|
|
16660
16677
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
16661
16678
|
} catch (err) {
|
|
16662
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
16679
|
+
if (_optionalChain([err, 'optionalAccess', _523 => _523.name]) === "AbortError") throw err;
|
|
16663
16680
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
16664
16681
|
return [];
|
|
16665
16682
|
}
|
|
@@ -16667,8 +16684,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
16667
16684
|
var NO_COMMANDS = [];
|
|
16668
16685
|
function useSlashCommands(prefix, commandsUrl) {
|
|
16669
16686
|
const [answered, setAnswered] = _react.useState.call(void 0, null);
|
|
16670
|
-
const commands = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
16671
|
-
const loading = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
16687
|
+
const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _524 => _524.prefix]) === prefix ? answered.commands : NO_COMMANDS;
|
|
16688
|
+
const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _525 => _525.prefix]) !== prefix;
|
|
16672
16689
|
_react.useEffect.call(void 0, () => {
|
|
16673
16690
|
if (prefix == null) return void 0;
|
|
16674
16691
|
let cancelled = false;
|
|
@@ -16678,7 +16695,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
16678
16695
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
16679
16696
|
if (!cancelled) setAnswered({ prefix, commands: next });
|
|
16680
16697
|
} catch (err) {
|
|
16681
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
16698
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _526 => _526.name]) !== "AbortError") {
|
|
16682
16699
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
16683
16700
|
setAnswered({ prefix, commands: NO_COMMANDS });
|
|
16684
16701
|
}
|
|
@@ -16701,7 +16718,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
16701
16718
|
const query = _reactquery.useQuery.call(void 0, {
|
|
16702
16719
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
16703
16720
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
16704
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
16721
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _527 => _527.enabled]), () => ( true)),
|
|
16705
16722
|
staleTime: Infinity,
|
|
16706
16723
|
gcTime: Infinity,
|
|
16707
16724
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -16740,21 +16757,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
16740
16757
|
}
|
|
16741
16758
|
const data = await res.json();
|
|
16742
16759
|
return {
|
|
16743
|
-
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16744
|
-
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16745
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16746
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16747
|
-
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16748
|
-
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16760
|
+
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _528 => _528.name]), () => ( null)),
|
|
16761
|
+
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _529 => _529.icon]), () => ( null)),
|
|
16762
|
+
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _530 => _530.greeting]), () => ( null)),
|
|
16763
|
+
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _531 => _531.enabledRagTableIds]), () => ( [])),
|
|
16764
|
+
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _532 => _532.quickActions]), () => ( [])),
|
|
16765
|
+
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _533 => _533.suggestedQueries]), () => ( []))
|
|
16749
16766
|
};
|
|
16750
16767
|
} catch (err) {
|
|
16751
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
16768
|
+
if (_optionalChain([err, 'optionalAccess', _534 => _534.name]) === "AbortError") throw err;
|
|
16752
16769
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
16753
16770
|
return EMPTY_STATE_FALLBACK;
|
|
16754
16771
|
}
|
|
16755
16772
|
}
|
|
16756
16773
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
16757
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
16774
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _535 => _535.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
16758
16775
|
const query = _reactquery.useQuery.call(void 0, {
|
|
16759
16776
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
16760
16777
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -16783,7 +16800,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
16783
16800
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
16784
16801
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
16785
16802
|
return new Promise((resolve, reject) => {
|
|
16786
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
16803
|
+
if (_optionalChain([signal, 'optionalAccess', _536 => _536.aborted])) {
|
|
16787
16804
|
reject(new Error("Upload cancelled"));
|
|
16788
16805
|
return;
|
|
16789
16806
|
}
|
|
@@ -16825,7 +16842,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
16825
16842
|
const handleSignalAbort = () => {
|
|
16826
16843
|
xhr.abort();
|
|
16827
16844
|
};
|
|
16828
|
-
_optionalChain([signal, 'optionalAccess',
|
|
16845
|
+
_optionalChain([signal, 'optionalAccess', _537 => _537.addEventListener, 'call', _538 => _538("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
|
|
16829
16846
|
xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
|
|
16830
16847
|
xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
|
|
16831
16848
|
xhr.addEventListener("error", handleError, { signal: listeners.signal });
|
|
@@ -16869,10 +16886,10 @@ function useChatAttachments() {
|
|
|
16869
16886
|
try {
|
|
16870
16887
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
16871
16888
|
} catch (err) {
|
|
16872
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
16889
|
+
if (_optionalChain([ctrl, 'optionalAccess', _539 => _539.signal, 'access', _540 => _540.aborted])) return;
|
|
16873
16890
|
throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
|
|
16874
16891
|
}
|
|
16875
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
16892
|
+
if (_optionalChain([ctrl, 'optionalAccess', _541 => _541.signal, 'access', _542 => _542.aborted])) return;
|
|
16876
16893
|
if (!sniffed) {
|
|
16877
16894
|
throw new Error("Unrecognized file format");
|
|
16878
16895
|
}
|
|
@@ -16886,7 +16903,7 @@ function useChatAttachments() {
|
|
|
16886
16903
|
const urlResp = await _chunkCP6TIRONcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
16887
16904
|
method: "POST",
|
|
16888
16905
|
headers: { "Content-Type": "application/json" },
|
|
16889
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
16906
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _543 => _543.signal]),
|
|
16890
16907
|
body: JSON.stringify({
|
|
16891
16908
|
fileName: att.file.name,
|
|
16892
16909
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -16915,9 +16932,9 @@ function useChatAttachments() {
|
|
|
16915
16932
|
(pct) => {
|
|
16916
16933
|
updateOne(att.id, { progress: pct });
|
|
16917
16934
|
},
|
|
16918
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
16935
|
+
_optionalChain([ctrl, 'optionalAccess', _544 => _544.signal])
|
|
16919
16936
|
);
|
|
16920
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
16937
|
+
if (_optionalChain([ctrl, 'optionalAccess', _545 => _545.signal, 'access', _546 => _546.aborted])) return;
|
|
16921
16938
|
updateOne(att.id, {
|
|
16922
16939
|
status: "ready",
|
|
16923
16940
|
progress: 100,
|
|
@@ -16925,7 +16942,7 @@ function useChatAttachments() {
|
|
|
16925
16942
|
viewToken: mintData.viewToken
|
|
16926
16943
|
});
|
|
16927
16944
|
} catch (err) {
|
|
16928
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
16945
|
+
if (_optionalChain([ctrl, 'optionalAccess', _547 => _547.signal, 'access', _548 => _548.aborted])) return;
|
|
16929
16946
|
const message = err instanceof Error ? err.message : String(err);
|
|
16930
16947
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
|
|
16931
16948
|
} finally {
|
|
@@ -17047,7 +17064,7 @@ function useChatAttachmentImageGallery() {
|
|
|
17047
17064
|
return () => root.removeEventListener("click", onClick);
|
|
17048
17065
|
}, [viewUrlPrefix]);
|
|
17049
17066
|
const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17050
|
-
|
|
17067
|
+
_chunkNNFQLTJ3cjs.ImageGalleryModal,
|
|
17051
17068
|
{
|
|
17052
17069
|
images: state.images,
|
|
17053
17070
|
isOpen: state.isOpen,
|
|
@@ -17074,11 +17091,11 @@ var ANON_DEFAULTS = {
|
|
|
17074
17091
|
function useResolveChatIdentity(enabled) {
|
|
17075
17092
|
const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
|
|
17076
17093
|
const url = runtime.endpoints.identityUrl;
|
|
17077
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkCP6TIRONcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
17094
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkCP6TIRONcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _549 => _549.email]), () => ( null));
|
|
17078
17095
|
const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
|
|
17079
17096
|
const [resolved, setResolved] = _react.useState.call(void 0, null);
|
|
17080
|
-
const data = _optionalChain([resolved, 'optionalAccess',
|
|
17081
|
-
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess',
|
|
17097
|
+
const data = _optionalChain([resolved, 'optionalAccess', _550 => _550.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
|
|
17098
|
+
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _551 => _551.key]) !== requestKey;
|
|
17082
17099
|
_react.useEffect.call(void 0, () => {
|
|
17083
17100
|
if (requestKey === null) return void 0;
|
|
17084
17101
|
let cancelled = false;
|
|
@@ -17225,7 +17242,7 @@ function useChat({
|
|
|
17225
17242
|
onMessagesChangeRef.current = onMessagesChange;
|
|
17226
17243
|
});
|
|
17227
17244
|
_react.useEffect.call(void 0, () => {
|
|
17228
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
17245
|
+
_optionalChain([onMessagesChangeRef, 'access', _552 => _552.current, 'optionalCall', _553 => _553(messages)]);
|
|
17229
17246
|
}, [messages]);
|
|
17230
17247
|
const {
|
|
17231
17248
|
streamMessage,
|
|
@@ -17262,7 +17279,7 @@ function useChat({
|
|
|
17262
17279
|
name: "You",
|
|
17263
17280
|
content: text,
|
|
17264
17281
|
timestamp: /* @__PURE__ */ new Date(),
|
|
17265
|
-
..._optionalChain([options, 'optionalAccess',
|
|
17282
|
+
..._optionalChain([options, 'optionalAccess', _554 => _554.hidden]) ? { hidden: true } : {}
|
|
17266
17283
|
};
|
|
17267
17284
|
addMessage(userMessage);
|
|
17268
17285
|
setIsTyping(true);
|
|
@@ -17476,7 +17493,7 @@ function buildConfirmToolBody(request) {
|
|
|
17476
17493
|
async function readServerErrorMessage(response) {
|
|
17477
17494
|
try {
|
|
17478
17495
|
const body = await response.json();
|
|
17479
|
-
if (typeof _optionalChain([body, 'optionalAccess',
|
|
17496
|
+
if (typeof _optionalChain([body, 'optionalAccess', _555 => _555.error]) === "string" && body.error.length > 0) return body.error;
|
|
17480
17497
|
} catch (e55) {
|
|
17481
17498
|
}
|
|
17482
17499
|
return null;
|
|
@@ -17713,7 +17730,7 @@ function createSseFrameDecoder() {
|
|
|
17713
17730
|
// src/chat-protocol/events.ts
|
|
17714
17731
|
var GUIDE_ORIGIN = "guide";
|
|
17715
17732
|
function isGuideOrigin(source) {
|
|
17716
|
-
return _optionalChain([source, 'optionalAccess',
|
|
17733
|
+
return _optionalChain([source, 'optionalAccess', _556 => _556.origin]) === GUIDE_ORIGIN;
|
|
17717
17734
|
}
|
|
17718
17735
|
var ESCALATION_STATE = {
|
|
17719
17736
|
PENDING: "PENDING",
|
|
@@ -17819,11 +17836,11 @@ function appendToTrailingAssistant(prev, segments) {
|
|
|
17819
17836
|
for (const seg of segments) {
|
|
17820
17837
|
const tail = merged[merged.length - 1];
|
|
17821
17838
|
const key = upsertKey(seg);
|
|
17822
|
-
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess',
|
|
17839
|
+
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _557 => _557.type]) === "text") {
|
|
17823
17840
|
merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
|
|
17824
|
-
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess',
|
|
17841
|
+
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _558 => _558.type]) === "thinking") {
|
|
17825
17842
|
merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
|
|
17826
|
-
} else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess',
|
|
17843
|
+
} else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _559 => _559.type]) === "guide") {
|
|
17827
17844
|
merged[merged.length - 1] = { type: "guide", text: tail.text + seg.text };
|
|
17828
17845
|
} else if (key) {
|
|
17829
17846
|
const idx = merged.findIndex((m) => upsertKey(m) === key);
|
|
@@ -17863,7 +17880,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
17863
17880
|
}
|
|
17864
17881
|
if (s.type !== "approval_batch") return s;
|
|
17865
17882
|
const isAnchor = s.data.approvalRequestId === requestId;
|
|
17866
|
-
const hasRow = _optionalChain([s, 'access',
|
|
17883
|
+
const hasRow = _optionalChain([s, 'access', _560 => _560.data, 'access', _561 => _561.toolCalls, 'optionalAccess', _562 => _562.some, 'call', _563 => _563((c) => c.toolExecutionRequestId === requestId)]);
|
|
17867
17884
|
if (!isAnchor && !hasRow) return s;
|
|
17868
17885
|
const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
|
|
17869
17886
|
const nextExecutions = hasRow ? {
|
|
@@ -17885,8 +17902,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
17885
17902
|
};
|
|
17886
17903
|
}
|
|
17887
17904
|
function nextBatchExecution(prevExec, toolData) {
|
|
17888
|
-
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess',
|
|
17889
|
-
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess',
|
|
17905
|
+
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _564 => _564.status]) === "done") return null;
|
|
17906
|
+
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _565 => _565.result]), success: _optionalChain([prevExec, 'optionalAccess', _566 => _566.success]) };
|
|
17890
17907
|
}
|
|
17891
17908
|
function withBatchExecution(seg, execId, state) {
|
|
17892
17909
|
return {
|
|
@@ -17903,11 +17920,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
|
|
|
17903
17920
|
}
|
|
17904
17921
|
function projectBatchRowFailureToMessages(prev, rowRequestId) {
|
|
17905
17922
|
return mapSegments(prev, (s) => {
|
|
17906
|
-
if (s.type !== "approval_batch" || !_optionalChain([s, 'access',
|
|
17923
|
+
if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _567 => _567.data, 'access', _568 => _568.toolCalls, 'optionalAccess', _569 => _569.some, 'call', _570 => _570((c) => c.toolExecutionRequestId === rowRequestId)])) {
|
|
17907
17924
|
return s;
|
|
17908
17925
|
}
|
|
17909
|
-
const existing = _optionalChain([s, 'access',
|
|
17910
|
-
if (_optionalChain([existing, 'optionalAccess',
|
|
17926
|
+
const existing = _optionalChain([s, 'access', _571 => _571.data, 'access', _572 => _572.executions, 'optionalAccess', _573 => _573[rowRequestId]]);
|
|
17927
|
+
if (_optionalChain([existing, 'optionalAccess', _574 => _574.status]) === "done") return s;
|
|
17911
17928
|
return withBatchExecution(s, rowRequestId, { status: "done", success: false });
|
|
17912
17929
|
});
|
|
17913
17930
|
}
|
|
@@ -17943,7 +17960,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
|
|
|
17943
17960
|
for (let j = message.segments.length - 1; j >= 0; j--) {
|
|
17944
17961
|
const seg = message.segments[j];
|
|
17945
17962
|
if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
|
|
17946
|
-
const prevExec = _optionalChain([seg, 'access',
|
|
17963
|
+
const prevExec = _optionalChain([seg, 'access', _575 => _575.data, 'access', _576 => _576.executions, 'optionalAccess', _577 => _577[execId]]);
|
|
17947
17964
|
const nextExec = nextBatchExecution(prevExec, toolData);
|
|
17948
17965
|
if (nextExec === null) return prev;
|
|
17949
17966
|
if (sameExecutionState(prevExec, nextExec)) return prev;
|
|
@@ -18129,9 +18146,9 @@ var MessageSegmentAccumulator = class {
|
|
|
18129
18146
|
type: "tool_execution",
|
|
18130
18147
|
data: {
|
|
18131
18148
|
...toolData,
|
|
18132
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18133
|
-
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18134
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
18149
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _578 => _578.data, 'access', _579 => _579.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _580 => _580.toolTitle]))),
|
|
18150
|
+
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _581 => _581.data, 'access', _582 => _582.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _583 => _583.toolExplanation]))),
|
|
18151
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _584 => _584.parameters])
|
|
18135
18152
|
}
|
|
18136
18153
|
};
|
|
18137
18154
|
if (existingIndex !== -1) {
|
|
@@ -18155,7 +18172,7 @@ var MessageSegmentAccumulator = class {
|
|
|
18155
18172
|
if (seg.type !== "approval_batch") return seg;
|
|
18156
18173
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
18157
18174
|
if (!hasCall) return seg;
|
|
18158
|
-
const prev = _optionalChain([seg, 'access',
|
|
18175
|
+
const prev = _optionalChain([seg, 'access', _585 => _585.data, 'access', _586 => _586.executions, 'optionalAccess', _587 => _587[execId]]);
|
|
18159
18176
|
const next = nextBatchExecution(prev, toolData);
|
|
18160
18177
|
matched = true;
|
|
18161
18178
|
if (next === null) return seg;
|
|
@@ -18293,8 +18310,8 @@ var MessageSegmentAccumulator = class {
|
|
|
18293
18310
|
requestId,
|
|
18294
18311
|
{
|
|
18295
18312
|
...pendingApproval,
|
|
18296
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
18297
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
18313
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _588 => _588.command]) || "",
|
|
18314
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _589 => _589.approvalType]) || approvalType
|
|
18298
18315
|
},
|
|
18299
18316
|
status
|
|
18300
18317
|
);
|
|
@@ -18319,9 +18336,9 @@ var MessageSegmentAccumulator = class {
|
|
|
18319
18336
|
type: "escalation_offer",
|
|
18320
18337
|
// The resolved chunk carries no text/origin — a redelivered offer must
|
|
18321
18338
|
// not blank the card the PENDING chunk already painted.
|
|
18322
|
-
data: { offerId, text: text || _optionalChain([existing, 'optionalAccess',
|
|
18339
|
+
data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _590 => _590.data, 'access', _591 => _591.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _592 => _592.data, 'access', _593 => _593.origin]))) },
|
|
18323
18340
|
status,
|
|
18324
|
-
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess',
|
|
18341
|
+
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _594 => _594.resolvedByName]))),
|
|
18325
18342
|
onApprove: this.callbacks.onEscalationApprove,
|
|
18326
18343
|
onReject: this.callbacks.onEscalationReject
|
|
18327
18344
|
};
|
|
@@ -18652,7 +18669,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
18652
18669
|
let stateCache = null;
|
|
18653
18670
|
function invalidate() {
|
|
18654
18671
|
stateCache = null;
|
|
18655
|
-
_optionalChain([onChange, 'optionalCall',
|
|
18672
|
+
_optionalChain([onChange, 'optionalCall', _595 => _595()]);
|
|
18656
18673
|
}
|
|
18657
18674
|
function getState() {
|
|
18658
18675
|
if (!stateCache) {
|
|
@@ -18669,7 +18686,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
18669
18686
|
return stateCache;
|
|
18670
18687
|
}
|
|
18671
18688
|
function emit(name, ...args) {
|
|
18672
|
-
_optionalChain([onEffect, 'optionalCall',
|
|
18689
|
+
_optionalChain([onEffect, 'optionalCall', _596 => _596({ name, args })]);
|
|
18673
18690
|
}
|
|
18674
18691
|
function setMessagesInternal(next) {
|
|
18675
18692
|
if (next !== messages) {
|
|
@@ -18700,12 +18717,12 @@ function createChatStreamReducer(options = {}) {
|
|
|
18700
18717
|
return [...next.slice(0, -1), { ...last, streamSeq: seq }];
|
|
18701
18718
|
}
|
|
18702
18719
|
function applySegmentsToState(segments, meta) {
|
|
18703
|
-
const seq = _optionalChain([meta, 'optionalAccess',
|
|
18704
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
18720
|
+
const seq = _optionalChain([meta, 'optionalAccess', _597 => _597.streamSeq]);
|
|
18721
|
+
if (_optionalChain([meta, 'optionalAccess', _598 => _598.append]) && meta.isCompacting) {
|
|
18705
18722
|
setMessagesInternal(stampTrailingAssistantSeq(upsertTrailingCompaction(messages, segments), seq));
|
|
18706
18723
|
return;
|
|
18707
18724
|
}
|
|
18708
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
18725
|
+
if (_optionalChain([meta, 'optionalAccess', _599 => _599.append])) {
|
|
18709
18726
|
setMessagesInternal(stampTrailingAssistantSeq(appendToTrailingAssistant(messages, segments), seq));
|
|
18710
18727
|
return;
|
|
18711
18728
|
}
|
|
@@ -18717,7 +18734,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
18717
18734
|
adoptTrailingAssistant = false;
|
|
18718
18735
|
const last = messages[messages.length - 1];
|
|
18719
18736
|
if (!last || last.role !== "assistant" || adoptTail) return;
|
|
18720
|
-
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access',
|
|
18737
|
+
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _600 => _600.segments, 'optionalAccess', _601 => _601.length]), () => ( 0))) > 0 || last.content !== "";
|
|
18721
18738
|
if (!hasContent) return;
|
|
18722
18739
|
setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
|
|
18723
18740
|
}
|
|
@@ -18938,13 +18955,13 @@ function createChatStreamReducer(options = {}) {
|
|
|
18938
18955
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
18939
18956
|
pendingEscalated.set(requestId, {
|
|
18940
18957
|
command: summary,
|
|
18941
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
18958
|
+
explanation: _optionalChain([required, 'optionalAccess', _602 => _602.toolExplanation]),
|
|
18942
18959
|
approvalType,
|
|
18943
18960
|
toolCalls
|
|
18944
18961
|
});
|
|
18945
18962
|
emit("onEscalatedApproval", requestId, {
|
|
18946
18963
|
command: summary,
|
|
18947
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
18964
|
+
explanation: _optionalChain([required, 'optionalAccess', _603 => _603.toolExplanation]),
|
|
18948
18965
|
approvalType
|
|
18949
18966
|
});
|
|
18950
18967
|
break;
|
|
@@ -19332,7 +19349,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19332
19349
|
const resolveBatch = (status, confirm) => async () => {
|
|
19333
19350
|
setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
|
|
19334
19351
|
for (const id of ids) {
|
|
19335
|
-
const ok = await _optionalChain([confirm, 'optionalCall',
|
|
19352
|
+
const ok = await _optionalChain([confirm, 'optionalCall', _604 => _604(id)]);
|
|
19336
19353
|
if (ok === false) {
|
|
19337
19354
|
setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
|
|
19338
19355
|
}
|
|
@@ -19470,8 +19487,8 @@ function createChatStreamReducer(options = {}) {
|
|
|
19470
19487
|
}
|
|
19471
19488
|
}
|
|
19472
19489
|
}
|
|
19473
|
-
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess',
|
|
19474
|
-
if (_optionalChain([extras, 'optionalAccess',
|
|
19490
|
+
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _605 => _605.resumed]), () => ( messages.length > 0)));
|
|
19491
|
+
if (_optionalChain([extras, 'optionalAccess', _606 => _606.agentBusy])) agentBusyState();
|
|
19475
19492
|
invalidate();
|
|
19476
19493
|
}
|
|
19477
19494
|
return {
|
|
@@ -19556,7 +19573,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19556
19573
|
},
|
|
19557
19574
|
endSseTurn() {
|
|
19558
19575
|
const last = messages[messages.length - 1];
|
|
19559
|
-
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access',
|
|
19576
|
+
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _607 => _607.segments, 'optionalAccess', _608 => _608.length]), () => ( 0))) === 0 && last.content === "") {
|
|
19560
19577
|
messages = messages.slice(0, -1);
|
|
19561
19578
|
}
|
|
19562
19579
|
sseCurrentText = "";
|
|
@@ -19709,10 +19726,10 @@ function createChatDialogStore(options = {}) {
|
|
|
19709
19726
|
if (onEvict) {
|
|
19710
19727
|
const sep = key.indexOf(KEY_SEP);
|
|
19711
19728
|
onEvict(key.slice(0, sep), key.slice(sep + 1), {
|
|
19712
|
-
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19713
|
-
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19714
|
-
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19715
|
-
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19729
|
+
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _609 => _609.state, 'access', _610 => _610.messages]), () => ( EMPTY_STATE.messages)),
|
|
19730
|
+
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _611 => _611.state, 'access', _612 => _612.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
|
|
19731
|
+
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _613 => _613.getLastAppliedSeq, 'call', _614 => _614()]), () => ( Number.NEGATIVE_INFINITY)),
|
|
19732
|
+
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _615 => _615.getPendingEchoes, 'call', _616 => _616()]), () => ( EMPTY_PENDING_ECHOES))
|
|
19716
19733
|
});
|
|
19717
19734
|
}
|
|
19718
19735
|
}
|
|
@@ -19722,12 +19739,12 @@ function createChatDialogStore(options = {}) {
|
|
|
19722
19739
|
const key = keyOf(dialogId, side);
|
|
19723
19740
|
let reducer = reducers.get(key);
|
|
19724
19741
|
if (!reducer) {
|
|
19725
|
-
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall',
|
|
19742
|
+
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _617 => _617(dialogId, side)]), () => ( {}));
|
|
19726
19743
|
const userOnChange = base.onChange;
|
|
19727
19744
|
reducer = createChatStreamReducer({
|
|
19728
19745
|
...base,
|
|
19729
19746
|
onChange: () => {
|
|
19730
|
-
_optionalChain([userOnChange, 'optionalCall',
|
|
19747
|
+
_optionalChain([userOnChange, 'optionalCall', _618 => _618()]);
|
|
19731
19748
|
notify();
|
|
19732
19749
|
}
|
|
19733
19750
|
});
|
|
@@ -19772,7 +19789,7 @@ function createChatDialogStore(options = {}) {
|
|
|
19772
19789
|
};
|
|
19773
19790
|
}
|
|
19774
19791
|
function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
|
|
19775
|
-
return _nullishCoalesce(_optionalChain([reducers, 'access',
|
|
19792
|
+
return _nullishCoalesce(_optionalChain([reducers, 'access', _619 => _619.get, 'call', _620 => _620(keyOf(dialogId, side)), 'optionalAccess', _621 => _621.state]), () => ( EMPTY_STATE));
|
|
19776
19793
|
}
|
|
19777
19794
|
function getServerSnapshot2() {
|
|
19778
19795
|
return EMPTY_STATE;
|
|
@@ -19864,7 +19881,7 @@ function createDeltaBatcher({
|
|
|
19864
19881
|
pending = [];
|
|
19865
19882
|
const key = pendingKey;
|
|
19866
19883
|
for (const delta of batch) applyOne(delta, key);
|
|
19867
|
-
_optionalChain([onFlushed, 'optionalCall',
|
|
19884
|
+
_optionalChain([onFlushed, 'optionalCall', _622 => _622(batch.length)]);
|
|
19868
19885
|
}
|
|
19869
19886
|
function schedule() {
|
|
19870
19887
|
if (raf !== null || timer !== null) return;
|
|
@@ -19888,7 +19905,7 @@ function createDeltaBatcher({
|
|
|
19888
19905
|
}
|
|
19889
19906
|
if (!isDeltaEvent(event)) return false;
|
|
19890
19907
|
const tail = pending[pending.length - 1];
|
|
19891
|
-
const seqAdvances = _optionalChain([tail, 'optionalAccess',
|
|
19908
|
+
const seqAdvances = _optionalChain([tail, 'optionalAccess', _623 => _623.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
|
|
19892
19909
|
if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
|
|
19893
19910
|
pending[pending.length - 1] = {
|
|
19894
19911
|
...tail,
|
|
@@ -19919,7 +19936,7 @@ function useChatStreamReducer({
|
|
|
19919
19936
|
side = DEFAULT_DIALOG_SIDE,
|
|
19920
19937
|
createReducerOptions
|
|
19921
19938
|
}) {
|
|
19922
|
-
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall',
|
|
19939
|
+
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _624 => _624()]), () => ( {})));
|
|
19923
19940
|
const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
|
|
19924
19941
|
const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
|
|
19925
19942
|
const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
|
|
@@ -19958,7 +19975,7 @@ var STORAGE_KEY = "conversation";
|
|
|
19958
19975
|
var namespaceFor = (source) => {
|
|
19959
19976
|
const base = `mingo-chat-${source}`;
|
|
19960
19977
|
const auth = _chunkCP6TIRONcjs.getEmbedProxyAuth.call(void 0, );
|
|
19961
|
-
return _optionalChain([auth, 'optionalAccess',
|
|
19978
|
+
return _optionalChain([auth, 'optionalAccess', _625 => _625.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
|
|
19962
19979
|
};
|
|
19963
19980
|
function createChatConversationStorage(source) {
|
|
19964
19981
|
return _chunkCP6TIRONcjs.createLocalStorageAdapter.call(void 0, {
|
|
@@ -20022,7 +20039,7 @@ function formatSingularLookupInvocation(cmdId, value) {
|
|
|
20022
20039
|
return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
|
|
20023
20040
|
}
|
|
20024
20041
|
function extractEntityIdFilter(override, expectedTableId) {
|
|
20025
|
-
const f = _optionalChain([override, 'optionalAccess',
|
|
20042
|
+
const f = _optionalChain([override, 'optionalAccess', _626 => _626.entityIdFilter]);
|
|
20026
20043
|
if (!f) return null;
|
|
20027
20044
|
const tableId = typeof f.tableId === "string" ? f.tableId : "";
|
|
20028
20045
|
const id = typeof f.id === "string" ? f.id : "";
|
|
@@ -20061,7 +20078,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
|
|
|
20061
20078
|
function buildAutoContinuationDirective(toolName, opts = {}) {
|
|
20062
20079
|
const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
|
|
20063
20080
|
const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
|
|
20064
|
-
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access',
|
|
20081
|
+
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _627 => _627.status, 'optionalAccess', _628 => _628.toUpperCase, 'call', _629 => _629()]) === "CLOSED";
|
|
20065
20082
|
if (toolName === "create_ticket") {
|
|
20066
20083
|
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.`;
|
|
20067
20084
|
}
|
|
@@ -20184,7 +20201,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20184
20201
|
const { active = true } = runtimeOptions;
|
|
20185
20202
|
const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
|
|
20186
20203
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
20187
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
20204
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _630 => _630.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
20188
20205
|
const sendMessageRef = _react.useRef.call(void 0,
|
|
20189
20206
|
() => Promise.resolve(true)
|
|
20190
20207
|
);
|
|
@@ -20221,7 +20238,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20221
20238
|
if (!restoredConversationRef.current) {
|
|
20222
20239
|
restoredConversationRef.current = true;
|
|
20223
20240
|
pruneStaleChatConversationStorage(source);
|
|
20224
|
-
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access',
|
|
20241
|
+
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _631 => _631.load, 'call', _632 => _632(), 'optionalAccess', _633 => _633.conversationId]), () => ( null));
|
|
20225
20242
|
}
|
|
20226
20243
|
const commandsUrl = runtime.endpoints.commandsUrl;
|
|
20227
20244
|
const { commands: slashCommands } = useSlashCommandRegistry(commandsUrl, {
|
|
@@ -20326,7 +20343,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20326
20343
|
const serverMessage = await readServerErrorMessage(response);
|
|
20327
20344
|
throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
|
|
20328
20345
|
}
|
|
20329
|
-
const reader = _optionalChain([response, 'access',
|
|
20346
|
+
const reader = _optionalChain([response, 'access', _634 => _634.body, 'optionalAccess', _635 => _635.getReader, 'call', _636 => _636()]);
|
|
20330
20347
|
if (!reader) throw new Error("No response body");
|
|
20331
20348
|
const frameDecoder = createSseFrameDecoder();
|
|
20332
20349
|
let finished = false;
|
|
@@ -20349,7 +20366,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20349
20366
|
}
|
|
20350
20367
|
return true;
|
|
20351
20368
|
} catch (err) {
|
|
20352
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
20369
|
+
if (_optionalChain([err, 'optionalAccess', _637 => _637.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
20353
20370
|
return true;
|
|
20354
20371
|
}
|
|
20355
20372
|
flushDeltas();
|
|
@@ -20369,7 +20386,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20369
20386
|
);
|
|
20370
20387
|
sendMessageRef.current = sendMessage;
|
|
20371
20388
|
const stopMessage = _react.useCallback.call(void 0, () => {
|
|
20372
|
-
_optionalChain([abortControllerRef, 'access',
|
|
20389
|
+
_optionalChain([abortControllerRef, 'access', _638 => _638.current, 'optionalAccess', _639 => _639.abort, 'call', _640 => _640()]);
|
|
20373
20390
|
flushDeltas();
|
|
20374
20391
|
mutate((r) => r.setPhase("idle"));
|
|
20375
20392
|
}, [mutate, flushDeltas]);
|
|
@@ -20385,7 +20402,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20385
20402
|
let sendIdx = -1;
|
|
20386
20403
|
return state.messages.map((m) => {
|
|
20387
20404
|
const segments = m.segments;
|
|
20388
|
-
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess',
|
|
20405
|
+
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _641 => _641.filter, 'call', _642 => _642((s) => s.type === "text"), 'access', _643 => _643.map, 'call', _644 => _644((s) => s.text), 'access', _645 => _645.join, 'call', _646 => _646("")]), () => ( ""));
|
|
20389
20406
|
let sources;
|
|
20390
20407
|
let scrollAnchor;
|
|
20391
20408
|
if (m.role === "user" && !m.hidden) {
|
|
@@ -20394,7 +20411,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20394
20411
|
if (m.role === "assistant") {
|
|
20395
20412
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
20396
20413
|
sources = sourcesMap.get(lookupIdx);
|
|
20397
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access',
|
|
20414
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _647 => _647.get, 'call', _648 => _648(lookupIdx), 'optionalAccess', _649 => _649.scrollAnchor]), () => ( void 0));
|
|
20398
20415
|
}
|
|
20399
20416
|
return {
|
|
20400
20417
|
id: m.id,
|
|
@@ -20421,7 +20438,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20421
20438
|
);
|
|
20422
20439
|
return;
|
|
20423
20440
|
}
|
|
20424
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
20441
|
+
const refSlug = typeof _optionalChain([reference, 'access', _650 => _650.metadata, 'optionalAccess', _651 => _651.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
20425
20442
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
20426
20443
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
20427
20444
|
const text = `/${cmdId} display "${escaped}"`;
|
|
@@ -20467,18 +20484,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20467
20484
|
/** True while the mount-time rebuild from the server transcript runs. */
|
|
20468
20485
|
isHydratingHistory,
|
|
20469
20486
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
20470
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20471
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20472
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20487
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _652 => _652.provider]), () => ( null)),
|
|
20488
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _653 => _653.modelLabel]), () => ( null)),
|
|
20489
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _654 => _654.contextWindowMaxTokens]), () => ( null)),
|
|
20473
20490
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
20474
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20491
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _655 => _655.inputTokens]), () => ( null)),
|
|
20475
20492
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
20476
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20493
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _656 => _656.outputTokens]), () => ( null)),
|
|
20477
20494
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
20478
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20495
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _657 => _657.cacheHitRatePct]), () => ( null)),
|
|
20479
20496
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
20480
20497
|
* token counts). null until the trailing usage frame lands. */
|
|
20481
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20498
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _658 => _658.breakdown]), () => ( null)),
|
|
20482
20499
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
20483
20500
|
// Guide mode keeps ONE server-side conversation per stored id
|
|
20484
20501
|
// (`chat_conversations`, hydrated on mount). Surfacing multiple threads
|
|
@@ -20765,7 +20782,7 @@ function decodeNatsChunk(chunk) {
|
|
|
20765
20782
|
userId: typeof data.userId === "string" ? data.userId : void 0,
|
|
20766
20783
|
// Wire shape carries no label; fall back to the id (parity with
|
|
20767
20784
|
// the history path in `process-historical-messages.ts`).
|
|
20768
|
-
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess',
|
|
20785
|
+
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _659 => _659.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _660 => _660.id]) === "string").map((it) => ({
|
|
20769
20786
|
type: it.type,
|
|
20770
20787
|
id: it.id,
|
|
20771
20788
|
label: it.id
|
|
@@ -20856,7 +20873,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
20856
20873
|
}
|
|
20857
20874
|
break;
|
|
20858
20875
|
case "approval_batch": {
|
|
20859
|
-
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access',
|
|
20876
|
+
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _661 => _661.data, 'access', _662 => _662.executions, 'optionalAccess', _663 => _663[c.toolExecutionRequestId], 'optionalAccess', _664 => _664.status]) === "done");
|
|
20860
20877
|
if (segment.status !== "rejected" && !allDone) {
|
|
20861
20878
|
hasIncompleteState = true;
|
|
20862
20879
|
}
|
|
@@ -20919,11 +20936,11 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
20919
20936
|
function extractIncompleteTailState(messages) {
|
|
20920
20937
|
if (!messages || messages.length === 0) return void 0;
|
|
20921
20938
|
let start = messages.length;
|
|
20922
|
-
while (start > 0 && _optionalChain([messages, 'access',
|
|
20939
|
+
while (start > 0 && _optionalChain([messages, 'access', _665 => _665[start - 1], 'optionalAccess', _666 => _666.role]) === "assistant") start -= 1;
|
|
20923
20940
|
if (start === messages.length) return void 0;
|
|
20924
20941
|
const segments = [];
|
|
20925
20942
|
for (let i = start; i < messages.length; i += 1) {
|
|
20926
|
-
const content = _optionalChain([messages, 'access',
|
|
20943
|
+
const content = _optionalChain([messages, 'access', _667 => _667[i], 'optionalAccess', _668 => _668.content]);
|
|
20927
20944
|
if (Array.isArray(content)) segments.push(...content);
|
|
20928
20945
|
}
|
|
20929
20946
|
if (segments.length === 0) return void 0;
|
|
@@ -20936,15 +20953,15 @@ function extractIncompleteTailState(messages) {
|
|
|
20936
20953
|
|
|
20937
20954
|
// src/components/chat/utils/process-historical-messages.ts
|
|
20938
20955
|
function getOwnerDisplayName(owner) {
|
|
20939
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
20956
|
+
if (_optionalChain([owner, 'optionalAccess', _669 => _669.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
20940
20957
|
const { firstName, lastName } = owner.user;
|
|
20941
20958
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
20942
20959
|
if (name) return name;
|
|
20943
20960
|
}
|
|
20944
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
20961
|
+
return _optionalChain([owner, 'optionalAccess', _670 => _670.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
20945
20962
|
}
|
|
20946
20963
|
function getOwnerAvatar(owner) {
|
|
20947
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
20964
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _671 => _671.user, 'optionalAccess', _672 => _672.image, 'optionalAccess', _673 => _673.imageUrl]), () => ( void 0));
|
|
20948
20965
|
}
|
|
20949
20966
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
20950
20967
|
messageDataArray.forEach((data) => {
|
|
@@ -21143,7 +21160,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21143
21160
|
event.offerId,
|
|
21144
21161
|
event.text,
|
|
21145
21162
|
event.origin,
|
|
21146
|
-
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess',
|
|
21163
|
+
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _674 => _674[event.offerId]]), () => ( "pending"))
|
|
21147
21164
|
);
|
|
21148
21165
|
break;
|
|
21149
21166
|
case "ticket-escalated":
|
|
@@ -21173,7 +21190,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21173
21190
|
);
|
|
21174
21191
|
break;
|
|
21175
21192
|
case "escalation-offer-resolved":
|
|
21176
|
-
_optionalChain([offerResolutions, 'optionalAccess',
|
|
21193
|
+
_optionalChain([offerResolutions, 'optionalAccess', _675 => _675.set, 'call', _676 => _676(event.offerId, {
|
|
21177
21194
|
status: event.status,
|
|
21178
21195
|
resolvedByName: event.resolvedByName
|
|
21179
21196
|
})]);
|
|
@@ -21251,7 +21268,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21251
21268
|
}
|
|
21252
21269
|
}
|
|
21253
21270
|
} else {
|
|
21254
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21271
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _677 => _677.set, 'call', _678 => _678(event.requestId, {
|
|
21255
21272
|
command: event.command || "",
|
|
21256
21273
|
explanation: event.explanation,
|
|
21257
21274
|
approvalType,
|
|
@@ -21266,8 +21283,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21266
21283
|
const existingStatus = approvalStatuses[requestId];
|
|
21267
21284
|
const status = existingStatus || event.status;
|
|
21268
21285
|
const resolvedByName = event.resolvedByName;
|
|
21269
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21270
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
21286
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _679 => _679.get, 'call', _680 => _680(requestId)]);
|
|
21287
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _681 => _681.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
21271
21288
|
if (batchApprovalsEnabled) {
|
|
21272
21289
|
accumulator.addApprovalBatch(
|
|
21273
21290
|
requestId,
|
|
@@ -21289,7 +21306,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21289
21306
|
);
|
|
21290
21307
|
}
|
|
21291
21308
|
}
|
|
21292
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21309
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _682 => _682.delete, 'call', _683 => _683(requestId)]);
|
|
21293
21310
|
break;
|
|
21294
21311
|
}
|
|
21295
21312
|
if (escalatedData) {
|
|
@@ -21298,7 +21315,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21298
21315
|
explanation: escalatedData.explanation,
|
|
21299
21316
|
approvalType: escalatedData.approvalType
|
|
21300
21317
|
});
|
|
21301
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21318
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _684 => _684.delete, 'call', _685 => _685(requestId)]);
|
|
21302
21319
|
}
|
|
21303
21320
|
const before = accumulator.getSegments();
|
|
21304
21321
|
const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
|
|
@@ -21387,14 +21404,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
21387
21404
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
21388
21405
|
return;
|
|
21389
21406
|
}
|
|
21390
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
21407
|
+
const isUserMessage = _optionalChain([msg, 'access', _686 => _686.owner, 'optionalAccess', _687 => _687.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _688 => _688.owner, 'optionalAccess', _689 => _689.type]) === OWNER_TYPE.ADMIN;
|
|
21391
21408
|
if (isUserMessage) {
|
|
21392
21409
|
flushAssistantMessage();
|
|
21393
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
21410
|
+
const userAuthorType = _optionalChain([msg, 'access', _690 => _690.owner, 'optionalAccess', _691 => _691.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
21394
21411
|
messageDataArray.forEach((data) => {
|
|
21395
21412
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
21396
21413
|
const rawContext = data.contextItems;
|
|
21397
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
21414
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _692 => _692.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _693 => _693.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
21398
21415
|
processedMessages.push({
|
|
21399
21416
|
id: msg.id,
|
|
21400
21417
|
role: "user",
|
|
@@ -21432,7 +21449,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
21432
21449
|
});
|
|
21433
21450
|
const nextMsg = messages[index + 1];
|
|
21434
21451
|
const isLastMessage = index === messages.length - 1;
|
|
21435
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
21452
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _694 => _694.owner, 'optionalAccess', _695 => _695.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _696 => _696.owner, 'optionalAccess', _697 => _697.type]) === OWNER_TYPE.ADMIN);
|
|
21436
21453
|
if (isLastMessage || nextIsFromUser) {
|
|
21437
21454
|
flushAssistantMessage();
|
|
21438
21455
|
}
|
|
@@ -21830,7 +21847,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
21830
21847
|
}, [active, fetchDialogs, loadDialogsPage]);
|
|
21831
21848
|
const sendMessage = _react.useCallback.call(void 0,
|
|
21832
21849
|
async (text, sendOptions) => {
|
|
21833
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
21850
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _698 => _698.hidden]), () => ( false));
|
|
21834
21851
|
mutate((r) => r.pushOptimisticSend(text, hidden));
|
|
21835
21852
|
await publishUserMessage(text, { hidden, dialogId });
|
|
21836
21853
|
},
|
|
@@ -21958,8 +21975,6 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
21958
21975
|
},
|
|
21959
21976
|
[sendMessage]
|
|
21960
21977
|
);
|
|
21961
|
-
const displayRef = _react.useCallback.call(void 0, (_ref) => {
|
|
21962
|
-
}, []);
|
|
21963
21978
|
const { messages, streamingPhase, dialogTokenUsage = null, liveModel = null } = state;
|
|
21964
21979
|
const isLoading = streamingPhase !== "idle";
|
|
21965
21980
|
const hasMoreDialogs = dialogsNextCursor != null;
|
|
@@ -21973,17 +21988,16 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
21973
21988
|
stopMessage,
|
|
21974
21989
|
clearMessages,
|
|
21975
21990
|
discussRef,
|
|
21976
|
-
displayRef,
|
|
21977
21991
|
// Model badge + token usage for the composer's `<ModelDisplay>`.
|
|
21978
21992
|
// Model: live `metadata` frame → config baseline (host AI-config).
|
|
21979
21993
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
21980
21994
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
21981
21995
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
21982
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
21983
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
21984
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
21985
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
21986
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
21996
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _699 => _699.provider]), () => ( modelProvider)), () => ( null)),
|
|
21997
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _700 => _700.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
21998
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _701 => _701.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _702 => _702.contextWindowMaxTokens]))), () => ( null)),
|
|
21999
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _703 => _703.inputTokensSize]), () => ( null)),
|
|
22000
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _704 => _704.outputTokensSize]), () => ( null)),
|
|
21987
22001
|
currentCacheHitRatePct: null,
|
|
21988
22002
|
currentUsageBreakdown: null,
|
|
21989
22003
|
// Dialog management
|
|
@@ -22018,7 +22032,6 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
22018
22032
|
stopMessage,
|
|
22019
22033
|
clearMessages,
|
|
22020
22034
|
discussRef,
|
|
22021
|
-
displayRef,
|
|
22022
22035
|
dialogs,
|
|
22023
22036
|
dialogId,
|
|
22024
22037
|
selectDialog,
|
|
@@ -22084,17 +22097,18 @@ function useUnifiedChat(options) {
|
|
|
22084
22097
|
(ref) => activeStateRef.current.discussRef(ref),
|
|
22085
22098
|
[]
|
|
22086
22099
|
);
|
|
22087
|
-
const
|
|
22088
|
-
(ref) => activeStateRef.current.displayRef(ref),
|
|
22100
|
+
const displayRefForward = _react.useCallback.call(void 0,
|
|
22101
|
+
(ref) => _optionalChain([activeStateRef, 'access', _705 => _705.current, 'access', _706 => _706.displayRef, 'optionalCall', _707 => _707(ref)]),
|
|
22089
22102
|
[]
|
|
22090
22103
|
);
|
|
22104
|
+
const displayRef = activeState.displayRef ? displayRefForward : void 0;
|
|
22091
22105
|
const selectDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.selectDialog(id), []);
|
|
22092
22106
|
const startNewDialog = _react.useCallback.call(void 0, () => activeStateRef.current.startNewDialog(), []);
|
|
22093
22107
|
const deleteDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.deleteDialog(id), []);
|
|
22094
22108
|
const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
|
|
22095
22109
|
const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
|
|
22096
22110
|
const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
|
|
22097
|
-
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access',
|
|
22111
|
+
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _708 => _708.current, 'access', _709 => _709.setDialogScope, 'optionalCall', _710 => _710(scope)]), []);
|
|
22098
22112
|
const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
|
|
22099
22113
|
const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
|
|
22100
22114
|
const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
|
|
@@ -22187,19 +22201,19 @@ function turnRequestKeys(content) {
|
|
|
22187
22201
|
if (!Array.isArray(content)) return keys;
|
|
22188
22202
|
for (const seg of content) {
|
|
22189
22203
|
if (seg.type === "tool_execution") {
|
|
22190
|
-
const id = _optionalChain([seg, 'access',
|
|
22204
|
+
const id = _optionalChain([seg, 'access', _711 => _711.data, 'optionalAccess', _712 => _712.toolExecutionRequestId]);
|
|
22191
22205
|
if (id) keys.add(id);
|
|
22192
22206
|
} else if (seg.type === "approval_request") {
|
|
22193
|
-
const id = _optionalChain([seg, 'access',
|
|
22207
|
+
const id = _optionalChain([seg, 'access', _713 => _713.data, 'optionalAccess', _714 => _714.requestId]);
|
|
22194
22208
|
if (id) keys.add(id);
|
|
22195
22209
|
} else if (seg.type === "escalation_offer") {
|
|
22196
|
-
const id = _optionalChain([seg, 'access',
|
|
22210
|
+
const id = _optionalChain([seg, 'access', _715 => _715.data, 'optionalAccess', _716 => _716.offerId]);
|
|
22197
22211
|
if (id) keys.add(id);
|
|
22198
22212
|
} else if (seg.type === "approval_batch") {
|
|
22199
22213
|
const data = seg.data;
|
|
22200
|
-
if (_optionalChain([data, 'optionalAccess',
|
|
22201
|
-
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
22202
|
-
if (_optionalChain([call, 'optionalAccess',
|
|
22214
|
+
if (_optionalChain([data, 'optionalAccess', _717 => _717.approvalRequestId])) keys.add(data.approvalRequestId);
|
|
22215
|
+
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _718 => _718.toolCalls]), () => ( []))) {
|
|
22216
|
+
if (_optionalChain([call, 'optionalAccess', _719 => _719.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
|
|
22203
22217
|
}
|
|
22204
22218
|
}
|
|
22205
22219
|
}
|
|
@@ -22251,18 +22265,18 @@ function mergeHistoryWithRealtime(input) {
|
|
|
22251
22265
|
}
|
|
22252
22266
|
}
|
|
22253
22267
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
22254
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
22255
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
22268
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _720 => _720.role]) === "assistant" ? trailing : null;
|
|
22269
|
+
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _721 => _721.content, 'access', _722 => _722.find, 'call', _723 => _723((s) => s.type === "approval_batch"), 'optionalAccess', _724 => _724.data, 'optionalAccess', _725 => _725.approvalRequestId]), () => ( null)) : null;
|
|
22256
22270
|
let processedToUse = processedHistory;
|
|
22257
22271
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
22258
22272
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
22259
22273
|
if (historyBatchId) {
|
|
22260
22274
|
const batchTwins = existingMessages.filter(
|
|
22261
|
-
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access',
|
|
22275
|
+
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _726 => _726.data, 'optionalAccess', _727 => _727.approvalRequestId]) === historyBatchId)
|
|
22262
22276
|
);
|
|
22263
22277
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
22264
22278
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
22265
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
22279
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _728 => _728.content])) ? historyTrailingAssistant.content.length : 0;
|
|
22266
22280
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
22267
22281
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
22268
22282
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -22304,9 +22318,9 @@ function mergeHistoryWithRealtime(input) {
|
|
|
22304
22318
|
if (pinnedSyntheticIds.has(m.id)) return true;
|
|
22305
22319
|
if (droppedSyntheticIds.has(m.id)) return false;
|
|
22306
22320
|
if (processedIds.has(m.id)) return false;
|
|
22307
|
-
if (_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
22321
|
+
if (_optionalChain([rawHistoryIds, 'optionalAccess', _729 => _729.has, 'call', _730 => _730(m.id)])) return false;
|
|
22308
22322
|
if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
|
|
22309
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access',
|
|
22323
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _731 => _731.timestamp, 'optionalAccess', _732 => _732.getTime, 'call', _733 => _733()]), () => ( 0))) <= historyFetchedAt;
|
|
22310
22324
|
return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
|
|
22311
22325
|
}
|
|
22312
22326
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
@@ -22330,7 +22344,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
22330
22344
|
} else if (typeof m.streamSeq === "number") {
|
|
22331
22345
|
covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
|
|
22332
22346
|
} else {
|
|
22333
|
-
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access',
|
|
22347
|
+
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _734 => _734.timestamp, 'optionalAccess', _735 => _735.getTime, 'call', _736 => _736()]), () => ( 0))) <= historyFetchedAt;
|
|
22334
22348
|
}
|
|
22335
22349
|
if (covered) return false;
|
|
22336
22350
|
}
|
|
@@ -22400,7 +22414,7 @@ function normalizeHistoricalMessageData(md) {
|
|
|
22400
22414
|
function isHistoricalUserTurn(m) {
|
|
22401
22415
|
return !!m.owner;
|
|
22402
22416
|
}
|
|
22403
|
-
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess',
|
|
22417
|
+
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _737 => _737.type]) === "TEXT" && typeof d.text === "string";
|
|
22404
22418
|
var THINK_MS = 550;
|
|
22405
22419
|
var TOKEN_MS = 55;
|
|
22406
22420
|
var USER_MS = 480;
|
|
@@ -23024,7 +23038,7 @@ function useChatDialogManager({
|
|
|
23024
23038
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
23025
23039
|
if (restoreTarget) {
|
|
23026
23040
|
try {
|
|
23027
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
23041
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _738 => _738(restoreTarget.id)]);
|
|
23028
23042
|
} catch (err) {
|
|
23029
23043
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
23030
23044
|
return;
|
|
@@ -23207,7 +23221,7 @@ function SourceChip({
|
|
|
23207
23221
|
const Icon = cta.icon;
|
|
23208
23222
|
const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
|
|
23209
23223
|
const chipClass = chatChipClass({ tone: "secondary" });
|
|
23210
|
-
const decideTab = (href, targetPlatform) =>
|
|
23224
|
+
const decideTab = (href, targetPlatform) => _chunkNNFQLTJ3cjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
|
|
23211
23225
|
if (src.items && src.items.length > 0) {
|
|
23212
23226
|
const dropdownItems = src.items.map((item) => {
|
|
23213
23227
|
const itemCta = resolveSourceRowCTA(
|
|
@@ -23278,7 +23292,14 @@ function SourceChip({
|
|
|
23278
23292
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SourceActionButton, { chatRef: cta.chatRef, onDiscuss, density: "inline", className: "-mr-1 ml-1" })
|
|
23279
23293
|
] });
|
|
23280
23294
|
const buildClickHandler = (href, path, targetPlatform, isNewTab) => (e) => {
|
|
23281
|
-
const handled =
|
|
23295
|
+
const handled = executeNavigation({
|
|
23296
|
+
event: e,
|
|
23297
|
+
runtime,
|
|
23298
|
+
href,
|
|
23299
|
+
path,
|
|
23300
|
+
targetPlatform,
|
|
23301
|
+
fallbackNavigate: router.push
|
|
23302
|
+
});
|
|
23282
23303
|
if (handled && !isNewTab && onClose) onClose();
|
|
23283
23304
|
};
|
|
23284
23305
|
if (cta.href && !!src.externalUrl) {
|
|
@@ -23289,7 +23310,7 @@ function SourceChip({
|
|
|
23289
23310
|
"a",
|
|
23290
23311
|
{
|
|
23291
23312
|
href: resolvedHref,
|
|
23292
|
-
...
|
|
23313
|
+
..._chunkNNFQLTJ3cjs.newTabAnchorAttrs.call(void 0, isNewTab),
|
|
23293
23314
|
onClick: buildClickHandler(resolvedHref, null, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
|
|
23294
23315
|
className: chipClass,
|
|
23295
23316
|
children: chipBody(src.name)
|
|
@@ -23305,7 +23326,7 @@ function SourceChip({
|
|
|
23305
23326
|
"a",
|
|
23306
23327
|
{
|
|
23307
23328
|
href: resolvedHref,
|
|
23308
|
-
...
|
|
23329
|
+
..._chunkNNFQLTJ3cjs.newTabAnchorAttrs.call(void 0, isNewTab),
|
|
23309
23330
|
onClick: buildClickHandler(resolvedHref, src.path, _nullishCoalesce(cta.targetPlatform, () => ( null)), isNewTab),
|
|
23310
23331
|
className: chipClass,
|
|
23311
23332
|
title: displayName,
|
|
@@ -23497,7 +23518,7 @@ function EmbeddableChatInner({
|
|
|
23497
23518
|
}),
|
|
23498
23519
|
[commandsUrl]
|
|
23499
23520
|
);
|
|
23500
|
-
const headerUserName = _optionalChain([identityUser, 'optionalAccess',
|
|
23521
|
+
const headerUserName = _optionalChain([identityUser, 'optionalAccess', _739 => _739.name, 'optionalAccess', _740 => _740.trim, 'call', _741 => _741()]) || [_optionalChain([identityUser, 'optionalAccess', _742 => _742.firstName]), _optionalChain([identityUser, 'optionalAccess', _743 => _743.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _744 => _744.trim, 'call', _745 => _745()]) || void 0;
|
|
23501
23522
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
23502
23523
|
if (modes) return modes;
|
|
23503
23524
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -23506,20 +23527,20 @@ function EmbeddableChatInner({
|
|
|
23506
23527
|
const mingoCaps = _react.useMemo.call(void 0, () => {
|
|
23507
23528
|
if (mingoState) {
|
|
23508
23529
|
return {
|
|
23509
|
-
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23510
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23511
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23512
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23513
|
-
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23514
|
-
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23515
|
-
onCopyLink: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23530
|
+
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _746 => _746.canRename]), () => ( false)),
|
|
23531
|
+
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _747 => _747.canArchive]), () => ( false)),
|
|
23532
|
+
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _748 => _748.fetchArchivedDialogs]),
|
|
23533
|
+
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _749 => _749.unarchiveDialog]),
|
|
23534
|
+
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _750 => _750.searchQuery]),
|
|
23535
|
+
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _751 => _751.onSearchChange]),
|
|
23536
|
+
onCopyLink: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _752 => _752.onCopyLink])
|
|
23516
23537
|
};
|
|
23517
23538
|
}
|
|
23518
23539
|
return {
|
|
23519
|
-
canRename: !!_optionalChain([effectiveModes, 'access',
|
|
23520
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
23521
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
23522
|
-
unarchiveDialog: _optionalChain([effectiveModes, 'access',
|
|
23540
|
+
canRename: !!_optionalChain([effectiveModes, 'access', _753 => _753.mingo, 'optionalAccess', _754 => _754.renameDialog]),
|
|
23541
|
+
canArchive: !!_optionalChain([effectiveModes, 'access', _755 => _755.mingo, 'optionalAccess', _756 => _756.archiveDialog]),
|
|
23542
|
+
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _757 => _757.mingo, 'optionalAccess', _758 => _758.fetchArchivedDialogs]),
|
|
23543
|
+
unarchiveDialog: _optionalChain([effectiveModes, 'access', _759 => _759.mingo, 'optionalAccess', _760 => _760.unarchiveDialog]),
|
|
23523
23544
|
searchQuery: void 0,
|
|
23524
23545
|
onSearchChange: void 0,
|
|
23525
23546
|
onCopyLink: void 0
|
|
@@ -23534,7 +23555,7 @@ function EmbeddableChatInner({
|
|
|
23534
23555
|
if (controlledActiveMode === void 0) {
|
|
23535
23556
|
setUncontrolledActiveMode(next);
|
|
23536
23557
|
}
|
|
23537
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
23558
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _761 => _761(next)]);
|
|
23538
23559
|
},
|
|
23539
23560
|
[controlledActiveMode, onActiveModeChange]
|
|
23540
23561
|
);
|
|
@@ -23561,7 +23582,7 @@ function EmbeddableChatInner({
|
|
|
23561
23582
|
);
|
|
23562
23583
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
23563
23584
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
23564
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
23585
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _762 => _762.title]) === "string" ? guideWelcome.title : null)));
|
|
23565
23586
|
const {
|
|
23566
23587
|
messages: rawMessages,
|
|
23567
23588
|
isLoading: chatLoading,
|
|
@@ -23605,7 +23626,7 @@ function EmbeddableChatInner({
|
|
|
23605
23626
|
void sendMessage(guidePendingPrompt).catch((err) => {
|
|
23606
23627
|
console.error("[EmbeddableChat] guide launcher prompt failed:", err);
|
|
23607
23628
|
});
|
|
23608
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
23629
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _763 => _763()]);
|
|
23609
23630
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
23610
23631
|
const {
|
|
23611
23632
|
attachments: stagedAttachments,
|
|
@@ -23616,7 +23637,7 @@ function EmbeddableChatInner({
|
|
|
23616
23637
|
clear: clearAttachments
|
|
23617
23638
|
} = useChatAttachments();
|
|
23618
23639
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
23619
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
23640
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _764 => _764.maxItems]), () => ( 10));
|
|
23620
23641
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
23621
23642
|
const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
|
|
23622
23643
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -23637,10 +23658,10 @@ function EmbeddableChatInner({
|
|
|
23637
23658
|
}, [activeDialogId, activeMode]);
|
|
23638
23659
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
23639
23660
|
const m = /* @__PURE__ */ new Map();
|
|
23640
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
23661
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _765 => _765.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
23641
23662
|
return m;
|
|
23642
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
23643
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
23663
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _766 => _766.entityTypes])]);
|
|
23664
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _767 => _767.entityTypes]);
|
|
23644
23665
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
23645
23666
|
const byType = /* @__PURE__ */ new Map();
|
|
23646
23667
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -23652,7 +23673,7 @@ function EmbeddableChatInner({
|
|
|
23652
23673
|
if (mentionActiveRef.current) {
|
|
23653
23674
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
23654
23675
|
if (contextItems.length >= contextMaxItems) return;
|
|
23655
|
-
_optionalChain([chatInputRef, 'access',
|
|
23676
|
+
_optionalChain([chatInputRef, 'access', _768 => _768.current, 'optionalAccess', _769 => _769.commitMention, 'call', _770 => _770(mentionTokenOf(key, mentionMarkerByType), {
|
|
23656
23677
|
label: item.label,
|
|
23657
23678
|
icon: resolveContextIcon(item)
|
|
23658
23679
|
})]);
|
|
@@ -23675,9 +23696,9 @@ function EmbeddableChatInner({
|
|
|
23675
23696
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
23676
23697
|
if (mentionKeysRef.current.has(key)) {
|
|
23677
23698
|
mentionKeysRef.current.delete(key);
|
|
23678
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
23699
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _771 => _771.current, 'optionalAccess', _772 => _772.getValue, 'call', _773 => _773()]), () => ( ""));
|
|
23679
23700
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
23680
|
-
_optionalChain([chatInputRef, 'access',
|
|
23701
|
+
_optionalChain([chatInputRef, 'access', _774 => _774.current, 'optionalAccess', _775 => _775.setValue, 'call', _776 => _776(next)]);
|
|
23681
23702
|
}
|
|
23682
23703
|
},
|
|
23683
23704
|
[mentionMarkerByType]
|
|
@@ -23699,7 +23720,7 @@ function EmbeddableChatInner({
|
|
|
23699
23720
|
}, []);
|
|
23700
23721
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
23701
23722
|
if (mentionActiveRef.current) {
|
|
23702
|
-
_optionalChain([chatInputRef, 'access',
|
|
23723
|
+
_optionalChain([chatInputRef, 'access', _777 => _777.current, 'optionalAccess', _778 => _778.removeMentionTrigger, 'call', _779 => _779()]);
|
|
23703
23724
|
}
|
|
23704
23725
|
setContextPickerOpen(false);
|
|
23705
23726
|
setMentionQuery(null);
|
|
@@ -23733,8 +23754,8 @@ function EmbeddableChatInner({
|
|
|
23733
23754
|
[effectiveAssistantIcon]
|
|
23734
23755
|
);
|
|
23735
23756
|
const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
|
|
23736
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
23737
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
23757
|
+
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _780 => _780.firstName]), _optionalChain([identityUser, 'optionalAccess', _781 => _781.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _782 => _782.name, 'optionalAccess', _783 => _783.trim, 'call', _784 => _784()]) || void 0 : void 0;
|
|
23758
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _785 => _785.avatarUrl, 'optionalAccess', _786 => _786.trim, 'call', _787 => _787()]) || void 0 : void 0;
|
|
23738
23759
|
const messages = _react.useMemo.call(void 0, () => {
|
|
23739
23760
|
const cache = timestampCache;
|
|
23740
23761
|
const seenIds = /* @__PURE__ */ new Set();
|
|
@@ -23923,9 +23944,9 @@ function EmbeddableChatInner({
|
|
|
23923
23944
|
const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
|
|
23924
23945
|
const lastSources = _react.useMemo.call(void 0, () => {
|
|
23925
23946
|
if (chatLoading) return void 0;
|
|
23926
|
-
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
23947
|
+
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _788 => _788.sources]);
|
|
23927
23948
|
if (!sources || sources.length === 0) return void 0;
|
|
23928
|
-
const content = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
23949
|
+
const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _789 => _789.content]) || "";
|
|
23929
23950
|
const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map((m) => parseInt(m[1], 10));
|
|
23930
23951
|
const seenOrder = /* @__PURE__ */ new Map();
|
|
23931
23952
|
citationOrder.forEach((idx) => {
|
|
@@ -23943,7 +23964,7 @@ function EmbeddableChatInner({
|
|
|
23943
23964
|
const el = panelMeasureRef.current;
|
|
23944
23965
|
if (!el || typeof ResizeObserver === "undefined") return void 0;
|
|
23945
23966
|
const ro = new ResizeObserver((entries) => {
|
|
23946
|
-
const w = _optionalChain([entries, 'access',
|
|
23967
|
+
const w = _optionalChain([entries, 'access', _790 => _790[0], 'optionalAccess', _791 => _791.contentRect, 'optionalAccess', _792 => _792.width]);
|
|
23947
23968
|
if (typeof w === "number") setPanelWidth(w);
|
|
23948
23969
|
});
|
|
23949
23970
|
ro.observe(el);
|
|
@@ -23986,17 +24007,17 @@ function EmbeddableChatInner({
|
|
|
23986
24007
|
const isMingoMode = activeMode === "mingo";
|
|
23987
24008
|
const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
|
|
23988
24009
|
const headerShowBack = hasConversation || guideCanReturnToMingo;
|
|
23989
|
-
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
24010
|
+
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _793 => _793.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
|
|
23990
24011
|
const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
|
|
23991
24012
|
const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
|
|
23992
24013
|
const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
|
|
23993
24014
|
const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
|
|
23994
24015
|
const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
|
|
23995
|
-
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access',
|
|
24016
|
+
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _794 => _794.onCopyLink, 'optionalCall', _795 => _795(activeDialog)]) : void 0;
|
|
23996
24017
|
const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
|
|
23997
|
-
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
23998
|
-
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess',
|
|
23999
|
-
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access',
|
|
24018
|
+
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _796 => _796.owner]) : void 0;
|
|
24019
|
+
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _797 => _797.name, 'optionalAccess', _798 => _798.trim, 'call', _799 => _799()]) || headerUserName;
|
|
24020
|
+
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _800 => _800.avatarUrl, 'optionalAccess', _801 => _801.trim, 'call', _802 => _802()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _803 => _803.avatarUrl, 'optionalAccess', _804 => _804.trim, 'call', _805 => _805()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _806 => _806.trim, 'call', _807 => _807()]) || void 0;
|
|
24000
24021
|
const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
|
|
24001
24022
|
const handleNewChat = _react.useCallback.call(void 0, () => {
|
|
24002
24023
|
resetToNewChat();
|
|
@@ -24142,7 +24163,7 @@ function EmbeddableChatInner({
|
|
|
24142
24163
|
headerAvatar ? (
|
|
24143
24164
|
// Owner avatar at the title cell's right edge (Figma 113:63273).
|
|
24144
24165
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24145
|
-
|
|
24166
|
+
_chunkNNFQLTJ3cjs.SquareAvatar,
|
|
24146
24167
|
{
|
|
24147
24168
|
variant: "round",
|
|
24148
24169
|
sizePx: 32,
|
|
@@ -24326,9 +24347,9 @@ function EmbeddableChatInner({
|
|
|
24326
24347
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
24327
24348
|
subtitleLoading: emptyStateLoading,
|
|
24328
24349
|
...guideWelcome,
|
|
24329
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
24330
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
24331
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
24350
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _808 => _808.title]))),
|
|
24351
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _809 => _809.icon]))),
|
|
24352
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _810 => _810.quickActions]), () => ( guideSuggestedActions)),
|
|
24332
24353
|
onQuickAction: (action) => {
|
|
24333
24354
|
setQuickActionPreview(null);
|
|
24334
24355
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -24402,8 +24423,8 @@ function EmbeddableChatInner({
|
|
|
24402
24423
|
selectedContextItems: contextItems,
|
|
24403
24424
|
onToggleContextItem: toggleContextItem,
|
|
24404
24425
|
onRemoveContextItem: removeContextItem,
|
|
24405
|
-
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess',
|
|
24406
|
-
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess',
|
|
24426
|
+
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _811 => _811.items]),
|
|
24427
|
+
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _812 => _812.onRemove]),
|
|
24407
24428
|
contextPickerOpen,
|
|
24408
24429
|
onOpenContextPicker: openContextPicker,
|
|
24409
24430
|
onCloseContextPicker: closeContextPicker,
|
|
@@ -24865,4 +24886,4 @@ function EmbeddableChatInner({
|
|
|
24865
24886
|
|
|
24866
24887
|
|
|
24867
24888
|
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.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.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 = 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.GuideDisplay = GuideDisplay; 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.isGuideApproval = isGuideApproval; exports.guideApprovalOrigin = guideApprovalOrigin; exports.approvalDisplaysInline = approvalDisplaysInline; exports.isGuideApprovalSegment = isGuideApprovalSegment; 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;
|
|
24868
|
-
//# sourceMappingURL=chunk-
|
|
24889
|
+
//# sourceMappingURL=chunk-M7FNT5AC.cjs.map
|