@flamingo-stack/openframe-frontend-core 0.0.581-snapshot.20260901141954 → 0.0.581
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-CR7GPMCM.js → chunk-3GXNCJZI.js} +3 -3
- package/dist/{chunk-A5VD6R7N.cjs → chunk-6U45VX5J.cjs} +43 -43
- package/dist/{chunk-A5VD6R7N.cjs.map → chunk-6U45VX5J.cjs.map} +1 -1
- package/dist/{chunk-SVQVAGZK.js → chunk-7CP5KY5W.js} +3 -3
- package/dist/{chunk-WQ236GO3.cjs → chunk-AIALG25H.cjs} +69 -69
- package/dist/{chunk-WQ236GO3.cjs.map → chunk-AIALG25H.cjs.map} +1 -1
- package/dist/{chunk-ALSLHGBH.cjs → chunk-BTKMTVN5.cjs} +4 -4
- package/dist/{chunk-ALSLHGBH.cjs.map → chunk-BTKMTVN5.cjs.map} +1 -1
- package/dist/{chunk-FYVL6A4Z.cjs → chunk-DSPQVZFE.cjs} +24 -24
- package/dist/{chunk-FYVL6A4Z.cjs.map → chunk-DSPQVZFE.cjs.map} +1 -1
- package/dist/{chunk-HQF7VE7B.js → chunk-ESWXXWCL.js} +2 -2
- package/dist/{chunk-FRWQ67UM.js → chunk-EZVABFEO.js} +2 -2
- package/dist/{chunk-6EUYXDV3.js → chunk-GAHKWML7.js} +6 -6
- package/dist/{chunk-L4E2TOSF.cjs → chunk-GMQEHDN2.cjs} +5 -5
- package/dist/{chunk-L4E2TOSF.cjs.map → chunk-GMQEHDN2.cjs.map} +1 -1
- package/dist/{chunk-K5SCFOD5.cjs → chunk-GUC4JK6O.cjs} +9 -9
- package/dist/{chunk-K5SCFOD5.cjs.map → chunk-GUC4JK6O.cjs.map} +1 -1
- package/dist/{chunk-U2ZRM3YB.js → chunk-GVM37TRU.js} +4 -4
- package/dist/{chunk-F227VMPL.js → chunk-HJVKPG55.js} +15 -125
- package/dist/{chunk-F227VMPL.js.map → chunk-HJVKPG55.js.map} +1 -1
- package/dist/{chunk-7HHRJTIY.js → chunk-HVSZYUGP.js} +5 -5
- package/dist/{chunk-KBOBPKMU.js → chunk-IHFQ5VVR.js} +5 -5
- package/dist/{chunk-A3SVEK7A.js → chunk-JW53WPB5.js} +3 -3
- package/dist/{chunk-646JEAY4.js → chunk-KAEVE7W2.js} +2 -2
- package/dist/{chunk-R3J2ERH2.cjs → chunk-KNBXZ22O.cjs} +3 -3
- package/dist/{chunk-R3J2ERH2.cjs.map → chunk-KNBXZ22O.cjs.map} +1 -1
- package/dist/{chunk-BUOYMIFJ.js → chunk-LWDIDSCF.js} +3 -3
- package/dist/{chunk-ORQQZQBB.cjs → chunk-M4KQWGEL.cjs} +32 -32
- package/dist/{chunk-ORQQZQBB.cjs.map → chunk-M4KQWGEL.cjs.map} +1 -1
- package/dist/{chunk-SKGMU7TZ.js → chunk-OKA3DJJ3.js} +2 -2
- package/dist/{chunk-DQVM4FTL.cjs → chunk-PBRXT7TD.cjs} +10 -10
- package/dist/{chunk-DQVM4FTL.cjs.map → chunk-PBRXT7TD.cjs.map} +1 -1
- package/dist/{chunk-4KWAHIYA.js → chunk-R5JVRFSW.js} +3 -3
- package/dist/{chunk-BQPCCBGO.cjs → chunk-SEZ25E22.cjs} +10 -10
- package/dist/{chunk-BQPCCBGO.cjs.map → chunk-SEZ25E22.cjs.map} +1 -1
- package/dist/{chunk-DGZPX2G3.cjs → chunk-U3W2ZVN4.cjs} +159 -159
- package/dist/{chunk-DGZPX2G3.cjs.map → chunk-U3W2ZVN4.cjs.map} +1 -1
- package/dist/{chunk-KAOXOYRT.cjs → chunk-UKHM2S6I.cjs} +15 -15
- package/dist/{chunk-KAOXOYRT.cjs.map → chunk-UKHM2S6I.cjs.map} +1 -1
- package/dist/{chunk-J5I3TKAH.cjs → chunk-VDRCKHML.cjs} +3 -3
- package/dist/{chunk-J5I3TKAH.cjs.map → chunk-VDRCKHML.cjs.map} +1 -1
- package/dist/{chunk-GD3OAM4T.js → chunk-VXUUSLD5.js} +2 -2
- package/dist/{chunk-T32XVOFP.cjs → chunk-W2TXSZTM.cjs} +21 -21
- package/dist/{chunk-T32XVOFP.cjs.map → chunk-W2TXSZTM.cjs.map} +1 -1
- package/dist/{chunk-RMOUILHT.cjs → chunk-WHFEG6UU.cjs} +22 -22
- package/dist/{chunk-RMOUILHT.cjs.map → chunk-WHFEG6UU.cjs.map} +1 -1
- package/dist/{chunk-LOJ5KQ6B.cjs → chunk-YU2UJPAT.cjs} +356 -466
- package/dist/chunk-YU2UJPAT.cjs.map +1 -0
- package/dist/{chunk-QDSVTIO5.js → chunk-ZEZMGXYV.js} +5 -5
- package/dist/components/case-studies/index.cjs +9 -9
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +4 -4
- package/dist/components/faq/index.js +3 -3
- package/dist/components/features/index.cjs +3 -5
- package/dist/components/features/index.cjs.map +1 -1
- package/dist/components/features/index.js +2 -4
- package/dist/components/features/video.d.ts +0 -12
- package/dist/components/features/video.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +23 -23
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +121 -123
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +13 -15
- package/dist/components/index.js.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +21 -21
- package/dist/components/meeting-scheduler/index.js +2 -2
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/navigation/index.js +5 -5
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/index.cjs +7 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +6 -8
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/features/video.tsx +16 -198
- package/dist/chunk-LOJ5KQ6B.cjs.map +0 -1
- package/src/components/features/__tests__/video-playback-failure.test.tsx +0 -250
- /package/dist/{chunk-CR7GPMCM.js.map → chunk-3GXNCJZI.js.map} +0 -0
- /package/dist/{chunk-SVQVAGZK.js.map → chunk-7CP5KY5W.js.map} +0 -0
- /package/dist/{chunk-HQF7VE7B.js.map → chunk-ESWXXWCL.js.map} +0 -0
- /package/dist/{chunk-FRWQ67UM.js.map → chunk-EZVABFEO.js.map} +0 -0
- /package/dist/{chunk-6EUYXDV3.js.map → chunk-GAHKWML7.js.map} +0 -0
- /package/dist/{chunk-U2ZRM3YB.js.map → chunk-GVM37TRU.js.map} +0 -0
- /package/dist/{chunk-7HHRJTIY.js.map → chunk-HVSZYUGP.js.map} +0 -0
- /package/dist/{chunk-KBOBPKMU.js.map → chunk-IHFQ5VVR.js.map} +0 -0
- /package/dist/{chunk-A3SVEK7A.js.map → chunk-JW53WPB5.js.map} +0 -0
- /package/dist/{chunk-646JEAY4.js.map → chunk-KAEVE7W2.js.map} +0 -0
- /package/dist/{chunk-BUOYMIFJ.js.map → chunk-LWDIDSCF.js.map} +0 -0
- /package/dist/{chunk-SKGMU7TZ.js.map → chunk-OKA3DJJ3.js.map} +0 -0
- /package/dist/{chunk-4KWAHIYA.js.map → chunk-R5JVRFSW.js.map} +0 -0
- /package/dist/{chunk-GD3OAM4T.js.map → chunk-VXUUSLD5.js.map} +0 -0
- /package/dist/{chunk-QDSVTIO5.js.map → chunk-ZEZMGXYV.js.map} +0 -0
|
@@ -11935,36 +11935,6 @@ function extractYouTubeId(url) {
|
|
|
11935
11935
|
const m = u.pathname.match(YT_PATH_RE);
|
|
11936
11936
|
return m ? m[1] : null;
|
|
11937
11937
|
}
|
|
11938
|
-
var VIDEO_PLAYBACK_FAILED_EVENT = "flamingo:video-playback-failed";
|
|
11939
|
-
function reportPlaybackFailure(detail) {
|
|
11940
|
-
if (typeof window === "undefined") return;
|
|
11941
|
-
try {
|
|
11942
|
-
window.dispatchEvent(new CustomEvent(VIDEO_PLAYBACK_FAILED_EVENT, { detail }));
|
|
11943
|
-
} catch (e20) {
|
|
11944
|
-
}
|
|
11945
|
-
}
|
|
11946
|
-
var VIDEO_STALL_TIMEOUT_MS = 15e3;
|
|
11947
|
-
function VideoErrorOverlay({
|
|
11948
|
-
onRetry,
|
|
11949
|
-
watchOnYouTubeId
|
|
11950
|
-
}) {
|
|
11951
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute inset-0 z-10 flex flex-col items-center justify-center gap-[var(--spacing-system-sf)] bg-ods-overlay p-[var(--spacing-system-lf)] text-center", children: [
|
|
11952
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "This video failed to play." }),
|
|
11953
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-sf)]", children: [
|
|
11954
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", size: "small", onClick: onRetry, children: "Try again" }),
|
|
11955
|
-
watchOnYouTubeId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11956
|
-
_chunkYHNIPSG6cjs.Button,
|
|
11957
|
-
{
|
|
11958
|
-
variant: "transparent",
|
|
11959
|
-
size: "small",
|
|
11960
|
-
href: `https://www.youtube.com/watch?v=${watchOnYouTubeId}`,
|
|
11961
|
-
openInNewTab: true,
|
|
11962
|
-
children: "Watch on YouTube"
|
|
11963
|
-
}
|
|
11964
|
-
) : null
|
|
11965
|
-
] })
|
|
11966
|
-
] });
|
|
11967
|
-
}
|
|
11968
11938
|
var VIDEO_FILE_PLAYBACK_KEYS = [
|
|
11969
11939
|
"srtContent",
|
|
11970
11940
|
"captionsUrl",
|
|
@@ -12102,7 +12072,7 @@ function FilePlayer({
|
|
|
12102
12072
|
if (perfListenerRef.current) {
|
|
12103
12073
|
try {
|
|
12104
12074
|
_optionalChain([hoverPlayerRef, 'access', _225 => _225.current, 'optionalAccess', _226 => _226.removeEventListener, 'optionalCall', _227 => _227("playing", perfListenerRef.current)]);
|
|
12105
|
-
} catch (
|
|
12075
|
+
} catch (e20) {
|
|
12106
12076
|
}
|
|
12107
12077
|
perfListenerRef.current = null;
|
|
12108
12078
|
}
|
|
@@ -12137,7 +12107,7 @@ function FilePlayer({
|
|
|
12137
12107
|
perfListenerRef.current = onPlaying;
|
|
12138
12108
|
try {
|
|
12139
12109
|
_optionalChain([el, 'access', _228 => _228.addEventListener, 'optionalCall', _229 => _229("playing", onPlaying)]);
|
|
12140
|
-
} catch (
|
|
12110
|
+
} catch (e21) {
|
|
12141
12111
|
}
|
|
12142
12112
|
}
|
|
12143
12113
|
try {
|
|
@@ -12155,7 +12125,7 @@ function FilePlayer({
|
|
|
12155
12125
|
}
|
|
12156
12126
|
})]);
|
|
12157
12127
|
setHoverMutedFallback(true);
|
|
12158
|
-
} catch (
|
|
12128
|
+
} catch (e22) {
|
|
12159
12129
|
}
|
|
12160
12130
|
}
|
|
12161
12131
|
})]);
|
|
@@ -12174,7 +12144,7 @@ function FilePlayer({
|
|
|
12174
12144
|
try {
|
|
12175
12145
|
el.muted = false;
|
|
12176
12146
|
el.volume = 0.5;
|
|
12177
|
-
} catch (
|
|
12147
|
+
} catch (e23) {
|
|
12178
12148
|
}
|
|
12179
12149
|
setHoverMutedFallback(false);
|
|
12180
12150
|
}
|
|
@@ -12182,7 +12152,7 @@ function FilePlayer({
|
|
|
12182
12152
|
activationWaiterRef.current = waiter;
|
|
12183
12153
|
activationWaiters.add(waiter);
|
|
12184
12154
|
}
|
|
12185
|
-
} catch (
|
|
12155
|
+
} catch (e24) {
|
|
12186
12156
|
}
|
|
12187
12157
|
}, [clearActivationWaiter, clearPerfListener]);
|
|
12188
12158
|
const stopHoverPlayback = _react.useCallback.call(void 0, () => {
|
|
@@ -12192,7 +12162,7 @@ function FilePlayer({
|
|
|
12192
12162
|
clearPerfListener();
|
|
12193
12163
|
try {
|
|
12194
12164
|
_optionalChain([hoverPlayerRef, 'access', _243 => _243.current, 'optionalAccess', _244 => _244.pause, 'optionalCall', _245 => _245()]);
|
|
12195
|
-
} catch (
|
|
12165
|
+
} catch (e25) {
|
|
12196
12166
|
}
|
|
12197
12167
|
}, [clearActivationWaiter, clearPerfListener]);
|
|
12198
12168
|
const unmuteNow = _react.useCallback.call(void 0, (e) => {
|
|
@@ -12206,7 +12176,7 @@ function FilePlayer({
|
|
|
12206
12176
|
_optionalChain([el, 'access', _246 => _246.play, 'optionalCall', _247 => _247(), 'optionalAccess', _248 => _248.catch, 'optionalCall', _249 => _249(() => {
|
|
12207
12177
|
})]);
|
|
12208
12178
|
}
|
|
12209
|
-
} catch (
|
|
12179
|
+
} catch (e26) {
|
|
12210
12180
|
}
|
|
12211
12181
|
setHoverMutedFallback(false);
|
|
12212
12182
|
}, []);
|
|
@@ -12237,13 +12207,13 @@ function FilePlayer({
|
|
|
12237
12207
|
autoPlayKickedRef.current = true;
|
|
12238
12208
|
try {
|
|
12239
12209
|
mutedEl.muted = true;
|
|
12240
|
-
} catch (
|
|
12210
|
+
} catch (e27) {
|
|
12241
12211
|
}
|
|
12242
12212
|
if (autoPlay) {
|
|
12243
12213
|
const reportBlocked = () => setMutedFallbackBlocked(true);
|
|
12244
12214
|
try {
|
|
12245
12215
|
_optionalChain([mutedEl, 'access', _252 => _252.play, 'optionalCall', _253 => _253(), 'optionalAccess', _254 => _254.catch, 'optionalCall', _255 => _255(reportBlocked)]);
|
|
12246
|
-
} catch (
|
|
12216
|
+
} catch (e28) {
|
|
12247
12217
|
reportBlocked();
|
|
12248
12218
|
}
|
|
12249
12219
|
}
|
|
@@ -12267,12 +12237,12 @@ function FilePlayer({
|
|
|
12267
12237
|
})]);
|
|
12268
12238
|
setMutedFallbackBlocked(false);
|
|
12269
12239
|
setHoverMutedFallback(true);
|
|
12270
|
-
} catch (
|
|
12240
|
+
} catch (e29) {
|
|
12271
12241
|
setMutedFallbackBlocked(true);
|
|
12272
12242
|
setHoverMutedFallback(true);
|
|
12273
12243
|
}
|
|
12274
12244
|
})]);
|
|
12275
|
-
} catch (
|
|
12245
|
+
} catch (e30) {
|
|
12276
12246
|
}
|
|
12277
12247
|
}, [autoPlayUnmuted, startMuted, autoPlay]);
|
|
12278
12248
|
_react.useEffect.call(void 0, () => {
|
|
@@ -12286,12 +12256,12 @@ function FilePlayer({
|
|
|
12286
12256
|
};
|
|
12287
12257
|
try {
|
|
12288
12258
|
el.addEventListener("volumechange", onVolumeChange);
|
|
12289
|
-
} catch (
|
|
12259
|
+
} catch (e31) {
|
|
12290
12260
|
}
|
|
12291
12261
|
return () => {
|
|
12292
12262
|
try {
|
|
12293
12263
|
_optionalChain([el, 'access', _266 => _266.removeEventListener, 'optionalCall', _267 => _267("volumechange", onVolumeChange)]);
|
|
12294
|
-
} catch (
|
|
12264
|
+
} catch (e32) {
|
|
12295
12265
|
}
|
|
12296
12266
|
};
|
|
12297
12267
|
}, []);
|
|
@@ -12301,12 +12271,12 @@ function FilePlayer({
|
|
|
12301
12271
|
const onPlaying = () => setMutedFallbackBlocked(false);
|
|
12302
12272
|
try {
|
|
12303
12273
|
el.addEventListener("playing", onPlaying);
|
|
12304
|
-
} catch (
|
|
12274
|
+
} catch (e33) {
|
|
12305
12275
|
}
|
|
12306
12276
|
return () => {
|
|
12307
12277
|
try {
|
|
12308
12278
|
_optionalChain([el, 'access', _269 => _269.removeEventListener, 'optionalCall', _270 => _270("playing", onPlaying)]);
|
|
12309
|
-
} catch (
|
|
12279
|
+
} catch (e34) {
|
|
12310
12280
|
}
|
|
12311
12281
|
};
|
|
12312
12282
|
}, []);
|
|
@@ -12320,12 +12290,12 @@ function FilePlayer({
|
|
|
12320
12290
|
const handler = () => _optionalChain([onEndedRef, 'access', _272 => _272.current, 'optionalCall', _273 => _273()]);
|
|
12321
12291
|
try {
|
|
12322
12292
|
el.addEventListener("ended", handler);
|
|
12323
|
-
} catch (
|
|
12293
|
+
} catch (e35) {
|
|
12324
12294
|
}
|
|
12325
12295
|
return () => {
|
|
12326
12296
|
try {
|
|
12327
12297
|
_optionalChain([el, 'access', _274 => _274.removeEventListener, 'optionalCall', _275 => _275("ended", handler)]);
|
|
12328
|
-
} catch (
|
|
12298
|
+
} catch (e36) {
|
|
12329
12299
|
}
|
|
12330
12300
|
};
|
|
12331
12301
|
}, []);
|
|
@@ -12346,7 +12316,7 @@ function FilePlayer({
|
|
|
12346
12316
|
pause: () => {
|
|
12347
12317
|
try {
|
|
12348
12318
|
_optionalChain([hoverPlayerRef, 'access', _287 => _287.current, 'optionalAccess', _288 => _288.pause, 'optionalCall', _289 => _289()]);
|
|
12349
|
-
} catch (
|
|
12319
|
+
} catch (e37) {
|
|
12350
12320
|
}
|
|
12351
12321
|
},
|
|
12352
12322
|
setMuted: (m) => {
|
|
@@ -12358,7 +12328,7 @@ function FilePlayer({
|
|
|
12358
12328
|
setMutedFallbackBlocked(false);
|
|
12359
12329
|
setHoverMutedFallback(false);
|
|
12360
12330
|
}
|
|
12361
|
-
} catch (
|
|
12331
|
+
} catch (e38) {
|
|
12362
12332
|
}
|
|
12363
12333
|
}
|
|
12364
12334
|
}),
|
|
@@ -12369,76 +12339,10 @@ function FilePlayer({
|
|
|
12369
12339
|
"[Video] srtContent supplied without captionsUrl \u2014 captions will not render. Pass captionsUrl (the VTT URL) instead; raw SRT text overlays are no longer supported."
|
|
12370
12340
|
);
|
|
12371
12341
|
}
|
|
12372
|
-
const monitorHealth = !chromeless;
|
|
12373
|
-
const [playbackFailed, setPlaybackFailed] = _react.useState.call(void 0, false);
|
|
12374
|
-
const stallTimerRef = _react.useRef.call(void 0, null);
|
|
12375
|
-
const clearStallTimer = _react.useCallback.call(void 0, () => {
|
|
12376
|
-
if (stallTimerRef.current !== null) {
|
|
12377
|
-
clearTimeout(stallTimerRef.current);
|
|
12378
|
-
stallTimerRef.current = null;
|
|
12379
|
-
}
|
|
12380
|
-
}, []);
|
|
12381
|
-
_react.useEffect.call(void 0, () => clearStallTimer, [clearStallTimer]);
|
|
12382
|
-
const failPlayback = _react.useCallback.call(void 0,
|
|
12383
|
-
(reason) => {
|
|
12384
|
-
clearStallTimer();
|
|
12385
|
-
setPlaybackFailed(true);
|
|
12386
|
-
reportPlaybackFailure({ kind: "file", src: url, reason });
|
|
12387
|
-
},
|
|
12388
|
-
[clearStallTimer, url]
|
|
12389
|
-
);
|
|
12390
|
-
const armStallTimer = _react.useCallback.call(void 0, () => {
|
|
12391
|
-
if (!monitorHealth) return;
|
|
12392
|
-
const el = hoverPlayerRef.current;
|
|
12393
|
-
if (!el || el.paused || el.ended) return;
|
|
12394
|
-
if (stallTimerRef.current !== null) return;
|
|
12395
|
-
stallTimerRef.current = setTimeout(() => {
|
|
12396
|
-
stallTimerRef.current = null;
|
|
12397
|
-
failPlayback("stall");
|
|
12398
|
-
}, VIDEO_STALL_TIMEOUT_MS);
|
|
12399
|
-
}, [monitorHealth, failPlayback]);
|
|
12400
|
-
const handlePlaybackProgress = _react.useCallback.call(void 0, () => {
|
|
12401
|
-
clearStallTimer();
|
|
12402
|
-
setPlaybackFailed(false);
|
|
12403
|
-
}, [clearStallTimer]);
|
|
12404
|
-
const handleMediaError = _react.useCallback.call(void 0, () => {
|
|
12405
|
-
if (!monitorHealth) return;
|
|
12406
|
-
failPlayback("error");
|
|
12407
|
-
}, [monitorHealth, failPlayback]);
|
|
12408
|
-
const retryPlayback = _react.useCallback.call(void 0, () => {
|
|
12409
|
-
setPlaybackFailed(false);
|
|
12410
|
-
clearStallTimer();
|
|
12411
|
-
const el = hoverPlayerRef.current;
|
|
12412
|
-
if (!el) return;
|
|
12413
|
-
const resumeAt = typeof el.currentTime === "number" ? el.currentTime : 0;
|
|
12414
|
-
try {
|
|
12415
|
-
_optionalChain([el, 'access', _290 => _290.load, 'optionalCall', _291 => _291()]);
|
|
12416
|
-
if (resumeAt > 0 && el.addEventListener && el.removeEventListener) {
|
|
12417
|
-
const seekBack = () => {
|
|
12418
|
-
_optionalChain([el, 'access', _292 => _292.removeEventListener, 'optionalCall', _293 => _293("loadedmetadata", seekBack)]);
|
|
12419
|
-
try {
|
|
12420
|
-
el.currentTime = resumeAt;
|
|
12421
|
-
} catch (e40) {
|
|
12422
|
-
}
|
|
12423
|
-
};
|
|
12424
|
-
el.addEventListener("loadedmetadata", seekBack);
|
|
12425
|
-
}
|
|
12426
|
-
_optionalChain([el, 'access', _294 => _294.play, 'optionalCall', _295 => _295(), 'optionalAccess', _296 => _296.catch, 'optionalCall', _297 => _297(() => {
|
|
12427
|
-
})]);
|
|
12428
|
-
} catch (e41) {
|
|
12429
|
-
}
|
|
12430
|
-
}, [clearStallTimer]);
|
|
12431
|
-
const errorOverlay = monitorHealth && playbackFailed ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VideoErrorOverlay, { onRetry: retryPlayback }) : null;
|
|
12432
12342
|
const player = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12433
12343
|
_muxplayerreact2.default,
|
|
12434
12344
|
{
|
|
12435
12345
|
ref: hoverPlayerRef,
|
|
12436
|
-
onError: handleMediaError,
|
|
12437
|
-
onWaiting: armStallTimer,
|
|
12438
|
-
onStalled: armStallTimer,
|
|
12439
|
-
onPlaying: handlePlaybackProgress,
|
|
12440
|
-
onTimeUpdate: handlePlaybackProgress,
|
|
12441
|
-
onPause: clearStallTimer,
|
|
12442
12346
|
src: url,
|
|
12443
12347
|
poster: poster || void 0,
|
|
12444
12348
|
streamType: "on-demand",
|
|
@@ -12476,15 +12380,19 @@ function FilePlayer({
|
|
|
12476
12380
|
if (playOnHover && !hoverControlled) {
|
|
12477
12381
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative h-full w-full", onPointerEnter: handleHoverEnter, onPointerLeave: handleHoverLeave, children: [
|
|
12478
12382
|
player,
|
|
12479
|
-
unmuteBadge
|
|
12480
|
-
errorOverlay
|
|
12383
|
+
unmuteBadge
|
|
12481
12384
|
] });
|
|
12482
12385
|
}
|
|
12483
|
-
if (hoverControlled
|
|
12386
|
+
if (hoverControlled) {
|
|
12484
12387
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative h-full w-full", children: [
|
|
12485
12388
|
player,
|
|
12486
|
-
unmuteBadge
|
|
12487
|
-
|
|
12389
|
+
unmuteBadge
|
|
12390
|
+
] });
|
|
12391
|
+
}
|
|
12392
|
+
if (autoPlayUnmuted || startMuted) {
|
|
12393
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative h-full w-full", children: [
|
|
12394
|
+
player,
|
|
12395
|
+
unmuteBadge
|
|
12488
12396
|
] });
|
|
12489
12397
|
}
|
|
12490
12398
|
return player;
|
|
@@ -12526,8 +12434,7 @@ function toYouTubeMessage(parsed) {
|
|
|
12526
12434
|
const playerState = typeof info === "object" && info !== null && "playerState" in info ? info.playerState : void 0;
|
|
12527
12435
|
return {
|
|
12528
12436
|
event: typeof event === "string" ? event : void 0,
|
|
12529
|
-
info: { playerState: typeof playerState === "number" ? playerState : void 0 }
|
|
12530
|
-
errorCode: typeof info === "number" ? info : void 0
|
|
12437
|
+
info: { playerState: typeof playerState === "number" ? playerState : void 0 }
|
|
12531
12438
|
};
|
|
12532
12439
|
}
|
|
12533
12440
|
function YouTubeFacadeInner({
|
|
@@ -12540,13 +12447,7 @@ function YouTubeFacadeInner({
|
|
|
12540
12447
|
suspended
|
|
12541
12448
|
}) {
|
|
12542
12449
|
const [activated, setActivated] = _react.useState.call(void 0, Boolean(autoActivate));
|
|
12543
|
-
const [failed, setFailed] = _react.useState.call(void 0, false);
|
|
12544
|
-
const [reloadNonce, setReloadNonce] = _react.useState.call(void 0, 0);
|
|
12545
12450
|
const iframeRef = _react.useRef.call(void 0, null);
|
|
12546
|
-
const retry = _react.useCallback.call(void 0, () => {
|
|
12547
|
-
setFailed(false);
|
|
12548
|
-
setReloadNonce((n) => n + 1);
|
|
12549
|
-
}, []);
|
|
12550
12451
|
const embedUrl = _react.useMemo.call(void 0, () => {
|
|
12551
12452
|
const params = new URLSearchParams({
|
|
12552
12453
|
autoplay: "1",
|
|
@@ -12578,11 +12479,11 @@ function YouTubeFacadeInner({
|
|
|
12578
12479
|
const posterWebp = `https://i.ytimg.com/vi_webp/${videoId}/${posterQuality}.webp`;
|
|
12579
12480
|
const handlePosterError = () => setPosterTier((tier) => Math.min(tier + 1, YT_POSTER_TIERS.length - 1));
|
|
12580
12481
|
_react.useEffect.call(void 0, () => {
|
|
12581
|
-
if (!activated
|
|
12482
|
+
if (!activated) return void 0;
|
|
12582
12483
|
const iframe = iframeRef.current;
|
|
12583
12484
|
if (!iframe) return void 0;
|
|
12584
12485
|
function subscribe2() {
|
|
12585
|
-
_optionalChain([iframe, 'optionalAccess',
|
|
12486
|
+
_optionalChain([iframe, 'optionalAccess', _290 => _290.contentWindow, 'optionalAccess', _291 => _291.postMessage, 'call', _292 => _292('{"event":"listening"}', YT_NOCOOKIE_ORIGIN)]);
|
|
12586
12487
|
}
|
|
12587
12488
|
iframe.addEventListener("load", subscribe2);
|
|
12588
12489
|
subscribe2();
|
|
@@ -12593,23 +12494,17 @@ function YouTubeFacadeInner({
|
|
|
12593
12494
|
let payload = null;
|
|
12594
12495
|
try {
|
|
12595
12496
|
payload = toYouTubeMessage(JSON.parse(event.data));
|
|
12596
|
-
} catch (
|
|
12597
|
-
return;
|
|
12598
|
-
}
|
|
12599
|
-
if (!payload) return;
|
|
12600
|
-
if (payload.event === "onError") {
|
|
12601
|
-
setFailed(true);
|
|
12602
|
-
reportPlaybackFailure({ kind: "youtube", src: videoId, reason: "error", errorCode: payload.errorCode });
|
|
12497
|
+
} catch (e39) {
|
|
12603
12498
|
return;
|
|
12604
12499
|
}
|
|
12605
|
-
if (payload.event !== "infoDelivery") return;
|
|
12606
|
-
const state = _optionalChain([payload, 'access',
|
|
12500
|
+
if (!payload || payload.event !== "infoDelivery") return;
|
|
12501
|
+
const state = _optionalChain([payload, 'access', _293 => _293.info, 'optionalAccess', _294 => _294.playerState]);
|
|
12607
12502
|
if (typeof state !== "number") return;
|
|
12608
12503
|
if (state === YT_STATE_PLAYING) {
|
|
12609
12504
|
if (blurTimer !== null) return;
|
|
12610
12505
|
blurTimer = setTimeout(() => {
|
|
12611
12506
|
blurTimer = null;
|
|
12612
|
-
_optionalChain([iframeRef, 'access',
|
|
12507
|
+
_optionalChain([iframeRef, 'access', _295 => _295.current, 'optionalAccess', _296 => _296.blur, 'call', _297 => _297()]);
|
|
12613
12508
|
}, YT_PLAYING_BLUR_DELAY_MS);
|
|
12614
12509
|
return;
|
|
12615
12510
|
}
|
|
@@ -12623,14 +12518,14 @@ function YouTubeFacadeInner({
|
|
|
12623
12518
|
window.removeEventListener("message", handleMessage);
|
|
12624
12519
|
if (blurTimer !== null) clearTimeout(blurTimer);
|
|
12625
12520
|
};
|
|
12626
|
-
}, [activated
|
|
12521
|
+
}, [activated]);
|
|
12627
12522
|
const prevSuspendedRef = _react.useRef.call(void 0, false);
|
|
12628
12523
|
_react.useEffect.call(void 0, () => {
|
|
12629
12524
|
const wasSuspended = prevSuspendedRef.current;
|
|
12630
12525
|
prevSuspendedRef.current = Boolean(suspended);
|
|
12631
12526
|
if (!activated) return;
|
|
12632
12527
|
if (suspended && !wasSuspended) {
|
|
12633
|
-
_optionalChain([iframeRef, 'access',
|
|
12528
|
+
_optionalChain([iframeRef, 'access', _298 => _298.current, 'optionalAccess', _299 => _299.contentWindow, 'optionalAccess', _300 => _300.postMessage, 'call', _301 => _301(
|
|
12634
12529
|
'{"event":"command","func":"pauseVideo","args":[]}',
|
|
12635
12530
|
YT_NOCOOKIE_ORIGIN
|
|
12636
12531
|
)]);
|
|
@@ -12638,9 +12533,6 @@ function YouTubeFacadeInner({
|
|
|
12638
12533
|
}, [suspended, activated]);
|
|
12639
12534
|
const wrapperClass = `relative w-full ${_nullishCoalesce(className, () => ( ""))}`;
|
|
12640
12535
|
const wrapperStyle = { paddingBottom: "56.25%" };
|
|
12641
|
-
if (activated && failed) {
|
|
12642
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: wrapperClass, style: wrapperStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VideoErrorOverlay, { onRetry: retry, watchOnYouTubeId: videoId }) });
|
|
12643
|
-
}
|
|
12644
12536
|
if (activated) {
|
|
12645
12537
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: wrapperClass, style: wrapperStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12646
12538
|
"iframe",
|
|
@@ -12652,8 +12544,7 @@ function YouTubeFacadeInner({
|
|
|
12652
12544
|
referrerPolicy: "strict-origin-when-cross-origin",
|
|
12653
12545
|
title,
|
|
12654
12546
|
className: "absolute inset-0 h-full w-full rounded-lg border-0"
|
|
12655
|
-
}
|
|
12656
|
-
reloadNonce
|
|
12547
|
+
}
|
|
12657
12548
|
) });
|
|
12658
12549
|
}
|
|
12659
12550
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: wrapperClass, style: wrapperStyle, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -12884,7 +12775,7 @@ function CardsStrip(props) {
|
|
|
12884
12775
|
_react.useEffect.call(void 0, () => {
|
|
12885
12776
|
const el = wrapperRef.current;
|
|
12886
12777
|
if (!el || typeof IntersectionObserver === "undefined") return void 0;
|
|
12887
|
-
const io = new IntersectionObserver((entries) => setNearViewport(_nullishCoalesce(_optionalChain([entries, 'access',
|
|
12778
|
+
const io = new IntersectionObserver((entries) => setNearViewport(_nullishCoalesce(_optionalChain([entries, 'access', _302 => _302[0], 'optionalAccess', _303 => _303.isIntersecting]), () => ( true))), {
|
|
12888
12779
|
rootMargin: "200px"
|
|
12889
12780
|
});
|
|
12890
12781
|
io.observe(el);
|
|
@@ -12906,9 +12797,9 @@ function CardsStrip(props) {
|
|
|
12906
12797
|
const p = hoverPointerRef.current;
|
|
12907
12798
|
if (!p.inside) return;
|
|
12908
12799
|
const el = typeof document !== "undefined" ? document.elementFromPoint(p.x, p.y) : null;
|
|
12909
|
-
const cardEl = _optionalChain([el, 'optionalAccess',
|
|
12910
|
-
const scoped = cardEl && _optionalChain([scrollerRef, 'access',
|
|
12911
|
-
const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess',
|
|
12800
|
+
const cardEl = _optionalChain([el, 'optionalAccess', _304 => _304.closest, 'optionalCall', _305 => _305("[data-strip-card-key]")]);
|
|
12801
|
+
const scoped = cardEl && _optionalChain([scrollerRef, 'access', _306 => _306.current, 'optionalAccess', _307 => _307.contains, 'call', _308 => _308(cardEl)]) ? cardEl : null;
|
|
12802
|
+
const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess', _309 => _309.getAttribute, 'call', _310 => _310("data-strip-card-key")]), () => ( null));
|
|
12912
12803
|
const current = activeKeyRef.current;
|
|
12913
12804
|
if (key === current) return;
|
|
12914
12805
|
if (current !== null) deactivate(current);
|
|
@@ -12946,7 +12837,7 @@ function CardsStrip(props) {
|
|
|
12946
12837
|
}, [syncHoverToPointer]);
|
|
12947
12838
|
const seamBuffer = _react.useCallback.call(void 0, () => {
|
|
12948
12839
|
const half = singleCopyWidthRef.current;
|
|
12949
|
-
const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access',
|
|
12840
|
+
const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _311 => _311.current, 'optionalAccess', _312 => _312.clientWidth]), () => ( 0));
|
|
12950
12841
|
return Math.max(0, Math.min(200, half / 4, half - viewport - TRACK_GAP_PX - 1));
|
|
12951
12842
|
}, []);
|
|
12952
12843
|
const { posRef: marqueePosRef, glideBy } = _chunkZI27ALYXcjs.useMarqueeEngine.call(void 0, {
|
|
@@ -12962,7 +12853,7 @@ function CardsStrip(props) {
|
|
|
12962
12853
|
const scroller = scrollerRef.current;
|
|
12963
12854
|
if (scroller) scroller.scrollLeft = pos;
|
|
12964
12855
|
},
|
|
12965
|
-
readBack: () => _nullishCoalesce(_optionalChain([scrollerRef, 'access',
|
|
12856
|
+
readBack: () => _nullishCoalesce(_optionalChain([scrollerRef, 'access', _313 => _313.current, 'optionalAccess', _314 => _314.scrollLeft]), () => ( 0)),
|
|
12966
12857
|
onAfterFrame: syncHoverIfScrolled
|
|
12967
12858
|
});
|
|
12968
12859
|
const [mountedIdx, setMountedIdx] = _react.useState.call(void 0, () => /* @__PURE__ */ new Set());
|
|
@@ -13010,11 +12901,11 @@ function CardsStrip(props) {
|
|
|
13010
12901
|
fn = (el) => {
|
|
13011
12902
|
if (!el) return void 0;
|
|
13012
12903
|
cardElIdxRef.current.set(el, idx);
|
|
13013
|
-
_optionalChain([cardObserverRef, 'access',
|
|
12904
|
+
_optionalChain([cardObserverRef, 'access', _315 => _315.current, 'optionalAccess', _316 => _316.observe, 'call', _317 => _317(el)]);
|
|
13014
12905
|
return () => {
|
|
13015
12906
|
cardElIdxRef.current.delete(el);
|
|
13016
12907
|
cardElNearRef.current.delete(el);
|
|
13017
|
-
_optionalChain([cardObserverRef, 'access',
|
|
12908
|
+
_optionalChain([cardObserverRef, 'access', _318 => _318.current, 'optionalAccess', _319 => _319.unobserve, 'call', _320 => _320(el)]);
|
|
13018
12909
|
};
|
|
13019
12910
|
};
|
|
13020
12911
|
cardRefFns.set(idx, fn);
|
|
@@ -13033,7 +12924,7 @@ function CardsStrip(props) {
|
|
|
13033
12924
|
const track = trackRef.current;
|
|
13034
12925
|
if (!scroller || !track) return;
|
|
13035
12926
|
const firstCard = track.firstElementChild;
|
|
13036
|
-
const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess',
|
|
12927
|
+
const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess', _321 => _321.offsetWidth]), () => ( 320))) + TRACK_GAP_PX;
|
|
13037
12928
|
chevronSuppressUntilRef.current = performance.now() + CHEVRON_SUPPRESS_MS;
|
|
13038
12929
|
if (marqueeActiveRef.current) {
|
|
13039
12930
|
glideBy(dir * step);
|
|
@@ -13090,7 +12981,7 @@ function CardsStrip(props) {
|
|
|
13090
12981
|
{
|
|
13091
12982
|
ref: (node) => {
|
|
13092
12983
|
wrapperRef.current = node;
|
|
13093
|
-
_optionalChain([rootRef, 'optionalCall',
|
|
12984
|
+
_optionalChain([rootRef, 'optionalCall', _322 => _322(node)]);
|
|
13094
12985
|
},
|
|
13095
12986
|
className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex w-full min-w-0 flex-col gap-6", className),
|
|
13096
12987
|
children: [
|
|
@@ -13202,7 +13093,7 @@ function VideoHoverPreviewSurface({
|
|
|
13202
13093
|
if (gateControlled) return void 0;
|
|
13203
13094
|
const el = rootElRef.current;
|
|
13204
13095
|
if (!el || typeof IntersectionObserver === "undefined") return void 0;
|
|
13205
|
-
const io = new IntersectionObserver((entries) => setIsNear(_nullishCoalesce(_optionalChain([entries, 'access',
|
|
13096
|
+
const io = new IntersectionObserver((entries) => setIsNear(_nullishCoalesce(_optionalChain([entries, 'access', _323 => _323[0], 'optionalAccess', _324 => _324.isIntersecting]), () => ( false))), {
|
|
13206
13097
|
rootMargin: _chunkZI27ALYXcjs.NEAR_VIEWPORT_ROOT_MARGIN
|
|
13207
13098
|
});
|
|
13208
13099
|
io.observe(el);
|
|
@@ -13347,7 +13238,7 @@ function VideoBitesStrip({
|
|
|
13347
13238
|
const filtered = filterPublished ? bites.filter((b) => b.published) : [...bites];
|
|
13348
13239
|
return filtered.sort(sortComparator);
|
|
13349
13240
|
}, [bites, filterPublished, sortComparator]);
|
|
13350
|
-
const warmup = useVideoWarmup({ videoUrl: _optionalChain([items, 'access',
|
|
13241
|
+
const warmup = useVideoWarmup({ videoUrl: _optionalChain([items, 'access', _325 => _325[0], 'optionalAccess', _326 => _326.url]) || null });
|
|
13351
13242
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13352
13243
|
CardsStrip,
|
|
13353
13244
|
{
|
|
@@ -13414,8 +13305,8 @@ function VideoBiteCard({
|
|
|
13414
13305
|
const controlled = active !== void 0;
|
|
13415
13306
|
const [selfActive, setSelfActive] = _react.useState.call(void 0, false);
|
|
13416
13307
|
const isActive = controlled ? !!active : selfActive;
|
|
13417
|
-
const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall',
|
|
13418
|
-
const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall',
|
|
13308
|
+
const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _327 => _327(key)]) : setSelfActive(true);
|
|
13309
|
+
const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _328 => _328(key)]) : setSelfActive(false);
|
|
13419
13310
|
const titleInputRef = _react.useRef.call(void 0, null);
|
|
13420
13311
|
_chunkZI27ALYXcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
13421
13312
|
const el = titleInputRef.current;
|
|
@@ -13425,7 +13316,7 @@ function VideoBiteCard({
|
|
|
13425
13316
|
});
|
|
13426
13317
|
const navigate = () => {
|
|
13427
13318
|
if (bite.onNavigate) bite.onNavigate();
|
|
13428
|
-
else _optionalChain([onBiteNavigate, 'optionalCall',
|
|
13319
|
+
else _optionalChain([onBiteNavigate, 'optionalCall', _329 => _329(bite, index)]);
|
|
13429
13320
|
};
|
|
13430
13321
|
const handlePointerEnter = () => {
|
|
13431
13322
|
if (!isTouch) activate();
|
|
@@ -13450,9 +13341,9 @@ function VideoBiteCard({
|
|
|
13450
13341
|
placeholder: "Title (optional)",
|
|
13451
13342
|
"aria-label": "Bite title",
|
|
13452
13343
|
rows: 1,
|
|
13453
|
-
onChange: (e) => _optionalChain([onTitleChange, 'optionalCall',
|
|
13344
|
+
onChange: (e) => _optionalChain([onTitleChange, 'optionalCall', _330 => _330(e.target.value)]),
|
|
13454
13345
|
ref: titleInputRef,
|
|
13455
|
-
onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall',
|
|
13346
|
+
onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall', _331 => _331(e.target.value)]),
|
|
13456
13347
|
onClick: (e) => e.stopPropagation(),
|
|
13457
13348
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
13458
13349
|
titleClass,
|
|
@@ -13529,7 +13420,7 @@ function VideoBiteCard({
|
|
|
13529
13420
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
13530
13421
|
"div",
|
|
13531
13422
|
{
|
|
13532
|
-
ref: (node) => _optionalChain([rootRef, 'optionalCall',
|
|
13423
|
+
ref: (node) => _optionalChain([rootRef, 'optionalCall', _332 => _332(node)]),
|
|
13533
13424
|
"aria-hidden": isClone || void 0,
|
|
13534
13425
|
"data-strip-card-key": key,
|
|
13535
13426
|
className: _chunkPRPZBXWZcjs.cn.call(void 0,
|
|
@@ -13584,8 +13475,8 @@ function EntityVideoSection({
|
|
|
13584
13475
|
const hasHighlight = !!highlightVideoUrl;
|
|
13585
13476
|
const hasVideo = hasFullVideo || hasHighlight;
|
|
13586
13477
|
const derivedCaptions = captionsEntity ? captions.forEntityId(captionsEntity.type, captionsEntity.id) : null;
|
|
13587
|
-
const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess',
|
|
13588
|
-
const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess',
|
|
13478
|
+
const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _333 => _333.captionsUrl])));
|
|
13479
|
+
const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _334 => _334.highlightCaptionsUrl])));
|
|
13589
13480
|
if (!hasVideo && !videoSummary && (!videoBites || videoBites.length === 0)) {
|
|
13590
13481
|
return null;
|
|
13591
13482
|
}
|
|
@@ -13712,7 +13603,7 @@ function parseRepoFromUrl(url) {
|
|
|
13712
13603
|
if (u.host !== "github.com") return null;
|
|
13713
13604
|
const parts = u.pathname.split("/").filter(Boolean);
|
|
13714
13605
|
if (parts.length >= 2) return `${parts[0]}/${parts[1]}`;
|
|
13715
|
-
} catch (
|
|
13606
|
+
} catch (e40) {
|
|
13716
13607
|
}
|
|
13717
13608
|
return null;
|
|
13718
13609
|
}
|
|
@@ -13897,7 +13788,7 @@ function parseChannelFromUrl(url) {
|
|
|
13897
13788
|
const parts = u.pathname.split("/").filter(Boolean);
|
|
13898
13789
|
const archivesIdx = parts.indexOf("archives");
|
|
13899
13790
|
if (archivesIdx !== -1 && parts.length > archivesIdx + 1) return parts[archivesIdx + 1];
|
|
13900
|
-
} catch (
|
|
13791
|
+
} catch (e41) {
|
|
13901
13792
|
}
|
|
13902
13793
|
return null;
|
|
13903
13794
|
}
|
|
@@ -14104,7 +13995,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
14104
13995
|
] }) : null,
|
|
14105
13996
|
item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-ods-text-secondary text-h6", children: item.preview }) }) : null
|
|
14106
13997
|
] }),
|
|
14107
|
-
_optionalChain([anchorProps, 'optionalAccess',
|
|
13998
|
+
_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
|
|
14108
13999
|
] });
|
|
14109
14000
|
if (!anchorProps) {
|
|
14110
14001
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
@@ -14132,7 +14023,7 @@ function DataRoomDocCardSkeleton({ className }) {
|
|
|
14132
14023
|
|
|
14133
14024
|
|
|
14134
14025
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
14135
|
-
const goalsCount = _optionalChain([campaign, 'access',
|
|
14026
|
+
const goalsCount = _optionalChain([campaign, 'access', _336 => _336.goals, 'optionalAccess', _337 => _337.length]) || 0;
|
|
14136
14027
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
14137
14028
|
/* @__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" }) }),
|
|
14138
14029
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -14426,7 +14317,7 @@ function pickFetchedCardHref({
|
|
|
14426
14317
|
itemHref,
|
|
14427
14318
|
allowComposed
|
|
14428
14319
|
}) {
|
|
14429
|
-
if (_optionalChain([composed, 'optionalAccess',
|
|
14320
|
+
if (_optionalChain([composed, 'optionalAccess', _338 => _338.hostOverride])) {
|
|
14430
14321
|
return { source: "hostOverride", href: composed.href, targetPlatform: composed.targetPlatform };
|
|
14431
14322
|
}
|
|
14432
14323
|
if (itemHref) return { source: "item", href: itemHref };
|
|
@@ -14621,7 +14512,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
14621
14512
|
if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
|
|
14622
14513
|
const safePath = sanitizePath(row.path);
|
|
14623
14514
|
if (safePath) {
|
|
14624
|
-
const docTarget = row.documentType ? _optionalChain([ctx, 'access',
|
|
14515
|
+
const docTarget = row.documentType ? _optionalChain([ctx, 'access', _339 => _339.docPlatformTargets, 'optionalAccess', _340 => _340[row.documentType]]) : void 0;
|
|
14625
14516
|
if (docTarget) {
|
|
14626
14517
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
14627
14518
|
const base = `${_chunkPRPZBXWZcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
@@ -14764,8 +14655,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
|
|
|
14764
14655
|
if (href) {
|
|
14765
14656
|
items.push({
|
|
14766
14657
|
id: "open-details",
|
|
14767
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
14768
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
14658
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _341 => _341.label]), () => ( "Open Details")),
|
|
14659
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _342 => _342.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.EyeIcon, { size: 20 }))),
|
|
14769
14660
|
// Main row → open the entity (same tab, soft Link nav).
|
|
14770
14661
|
href,
|
|
14771
14662
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -14813,7 +14704,7 @@ function decodeVideoMarkerId(id) {
|
|
|
14813
14704
|
const url = atob(b64);
|
|
14814
14705
|
if (!/^https:\/\//.test(url)) return null;
|
|
14815
14706
|
return { videoUrl: url };
|
|
14816
|
-
} catch (
|
|
14707
|
+
} catch (e42) {
|
|
14817
14708
|
return null;
|
|
14818
14709
|
}
|
|
14819
14710
|
}
|
|
@@ -14825,18 +14716,18 @@ function itemVideoMetadata(item) {
|
|
|
14825
14716
|
for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
|
|
14826
14717
|
return void 0;
|
|
14827
14718
|
};
|
|
14828
|
-
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
14719
|
+
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _343 => _343.metadata]), () => ( {}));
|
|
14829
14720
|
const out = {};
|
|
14830
|
-
const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess',
|
|
14831
|
-
const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess',
|
|
14832
|
-
const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess',
|
|
14721
|
+
const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _344 => _344.custom_video_url]), _optionalChain([item, 'optionalAccess', _345 => _345.main_video_url]));
|
|
14722
|
+
const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _346 => _346.youtube_url]), _optionalChain([item, 'optionalAccess', _347 => _347.testimonial_video_url]));
|
|
14723
|
+
const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _348 => _348.highlight_video_url]));
|
|
14833
14724
|
const videoPoster = pick(
|
|
14834
14725
|
m.videoPoster,
|
|
14835
|
-
_optionalChain([item, 'optionalAccess',
|
|
14836
|
-
_optionalChain([item, 'optionalAccess',
|
|
14837
|
-
_optionalChain([item, 'optionalAccess',
|
|
14726
|
+
_optionalChain([item, 'optionalAccess', _349 => _349.main_video_thumbnail]),
|
|
14727
|
+
_optionalChain([item, 'optionalAccess', _350 => _350.highlight_video_thumbnail]),
|
|
14728
|
+
_optionalChain([item, 'optionalAccess', _351 => _351.featured_image])
|
|
14838
14729
|
);
|
|
14839
|
-
const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess',
|
|
14730
|
+
const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _352 => _352.highlight_video_thumbnail]));
|
|
14840
14731
|
if (videoUrl) out.videoUrl = videoUrl;
|
|
14841
14732
|
if (youtubeUrl) out.youtubeUrl = youtubeUrl;
|
|
14842
14733
|
if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
|
|
@@ -14866,15 +14757,15 @@ function fetchedItemDisplayRef(item, chatRef) {
|
|
|
14866
14757
|
}
|
|
14867
14758
|
function fetchedFaqDisplayRef(item, chatRef) {
|
|
14868
14759
|
const it = item;
|
|
14869
|
-
const answer = typeof _optionalChain([it, 'optionalAccess',
|
|
14760
|
+
const answer = typeof _optionalChain([it, 'optionalAccess', _353 => _353.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
|
|
14870
14761
|
return {
|
|
14871
14762
|
type: "faq",
|
|
14872
14763
|
id: chatRef.id,
|
|
14873
14764
|
sourceRepo: chatRef.sourceRepo,
|
|
14874
|
-
title: typeof _optionalChain([it, 'optionalAccess',
|
|
14765
|
+
title: typeof _optionalChain([it, 'optionalAccess', _354 => _354.question]) === "string" && it.question ? it.question : chatRef.id,
|
|
14875
14766
|
url: _nullishCoalesce(chatRef.url, () => ( null)),
|
|
14876
14767
|
...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
|
|
14877
|
-
metadata: typeof _optionalChain([it, 'optionalAccess',
|
|
14768
|
+
metadata: typeof _optionalChain([it, 'optionalAccess', _355 => _355.section]) === "string" && it.section ? { section: it.section } : {}
|
|
14878
14769
|
};
|
|
14879
14770
|
}
|
|
14880
14771
|
function HubspotTicketChatCard({
|
|
@@ -14882,8 +14773,8 @@ function HubspotTicketChatCard({
|
|
|
14882
14773
|
isNewTab,
|
|
14883
14774
|
discuss
|
|
14884
14775
|
}) {
|
|
14885
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
14886
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
14776
|
+
const status = typeof _optionalChain([chatRef, 'access', _356 => _356.metadata, 'optionalAccess', _357 => _357.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
14777
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _358 => _358.metadata, 'optionalAccess', _359 => _359.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
14887
14778
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
14888
14779
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14889
14780
|
MingoInfoCard,
|
|
@@ -14906,7 +14797,7 @@ function FaqChatCard({
|
|
|
14906
14797
|
isNewTab,
|
|
14907
14798
|
discuss
|
|
14908
14799
|
}) {
|
|
14909
|
-
const section = typeof _optionalChain([chatRef, 'access',
|
|
14800
|
+
const section = typeof _optionalChain([chatRef, 'access', _360 => _360.metadata, 'optionalAccess', _361 => _361.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
|
|
14910
14801
|
const statusLabel = section && section.length > 0 ? section : "FAQ";
|
|
14911
14802
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14912
14803
|
MingoInfoCard,
|
|
@@ -14926,7 +14817,7 @@ function SlackChatCard({
|
|
|
14926
14817
|
isNewTab,
|
|
14927
14818
|
discuss
|
|
14928
14819
|
}) {
|
|
14929
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
14820
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _362 => _362.metadata, 'optionalAccess', _363 => _363.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
14930
14821
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
14931
14822
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
14932
14823
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -14966,7 +14857,7 @@ function GenericFinancialChatCard({
|
|
|
14966
14857
|
isNewTab,
|
|
14967
14858
|
discuss
|
|
14968
14859
|
}) {
|
|
14969
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
14860
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _364 => _364.metadata, 'optionalAccess', _365 => _365.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
14970
14861
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14971
14862
|
MingoInfoCard,
|
|
14972
14863
|
{
|
|
@@ -15035,12 +14926,12 @@ function ProductReleaseChatCard({
|
|
|
15035
14926
|
discuss
|
|
15036
14927
|
}) {
|
|
15037
14928
|
const releaseProps = buildProps(item);
|
|
15038
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
14929
|
+
const status = _optionalChain([item, 'optionalAccess', _366 => _366.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
15039
14930
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15040
14931
|
EntityMingoCard,
|
|
15041
14932
|
{
|
|
15042
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15043
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
14933
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _367 => _367.title]), () => ( "")),
|
|
14934
|
+
description: _optionalChain([item, 'optionalAccess', _368 => _368.summary]) || releaseProps.formattedDate || void 0,
|
|
15044
14935
|
cover: releaseProps.coverImage || void 0,
|
|
15045
14936
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Rocket02Icon, { size: 24 }),
|
|
15046
14937
|
status,
|
|
@@ -15057,17 +14948,17 @@ function CampaignChatCard({
|
|
|
15057
14948
|
isNewTab,
|
|
15058
14949
|
discuss
|
|
15059
14950
|
}) {
|
|
15060
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
14951
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _369 => _369.goals])) ? item.goals.length : 0;
|
|
15061
14952
|
const meta = [
|
|
15062
|
-
_optionalChain([item, 'optionalAccess',
|
|
14953
|
+
_optionalChain([item, 'optionalAccess', _370 => _370.start_date]) ? _chunkNNFQLTJ3cjs.formatDateShort.call(void 0, item.start_date) : null,
|
|
15063
14954
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
15064
14955
|
"Marketing campaign"
|
|
15065
14956
|
].filter(Boolean).join(" \xB7 ");
|
|
15066
14957
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15067
14958
|
EntityMingoCard,
|
|
15068
14959
|
{
|
|
15069
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15070
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
14960
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _371 => _371.name]), () => ( "")),
|
|
14961
|
+
description: meta || _optionalChain([item, 'optionalAccess', _372 => _372.description]) || void 0,
|
|
15071
14962
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Megaphone01Icon, { size: 24 }),
|
|
15072
14963
|
chatRef,
|
|
15073
14964
|
isNewTab,
|
|
@@ -15122,14 +15013,14 @@ function BlogChatCard({
|
|
|
15122
15013
|
hasEmbeddedVideo,
|
|
15123
15014
|
discuss
|
|
15124
15015
|
}) {
|
|
15125
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
15016
|
+
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;
|
|
15126
15017
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
15127
15018
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15128
15019
|
EntityMingoCard,
|
|
15129
15020
|
{
|
|
15130
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15131
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15132
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15021
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _379 => _379.title]), () => ( "")),
|
|
15022
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _380 => _380.summary]), () => ( void 0)),
|
|
15023
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _381 => _381.featured_image]), ogPlaceholder),
|
|
15133
15024
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.NewspaperIcon, { size: 24 }),
|
|
15134
15025
|
status,
|
|
15135
15026
|
chatRef,
|
|
@@ -15146,13 +15037,13 @@ function CaseStudyChatCard({
|
|
|
15146
15037
|
ogPlaceholder,
|
|
15147
15038
|
discuss
|
|
15148
15039
|
}) {
|
|
15149
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15040
|
+
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 ");
|
|
15150
15041
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15151
15042
|
EntityMingoCard,
|
|
15152
15043
|
{
|
|
15153
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15154
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15155
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15044
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _386 => _386.title]), () => ( "")),
|
|
15045
|
+
description: _optionalChain([item, 'optionalAccess', _387 => _387.summary]) || meta || void 0,
|
|
15046
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _388 => _388.featured_image]), ogPlaceholder),
|
|
15156
15047
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TrophyIcon, { size: 24 }),
|
|
15157
15048
|
status: { label: "Case study", variant: "grey" },
|
|
15158
15049
|
chatRef,
|
|
@@ -15169,13 +15060,13 @@ function CustomerInterviewChatCard({
|
|
|
15169
15060
|
ogPlaceholder,
|
|
15170
15061
|
discuss
|
|
15171
15062
|
}) {
|
|
15172
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15063
|
+
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 ");
|
|
15173
15064
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15174
15065
|
EntityMingoCard,
|
|
15175
15066
|
{
|
|
15176
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15177
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15178
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15067
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _393 => _393.title]), () => ( "")),
|
|
15068
|
+
description: _optionalChain([item, 'optionalAccess', _394 => _394.video_summary]) || meta || void 0,
|
|
15069
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _395 => _395.featured_image]), ogPlaceholder),
|
|
15179
15070
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MicrophoneIcon, { size: 24 }),
|
|
15180
15071
|
status: { label: "Interview", variant: "grey" },
|
|
15181
15072
|
chatRef,
|
|
@@ -15192,13 +15083,13 @@ function InvestorUpdateChatCard({
|
|
|
15192
15083
|
ogPlaceholder,
|
|
15193
15084
|
discuss
|
|
15194
15085
|
}) {
|
|
15195
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
15086
|
+
const title = _optionalChain([item, 'optionalAccess', _396 => _396.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _397 => _397.update_number]), () => ( "?"))}`;
|
|
15196
15087
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15197
15088
|
EntityMingoCard,
|
|
15198
15089
|
{
|
|
15199
15090
|
title,
|
|
15200
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15201
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15091
|
+
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,
|
|
15092
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _402 => _402.featured_image]), ogPlaceholder),
|
|
15202
15093
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PresentationLineIcon, { size: 24 }),
|
|
15203
15094
|
status: { label: "Investor update", variant: "grey" },
|
|
15204
15095
|
chatRef,
|
|
@@ -15215,12 +15106,12 @@ function OnboardingGuideChatCard({
|
|
|
15215
15106
|
ogPlaceholder,
|
|
15216
15107
|
discuss
|
|
15217
15108
|
}) {
|
|
15218
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
15109
|
+
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)));
|
|
15219
15110
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15220
15111
|
EntityMingoCard,
|
|
15221
15112
|
{
|
|
15222
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15223
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15113
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _406 => _406.title]), () => ( "")),
|
|
15114
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _407 => _407.summary]), () => ( _optionalChain([item, 'optionalAccess', _408 => _408.description]))), () => ( void 0)),
|
|
15224
15115
|
cover,
|
|
15225
15116
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CompassIcon, { size: 24 }),
|
|
15226
15117
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -15241,25 +15132,25 @@ function ProgramChatCard({
|
|
|
15241
15132
|
discuss
|
|
15242
15133
|
}) {
|
|
15243
15134
|
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 });
|
|
15244
|
-
const isScheduled = _optionalChain([item, 'optionalAccess',
|
|
15135
|
+
const isScheduled = _optionalChain([item, 'optionalAccess', _409 => _409.status]) === "scheduled";
|
|
15245
15136
|
let typeMeta;
|
|
15246
|
-
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess',
|
|
15137
|
+
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _410 => _410.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
|
|
15247
15138
|
typeMeta = _chunkNNFQLTJ3cjs.formatDurationCompact.call(void 0, item.duration_seconds);
|
|
15248
|
-
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess',
|
|
15139
|
+
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _411 => _411.location_name]) === "string" && item.location_name.trim().length > 0) {
|
|
15249
15140
|
typeMeta = item.location_name;
|
|
15250
|
-
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess',
|
|
15141
|
+
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _412 => _412.start_at])) {
|
|
15251
15142
|
const time = _chunkNNFQLTJ3cjs.formatTimeWithTimezone.call(void 0, item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
|
|
15252
15143
|
const dur = _chunkNNFQLTJ3cjs.formatDurationFromRange.call(void 0, item.start_at, item.end_at);
|
|
15253
15144
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
15254
15145
|
}
|
|
15255
|
-
const itemDate = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15146
|
+
const itemDate = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _413 => _413.date]), () => ( null)), { fallback: "", timezone: "local" });
|
|
15256
15147
|
const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
|
|
15257
15148
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15258
15149
|
EntityMingoCard,
|
|
15259
15150
|
{
|
|
15260
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15261
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
15262
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15151
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _414 => _414.title]), () => ( "")),
|
|
15152
|
+
description: meta || _optionalChain([item, 'optionalAccess', _415 => _415.description]) || void 0,
|
|
15153
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _416 => _416.cover_url]), ogPlaceholder),
|
|
15263
15154
|
fallbackIcon: icon,
|
|
15264
15155
|
status: { label, variant: "grey" },
|
|
15265
15156
|
chatRef,
|
|
@@ -15276,10 +15167,10 @@ function RoadmapChatCard({
|
|
|
15276
15167
|
cardType,
|
|
15277
15168
|
discuss
|
|
15278
15169
|
}) {
|
|
15279
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
15280
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
15170
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _417 => _417.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
15171
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _418 => _418.customItemId]) != null;
|
|
15281
15172
|
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 });
|
|
15282
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess',
|
|
15173
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _419 => _419.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
15283
15174
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
15284
15175
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
15285
15176
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWLSFBRT5cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
|
|
@@ -15290,10 +15181,10 @@ function RoadmapChatCard({
|
|
|
15290
15181
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15291
15182
|
EntityMingoCard,
|
|
15292
15183
|
{
|
|
15293
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15294
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15184
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _420 => _420.title]), () => ( "")),
|
|
15185
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.description]), () => ( void 0)),
|
|
15295
15186
|
fallbackIcon: icon,
|
|
15296
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
15187
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _422 => _422.status])),
|
|
15297
15188
|
chatRef,
|
|
15298
15189
|
isNewTab,
|
|
15299
15190
|
discuss,
|
|
@@ -15309,7 +15200,7 @@ function refHydratedEntry(docType, label, renderRef) {
|
|
|
15309
15200
|
bareInline: true,
|
|
15310
15201
|
contentRefType: docType,
|
|
15311
15202
|
noComposedHref: true,
|
|
15312
|
-
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15203
|
+
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _423 => _423.url]), () => ( null)),
|
|
15313
15204
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15314
15205
|
render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
|
|
15315
15206
|
};
|
|
@@ -15374,7 +15265,7 @@ function programRegistryEntries() {
|
|
|
15374
15265
|
discuss: opts.discuss,
|
|
15375
15266
|
configKey: cfg.configKey,
|
|
15376
15267
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
15377
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15268
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _424 => _424.extras, 'optionalAccess', _425 => _425.buildOgPlaceholderUrl, 'optionalCall', _426 => _426(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _427 => _427.title]), () => ( "")))]), () => ( null))
|
|
15378
15269
|
}
|
|
15379
15270
|
)
|
|
15380
15271
|
}));
|
|
@@ -15395,7 +15286,7 @@ var ROADMAP_CARD_CONFIGS = {
|
|
|
15395
15286
|
// The card's destination IS the ClickUp deep link, derived from the
|
|
15396
15287
|
// task id post-fetch (the refs frame used to carry it).
|
|
15397
15288
|
noComposedHref: true,
|
|
15398
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15289
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _428 => _428.id]) != null ? clickupTaskUrl(String(item.id)) : null
|
|
15399
15290
|
}
|
|
15400
15291
|
};
|
|
15401
15292
|
function roadmapRegistryEntries() {
|
|
@@ -15437,8 +15328,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15437
15328
|
DeletedDataCard,
|
|
15438
15329
|
{
|
|
15439
15330
|
title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
|
|
15440
|
-
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
15441
|
-
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
15331
|
+
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _429 => _429.metadata, 'optionalAccess', _430 => _430.entity_label]), () => ( null)),
|
|
15332
|
+
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _431 => _431.metadata, 'optionalAccess', _432 => _432.recovery_note]), () => ( null))
|
|
15442
15333
|
}
|
|
15443
15334
|
)
|
|
15444
15335
|
},
|
|
@@ -15452,7 +15343,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15452
15343
|
bareInline: true,
|
|
15453
15344
|
contentRefType: "faq",
|
|
15454
15345
|
noComposedHref: true,
|
|
15455
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15346
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _433 => _433.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
|
|
15456
15347
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15457
15348
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15458
15349
|
},
|
|
@@ -15486,8 +15377,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15486
15377
|
chatRef,
|
|
15487
15378
|
isNewTab: opts.isNewTab,
|
|
15488
15379
|
discuss: opts.discuss,
|
|
15489
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15490
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
15380
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _434 => _434.extras, 'optionalAccess', _435 => _435.buildOgPlaceholderUrl, 'optionalCall', _436 => _436(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _437 => _437.title]), () => ( "")))]), () => ( null)),
|
|
15381
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _438 => _438.metadata, 'optionalAccess', _439 => _439.hasEmbeddedVideo]) === true
|
|
15491
15382
|
}
|
|
15492
15383
|
)
|
|
15493
15384
|
},
|
|
@@ -15503,7 +15394,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15503
15394
|
chatRef,
|
|
15504
15395
|
isNewTab: opts.isNewTab,
|
|
15505
15396
|
discuss: opts.discuss,
|
|
15506
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15397
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _440 => _440.extras, 'optionalAccess', _441 => _441.buildOgPlaceholderUrl, 'optionalCall', _442 => _442(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _443 => _443.title]), () => ( "")))]), () => ( null))
|
|
15507
15398
|
}
|
|
15508
15399
|
)
|
|
15509
15400
|
},
|
|
@@ -15519,7 +15410,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15519
15410
|
chatRef,
|
|
15520
15411
|
isNewTab: opts.isNewTab,
|
|
15521
15412
|
discuss: opts.discuss,
|
|
15522
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15413
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _444 => _444.extras, 'optionalAccess', _445 => _445.buildOgPlaceholderUrl, 'optionalCall', _446 => _446(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _447 => _447.title]), () => ( "")))]), () => ( null))
|
|
15523
15414
|
}
|
|
15524
15415
|
)
|
|
15525
15416
|
},
|
|
@@ -15529,7 +15420,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15529
15420
|
bareInline: true,
|
|
15530
15421
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.ProductReleaseCardSkeleton, { size: "sm" }),
|
|
15531
15422
|
render: (item, chatRef, opts) => {
|
|
15532
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15423
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _448 => _448.extras, 'optionalAccess', _449 => _449.buildProductReleaseCardProps]), () => ( _chunkNNFQLTJ3cjs.defaultBuildProductReleaseCardProps));
|
|
15533
15424
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15534
15425
|
ProductReleaseChatCard,
|
|
15535
15426
|
{
|
|
@@ -15555,7 +15446,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15555
15446
|
chatRef,
|
|
15556
15447
|
isNewTab: opts.isNewTab,
|
|
15557
15448
|
discuss: opts.discuss,
|
|
15558
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15449
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _450 => _450.extras, 'optionalAccess', _451 => _451.buildOgPlaceholderUrl, 'optionalCall', _452 => _452(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _453 => _453.title]), () => ( "")))]), () => ( null))
|
|
15559
15450
|
}
|
|
15560
15451
|
)
|
|
15561
15452
|
},
|
|
@@ -15573,7 +15464,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15573
15464
|
chatRef,
|
|
15574
15465
|
isNewTab: opts.isNewTab,
|
|
15575
15466
|
discuss: opts.discuss,
|
|
15576
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15467
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _454 => _454.extras, 'optionalAccess', _455 => _455.buildOgPlaceholderUrl, 'optionalCall', _456 => _456(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _457 => _457.title]), () => ( "")))]), () => ( null))
|
|
15577
15468
|
}
|
|
15578
15469
|
)
|
|
15579
15470
|
},
|
|
@@ -15584,7 +15475,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15584
15475
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
15585
15476
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
15586
15477
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
15587
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15478
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _458 => _458.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
|
|
15588
15479
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15589
15480
|
},
|
|
15590
15481
|
...roadmapRegistryEntries()
|
|
@@ -15603,13 +15494,13 @@ function ChatCardNavWrap({
|
|
|
15603
15494
|
if (!href) return;
|
|
15604
15495
|
const targetEl = e.target;
|
|
15605
15496
|
const host = e.currentTarget;
|
|
15606
|
-
if (!_optionalChain([host, 'optionalAccess',
|
|
15607
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
15608
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
15497
|
+
if (!_optionalChain([host, 'optionalAccess', _459 => _459.contains, 'call', _460 => _460(targetEl)])) return;
|
|
15498
|
+
if (_optionalChain([targetEl, 'optionalAccess', _461 => _461.closest, 'optionalCall', _462 => _462("button")])) return;
|
|
15499
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _463 => _463.closest, 'optionalCall', _464 => _464("a")])) return;
|
|
15609
15500
|
const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
|
|
15610
15501
|
if (!handled) return;
|
|
15611
15502
|
e.stopPropagation();
|
|
15612
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
15503
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _465 => _465.closeChat])) panel.closeChat();
|
|
15613
15504
|
};
|
|
15614
15505
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
15615
15506
|
}
|
|
@@ -15631,7 +15522,7 @@ function ChatCardLoader({
|
|
|
15631
15522
|
title: chatRef.title,
|
|
15632
15523
|
externalUrl: chatRef.url,
|
|
15633
15524
|
targetPlatform: chatRef.targetPlatform,
|
|
15634
|
-
path: typeof _optionalChain([chatRef, 'access',
|
|
15525
|
+
path: typeof _optionalChain([chatRef, 'access', _466 => _466.metadata, 'optionalAccess', _467 => _467.path]) === "string" ? chatRef.metadata.path : null
|
|
15635
15526
|
},
|
|
15636
15527
|
sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
|
|
15637
15528
|
);
|
|
@@ -15645,11 +15536,11 @@ function ChatCardLoader({
|
|
|
15645
15536
|
const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
|
|
15646
15537
|
const fetchEntry = entry && entry.contentRefType ? entry : null;
|
|
15647
15538
|
const { item, isLoading, isError, isFetched } = useChatCardItem(
|
|
15648
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
15539
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _468 => _468.contentRefType]), () => ( "")),
|
|
15649
15540
|
fetchEntry ? resolvedChatRef.id : ""
|
|
15650
15541
|
);
|
|
15651
15542
|
if (!entry) return null;
|
|
15652
|
-
const composedHref = _optionalChain([fetchEntry, 'optionalAccess',
|
|
15543
|
+
const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _469 => _469.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
|
|
15653
15544
|
contentRefType: fetchEntry.contentRefType,
|
|
15654
15545
|
id: resolvedChatRef.id,
|
|
15655
15546
|
item,
|
|
@@ -15657,7 +15548,7 @@ function ChatCardLoader({
|
|
|
15657
15548
|
}) : null;
|
|
15658
15549
|
const hrefChoice = fetchEntry && !resolvedChatRef.url && item ? pickFetchedCardHref({
|
|
15659
15550
|
composed: composedHref,
|
|
15660
|
-
itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access',
|
|
15551
|
+
itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _470 => _470.fallbackHref, 'optionalCall', _471 => _471(item)]), () => ( null)),
|
|
15661
15552
|
allowComposed: !fetchEntry.noComposedHref
|
|
15662
15553
|
}) : null;
|
|
15663
15554
|
const hrefResolvedChatRef = hrefChoice ? {
|
|
@@ -15691,7 +15582,7 @@ function ChatCardLoader({
|
|
|
15691
15582
|
isNewTab,
|
|
15692
15583
|
discuss
|
|
15693
15584
|
};
|
|
15694
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
15585
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _472 => _472.metadata, 'optionalAccess', _473 => _473.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
15695
15586
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15696
15587
|
ChatCardNavWrap,
|
|
15697
15588
|
{
|
|
@@ -15715,7 +15606,7 @@ function ChatCardLoader({
|
|
|
15715
15606
|
if (!fetchEntry) {
|
|
15716
15607
|
return finish(entry.render(void 0, finalChatRef, renderOpts));
|
|
15717
15608
|
}
|
|
15718
|
-
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access',
|
|
15609
|
+
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _474 => _474.skeleton, 'optionalCall', _475 => _475()]), () => ( null)) });
|
|
15719
15610
|
if (!item) {
|
|
15720
15611
|
if (isError) {
|
|
15721
15612
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
|
|
@@ -16075,7 +15966,7 @@ function useChunkCatchup({
|
|
|
16075
15966
|
if (catchupRun.current === run) {
|
|
16076
15967
|
if (currentDialogId !== dialogIdRef.current) {
|
|
16077
15968
|
catchupRun.current = null;
|
|
16078
|
-
if (_optionalChain([pendingCatchupRef, 'access',
|
|
15969
|
+
if (_optionalChain([pendingCatchupRef, 'access', _476 => _476.current, 'optionalAccess', _477 => _477.dialogId]) === currentDialogId) {
|
|
16079
15970
|
pendingCatchupRef.current = null;
|
|
16080
15971
|
}
|
|
16081
15972
|
} else {
|
|
@@ -16086,7 +15977,7 @@ function useChunkCatchup({
|
|
|
16086
15977
|
if (pending.dialogId === currentDialogId) {
|
|
16087
15978
|
rearmForQueuedCatchup();
|
|
16088
15979
|
try {
|
|
16089
|
-
await _optionalChain([catchUpChunksRef, 'access',
|
|
15980
|
+
await _optionalChain([catchUpChunksRef, 'access', _478 => _478.current, 'optionalCall', _479 => _479(pending.fromSequenceId)]);
|
|
16090
15981
|
} catch (rerunError) {
|
|
16091
15982
|
console.error("Queued catch-up re-run failed:", rerunError);
|
|
16092
15983
|
}
|
|
@@ -16153,7 +16044,7 @@ function useChunkCatchup({
|
|
|
16153
16044
|
|
|
16154
16045
|
var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
|
|
16155
16046
|
function prefersReducedMotion() {
|
|
16156
|
-
return typeof window !== "undefined" && _optionalChain([window, 'access',
|
|
16047
|
+
return typeof window !== "undefined" && _optionalChain([window, 'access', _480 => _480.matchMedia, 'optionalCall', _481 => _481("(prefers-reduced-motion: reduce)"), 'access', _482 => _482.matches]) === true;
|
|
16157
16048
|
}
|
|
16158
16049
|
function useScriptedStream(frames, resetKey, enabled = true) {
|
|
16159
16050
|
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
@@ -16164,7 +16055,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
|
|
|
16164
16055
|
setIndex(0);
|
|
16165
16056
|
}
|
|
16166
16057
|
_react.useEffect.call(void 0, () => {
|
|
16167
|
-
const mq = _optionalChain([window, 'access',
|
|
16058
|
+
const mq = _optionalChain([window, 'access', _483 => _483.matchMedia, 'optionalCall', _484 => _484("(prefers-reduced-motion: reduce)")]);
|
|
16168
16059
|
const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
|
|
16169
16060
|
sync();
|
|
16170
16061
|
if (!mq) return void 0;
|
|
@@ -16299,7 +16190,7 @@ function useJetStreamDialogSubscription({
|
|
|
16299
16190
|
if (subscriptionRef.current) {
|
|
16300
16191
|
try {
|
|
16301
16192
|
subscriptionRef.current.unsubscribe();
|
|
16302
|
-
} catch (
|
|
16193
|
+
} catch (e43) {
|
|
16303
16194
|
}
|
|
16304
16195
|
subscriptionRef.current = null;
|
|
16305
16196
|
}
|
|
@@ -16307,7 +16198,7 @@ function useJetStreamDialogSubscription({
|
|
|
16307
16198
|
const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
|
|
16308
16199
|
conn: sharedConn,
|
|
16309
16200
|
wsUrl,
|
|
16310
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16201
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _485 => _485.current, 'optionalCall', _486 => _486()]),
|
|
16311
16202
|
backoff: reconnectionBackoffRef.current,
|
|
16312
16203
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16313
16204
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -16322,7 +16213,7 @@ function useJetStreamDialogSubscription({
|
|
|
16322
16213
|
setReconnectionCount((c) => c + 1);
|
|
16323
16214
|
}
|
|
16324
16215
|
hadConnectionBeforeRef.current = true;
|
|
16325
|
-
_optionalChain([onConnectRef, 'access',
|
|
16216
|
+
_optionalChain([onConnectRef, 'access', _487 => _487.current, 'optionalCall', _488 => _488()]);
|
|
16326
16217
|
}
|
|
16327
16218
|
if (status === "error") {
|
|
16328
16219
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -16332,7 +16223,7 @@ function useJetStreamDialogSubscription({
|
|
|
16332
16223
|
setIsConnected(false);
|
|
16333
16224
|
setIsSubscribed(false);
|
|
16334
16225
|
tearDownSubscription();
|
|
16335
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16226
|
+
_optionalChain([onDisconnectRef, 'access', _489 => _489.current, 'optionalCall', _490 => _490()]);
|
|
16336
16227
|
}
|
|
16337
16228
|
}
|
|
16338
16229
|
});
|
|
@@ -16393,7 +16284,7 @@ function useJetStreamDialogSubscription({
|
|
|
16393
16284
|
if (subscriptionRef.current) {
|
|
16394
16285
|
try {
|
|
16395
16286
|
subscriptionRef.current.unsubscribe();
|
|
16396
|
-
} catch (
|
|
16287
|
+
} catch (e44) {
|
|
16397
16288
|
}
|
|
16398
16289
|
subscriptionRef.current = null;
|
|
16399
16290
|
}
|
|
@@ -16428,7 +16319,7 @@ function useJetStreamDialogSubscription({
|
|
|
16428
16319
|
parsed.streamSeq = streamSeq;
|
|
16429
16320
|
}
|
|
16430
16321
|
cb(parsed, topic);
|
|
16431
|
-
} catch (
|
|
16322
|
+
} catch (e45) {
|
|
16432
16323
|
}
|
|
16433
16324
|
},
|
|
16434
16325
|
{
|
|
@@ -16452,14 +16343,14 @@ function useJetStreamDialogSubscription({
|
|
|
16452
16343
|
if (cancelled) {
|
|
16453
16344
|
try {
|
|
16454
16345
|
handle.unsubscribe();
|
|
16455
|
-
} catch (
|
|
16346
|
+
} catch (e46) {
|
|
16456
16347
|
}
|
|
16457
16348
|
return;
|
|
16458
16349
|
}
|
|
16459
16350
|
subscriptionRef.current = handle;
|
|
16460
16351
|
setIsSubscribed(true);
|
|
16461
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16462
|
-
} catch (
|
|
16352
|
+
_optionalChain([onSubscribedRef, 'access', _491 => _491.current, 'optionalCall', _492 => _492()]);
|
|
16353
|
+
} catch (e47) {
|
|
16463
16354
|
if (!cancelled) {
|
|
16464
16355
|
setIsSubscribed(false);
|
|
16465
16356
|
}
|
|
@@ -16471,7 +16362,7 @@ function useJetStreamDialogSubscription({
|
|
|
16471
16362
|
if (subscriptionRef.current) {
|
|
16472
16363
|
try {
|
|
16473
16364
|
subscriptionRef.current.unsubscribe();
|
|
16474
|
-
} catch (
|
|
16365
|
+
} catch (e48) {
|
|
16475
16366
|
}
|
|
16476
16367
|
subscriptionRef.current = null;
|
|
16477
16368
|
}
|
|
@@ -16574,20 +16465,20 @@ function useNatsDialogSubscription({
|
|
|
16574
16465
|
const tearDownSubscriptions = () => {
|
|
16575
16466
|
subscriptionRefs.current.forEach((sub) => {
|
|
16576
16467
|
try {
|
|
16577
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16578
|
-
} catch (
|
|
16468
|
+
_optionalChain([sub, 'optionalAccess', _493 => _493.unsubscribe, 'call', _494 => _494()]);
|
|
16469
|
+
} catch (e49) {
|
|
16579
16470
|
}
|
|
16580
16471
|
});
|
|
16581
16472
|
subscriptionRefs.current.clear();
|
|
16582
16473
|
lastSubscribedDialogIdRef.current = null;
|
|
16583
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16474
|
+
_optionalChain([abortControllerRef, 'access', _495 => _495.current, 'optionalAccess', _496 => _496.abort, 'call', _497 => _497()]);
|
|
16584
16475
|
abortControllerRef.current = null;
|
|
16585
16476
|
};
|
|
16586
16477
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
|
|
16587
16478
|
const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
|
|
16588
16479
|
conn: sharedConn,
|
|
16589
16480
|
wsUrl,
|
|
16590
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16481
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _498 => _498.current, 'optionalCall', _499 => _499()]),
|
|
16591
16482
|
backoff: reconnectionBackoffRef.current,
|
|
16592
16483
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16593
16484
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -16598,7 +16489,7 @@ function useNatsDialogSubscription({
|
|
|
16598
16489
|
setReconnectionCount((c) => c + 1);
|
|
16599
16490
|
}
|
|
16600
16491
|
hadConnectionBeforeRef.current = true;
|
|
16601
|
-
_optionalChain([onConnectRef, 'access',
|
|
16492
|
+
_optionalChain([onConnectRef, 'access', _500 => _500.current, 'optionalCall', _501 => _501()]);
|
|
16602
16493
|
}
|
|
16603
16494
|
if (status === "error") {
|
|
16604
16495
|
console.warn("[NATS] protocol error:", evt.data);
|
|
@@ -16608,7 +16499,7 @@ function useNatsDialogSubscription({
|
|
|
16608
16499
|
setIsConnected(false);
|
|
16609
16500
|
setIsSubscribed(false);
|
|
16610
16501
|
tearDownSubscriptions();
|
|
16611
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16502
|
+
_optionalChain([onDisconnectRef, 'access', _502 => _502.current, 'optionalCall', _503 => _503()]);
|
|
16612
16503
|
}
|
|
16613
16504
|
}
|
|
16614
16505
|
});
|
|
@@ -16639,13 +16530,13 @@ function useNatsDialogSubscription({
|
|
|
16639
16530
|
setIsSubscribed(false);
|
|
16640
16531
|
subscriptionRefs.current.forEach((sub) => {
|
|
16641
16532
|
try {
|
|
16642
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16643
|
-
} catch (
|
|
16533
|
+
_optionalChain([sub, 'optionalAccess', _504 => _504.unsubscribe, 'call', _505 => _505()]);
|
|
16534
|
+
} catch (e50) {
|
|
16644
16535
|
}
|
|
16645
16536
|
});
|
|
16646
16537
|
subscriptionRefs.current.clear();
|
|
16647
16538
|
lastSubscribedDialogIdRef.current = null;
|
|
16648
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16539
|
+
_optionalChain([abortControllerRef, 'access', _506 => _506.current, 'optionalAccess', _507 => _507.abort, 'call', _508 => _508()]);
|
|
16649
16540
|
abortControllerRef.current = null;
|
|
16650
16541
|
}
|
|
16651
16542
|
return void 0;
|
|
@@ -16657,12 +16548,12 @@ function useNatsDialogSubscription({
|
|
|
16657
16548
|
if (subscriptionRefs.current.size > 0) {
|
|
16658
16549
|
subscriptionRefs.current.forEach((sub) => {
|
|
16659
16550
|
try {
|
|
16660
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16661
|
-
} catch (
|
|
16551
|
+
_optionalChain([sub, 'optionalAccess', _509 => _509.unsubscribe, 'call', _510 => _510()]);
|
|
16552
|
+
} catch (e51) {
|
|
16662
16553
|
}
|
|
16663
16554
|
});
|
|
16664
16555
|
subscriptionRefs.current.clear();
|
|
16665
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16556
|
+
_optionalChain([abortControllerRef, 'access', _511 => _511.current, 'optionalAccess', _512 => _512.abort, 'call', _513 => _513()]);
|
|
16666
16557
|
}
|
|
16667
16558
|
abortControllerRef.current = new AbortController();
|
|
16668
16559
|
const abort = abortControllerRef.current;
|
|
@@ -16681,7 +16572,7 @@ function useNatsDialogSubscription({
|
|
|
16681
16572
|
const dataStr = decoder.decode(msg.data);
|
|
16682
16573
|
const parsed = JSON.parse(dataStr);
|
|
16683
16574
|
onEventRef.current(parsed, messageType);
|
|
16684
|
-
} catch (
|
|
16575
|
+
} catch (e52) {
|
|
16685
16576
|
}
|
|
16686
16577
|
};
|
|
16687
16578
|
topicsRef.current.forEach((topic) => {
|
|
@@ -16692,7 +16583,7 @@ function useNatsDialogSubscription({
|
|
|
16692
16583
|
});
|
|
16693
16584
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
16694
16585
|
setIsSubscribed(true);
|
|
16695
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16586
|
+
_optionalChain([onSubscribedRef, 'access', _514 => _514.current, 'optionalCall', _515 => _515()]);
|
|
16696
16587
|
};
|
|
16697
16588
|
if (isConnectedRef.current) {
|
|
16698
16589
|
createSubscriptions();
|
|
@@ -16703,8 +16594,8 @@ function useNatsDialogSubscription({
|
|
|
16703
16594
|
abort.abort();
|
|
16704
16595
|
subscriptions.forEach((sub) => {
|
|
16705
16596
|
try {
|
|
16706
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16707
|
-
} catch (
|
|
16597
|
+
_optionalChain([sub, 'optionalAccess', _516 => _516.unsubscribe, 'call', _517 => _517()]);
|
|
16598
|
+
} catch (e53) {
|
|
16708
16599
|
}
|
|
16709
16600
|
});
|
|
16710
16601
|
subscriptions.clear();
|
|
@@ -16731,7 +16622,7 @@ function useNatsDialogSubscription({
|
|
|
16731
16622
|
const dataStr = decoder.decode(msg.data);
|
|
16732
16623
|
const parsed = JSON.parse(dataStr);
|
|
16733
16624
|
onEventRef.current(parsed, messageType);
|
|
16734
|
-
} catch (
|
|
16625
|
+
} catch (e54) {
|
|
16735
16626
|
}
|
|
16736
16627
|
};
|
|
16737
16628
|
topicsRef.current.forEach((topic) => {
|
|
@@ -16742,7 +16633,7 @@ function useNatsDialogSubscription({
|
|
|
16742
16633
|
});
|
|
16743
16634
|
lastSubscribedDialogIdRef.current = currentDialogId;
|
|
16744
16635
|
setIsSubscribed(true);
|
|
16745
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16636
|
+
_optionalChain([onSubscribedRef, 'access', _518 => _518.current, 'optionalCall', _519 => _519()]);
|
|
16746
16637
|
} else if (subscriptionRefs.current.size > 0) {
|
|
16747
16638
|
setIsSubscribed(true);
|
|
16748
16639
|
}
|
|
@@ -16750,10 +16641,10 @@ function useNatsDialogSubscription({
|
|
|
16750
16641
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
16751
16642
|
}
|
|
16752
16643
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
16753
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
16644
|
+
const path = _optionalChain([options, 'optionalAccess', _520 => _520.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
16754
16645
|
const u = new URL(path, apiBaseUrl);
|
|
16755
16646
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
16756
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
16647
|
+
if (_optionalChain([options, 'optionalAccess', _521 => _521.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _522 => _522.token])) {
|
|
16757
16648
|
u.searchParams.set("authorization", options.token);
|
|
16758
16649
|
}
|
|
16759
16650
|
return u.toString();
|
|
@@ -16771,7 +16662,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
16771
16662
|
const data = await res.json();
|
|
16772
16663
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
16773
16664
|
} catch (err) {
|
|
16774
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
16665
|
+
if (_optionalChain([err, 'optionalAccess', _523 => _523.name]) === "AbortError") throw err;
|
|
16775
16666
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
16776
16667
|
return [];
|
|
16777
16668
|
}
|
|
@@ -16779,8 +16670,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
16779
16670
|
var NO_COMMANDS = [];
|
|
16780
16671
|
function useSlashCommands(prefix, commandsUrl) {
|
|
16781
16672
|
const [answered, setAnswered] = _react.useState.call(void 0, null);
|
|
16782
|
-
const commands = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
16783
|
-
const loading = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
16673
|
+
const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _524 => _524.prefix]) === prefix ? answered.commands : NO_COMMANDS;
|
|
16674
|
+
const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _525 => _525.prefix]) !== prefix;
|
|
16784
16675
|
_react.useEffect.call(void 0, () => {
|
|
16785
16676
|
if (prefix == null) return void 0;
|
|
16786
16677
|
let cancelled = false;
|
|
@@ -16790,7 +16681,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
16790
16681
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
16791
16682
|
if (!cancelled) setAnswered({ prefix, commands: next });
|
|
16792
16683
|
} catch (err) {
|
|
16793
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
16684
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _526 => _526.name]) !== "AbortError") {
|
|
16794
16685
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
16795
16686
|
setAnswered({ prefix, commands: NO_COMMANDS });
|
|
16796
16687
|
}
|
|
@@ -16813,7 +16704,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
16813
16704
|
const query = _reactquery.useQuery.call(void 0, {
|
|
16814
16705
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
16815
16706
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
16816
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
16707
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _527 => _527.enabled]), () => ( true)),
|
|
16817
16708
|
staleTime: Infinity,
|
|
16818
16709
|
gcTime: Infinity,
|
|
16819
16710
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -16852,21 +16743,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
16852
16743
|
}
|
|
16853
16744
|
const data = await res.json();
|
|
16854
16745
|
return {
|
|
16855
|
-
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16856
|
-
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16857
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16858
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16859
|
-
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16860
|
-
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
16746
|
+
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _528 => _528.name]), () => ( null)),
|
|
16747
|
+
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _529 => _529.icon]), () => ( null)),
|
|
16748
|
+
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _530 => _530.greeting]), () => ( null)),
|
|
16749
|
+
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _531 => _531.enabledRagTableIds]), () => ( [])),
|
|
16750
|
+
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _532 => _532.quickActions]), () => ( [])),
|
|
16751
|
+
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _533 => _533.suggestedQueries]), () => ( []))
|
|
16861
16752
|
};
|
|
16862
16753
|
} catch (err) {
|
|
16863
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
16754
|
+
if (_optionalChain([err, 'optionalAccess', _534 => _534.name]) === "AbortError") throw err;
|
|
16864
16755
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
16865
16756
|
return EMPTY_STATE_FALLBACK;
|
|
16866
16757
|
}
|
|
16867
16758
|
}
|
|
16868
16759
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
16869
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
16760
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _535 => _535.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
16870
16761
|
const query = _reactquery.useQuery.call(void 0, {
|
|
16871
16762
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
16872
16763
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -16895,7 +16786,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
16895
16786
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
16896
16787
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
16897
16788
|
return new Promise((resolve, reject) => {
|
|
16898
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
16789
|
+
if (_optionalChain([signal, 'optionalAccess', _536 => _536.aborted])) {
|
|
16899
16790
|
reject(new Error("Upload cancelled"));
|
|
16900
16791
|
return;
|
|
16901
16792
|
}
|
|
@@ -16937,7 +16828,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
16937
16828
|
const handleSignalAbort = () => {
|
|
16938
16829
|
xhr.abort();
|
|
16939
16830
|
};
|
|
16940
|
-
_optionalChain([signal, 'optionalAccess',
|
|
16831
|
+
_optionalChain([signal, 'optionalAccess', _537 => _537.addEventListener, 'call', _538 => _538("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
|
|
16941
16832
|
xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
|
|
16942
16833
|
xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
|
|
16943
16834
|
xhr.addEventListener("error", handleError, { signal: listeners.signal });
|
|
@@ -16981,10 +16872,10 @@ function useChatAttachments() {
|
|
|
16981
16872
|
try {
|
|
16982
16873
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
16983
16874
|
} catch (err) {
|
|
16984
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
16875
|
+
if (_optionalChain([ctrl, 'optionalAccess', _539 => _539.signal, 'access', _540 => _540.aborted])) return;
|
|
16985
16876
|
throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
|
|
16986
16877
|
}
|
|
16987
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
16878
|
+
if (_optionalChain([ctrl, 'optionalAccess', _541 => _541.signal, 'access', _542 => _542.aborted])) return;
|
|
16988
16879
|
if (!sniffed) {
|
|
16989
16880
|
throw new Error("Unrecognized file format");
|
|
16990
16881
|
}
|
|
@@ -16998,7 +16889,7 @@ function useChatAttachments() {
|
|
|
16998
16889
|
const urlResp = await _chunkCP6TIRONcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
16999
16890
|
method: "POST",
|
|
17000
16891
|
headers: { "Content-Type": "application/json" },
|
|
17001
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
16892
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _543 => _543.signal]),
|
|
17002
16893
|
body: JSON.stringify({
|
|
17003
16894
|
fileName: att.file.name,
|
|
17004
16895
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -17027,9 +16918,9 @@ function useChatAttachments() {
|
|
|
17027
16918
|
(pct) => {
|
|
17028
16919
|
updateOne(att.id, { progress: pct });
|
|
17029
16920
|
},
|
|
17030
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
16921
|
+
_optionalChain([ctrl, 'optionalAccess', _544 => _544.signal])
|
|
17031
16922
|
);
|
|
17032
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
16923
|
+
if (_optionalChain([ctrl, 'optionalAccess', _545 => _545.signal, 'access', _546 => _546.aborted])) return;
|
|
17033
16924
|
updateOne(att.id, {
|
|
17034
16925
|
status: "ready",
|
|
17035
16926
|
progress: 100,
|
|
@@ -17037,7 +16928,7 @@ function useChatAttachments() {
|
|
|
17037
16928
|
viewToken: mintData.viewToken
|
|
17038
16929
|
});
|
|
17039
16930
|
} catch (err) {
|
|
17040
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
16931
|
+
if (_optionalChain([ctrl, 'optionalAccess', _547 => _547.signal, 'access', _548 => _548.aborted])) return;
|
|
17041
16932
|
const message = err instanceof Error ? err.message : String(err);
|
|
17042
16933
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
|
|
17043
16934
|
} finally {
|
|
@@ -17186,11 +17077,11 @@ var ANON_DEFAULTS = {
|
|
|
17186
17077
|
function useResolveChatIdentity(enabled) {
|
|
17187
17078
|
const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
|
|
17188
17079
|
const url = runtime.endpoints.identityUrl;
|
|
17189
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkCP6TIRONcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
17080
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkCP6TIRONcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _549 => _549.email]), () => ( null));
|
|
17190
17081
|
const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
|
|
17191
17082
|
const [resolved, setResolved] = _react.useState.call(void 0, null);
|
|
17192
|
-
const data = _optionalChain([resolved, 'optionalAccess',
|
|
17193
|
-
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess',
|
|
17083
|
+
const data = _optionalChain([resolved, 'optionalAccess', _550 => _550.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
|
|
17084
|
+
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _551 => _551.key]) !== requestKey;
|
|
17194
17085
|
_react.useEffect.call(void 0, () => {
|
|
17195
17086
|
if (requestKey === null) return void 0;
|
|
17196
17087
|
let cancelled = false;
|
|
@@ -17337,7 +17228,7 @@ function useChat({
|
|
|
17337
17228
|
onMessagesChangeRef.current = onMessagesChange;
|
|
17338
17229
|
});
|
|
17339
17230
|
_react.useEffect.call(void 0, () => {
|
|
17340
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
17231
|
+
_optionalChain([onMessagesChangeRef, 'access', _552 => _552.current, 'optionalCall', _553 => _553(messages)]);
|
|
17341
17232
|
}, [messages]);
|
|
17342
17233
|
const {
|
|
17343
17234
|
streamMessage,
|
|
@@ -17374,7 +17265,7 @@ function useChat({
|
|
|
17374
17265
|
name: "You",
|
|
17375
17266
|
content: text,
|
|
17376
17267
|
timestamp: /* @__PURE__ */ new Date(),
|
|
17377
|
-
..._optionalChain([options, 'optionalAccess',
|
|
17268
|
+
..._optionalChain([options, 'optionalAccess', _554 => _554.hidden]) ? { hidden: true } : {}
|
|
17378
17269
|
};
|
|
17379
17270
|
addMessage(userMessage);
|
|
17380
17271
|
setIsTyping(true);
|
|
@@ -17588,8 +17479,8 @@ function buildConfirmToolBody(request) {
|
|
|
17588
17479
|
async function readServerErrorMessage(response) {
|
|
17589
17480
|
try {
|
|
17590
17481
|
const body = await response.json();
|
|
17591
|
-
if (typeof _optionalChain([body, 'optionalAccess',
|
|
17592
|
-
} catch (
|
|
17482
|
+
if (typeof _optionalChain([body, 'optionalAccess', _555 => _555.error]) === "string" && body.error.length > 0) return body.error;
|
|
17483
|
+
} catch (e55) {
|
|
17593
17484
|
}
|
|
17594
17485
|
return null;
|
|
17595
17486
|
}
|
|
@@ -17760,7 +17651,7 @@ function createSseFrameDecoder() {
|
|
|
17760
17651
|
let meta;
|
|
17761
17652
|
try {
|
|
17762
17653
|
meta = JSON.parse(metaStr);
|
|
17763
|
-
} catch (
|
|
17654
|
+
} catch (e56) {
|
|
17764
17655
|
inText = true;
|
|
17765
17656
|
out.push({ type: "turn-start", implicit: true });
|
|
17766
17657
|
if (buffer.length > 0) {
|
|
@@ -17814,7 +17705,7 @@ function createSseFrameDecoder() {
|
|
|
17814
17705
|
debug: meta.debug
|
|
17815
17706
|
});
|
|
17816
17707
|
}
|
|
17817
|
-
} catch (
|
|
17708
|
+
} catch (e57) {
|
|
17818
17709
|
}
|
|
17819
17710
|
}
|
|
17820
17711
|
return out;
|
|
@@ -17846,7 +17737,7 @@ function errorDetailsMessage(details) {
|
|
|
17846
17737
|
let parsed;
|
|
17847
17738
|
try {
|
|
17848
17739
|
parsed = JSON.parse(details);
|
|
17849
|
-
} catch (
|
|
17740
|
+
} catch (e58) {
|
|
17850
17741
|
return details;
|
|
17851
17742
|
}
|
|
17852
17743
|
if (typeof parsed !== "object" || parsed === null) return void 0;
|
|
@@ -17916,9 +17807,9 @@ function appendToTrailingAssistant(prev, segments) {
|
|
|
17916
17807
|
for (const seg of segments) {
|
|
17917
17808
|
const tail = merged[merged.length - 1];
|
|
17918
17809
|
const key = upsertKey(seg);
|
|
17919
|
-
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess',
|
|
17810
|
+
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _556 => _556.type]) === "text") {
|
|
17920
17811
|
merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
|
|
17921
|
-
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess',
|
|
17812
|
+
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _557 => _557.type]) === "thinking") {
|
|
17922
17813
|
merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
|
|
17923
17814
|
} else if (key) {
|
|
17924
17815
|
const idx = merged.findIndex((m) => upsertKey(m) === key);
|
|
@@ -17958,7 +17849,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
17958
17849
|
}
|
|
17959
17850
|
if (s.type !== "approval_batch") return s;
|
|
17960
17851
|
const isAnchor = s.data.approvalRequestId === requestId;
|
|
17961
|
-
const hasRow = _optionalChain([s, 'access',
|
|
17852
|
+
const hasRow = _optionalChain([s, 'access', _558 => _558.data, 'access', _559 => _559.toolCalls, 'optionalAccess', _560 => _560.some, 'call', _561 => _561((c) => c.toolExecutionRequestId === requestId)]);
|
|
17962
17853
|
if (!isAnchor && !hasRow) return s;
|
|
17963
17854
|
const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
|
|
17964
17855
|
const nextExecutions = hasRow ? {
|
|
@@ -17980,8 +17871,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
17980
17871
|
};
|
|
17981
17872
|
}
|
|
17982
17873
|
function nextBatchExecution(prevExec, toolData) {
|
|
17983
|
-
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess',
|
|
17984
|
-
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess',
|
|
17874
|
+
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _562 => _562.status]) === "done") return null;
|
|
17875
|
+
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _563 => _563.result]), success: _optionalChain([prevExec, 'optionalAccess', _564 => _564.success]) };
|
|
17985
17876
|
}
|
|
17986
17877
|
function withBatchExecution(seg, execId, state) {
|
|
17987
17878
|
return {
|
|
@@ -17998,11 +17889,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
|
|
|
17998
17889
|
}
|
|
17999
17890
|
function projectBatchRowFailureToMessages(prev, rowRequestId) {
|
|
18000
17891
|
return mapSegments(prev, (s) => {
|
|
18001
|
-
if (s.type !== "approval_batch" || !_optionalChain([s, 'access',
|
|
17892
|
+
if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _565 => _565.data, 'access', _566 => _566.toolCalls, 'optionalAccess', _567 => _567.some, 'call', _568 => _568((c) => c.toolExecutionRequestId === rowRequestId)])) {
|
|
18002
17893
|
return s;
|
|
18003
17894
|
}
|
|
18004
|
-
const existing = _optionalChain([s, 'access',
|
|
18005
|
-
if (_optionalChain([existing, 'optionalAccess',
|
|
17895
|
+
const existing = _optionalChain([s, 'access', _569 => _569.data, 'access', _570 => _570.executions, 'optionalAccess', _571 => _571[rowRequestId]]);
|
|
17896
|
+
if (_optionalChain([existing, 'optionalAccess', _572 => _572.status]) === "done") return s;
|
|
18006
17897
|
return withBatchExecution(s, rowRequestId, { status: "done", success: false });
|
|
18007
17898
|
});
|
|
18008
17899
|
}
|
|
@@ -18038,7 +17929,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
|
|
|
18038
17929
|
for (let j = message.segments.length - 1; j >= 0; j--) {
|
|
18039
17930
|
const seg = message.segments[j];
|
|
18040
17931
|
if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
|
|
18041
|
-
const prevExec = _optionalChain([seg, 'access',
|
|
17932
|
+
const prevExec = _optionalChain([seg, 'access', _573 => _573.data, 'access', _574 => _574.executions, 'optionalAccess', _575 => _575[execId]]);
|
|
18042
17933
|
const nextExec = nextBatchExecution(prevExec, toolData);
|
|
18043
17934
|
if (nextExec === null) return prev;
|
|
18044
17935
|
if (sameExecutionState(prevExec, nextExec)) return prev;
|
|
@@ -18211,9 +18102,9 @@ var MessageSegmentAccumulator = class {
|
|
|
18211
18102
|
type: "tool_execution",
|
|
18212
18103
|
data: {
|
|
18213
18104
|
...toolData,
|
|
18214
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18215
|
-
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18216
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
18105
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _576 => _576.data, 'access', _577 => _577.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _578 => _578.toolTitle]))),
|
|
18106
|
+
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _579 => _579.data, 'access', _580 => _580.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _581 => _581.toolExplanation]))),
|
|
18107
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _582 => _582.parameters])
|
|
18217
18108
|
}
|
|
18218
18109
|
};
|
|
18219
18110
|
if (existingIndex !== -1) {
|
|
@@ -18237,7 +18128,7 @@ var MessageSegmentAccumulator = class {
|
|
|
18237
18128
|
if (seg.type !== "approval_batch") return seg;
|
|
18238
18129
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
18239
18130
|
if (!hasCall) return seg;
|
|
18240
|
-
const prev = _optionalChain([seg, 'access',
|
|
18131
|
+
const prev = _optionalChain([seg, 'access', _583 => _583.data, 'access', _584 => _584.executions, 'optionalAccess', _585 => _585[execId]]);
|
|
18241
18132
|
const next = nextBatchExecution(prev, toolData);
|
|
18242
18133
|
matched = true;
|
|
18243
18134
|
if (next === null) return seg;
|
|
@@ -18371,8 +18262,8 @@ var MessageSegmentAccumulator = class {
|
|
|
18371
18262
|
requestId,
|
|
18372
18263
|
{
|
|
18373
18264
|
...pendingApproval,
|
|
18374
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
18375
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
18265
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _586 => _586.command]) || "",
|
|
18266
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _587 => _587.approvalType]) || approvalType
|
|
18376
18267
|
},
|
|
18377
18268
|
status
|
|
18378
18269
|
);
|
|
@@ -18397,9 +18288,9 @@ var MessageSegmentAccumulator = class {
|
|
|
18397
18288
|
type: "escalation_offer",
|
|
18398
18289
|
// The resolved chunk carries no text/origin — a redelivered offer must
|
|
18399
18290
|
// not blank the card the PENDING chunk already painted.
|
|
18400
|
-
data: { offerId, text: text || _optionalChain([existing, 'optionalAccess',
|
|
18291
|
+
data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _588 => _588.data, 'access', _589 => _589.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _590 => _590.data, 'access', _591 => _591.origin]))) },
|
|
18401
18292
|
status,
|
|
18402
|
-
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess',
|
|
18293
|
+
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _592 => _592.resolvedByName]))),
|
|
18403
18294
|
onApprove: this.callbacks.onEscalationApprove,
|
|
18404
18295
|
onReject: this.callbacks.onEscalationReject
|
|
18405
18296
|
};
|
|
@@ -18724,7 +18615,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
18724
18615
|
let stateCache = null;
|
|
18725
18616
|
function invalidate() {
|
|
18726
18617
|
stateCache = null;
|
|
18727
|
-
_optionalChain([onChange, 'optionalCall',
|
|
18618
|
+
_optionalChain([onChange, 'optionalCall', _593 => _593()]);
|
|
18728
18619
|
}
|
|
18729
18620
|
function getState() {
|
|
18730
18621
|
if (!stateCache) {
|
|
@@ -18740,7 +18631,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
18740
18631
|
return stateCache;
|
|
18741
18632
|
}
|
|
18742
18633
|
function emit(name, ...args) {
|
|
18743
|
-
_optionalChain([onEffect, 'optionalCall',
|
|
18634
|
+
_optionalChain([onEffect, 'optionalCall', _594 => _594({ name, args })]);
|
|
18744
18635
|
}
|
|
18745
18636
|
function setMessagesInternal(next) {
|
|
18746
18637
|
if (next !== messages) {
|
|
@@ -18771,12 +18662,12 @@ function createChatStreamReducer(options = {}) {
|
|
|
18771
18662
|
return [...next.slice(0, -1), { ...last, streamSeq: seq }];
|
|
18772
18663
|
}
|
|
18773
18664
|
function applySegmentsToState(segments, meta) {
|
|
18774
|
-
const seq = _optionalChain([meta, 'optionalAccess',
|
|
18775
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
18665
|
+
const seq = _optionalChain([meta, 'optionalAccess', _595 => _595.streamSeq]);
|
|
18666
|
+
if (_optionalChain([meta, 'optionalAccess', _596 => _596.append]) && meta.isCompacting) {
|
|
18776
18667
|
setMessagesInternal(stampTrailingAssistantSeq(upsertTrailingCompaction(messages, segments), seq));
|
|
18777
18668
|
return;
|
|
18778
18669
|
}
|
|
18779
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
18670
|
+
if (_optionalChain([meta, 'optionalAccess', _597 => _597.append])) {
|
|
18780
18671
|
setMessagesInternal(stampTrailingAssistantSeq(appendToTrailingAssistant(messages, segments), seq));
|
|
18781
18672
|
return;
|
|
18782
18673
|
}
|
|
@@ -18788,7 +18679,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
18788
18679
|
adoptTrailingAssistant = false;
|
|
18789
18680
|
const last = messages[messages.length - 1];
|
|
18790
18681
|
if (!last || last.role !== "assistant" || adoptTail) return;
|
|
18791
|
-
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access',
|
|
18682
|
+
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _598 => _598.segments, 'optionalAccess', _599 => _599.length]), () => ( 0))) > 0 || last.content !== "";
|
|
18792
18683
|
if (!hasContent) return;
|
|
18793
18684
|
setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
|
|
18794
18685
|
}
|
|
@@ -18998,13 +18889,13 @@ function createChatStreamReducer(options = {}) {
|
|
|
18998
18889
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
18999
18890
|
pendingEscalated.set(requestId, {
|
|
19000
18891
|
command: summary,
|
|
19001
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
18892
|
+
explanation: _optionalChain([required, 'optionalAccess', _600 => _600.toolExplanation]),
|
|
19002
18893
|
approvalType,
|
|
19003
18894
|
toolCalls
|
|
19004
18895
|
});
|
|
19005
18896
|
emit("onEscalatedApproval", requestId, {
|
|
19006
18897
|
command: summary,
|
|
19007
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
18898
|
+
explanation: _optionalChain([required, 'optionalAccess', _601 => _601.toolExplanation]),
|
|
19008
18899
|
approvalType
|
|
19009
18900
|
});
|
|
19010
18901
|
break;
|
|
@@ -19388,7 +19279,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19388
19279
|
const resolveBatch = (status, confirm) => async () => {
|
|
19389
19280
|
setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
|
|
19390
19281
|
for (const id of ids) {
|
|
19391
|
-
const ok = await _optionalChain([confirm, 'optionalCall',
|
|
19282
|
+
const ok = await _optionalChain([confirm, 'optionalCall', _602 => _602(id)]);
|
|
19392
19283
|
if (ok === false) {
|
|
19393
19284
|
setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
|
|
19394
19285
|
}
|
|
@@ -19524,8 +19415,8 @@ function createChatStreamReducer(options = {}) {
|
|
|
19524
19415
|
}
|
|
19525
19416
|
}
|
|
19526
19417
|
}
|
|
19527
|
-
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess',
|
|
19528
|
-
if (_optionalChain([extras, 'optionalAccess',
|
|
19418
|
+
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _603 => _603.resumed]), () => ( messages.length > 0)));
|
|
19419
|
+
if (_optionalChain([extras, 'optionalAccess', _604 => _604.agentBusy])) agentBusyState();
|
|
19529
19420
|
invalidate();
|
|
19530
19421
|
}
|
|
19531
19422
|
return {
|
|
@@ -19610,7 +19501,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19610
19501
|
},
|
|
19611
19502
|
endSseTurn() {
|
|
19612
19503
|
const last = messages[messages.length - 1];
|
|
19613
|
-
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access',
|
|
19504
|
+
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _605 => _605.segments, 'optionalAccess', _606 => _606.length]), () => ( 0))) === 0 && last.content === "") {
|
|
19614
19505
|
messages = messages.slice(0, -1);
|
|
19615
19506
|
}
|
|
19616
19507
|
sseCurrentText = "";
|
|
@@ -19763,10 +19654,10 @@ function createChatDialogStore(options = {}) {
|
|
|
19763
19654
|
if (onEvict) {
|
|
19764
19655
|
const sep = key.indexOf(KEY_SEP);
|
|
19765
19656
|
onEvict(key.slice(0, sep), key.slice(sep + 1), {
|
|
19766
|
-
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19767
|
-
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19768
|
-
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19769
|
-
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
19657
|
+
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _607 => _607.state, 'access', _608 => _608.messages]), () => ( EMPTY_STATE.messages)),
|
|
19658
|
+
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _609 => _609.state, 'access', _610 => _610.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
|
|
19659
|
+
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _611 => _611.getLastAppliedSeq, 'call', _612 => _612()]), () => ( Number.NEGATIVE_INFINITY)),
|
|
19660
|
+
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _613 => _613.getPendingEchoes, 'call', _614 => _614()]), () => ( EMPTY_PENDING_ECHOES))
|
|
19770
19661
|
});
|
|
19771
19662
|
}
|
|
19772
19663
|
}
|
|
@@ -19776,12 +19667,12 @@ function createChatDialogStore(options = {}) {
|
|
|
19776
19667
|
const key = keyOf(dialogId, side);
|
|
19777
19668
|
let reducer = reducers.get(key);
|
|
19778
19669
|
if (!reducer) {
|
|
19779
|
-
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall',
|
|
19670
|
+
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _615 => _615(dialogId, side)]), () => ( {}));
|
|
19780
19671
|
const userOnChange = base.onChange;
|
|
19781
19672
|
reducer = createChatStreamReducer({
|
|
19782
19673
|
...base,
|
|
19783
19674
|
onChange: () => {
|
|
19784
|
-
_optionalChain([userOnChange, 'optionalCall',
|
|
19675
|
+
_optionalChain([userOnChange, 'optionalCall', _616 => _616()]);
|
|
19785
19676
|
notify();
|
|
19786
19677
|
}
|
|
19787
19678
|
});
|
|
@@ -19826,7 +19717,7 @@ function createChatDialogStore(options = {}) {
|
|
|
19826
19717
|
};
|
|
19827
19718
|
}
|
|
19828
19719
|
function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
|
|
19829
|
-
return _nullishCoalesce(_optionalChain([reducers, 'access',
|
|
19720
|
+
return _nullishCoalesce(_optionalChain([reducers, 'access', _617 => _617.get, 'call', _618 => _618(keyOf(dialogId, side)), 'optionalAccess', _619 => _619.state]), () => ( EMPTY_STATE));
|
|
19830
19721
|
}
|
|
19831
19722
|
function getServerSnapshot2() {
|
|
19832
19723
|
return EMPTY_STATE;
|
|
@@ -19918,7 +19809,7 @@ function createDeltaBatcher({
|
|
|
19918
19809
|
pending = [];
|
|
19919
19810
|
const key = pendingKey;
|
|
19920
19811
|
for (const delta of batch) applyOne(delta, key);
|
|
19921
|
-
_optionalChain([onFlushed, 'optionalCall',
|
|
19812
|
+
_optionalChain([onFlushed, 'optionalCall', _620 => _620(batch.length)]);
|
|
19922
19813
|
}
|
|
19923
19814
|
function schedule() {
|
|
19924
19815
|
if (raf !== null || timer !== null) return;
|
|
@@ -19942,7 +19833,7 @@ function createDeltaBatcher({
|
|
|
19942
19833
|
}
|
|
19943
19834
|
if (!isDeltaEvent(event)) return false;
|
|
19944
19835
|
const tail = pending[pending.length - 1];
|
|
19945
|
-
const seqAdvances = _optionalChain([tail, 'optionalAccess',
|
|
19836
|
+
const seqAdvances = _optionalChain([tail, 'optionalAccess', _621 => _621.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
|
|
19946
19837
|
if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
|
|
19947
19838
|
pending[pending.length - 1] = {
|
|
19948
19839
|
...tail,
|
|
@@ -19973,7 +19864,7 @@ function useChatStreamReducer({
|
|
|
19973
19864
|
side = DEFAULT_DIALOG_SIDE,
|
|
19974
19865
|
createReducerOptions
|
|
19975
19866
|
}) {
|
|
19976
|
-
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall',
|
|
19867
|
+
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _622 => _622()]), () => ( {})));
|
|
19977
19868
|
const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
|
|
19978
19869
|
const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
|
|
19979
19870
|
const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
|
|
@@ -20012,7 +19903,7 @@ var STORAGE_KEY = "conversation";
|
|
|
20012
19903
|
var namespaceFor = (source) => {
|
|
20013
19904
|
const base = `mingo-chat-${source}`;
|
|
20014
19905
|
const auth = _chunkCP6TIRONcjs.getEmbedProxyAuth.call(void 0, );
|
|
20015
|
-
return _optionalChain([auth, 'optionalAccess',
|
|
19906
|
+
return _optionalChain([auth, 'optionalAccess', _623 => _623.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
|
|
20016
19907
|
};
|
|
20017
19908
|
function createChatConversationStorage(source) {
|
|
20018
19909
|
return _chunkCP6TIRONcjs.createLocalStorageAdapter.call(void 0, {
|
|
@@ -20040,7 +19931,7 @@ function pruneStaleChatConversationStorage(source) {
|
|
|
20040
19931
|
for (const k of toRemove) {
|
|
20041
19932
|
window.localStorage.removeItem(k);
|
|
20042
19933
|
}
|
|
20043
|
-
} catch (
|
|
19934
|
+
} catch (e59) {
|
|
20044
19935
|
}
|
|
20045
19936
|
}
|
|
20046
19937
|
|
|
@@ -20076,7 +19967,7 @@ function formatSingularLookupInvocation(cmdId, value) {
|
|
|
20076
19967
|
return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
|
|
20077
19968
|
}
|
|
20078
19969
|
function extractEntityIdFilter(override, expectedTableId) {
|
|
20079
|
-
const f = _optionalChain([override, 'optionalAccess',
|
|
19970
|
+
const f = _optionalChain([override, 'optionalAccess', _624 => _624.entityIdFilter]);
|
|
20080
19971
|
if (!f) return null;
|
|
20081
19972
|
const tableId = typeof f.tableId === "string" ? f.tableId : "";
|
|
20082
19973
|
const id = typeof f.id === "string" ? f.id : "";
|
|
@@ -20115,7 +20006,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
|
|
|
20115
20006
|
function buildAutoContinuationDirective(toolName, opts = {}) {
|
|
20116
20007
|
const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
|
|
20117
20008
|
const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
|
|
20118
|
-
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access',
|
|
20009
|
+
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _625 => _625.status, 'optionalAccess', _626 => _626.toUpperCase, 'call', _627 => _627()]) === "CLOSED";
|
|
20119
20010
|
if (toolName === "create_ticket") {
|
|
20120
20011
|
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.`;
|
|
20121
20012
|
}
|
|
@@ -20187,7 +20078,7 @@ function useChatHistoryHydration({
|
|
|
20187
20078
|
sendCountRef.current = userTurns;
|
|
20188
20079
|
hydrateMessages(hydrated, Array.from(sourcesSeed.entries()));
|
|
20189
20080
|
bumpMetaTick();
|
|
20190
|
-
} catch (
|
|
20081
|
+
} catch (e60) {
|
|
20191
20082
|
} finally {
|
|
20192
20083
|
if (!cancelled) setIsHydratingHistory(false);
|
|
20193
20084
|
}
|
|
@@ -20238,7 +20129,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20238
20129
|
const { active = true } = runtimeOptions;
|
|
20239
20130
|
const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
|
|
20240
20131
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
20241
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
20132
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _628 => _628.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
20242
20133
|
const sendMessageRef = _react.useRef.call(void 0,
|
|
20243
20134
|
() => Promise.resolve(true)
|
|
20244
20135
|
);
|
|
@@ -20275,7 +20166,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20275
20166
|
if (!restoredConversationRef.current) {
|
|
20276
20167
|
restoredConversationRef.current = true;
|
|
20277
20168
|
pruneStaleChatConversationStorage(source);
|
|
20278
|
-
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access',
|
|
20169
|
+
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _629 => _629.load, 'call', _630 => _630(), 'optionalAccess', _631 => _631.conversationId]), () => ( null));
|
|
20279
20170
|
}
|
|
20280
20171
|
const commandsUrl = runtime.endpoints.commandsUrl;
|
|
20281
20172
|
const { commands: slashCommands } = useSlashCommandRegistry(commandsUrl, {
|
|
@@ -20380,7 +20271,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20380
20271
|
const serverMessage = await readServerErrorMessage(response);
|
|
20381
20272
|
throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
|
|
20382
20273
|
}
|
|
20383
|
-
const reader = _optionalChain([response, 'access',
|
|
20274
|
+
const reader = _optionalChain([response, 'access', _632 => _632.body, 'optionalAccess', _633 => _633.getReader, 'call', _634 => _634()]);
|
|
20384
20275
|
if (!reader) throw new Error("No response body");
|
|
20385
20276
|
const frameDecoder = createSseFrameDecoder();
|
|
20386
20277
|
let finished = false;
|
|
@@ -20403,7 +20294,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20403
20294
|
}
|
|
20404
20295
|
return true;
|
|
20405
20296
|
} catch (err) {
|
|
20406
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
20297
|
+
if (_optionalChain([err, 'optionalAccess', _635 => _635.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
20407
20298
|
return true;
|
|
20408
20299
|
}
|
|
20409
20300
|
flushDeltas();
|
|
@@ -20423,7 +20314,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20423
20314
|
);
|
|
20424
20315
|
sendMessageRef.current = sendMessage;
|
|
20425
20316
|
const stopMessage = _react.useCallback.call(void 0, () => {
|
|
20426
|
-
_optionalChain([abortControllerRef, 'access',
|
|
20317
|
+
_optionalChain([abortControllerRef, 'access', _636 => _636.current, 'optionalAccess', _637 => _637.abort, 'call', _638 => _638()]);
|
|
20427
20318
|
flushDeltas();
|
|
20428
20319
|
mutate((r) => r.setPhase("idle"));
|
|
20429
20320
|
}, [mutate, flushDeltas]);
|
|
@@ -20439,7 +20330,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20439
20330
|
let sendIdx = -1;
|
|
20440
20331
|
return state.messages.map((m) => {
|
|
20441
20332
|
const segments = m.segments;
|
|
20442
|
-
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess',
|
|
20333
|
+
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _639 => _639.filter, 'call', _640 => _640((s) => s.type === "text"), 'access', _641 => _641.map, 'call', _642 => _642((s) => s.text), 'access', _643 => _643.join, 'call', _644 => _644("")]), () => ( ""));
|
|
20443
20334
|
let sources;
|
|
20444
20335
|
let scrollAnchor;
|
|
20445
20336
|
if (m.role === "user" && !m.hidden) {
|
|
@@ -20448,7 +20339,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20448
20339
|
if (m.role === "assistant") {
|
|
20449
20340
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
20450
20341
|
sources = sourcesMap.get(lookupIdx);
|
|
20451
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access',
|
|
20342
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _645 => _645.get, 'call', _646 => _646(lookupIdx), 'optionalAccess', _647 => _647.scrollAnchor]), () => ( void 0));
|
|
20452
20343
|
}
|
|
20453
20344
|
return {
|
|
20454
20345
|
id: m.id,
|
|
@@ -20475,7 +20366,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20475
20366
|
);
|
|
20476
20367
|
return;
|
|
20477
20368
|
}
|
|
20478
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
20369
|
+
const refSlug = typeof _optionalChain([reference, 'access', _648 => _648.metadata, 'optionalAccess', _649 => _649.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
20479
20370
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
20480
20371
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
20481
20372
|
const text = `/${cmdId} display "${escaped}"`;
|
|
@@ -20521,18 +20412,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20521
20412
|
/** True while the mount-time rebuild from the server transcript runs. */
|
|
20522
20413
|
isHydratingHistory,
|
|
20523
20414
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
20524
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20525
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20526
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20415
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _650 => _650.provider]), () => ( null)),
|
|
20416
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _651 => _651.modelLabel]), () => ( null)),
|
|
20417
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _652 => _652.contextWindowMaxTokens]), () => ( null)),
|
|
20527
20418
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
20528
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20419
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _653 => _653.inputTokens]), () => ( null)),
|
|
20529
20420
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
20530
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20421
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _654 => _654.outputTokens]), () => ( null)),
|
|
20531
20422
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
20532
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20423
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _655 => _655.cacheHitRatePct]), () => ( null)),
|
|
20533
20424
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
20534
20425
|
* token counts). null until the trailing usage frame lands. */
|
|
20535
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
20426
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _656 => _656.breakdown]), () => ( null)),
|
|
20536
20427
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
20537
20428
|
// Guide mode keeps ONE server-side conversation per stored id
|
|
20538
20429
|
// (`chat_conversations`, hydrated on mount). Surfacing multiple threads
|
|
@@ -20777,7 +20668,7 @@ function decodeNatsChunk(chunk) {
|
|
|
20777
20668
|
userId: typeof data.userId === "string" ? data.userId : void 0,
|
|
20778
20669
|
// Wire shape carries no label; fall back to the id (parity with
|
|
20779
20670
|
// the history path in `process-historical-messages.ts`).
|
|
20780
|
-
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess',
|
|
20671
|
+
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _657 => _657.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _658 => _658.id]) === "string").map((it) => ({
|
|
20781
20672
|
type: it.type,
|
|
20782
20673
|
id: it.id,
|
|
20783
20674
|
label: it.id
|
|
@@ -20868,7 +20759,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
20868
20759
|
}
|
|
20869
20760
|
break;
|
|
20870
20761
|
case "approval_batch": {
|
|
20871
|
-
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access',
|
|
20762
|
+
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _659 => _659.data, 'access', _660 => _660.executions, 'optionalAccess', _661 => _661[c.toolExecutionRequestId], 'optionalAccess', _662 => _662.status]) === "done");
|
|
20872
20763
|
if (segment.status !== "rejected" && !allDone) {
|
|
20873
20764
|
hasIncompleteState = true;
|
|
20874
20765
|
}
|
|
@@ -20930,11 +20821,11 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
20930
20821
|
function extractIncompleteTailState(messages) {
|
|
20931
20822
|
if (!messages || messages.length === 0) return void 0;
|
|
20932
20823
|
let start = messages.length;
|
|
20933
|
-
while (start > 0 && _optionalChain([messages, 'access',
|
|
20824
|
+
while (start > 0 && _optionalChain([messages, 'access', _663 => _663[start - 1], 'optionalAccess', _664 => _664.role]) === "assistant") start -= 1;
|
|
20934
20825
|
if (start === messages.length) return void 0;
|
|
20935
20826
|
const segments = [];
|
|
20936
20827
|
for (let i = start; i < messages.length; i += 1) {
|
|
20937
|
-
const content = _optionalChain([messages, 'access',
|
|
20828
|
+
const content = _optionalChain([messages, 'access', _665 => _665[i], 'optionalAccess', _666 => _666.content]);
|
|
20938
20829
|
if (Array.isArray(content)) segments.push(...content);
|
|
20939
20830
|
}
|
|
20940
20831
|
if (segments.length === 0) return void 0;
|
|
@@ -20947,15 +20838,15 @@ function extractIncompleteTailState(messages) {
|
|
|
20947
20838
|
|
|
20948
20839
|
// src/components/chat/utils/process-historical-messages.ts
|
|
20949
20840
|
function getOwnerDisplayName(owner) {
|
|
20950
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
20841
|
+
if (_optionalChain([owner, 'optionalAccess', _667 => _667.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
20951
20842
|
const { firstName, lastName } = owner.user;
|
|
20952
20843
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
20953
20844
|
if (name) return name;
|
|
20954
20845
|
}
|
|
20955
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
20846
|
+
return _optionalChain([owner, 'optionalAccess', _668 => _668.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
20956
20847
|
}
|
|
20957
20848
|
function getOwnerAvatar(owner) {
|
|
20958
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
20849
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _669 => _669.user, 'optionalAccess', _670 => _670.image, 'optionalAccess', _671 => _671.imageUrl]), () => ( void 0));
|
|
20959
20850
|
}
|
|
20960
20851
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
20961
20852
|
messageDataArray.forEach((data) => {
|
|
@@ -21139,7 +21030,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21139
21030
|
event.offerId,
|
|
21140
21031
|
event.text,
|
|
21141
21032
|
event.origin,
|
|
21142
|
-
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess',
|
|
21033
|
+
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _672 => _672[event.offerId]]), () => ( "pending"))
|
|
21143
21034
|
);
|
|
21144
21035
|
break;
|
|
21145
21036
|
case "ticket-escalated":
|
|
@@ -21169,7 +21060,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21169
21060
|
);
|
|
21170
21061
|
break;
|
|
21171
21062
|
case "escalation-offer-resolved":
|
|
21172
|
-
_optionalChain([offerResolutions, 'optionalAccess',
|
|
21063
|
+
_optionalChain([offerResolutions, 'optionalAccess', _673 => _673.set, 'call', _674 => _674(event.offerId, {
|
|
21173
21064
|
status: event.status,
|
|
21174
21065
|
resolvedByName: event.resolvedByName
|
|
21175
21066
|
})]);
|
|
@@ -21233,7 +21124,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21233
21124
|
}
|
|
21234
21125
|
}
|
|
21235
21126
|
} else {
|
|
21236
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21127
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _675 => _675.set, 'call', _676 => _676(event.requestId, {
|
|
21237
21128
|
command: event.command || "",
|
|
21238
21129
|
explanation: event.explanation,
|
|
21239
21130
|
approvalType,
|
|
@@ -21248,8 +21139,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21248
21139
|
const existingStatus = approvalStatuses[requestId];
|
|
21249
21140
|
const status = existingStatus || event.status;
|
|
21250
21141
|
const resolvedByName = event.resolvedByName;
|
|
21251
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21252
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
21142
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _677 => _677.get, 'call', _678 => _678(requestId)]);
|
|
21143
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _679 => _679.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
21253
21144
|
if (batchApprovalsEnabled) {
|
|
21254
21145
|
accumulator.addApprovalBatch(
|
|
21255
21146
|
requestId,
|
|
@@ -21271,7 +21162,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21271
21162
|
);
|
|
21272
21163
|
}
|
|
21273
21164
|
}
|
|
21274
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21165
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _680 => _680.delete, 'call', _681 => _681(requestId)]);
|
|
21275
21166
|
break;
|
|
21276
21167
|
}
|
|
21277
21168
|
if (escalatedData) {
|
|
@@ -21280,7 +21171,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
21280
21171
|
explanation: escalatedData.explanation,
|
|
21281
21172
|
approvalType: escalatedData.approvalType
|
|
21282
21173
|
});
|
|
21283
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
21174
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _682 => _682.delete, 'call', _683 => _683(requestId)]);
|
|
21284
21175
|
}
|
|
21285
21176
|
const before = accumulator.getSegments();
|
|
21286
21177
|
const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
|
|
@@ -21369,14 +21260,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
21369
21260
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
21370
21261
|
return;
|
|
21371
21262
|
}
|
|
21372
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
21263
|
+
const isUserMessage = _optionalChain([msg, 'access', _684 => _684.owner, 'optionalAccess', _685 => _685.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _686 => _686.owner, 'optionalAccess', _687 => _687.type]) === OWNER_TYPE.ADMIN;
|
|
21373
21264
|
if (isUserMessage) {
|
|
21374
21265
|
flushAssistantMessage();
|
|
21375
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
21266
|
+
const userAuthorType = _optionalChain([msg, 'access', _688 => _688.owner, 'optionalAccess', _689 => _689.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
21376
21267
|
messageDataArray.forEach((data) => {
|
|
21377
21268
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
21378
21269
|
const rawContext = data.contextItems;
|
|
21379
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
21270
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _690 => _690.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _691 => _691.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
21380
21271
|
processedMessages.push({
|
|
21381
21272
|
id: msg.id,
|
|
21382
21273
|
role: "user",
|
|
@@ -21414,7 +21305,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
21414
21305
|
});
|
|
21415
21306
|
const nextMsg = messages[index + 1];
|
|
21416
21307
|
const isLastMessage = index === messages.length - 1;
|
|
21417
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
21308
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _692 => _692.owner, 'optionalAccess', _693 => _693.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _694 => _694.owner, 'optionalAccess', _695 => _695.type]) === OWNER_TYPE.ADMIN);
|
|
21418
21309
|
if (isLastMessage || nextIsFromUser) {
|
|
21419
21310
|
flushAssistantMessage();
|
|
21420
21311
|
}
|
|
@@ -21812,7 +21703,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
21812
21703
|
}, [active, fetchDialogs, loadDialogsPage]);
|
|
21813
21704
|
const sendMessage = _react.useCallback.call(void 0,
|
|
21814
21705
|
async (text, sendOptions) => {
|
|
21815
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
21706
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _696 => _696.hidden]), () => ( false));
|
|
21816
21707
|
mutate((r) => r.pushOptimisticSend(text, hidden));
|
|
21817
21708
|
await publishUserMessage(text, { hidden, dialogId });
|
|
21818
21709
|
},
|
|
@@ -21958,11 +21849,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
21958
21849
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
21959
21850
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
21960
21851
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
21961
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
21962
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
21963
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
21964
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
21965
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
21852
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _697 => _697.provider]), () => ( modelProvider)), () => ( null)),
|
|
21853
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _698 => _698.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
21854
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _699 => _699.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _700 => _700.contextWindowMaxTokens]))), () => ( null)),
|
|
21855
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _701 => _701.inputTokensSize]), () => ( null)),
|
|
21856
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _702 => _702.outputTokensSize]), () => ( null)),
|
|
21966
21857
|
currentCacheHitRatePct: null,
|
|
21967
21858
|
currentUsageBreakdown: null,
|
|
21968
21859
|
// Dialog management
|
|
@@ -22063,7 +21954,7 @@ function useUnifiedChat(options) {
|
|
|
22063
21954
|
[]
|
|
22064
21955
|
);
|
|
22065
21956
|
const displayRefForward = _react.useCallback.call(void 0,
|
|
22066
|
-
(ref) => _optionalChain([activeStateRef, 'access',
|
|
21957
|
+
(ref) => _optionalChain([activeStateRef, 'access', _703 => _703.current, 'access', _704 => _704.displayRef, 'optionalCall', _705 => _705(ref)]),
|
|
22067
21958
|
[]
|
|
22068
21959
|
);
|
|
22069
21960
|
const displayRef = activeState.displayRef ? displayRefForward : void 0;
|
|
@@ -22073,7 +21964,7 @@ function useUnifiedChat(options) {
|
|
|
22073
21964
|
const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
|
|
22074
21965
|
const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
|
|
22075
21966
|
const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
|
|
22076
|
-
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access',
|
|
21967
|
+
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _706 => _706.current, 'access', _707 => _707.setDialogScope, 'optionalCall', _708 => _708(scope)]), []);
|
|
22077
21968
|
const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
|
|
22078
21969
|
const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
|
|
22079
21970
|
const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
|
|
@@ -22166,19 +22057,19 @@ function turnRequestKeys(content) {
|
|
|
22166
22057
|
if (!Array.isArray(content)) return keys;
|
|
22167
22058
|
for (const seg of content) {
|
|
22168
22059
|
if (seg.type === "tool_execution") {
|
|
22169
|
-
const id = _optionalChain([seg, 'access',
|
|
22060
|
+
const id = _optionalChain([seg, 'access', _709 => _709.data, 'optionalAccess', _710 => _710.toolExecutionRequestId]);
|
|
22170
22061
|
if (id) keys.add(id);
|
|
22171
22062
|
} else if (seg.type === "approval_request") {
|
|
22172
|
-
const id = _optionalChain([seg, 'access',
|
|
22063
|
+
const id = _optionalChain([seg, 'access', _711 => _711.data, 'optionalAccess', _712 => _712.requestId]);
|
|
22173
22064
|
if (id) keys.add(id);
|
|
22174
22065
|
} else if (seg.type === "escalation_offer") {
|
|
22175
|
-
const id = _optionalChain([seg, 'access',
|
|
22066
|
+
const id = _optionalChain([seg, 'access', _713 => _713.data, 'optionalAccess', _714 => _714.offerId]);
|
|
22176
22067
|
if (id) keys.add(id);
|
|
22177
22068
|
} else if (seg.type === "approval_batch") {
|
|
22178
22069
|
const data = seg.data;
|
|
22179
|
-
if (_optionalChain([data, 'optionalAccess',
|
|
22180
|
-
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
22181
|
-
if (_optionalChain([call, 'optionalAccess',
|
|
22070
|
+
if (_optionalChain([data, 'optionalAccess', _715 => _715.approvalRequestId])) keys.add(data.approvalRequestId);
|
|
22071
|
+
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _716 => _716.toolCalls]), () => ( []))) {
|
|
22072
|
+
if (_optionalChain([call, 'optionalAccess', _717 => _717.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
|
|
22182
22073
|
}
|
|
22183
22074
|
}
|
|
22184
22075
|
}
|
|
@@ -22230,18 +22121,18 @@ function mergeHistoryWithRealtime(input) {
|
|
|
22230
22121
|
}
|
|
22231
22122
|
}
|
|
22232
22123
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
22233
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
22234
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
22124
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _718 => _718.role]) === "assistant" ? trailing : null;
|
|
22125
|
+
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _719 => _719.content, 'access', _720 => _720.find, 'call', _721 => _721((s) => s.type === "approval_batch"), 'optionalAccess', _722 => _722.data, 'optionalAccess', _723 => _723.approvalRequestId]), () => ( null)) : null;
|
|
22235
22126
|
let processedToUse = processedHistory;
|
|
22236
22127
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
22237
22128
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
22238
22129
|
if (historyBatchId) {
|
|
22239
22130
|
const batchTwins = existingMessages.filter(
|
|
22240
|
-
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access',
|
|
22131
|
+
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _724 => _724.data, 'optionalAccess', _725 => _725.approvalRequestId]) === historyBatchId)
|
|
22241
22132
|
);
|
|
22242
22133
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
22243
22134
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
22244
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
22135
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _726 => _726.content])) ? historyTrailingAssistant.content.length : 0;
|
|
22245
22136
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
22246
22137
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
22247
22138
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -22283,9 +22174,9 @@ function mergeHistoryWithRealtime(input) {
|
|
|
22283
22174
|
if (pinnedSyntheticIds.has(m.id)) return true;
|
|
22284
22175
|
if (droppedSyntheticIds.has(m.id)) return false;
|
|
22285
22176
|
if (processedIds.has(m.id)) return false;
|
|
22286
|
-
if (_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
22177
|
+
if (_optionalChain([rawHistoryIds, 'optionalAccess', _727 => _727.has, 'call', _728 => _728(m.id)])) return false;
|
|
22287
22178
|
if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
|
|
22288
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access',
|
|
22179
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _729 => _729.timestamp, 'optionalAccess', _730 => _730.getTime, 'call', _731 => _731()]), () => ( 0))) <= historyFetchedAt;
|
|
22289
22180
|
return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
|
|
22290
22181
|
}
|
|
22291
22182
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
@@ -22309,7 +22200,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
22309
22200
|
} else if (typeof m.streamSeq === "number") {
|
|
22310
22201
|
covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
|
|
22311
22202
|
} else {
|
|
22312
|
-
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access',
|
|
22203
|
+
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _732 => _732.timestamp, 'optionalAccess', _733 => _733.getTime, 'call', _734 => _734()]), () => ( 0))) <= historyFetchedAt;
|
|
22313
22204
|
}
|
|
22314
22205
|
if (covered) return false;
|
|
22315
22206
|
}
|
|
@@ -22379,7 +22270,7 @@ function normalizeHistoricalMessageData(md) {
|
|
|
22379
22270
|
function isHistoricalUserTurn(m) {
|
|
22380
22271
|
return !!m.owner;
|
|
22381
22272
|
}
|
|
22382
|
-
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess',
|
|
22273
|
+
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _735 => _735.type]) === "TEXT" && typeof d.text === "string";
|
|
22383
22274
|
var THINK_MS = 550;
|
|
22384
22275
|
var TOKEN_MS = 55;
|
|
22385
22276
|
var USER_MS = 480;
|
|
@@ -22564,7 +22455,7 @@ function useResizableSize({ enabled, isHorizontal, minSize, maxSize, defaultSize
|
|
|
22564
22455
|
const parsed = parseFloat(raw);
|
|
22565
22456
|
if (!Number.isFinite(parsed)) return clampToViewport(defaultSize);
|
|
22566
22457
|
return clampToViewport(parsed);
|
|
22567
|
-
} catch (
|
|
22458
|
+
} catch (e61) {
|
|
22568
22459
|
return clampToViewport(defaultSize);
|
|
22569
22460
|
}
|
|
22570
22461
|
}, [enabled, storageKey, defaultSize, clampToViewport]);
|
|
@@ -22574,7 +22465,7 @@ function useResizableSize({ enabled, isHorizontal, minSize, maxSize, defaultSize
|
|
|
22574
22465
|
if (!enabled || !storageKey || typeof window === "undefined") return;
|
|
22575
22466
|
try {
|
|
22576
22467
|
window.localStorage.setItem(storageKey, String(Math.round(size2)));
|
|
22577
|
-
} catch (
|
|
22468
|
+
} catch (e62) {
|
|
22578
22469
|
}
|
|
22579
22470
|
}, [enabled, size2, storageKey]);
|
|
22580
22471
|
_react.useEffect.call(void 0, () => {
|
|
@@ -22608,7 +22499,7 @@ function DrawerResizeHandle({ side, size: size2, minSize, maxSize, onSize, ariaL
|
|
|
22608
22499
|
startRef.current = null;
|
|
22609
22500
|
try {
|
|
22610
22501
|
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
22611
|
-
} catch (
|
|
22502
|
+
} catch (e63) {
|
|
22612
22503
|
}
|
|
22613
22504
|
document.body.style.cursor = "";
|
|
22614
22505
|
document.body.style.userSelect = "";
|
|
@@ -23003,7 +22894,7 @@ function useChatDialogManager({
|
|
|
23003
22894
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
23004
22895
|
if (restoreTarget) {
|
|
23005
22896
|
try {
|
|
23006
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
22897
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _736 => _736(restoreTarget.id)]);
|
|
23007
22898
|
} catch (err) {
|
|
23008
22899
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
23009
22900
|
return;
|
|
@@ -23483,7 +23374,7 @@ function EmbeddableChatInner({
|
|
|
23483
23374
|
}),
|
|
23484
23375
|
[commandsUrl]
|
|
23485
23376
|
);
|
|
23486
|
-
const headerUserName = _optionalChain([identityUser, 'optionalAccess',
|
|
23377
|
+
const headerUserName = _optionalChain([identityUser, 'optionalAccess', _737 => _737.name, 'optionalAccess', _738 => _738.trim, 'call', _739 => _739()]) || [_optionalChain([identityUser, 'optionalAccess', _740 => _740.firstName]), _optionalChain([identityUser, 'optionalAccess', _741 => _741.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _742 => _742.trim, 'call', _743 => _743()]) || void 0;
|
|
23487
23378
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
23488
23379
|
if (modes) return modes;
|
|
23489
23380
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -23492,20 +23383,20 @@ function EmbeddableChatInner({
|
|
|
23492
23383
|
const mingoCaps = _react.useMemo.call(void 0, () => {
|
|
23493
23384
|
if (mingoState) {
|
|
23494
23385
|
return {
|
|
23495
|
-
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23496
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23497
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23498
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23499
|
-
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23500
|
-
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23501
|
-
onCopyLink: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
23386
|
+
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _744 => _744.canRename]), () => ( false)),
|
|
23387
|
+
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _745 => _745.canArchive]), () => ( false)),
|
|
23388
|
+
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _746 => _746.fetchArchivedDialogs]),
|
|
23389
|
+
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _747 => _747.unarchiveDialog]),
|
|
23390
|
+
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _748 => _748.searchQuery]),
|
|
23391
|
+
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _749 => _749.onSearchChange]),
|
|
23392
|
+
onCopyLink: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _750 => _750.onCopyLink])
|
|
23502
23393
|
};
|
|
23503
23394
|
}
|
|
23504
23395
|
return {
|
|
23505
|
-
canRename: !!_optionalChain([effectiveModes, 'access',
|
|
23506
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
23507
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
23508
|
-
unarchiveDialog: _optionalChain([effectiveModes, 'access',
|
|
23396
|
+
canRename: !!_optionalChain([effectiveModes, 'access', _751 => _751.mingo, 'optionalAccess', _752 => _752.renameDialog]),
|
|
23397
|
+
canArchive: !!_optionalChain([effectiveModes, 'access', _753 => _753.mingo, 'optionalAccess', _754 => _754.archiveDialog]),
|
|
23398
|
+
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _755 => _755.mingo, 'optionalAccess', _756 => _756.fetchArchivedDialogs]),
|
|
23399
|
+
unarchiveDialog: _optionalChain([effectiveModes, 'access', _757 => _757.mingo, 'optionalAccess', _758 => _758.unarchiveDialog]),
|
|
23509
23400
|
searchQuery: void 0,
|
|
23510
23401
|
onSearchChange: void 0,
|
|
23511
23402
|
onCopyLink: void 0
|
|
@@ -23520,7 +23411,7 @@ function EmbeddableChatInner({
|
|
|
23520
23411
|
if (controlledActiveMode === void 0) {
|
|
23521
23412
|
setUncontrolledActiveMode(next);
|
|
23522
23413
|
}
|
|
23523
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
23414
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _759 => _759(next)]);
|
|
23524
23415
|
},
|
|
23525
23416
|
[controlledActiveMode, onActiveModeChange]
|
|
23526
23417
|
);
|
|
@@ -23547,7 +23438,7 @@ function EmbeddableChatInner({
|
|
|
23547
23438
|
);
|
|
23548
23439
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
23549
23440
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
23550
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
23441
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _760 => _760.title]) === "string" ? guideWelcome.title : null)));
|
|
23551
23442
|
const {
|
|
23552
23443
|
messages: rawMessages,
|
|
23553
23444
|
isLoading: chatLoading,
|
|
@@ -23591,7 +23482,7 @@ function EmbeddableChatInner({
|
|
|
23591
23482
|
void sendMessage(guidePendingPrompt).catch((err) => {
|
|
23592
23483
|
console.error("[EmbeddableChat] guide launcher prompt failed:", err);
|
|
23593
23484
|
});
|
|
23594
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
23485
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _761 => _761()]);
|
|
23595
23486
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
23596
23487
|
const {
|
|
23597
23488
|
attachments: stagedAttachments,
|
|
@@ -23602,7 +23493,7 @@ function EmbeddableChatInner({
|
|
|
23602
23493
|
clear: clearAttachments
|
|
23603
23494
|
} = useChatAttachments();
|
|
23604
23495
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
23605
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
23496
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _762 => _762.maxItems]), () => ( 10));
|
|
23606
23497
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
23607
23498
|
const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
|
|
23608
23499
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -23623,10 +23514,10 @@ function EmbeddableChatInner({
|
|
|
23623
23514
|
}, [activeDialogId, activeMode]);
|
|
23624
23515
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
23625
23516
|
const m = /* @__PURE__ */ new Map();
|
|
23626
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
23517
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _763 => _763.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
23627
23518
|
return m;
|
|
23628
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
23629
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
23519
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _764 => _764.entityTypes])]);
|
|
23520
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _765 => _765.entityTypes]);
|
|
23630
23521
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
23631
23522
|
const byType = /* @__PURE__ */ new Map();
|
|
23632
23523
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -23638,7 +23529,7 @@ function EmbeddableChatInner({
|
|
|
23638
23529
|
if (mentionActiveRef.current) {
|
|
23639
23530
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
23640
23531
|
if (contextItems.length >= contextMaxItems) return;
|
|
23641
|
-
_optionalChain([chatInputRef, 'access',
|
|
23532
|
+
_optionalChain([chatInputRef, 'access', _766 => _766.current, 'optionalAccess', _767 => _767.commitMention, 'call', _768 => _768(mentionTokenOf(key, mentionMarkerByType), {
|
|
23642
23533
|
label: item.label,
|
|
23643
23534
|
icon: resolveContextIcon(item)
|
|
23644
23535
|
})]);
|
|
@@ -23661,9 +23552,9 @@ function EmbeddableChatInner({
|
|
|
23661
23552
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
23662
23553
|
if (mentionKeysRef.current.has(key)) {
|
|
23663
23554
|
mentionKeysRef.current.delete(key);
|
|
23664
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
23555
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _769 => _769.current, 'optionalAccess', _770 => _770.getValue, 'call', _771 => _771()]), () => ( ""));
|
|
23665
23556
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
23666
|
-
_optionalChain([chatInputRef, 'access',
|
|
23557
|
+
_optionalChain([chatInputRef, 'access', _772 => _772.current, 'optionalAccess', _773 => _773.setValue, 'call', _774 => _774(next)]);
|
|
23667
23558
|
}
|
|
23668
23559
|
},
|
|
23669
23560
|
[mentionMarkerByType]
|
|
@@ -23685,7 +23576,7 @@ function EmbeddableChatInner({
|
|
|
23685
23576
|
}, []);
|
|
23686
23577
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
23687
23578
|
if (mentionActiveRef.current) {
|
|
23688
|
-
_optionalChain([chatInputRef, 'access',
|
|
23579
|
+
_optionalChain([chatInputRef, 'access', _775 => _775.current, 'optionalAccess', _776 => _776.removeMentionTrigger, 'call', _777 => _777()]);
|
|
23689
23580
|
}
|
|
23690
23581
|
setContextPickerOpen(false);
|
|
23691
23582
|
setMentionQuery(null);
|
|
@@ -23719,8 +23610,8 @@ function EmbeddableChatInner({
|
|
|
23719
23610
|
[effectiveAssistantIcon]
|
|
23720
23611
|
);
|
|
23721
23612
|
const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
|
|
23722
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
23723
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
23613
|
+
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _778 => _778.firstName]), _optionalChain([identityUser, 'optionalAccess', _779 => _779.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _780 => _780.name, 'optionalAccess', _781 => _781.trim, 'call', _782 => _782()]) || void 0 : void 0;
|
|
23614
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _783 => _783.avatarUrl, 'optionalAccess', _784 => _784.trim, 'call', _785 => _785()]) || void 0 : void 0;
|
|
23724
23615
|
const messages = _react.useMemo.call(void 0, () => {
|
|
23725
23616
|
const cache = timestampCache;
|
|
23726
23617
|
const seenIds = /* @__PURE__ */ new Set();
|
|
@@ -23909,9 +23800,9 @@ function EmbeddableChatInner({
|
|
|
23909
23800
|
const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
|
|
23910
23801
|
const lastSources = _react.useMemo.call(void 0, () => {
|
|
23911
23802
|
if (chatLoading) return void 0;
|
|
23912
|
-
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
23803
|
+
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _786 => _786.sources]);
|
|
23913
23804
|
if (!sources || sources.length === 0) return void 0;
|
|
23914
|
-
const content = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
23805
|
+
const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _787 => _787.content]) || "";
|
|
23915
23806
|
const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map((m) => parseInt(m[1], 10));
|
|
23916
23807
|
const seenOrder = /* @__PURE__ */ new Map();
|
|
23917
23808
|
citationOrder.forEach((idx) => {
|
|
@@ -23929,7 +23820,7 @@ function EmbeddableChatInner({
|
|
|
23929
23820
|
const el = panelMeasureRef.current;
|
|
23930
23821
|
if (!el || typeof ResizeObserver === "undefined") return void 0;
|
|
23931
23822
|
const ro = new ResizeObserver((entries) => {
|
|
23932
|
-
const w = _optionalChain([entries, 'access',
|
|
23823
|
+
const w = _optionalChain([entries, 'access', _788 => _788[0], 'optionalAccess', _789 => _789.contentRect, 'optionalAccess', _790 => _790.width]);
|
|
23933
23824
|
if (typeof w === "number") setPanelWidth(w);
|
|
23934
23825
|
});
|
|
23935
23826
|
ro.observe(el);
|
|
@@ -23947,7 +23838,7 @@ function EmbeddableChatInner({
|
|
|
23947
23838
|
setRailStorageRead(true);
|
|
23948
23839
|
try {
|
|
23949
23840
|
if (window.localStorage.getItem(RAIL_COLLAPSED_STORAGE_KEY) === "1") setRailCollapsed(true);
|
|
23950
|
-
} catch (
|
|
23841
|
+
} catch (e64) {
|
|
23951
23842
|
}
|
|
23952
23843
|
}
|
|
23953
23844
|
const toggleRailCollapsed = _react.useCallback.call(void 0, () => {
|
|
@@ -23955,7 +23846,7 @@ function EmbeddableChatInner({
|
|
|
23955
23846
|
const next = !prev;
|
|
23956
23847
|
try {
|
|
23957
23848
|
window.localStorage.setItem(RAIL_COLLAPSED_STORAGE_KEY, next ? "1" : "0");
|
|
23958
|
-
} catch (
|
|
23849
|
+
} catch (e65) {
|
|
23959
23850
|
}
|
|
23960
23851
|
return next;
|
|
23961
23852
|
});
|
|
@@ -23972,17 +23863,17 @@ function EmbeddableChatInner({
|
|
|
23972
23863
|
const isMingoMode = activeMode === "mingo";
|
|
23973
23864
|
const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
|
|
23974
23865
|
const headerShowBack = hasConversation || guideCanReturnToMingo;
|
|
23975
|
-
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
23866
|
+
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _791 => _791.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
|
|
23976
23867
|
const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
|
|
23977
23868
|
const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
|
|
23978
23869
|
const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
|
|
23979
23870
|
const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
|
|
23980
23871
|
const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
|
|
23981
|
-
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access',
|
|
23872
|
+
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _792 => _792.onCopyLink, 'optionalCall', _793 => _793(activeDialog)]) : void 0;
|
|
23982
23873
|
const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
|
|
23983
|
-
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
23984
|
-
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess',
|
|
23985
|
-
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access',
|
|
23874
|
+
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _794 => _794.owner]) : void 0;
|
|
23875
|
+
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _795 => _795.name, 'optionalAccess', _796 => _796.trim, 'call', _797 => _797()]) || headerUserName;
|
|
23876
|
+
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _798 => _798.avatarUrl, 'optionalAccess', _799 => _799.trim, 'call', _800 => _800()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _801 => _801.avatarUrl, 'optionalAccess', _802 => _802.trim, 'call', _803 => _803()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _804 => _804.trim, 'call', _805 => _805()]) || void 0;
|
|
23986
23877
|
const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
|
|
23987
23878
|
const handleNewChat = _react.useCallback.call(void 0, () => {
|
|
23988
23879
|
resetToNewChat();
|
|
@@ -24312,9 +24203,9 @@ function EmbeddableChatInner({
|
|
|
24312
24203
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
24313
24204
|
subtitleLoading: emptyStateLoading,
|
|
24314
24205
|
...guideWelcome,
|
|
24315
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
24316
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
24317
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
24206
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _806 => _806.title]))),
|
|
24207
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _807 => _807.icon]))),
|
|
24208
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _808 => _808.quickActions]), () => ( guideSuggestedActions)),
|
|
24318
24209
|
onQuickAction: (action) => {
|
|
24319
24210
|
setQuickActionPreview(null);
|
|
24320
24211
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -24388,8 +24279,8 @@ function EmbeddableChatInner({
|
|
|
24388
24279
|
selectedContextItems: contextItems,
|
|
24389
24280
|
onToggleContextItem: toggleContextItem,
|
|
24390
24281
|
onRemoveContextItem: removeContextItem,
|
|
24391
|
-
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess',
|
|
24392
|
-
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess',
|
|
24282
|
+
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _809 => _809.items]),
|
|
24283
|
+
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _810 => _810.onRemove]),
|
|
24393
24284
|
contextPickerOpen,
|
|
24394
24285
|
onOpenContextPicker: openContextPicker,
|
|
24395
24286
|
onCloseContextPicker: closeContextPicker,
|
|
@@ -24846,6 +24737,5 @@ function EmbeddableChatInner({
|
|
|
24846
24737
|
|
|
24847
24738
|
|
|
24848
24739
|
|
|
24849
|
-
|
|
24850
|
-
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_PLAYBACK_FAILED_EVENT = VIDEO_PLAYBACK_FAILED_EVENT; exports.Video = Video2; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.formatTime = formatTime; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.useChatCardItem = useChatCardItem; exports.clickupTaskUrl = clickupTaskUrl; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.approvalDisplaysInline = approvalDisplaysInline; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat;
|
|
24851
|
-
//# sourceMappingURL=chunk-LOJ5KQ6B.cjs.map
|
|
24740
|
+
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.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.useChatCardItem = useChatCardItem; exports.clickupTaskUrl = clickupTaskUrl; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.approvalDisplaysInline = approvalDisplaysInline; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat;
|
|
24741
|
+
//# sourceMappingURL=chunk-YU2UJPAT.cjs.map
|