@flamingo-stack/openframe-frontend-core 0.0.706-snapshot.20261006190707 → 0.0.706
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-6YKAT7NV.js → chunk-3EZ4HHAP.js} +2 -2
- package/dist/{chunk-LFFB6EMB.js → chunk-3NCM4ZQB.js} +2 -15
- package/dist/{chunk-6I4ZAFO2.cjs → chunk-3PLDQDE6.cjs} +9 -9
- package/dist/{chunk-SS5MBHDP.js → chunk-4CJMQLB5.js} +2 -2
- package/dist/{chunk-CNWOMQQJ.js → chunk-4ILM7W2R.js} +1 -1
- package/dist/{chunk-MR3A4MZV.js → chunk-6232S532.js} +1 -1
- package/dist/{chunk-PO33GZVY.js → chunk-7GEBFJT2.js} +4 -24
- package/dist/{chunk-SEXWHIMS.cjs → chunk-7OFPU7WE.cjs} +331 -351
- package/dist/{chunk-2KXTOP6G.cjs → chunk-7SCNMP2B.cjs} +13 -26
- package/dist/{chunk-HDOYSEOJ.js → chunk-BHI6GVC4.js} +3 -3
- package/dist/{chunk-2RNB5DTN.cjs → chunk-DDVBX42E.cjs} +7 -7
- package/dist/{chunk-CZSZSDD4.js → chunk-DWPAAWMR.js} +4 -4
- package/dist/{chunk-4L6XCMOU.js → chunk-G6UMNAVI.js} +2 -10
- package/dist/{chunk-P42V6N34.cjs → chunk-GWQEYPYM.cjs} +313 -321
- package/dist/{chunk-AOWDNSTM.cjs → chunk-HZ7CBXPL.cjs} +40 -40
- package/dist/{chunk-I3ST4PLM.js → chunk-IKJA3Y7Z.js} +1 -1
- package/dist/{chunk-2G7UYK35.cjs → chunk-K6O43WDL.cjs} +32 -32
- package/dist/{chunk-JRU2CXLB.cjs → chunk-LVSFKENJ.cjs} +2 -2
- package/dist/{chunk-LRQTJOF2.cjs → chunk-M75XEEGT.cjs} +24 -24
- package/dist/{chunk-YBUT4AMG.cjs → chunk-MB4PNY7C.cjs} +2 -2
- package/dist/{chunk-LNW45N2C.js → chunk-O2RSAA5M.js} +5 -5
- package/dist/{chunk-DA5UDTLG.js → chunk-PXOQIA5K.js} +2 -2
- package/dist/{chunk-NSGXARGJ.cjs → chunk-RTIPR53L.cjs} +70 -70
- package/dist/{chunk-L6Y6OOKG.cjs → chunk-SEKYEWQG.cjs} +20 -20
- package/dist/{chunk-3AHTOSXJ.cjs → chunk-STHZBOQI.cjs} +9 -9
- package/dist/{chunk-B73373AG.cjs → chunk-SW5ZV2BN.cjs} +20 -20
- package/dist/{chunk-4UM2ETLM.js → chunk-T5TMCHWM.js} +2 -2
- package/dist/{chunk-36BCTE7D.js → chunk-TE773HEH.js} +4 -4
- package/dist/{chunk-QAOFMK2A.cjs → chunk-TQ4LB2DS.cjs} +3 -3
- package/dist/{chunk-OJLR5MEO.cjs → chunk-UJ33ZXDT.cjs} +4 -4
- package/dist/{chunk-TDYIREDJ.js → chunk-VZICIQW2.js} +4 -4
- package/dist/{chunk-6IW7TWPV.js → chunk-YGJKKDDM.js} +1 -1
- package/dist/components/case-studies/index.cjs +14 -14
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/index.cjs +2 -4
- package/dist/components/chat/index.d.ts +1 -1
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +1 -3
- package/dist/components/chat/nav-link-anchor-via-runtime.d.ts +5 -34
- package/dist/components/chat/nav-link-anchor-via-runtime.d.ts.map +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 -3
- package/dist/components/features/index.js +2 -2
- package/dist/components/help-center-pages/index.cjs +70 -70
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +36 -38
- package/dist/components/index.js +13 -15
- package/dist/components/meeting-scheduler/index.cjs +25 -25
- 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/platform/ToolBadge.d.ts +0 -6
- package/dist/components/platform/ToolBadge.d.ts.map +1 -1
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/brand-association-card.d.ts +0 -7
- package/dist/components/ui/brand-association-card.d.ts.map +1 -1
- package/dist/components/ui/index.cjs +3 -5
- package/dist/components/ui/index.js +2 -4
- package/dist/index.cjs +7 -9
- package/dist/index.js +6 -8
- package/package.json +1 -1
- package/src/components/chat/index.ts +1 -7
- package/src/components/chat/nav-link-anchor-via-runtime.tsx +9 -62
- package/src/components/platform/ToolBadge.tsx +1 -18
- package/src/components/ui/brand-association-card.tsx +3 -25
|
@@ -11929,11 +11929,12 @@ function handleChatNavClick(event, runtime, { href, path, targetPlatform }, fall
|
|
|
11929
11929
|
|
|
11930
11930
|
// src/components/chat/nav-link-anchor-via-runtime.tsx
|
|
11931
11931
|
|
|
11932
|
-
function
|
|
11932
|
+
function NavLinkAnchorViaRuntime({
|
|
11933
11933
|
href,
|
|
11934
11934
|
path,
|
|
11935
11935
|
targetPlatform,
|
|
11936
|
-
|
|
11936
|
+
className,
|
|
11937
|
+
children
|
|
11937
11938
|
}) {
|
|
11938
11939
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
11939
11940
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
@@ -11941,8 +11942,6 @@ function useNavLinkViaRuntime({
|
|
|
11941
11942
|
const resolvedHref = resolveHrefForRuntime(href, runtime);
|
|
11942
11943
|
const isNewTab = _chunk6NTPY5QAcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
|
|
11943
11944
|
const onClick = (e) => {
|
|
11944
|
-
_optionalChain([onClickProp, 'optionalCall', _241 => _241(e)]);
|
|
11945
|
-
if (e.defaultPrevented) return;
|
|
11946
11945
|
const handled = executeNavigation({
|
|
11947
11946
|
event: e,
|
|
11948
11947
|
runtime,
|
|
@@ -11951,27 +11950,9 @@ function useNavLinkViaRuntime({
|
|
|
11951
11950
|
targetPlatform,
|
|
11952
11951
|
fallbackNavigate: router.push
|
|
11953
11952
|
});
|
|
11954
|
-
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
11955
|
-
};
|
|
11956
|
-
const attrs = _chunk6NTPY5QAcjs.newTabAnchorAttrs.call(void 0, isNewTab);
|
|
11957
|
-
return {
|
|
11958
|
-
href: resolvedHref,
|
|
11959
|
-
...attrs,
|
|
11960
|
-
...isNewTab && targetPlatform && { rel: "noopener" },
|
|
11961
|
-
onClick
|
|
11953
|
+
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _241 => _241.closeChat])) panel.closeChat();
|
|
11962
11954
|
};
|
|
11963
|
-
}
|
|
11964
|
-
function NavLinkAnchorViaRuntime({
|
|
11965
|
-
href,
|
|
11966
|
-
path,
|
|
11967
|
-
targetPlatform,
|
|
11968
|
-
className,
|
|
11969
|
-
children,
|
|
11970
|
-
onClick,
|
|
11971
|
-
...anchorAttrs
|
|
11972
|
-
}) {
|
|
11973
|
-
const linkProps = useNavLinkViaRuntime({ href, path, targetPlatform, onClick });
|
|
11974
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ...linkProps, ...anchorAttrs, className, children });
|
|
11955
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: resolvedHref, ..._chunk6NTPY5QAcjs.newTabAnchorAttrs.call(void 0, isNewTab), onClick, className, children });
|
|
11975
11956
|
}
|
|
11976
11957
|
|
|
11977
11958
|
// src/components/chat/source-action-button.tsx
|
|
@@ -12035,11 +12016,11 @@ var DEFAULT_CAPTIONS_PATH = "/api/captions";
|
|
|
12035
12016
|
function getCaptionsUrl(entityType, entityId, srtContent, options) {
|
|
12036
12017
|
if (!srtContent) return void 0;
|
|
12037
12018
|
const hash = `${srtContent.length}-${srtContent.slice(0, 8).replace(/\s/g, "")}`;
|
|
12038
|
-
const variant = _optionalChain([options, 'optionalAccess',
|
|
12019
|
+
const variant = _optionalChain([options, 'optionalAccess', _242 => _242.variant]) ? `&variant=${options.variant}` : "";
|
|
12039
12020
|
return `${DEFAULT_CAPTIONS_PATH}/${entityType}/${entityId}?v=${hash}${variant}`;
|
|
12040
12021
|
}
|
|
12041
12022
|
function resolveCaptionsBase(endpoints) {
|
|
12042
|
-
return _optionalChain([endpoints, 'optionalAccess',
|
|
12023
|
+
return _optionalChain([endpoints, 'optionalAccess', _243 => _243.captionsUrlPrefix]) || DEFAULT_CAPTIONS_PATH;
|
|
12043
12024
|
}
|
|
12044
12025
|
function rebaseCaptionsUrl(endpoints, url) {
|
|
12045
12026
|
if (!url || !url.startsWith(`${DEFAULT_CAPTIONS_PATH}/`)) return url;
|
|
@@ -12128,7 +12109,7 @@ TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
|
12128
12109
|
// src/components/features/use-captions.ts
|
|
12129
12110
|
|
|
12130
12111
|
function useCaptions() {
|
|
12131
|
-
const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess',
|
|
12112
|
+
const endpoints = _nullishCoalesce(_optionalChain([_chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, ), 'optionalAccess', _244 => _244.endpoints]), () => ( null));
|
|
12132
12113
|
return _react.useMemo.call(void 0,
|
|
12133
12114
|
() => ({
|
|
12134
12115
|
forEntity: (entityType, entity) => getEntityCaptionUrls(endpoints, entityType, entity),
|
|
@@ -12403,9 +12384,9 @@ function CardsStrip(props) {
|
|
|
12403
12384
|
const p = hoverPointerRef.current;
|
|
12404
12385
|
if (!p.inside) return;
|
|
12405
12386
|
const el = typeof document !== "undefined" ? document.elementFromPoint(p.x, p.y) : null;
|
|
12406
|
-
const cardEl = _optionalChain([el, 'optionalAccess',
|
|
12407
|
-
const scoped = cardEl && _optionalChain([scrollerRef, 'access',
|
|
12408
|
-
const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess',
|
|
12387
|
+
const cardEl = _optionalChain([el, 'optionalAccess', _245 => _245.closest, 'optionalCall', _246 => _246("[data-strip-card-key]")]);
|
|
12388
|
+
const scoped = cardEl && _optionalChain([scrollerRef, 'access', _247 => _247.current, 'optionalAccess', _248 => _248.contains, 'call', _249 => _249(cardEl)]) ? cardEl : null;
|
|
12389
|
+
const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess', _250 => _250.getAttribute, 'call', _251 => _251("data-strip-card-key")]), () => ( null));
|
|
12409
12390
|
const current = activeKeyRef.current;
|
|
12410
12391
|
if (key === current) return;
|
|
12411
12392
|
if (current !== null) deactivate(current);
|
|
@@ -12443,7 +12424,7 @@ function CardsStrip(props) {
|
|
|
12443
12424
|
}, [syncHoverToPointer]);
|
|
12444
12425
|
const seamBuffer = _react.useCallback.call(void 0, () => {
|
|
12445
12426
|
const half = singleCopyWidthRef.current;
|
|
12446
|
-
const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access',
|
|
12427
|
+
const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _252 => _252.current, 'optionalAccess', _253 => _253.clientWidth]), () => ( 0));
|
|
12447
12428
|
return Math.max(0, Math.min(200, half / 4, half - viewport - TRACK_GAP_PX - 1));
|
|
12448
12429
|
}, []);
|
|
12449
12430
|
const mirror = _react.useCallback.call(void 0,
|
|
@@ -12467,7 +12448,7 @@ function CardsStrip(props) {
|
|
|
12467
12448
|
const scroller = scrollerRef.current;
|
|
12468
12449
|
if (scroller) scroller.scrollLeft = mirror(pos);
|
|
12469
12450
|
},
|
|
12470
|
-
readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access',
|
|
12451
|
+
readBack: () => mirror(_nullishCoalesce(_optionalChain([scrollerRef, 'access', _254 => _254.current, 'optionalAccess', _255 => _255.scrollLeft]), () => ( 0))),
|
|
12471
12452
|
onAfterFrame: syncHoverIfScrolled
|
|
12472
12453
|
});
|
|
12473
12454
|
const [mountedIdx, setMountedIdx] = _react.useState.call(void 0, () => /* @__PURE__ */ new Set());
|
|
@@ -12515,11 +12496,11 @@ function CardsStrip(props) {
|
|
|
12515
12496
|
fn = (el) => {
|
|
12516
12497
|
if (!el) return void 0;
|
|
12517
12498
|
cardElIdxRef.current.set(el, idx);
|
|
12518
|
-
_optionalChain([cardObserverRef, 'access',
|
|
12499
|
+
_optionalChain([cardObserverRef, 'access', _256 => _256.current, 'optionalAccess', _257 => _257.observe, 'call', _258 => _258(el)]);
|
|
12519
12500
|
return () => {
|
|
12520
12501
|
cardElIdxRef.current.delete(el);
|
|
12521
12502
|
cardElNearRef.current.delete(el);
|
|
12522
|
-
_optionalChain([cardObserverRef, 'access',
|
|
12503
|
+
_optionalChain([cardObserverRef, 'access', _259 => _259.current, 'optionalAccess', _260 => _260.unobserve, 'call', _261 => _261(el)]);
|
|
12523
12504
|
};
|
|
12524
12505
|
};
|
|
12525
12506
|
cardRefFns.set(idx, fn);
|
|
@@ -12538,7 +12519,7 @@ function CardsStrip(props) {
|
|
|
12538
12519
|
const track = trackRef.current;
|
|
12539
12520
|
if (!scroller || !track) return;
|
|
12540
12521
|
const firstCard = track.firstElementChild;
|
|
12541
|
-
const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess',
|
|
12522
|
+
const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess', _262 => _262.offsetWidth]), () => ( 320))) + TRACK_GAP_PX;
|
|
12542
12523
|
chevronSuppressUntilRef.current = performance.now() + CHEVRON_SUPPRESS_MS;
|
|
12543
12524
|
if (marqueeActiveRef.current) {
|
|
12544
12525
|
glideBy((reverse ? -dir : dir) * step);
|
|
@@ -12599,7 +12580,7 @@ function CardsStrip(props) {
|
|
|
12599
12580
|
{
|
|
12600
12581
|
ref: (node) => {
|
|
12601
12582
|
wrapperRef.current = node;
|
|
12602
|
-
_optionalChain([rootRef, 'optionalCall',
|
|
12583
|
+
_optionalChain([rootRef, 'optionalCall', _263 => _263(node)]);
|
|
12603
12584
|
},
|
|
12604
12585
|
className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full min-w-0 flex-col gap-6", className),
|
|
12605
12586
|
children: [
|
|
@@ -12774,7 +12755,7 @@ function VideoBitesStrip({
|
|
|
12774
12755
|
const filtered = filterPublished ? bites.filter((b) => b.published) : [...bites];
|
|
12775
12756
|
return filtered.sort(sortComparator);
|
|
12776
12757
|
}, [bites, filterPublished, sortComparator]);
|
|
12777
|
-
const warmup = _chunk6NTPY5QAcjs.useVideoWarmup.call(void 0, { videoUrl: _optionalChain([items, 'access',
|
|
12758
|
+
const warmup = _chunk6NTPY5QAcjs.useVideoWarmup.call(void 0, { videoUrl: _optionalChain([items, 'access', _264 => _264[0], 'optionalAccess', _265 => _265.url]) || null });
|
|
12778
12759
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12779
12760
|
CardsStrip,
|
|
12780
12761
|
{
|
|
@@ -12841,8 +12822,8 @@ function VideoBiteCard({
|
|
|
12841
12822
|
const controlled = active !== void 0;
|
|
12842
12823
|
const [selfActive, setSelfActive] = _react.useState.call(void 0, false);
|
|
12843
12824
|
const isActive = controlled ? !!active : selfActive;
|
|
12844
|
-
const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall',
|
|
12845
|
-
const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall',
|
|
12825
|
+
const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _266 => _266(key)]) : setSelfActive(true);
|
|
12826
|
+
const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _267 => _267(key)]) : setSelfActive(false);
|
|
12846
12827
|
const titleInputRef = _react.useRef.call(void 0, null);
|
|
12847
12828
|
_chunkLM7TXMLUcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
12848
12829
|
const el = titleInputRef.current;
|
|
@@ -12852,7 +12833,7 @@ function VideoBiteCard({
|
|
|
12852
12833
|
});
|
|
12853
12834
|
const navigate = () => {
|
|
12854
12835
|
if (bite.onNavigate) bite.onNavigate();
|
|
12855
|
-
else _optionalChain([onBiteNavigate, 'optionalCall',
|
|
12836
|
+
else _optionalChain([onBiteNavigate, 'optionalCall', _268 => _268(bite, index)]);
|
|
12856
12837
|
};
|
|
12857
12838
|
const handlePointerEnter = () => {
|
|
12858
12839
|
if (!isTouch) activate();
|
|
@@ -12877,9 +12858,9 @@ function VideoBiteCard({
|
|
|
12877
12858
|
placeholder: "Title (optional)",
|
|
12878
12859
|
"aria-label": "Bite title",
|
|
12879
12860
|
rows: 1,
|
|
12880
|
-
onChange: (e) => _optionalChain([onTitleChange, 'optionalCall',
|
|
12861
|
+
onChange: (e) => _optionalChain([onTitleChange, 'optionalCall', _269 => _269(e.target.value)]),
|
|
12881
12862
|
ref: titleInputRef,
|
|
12882
|
-
onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall',
|
|
12863
|
+
onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall', _270 => _270(e.target.value)]),
|
|
12883
12864
|
onClick: (e) => e.stopPropagation(),
|
|
12884
12865
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
12885
12866
|
titleClass,
|
|
@@ -12956,7 +12937,7 @@ function VideoBiteCard({
|
|
|
12956
12937
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
12957
12938
|
"div",
|
|
12958
12939
|
{
|
|
12959
|
-
ref: (node) => _optionalChain([rootRef, 'optionalCall',
|
|
12940
|
+
ref: (node) => _optionalChain([rootRef, 'optionalCall', _271 => _271(node)]),
|
|
12960
12941
|
"aria-hidden": isClone || void 0,
|
|
12961
12942
|
"data-strip-card-key": key,
|
|
12962
12943
|
className: _chunk3ATAYP36cjs.cn.call(void 0,
|
|
@@ -13011,8 +12992,8 @@ function EntityVideoSection({
|
|
|
13011
12992
|
const hasHighlight = !!highlightVideoUrl;
|
|
13012
12993
|
const hasVideo = hasFullVideo || hasHighlight;
|
|
13013
12994
|
const derivedCaptions = captionsEntity ? captions.forEntityId(captionsEntity.type, captionsEntity.id) : null;
|
|
13014
|
-
const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess',
|
|
13015
|
-
const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess',
|
|
12995
|
+
const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _272 => _272.captionsUrl])));
|
|
12996
|
+
const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _273 => _273.highlightCaptionsUrl])));
|
|
13016
12997
|
if (!hasVideo && !videoSummary && (!videoBites || videoBites.length === 0)) {
|
|
13017
12998
|
return null;
|
|
13018
12999
|
}
|
|
@@ -13346,7 +13327,7 @@ var MediaSkeleton = {
|
|
|
13346
13327
|
|
|
13347
13328
|
function designDocPeople(doc) {
|
|
13348
13329
|
const people = [];
|
|
13349
|
-
if (_optionalChain([doc, 'access',
|
|
13330
|
+
if (_optionalChain([doc, 'access', _274 => _274.author, 'optionalAccess', _275 => _275.full_name]))
|
|
13350
13331
|
people.push({
|
|
13351
13332
|
key: `dri-${_nullishCoalesce(doc.author.id, () => ( doc.author.full_name))}`,
|
|
13352
13333
|
name: doc.author.full_name,
|
|
@@ -13359,7 +13340,7 @@ function designDocPeople(doc) {
|
|
|
13359
13340
|
return people;
|
|
13360
13341
|
}
|
|
13361
13342
|
function designDocMetaLine(doc) {
|
|
13362
|
-
return [_optionalChain([doc, 'access',
|
|
13343
|
+
return [_optionalChain([doc, 'access', _276 => _276.author, 'optionalAccess', _277 => _277.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${_chunk6NTPY5QAcjs.formatDateShort.call(void 0, doc.updated_at)}`].filter(Boolean).join(" \xB7 ");
|
|
13363
13344
|
}
|
|
13364
13345
|
function DesignDocCardSkeleton() {
|
|
13365
13346
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -13833,7 +13814,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
13833
13814
|
] }) : null,
|
|
13834
13815
|
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
|
|
13835
13816
|
] }),
|
|
13836
|
-
_optionalChain([anchorProps, 'optionalAccess',
|
|
13817
|
+
_optionalChain([anchorProps, 'optionalAccess', _278 => _278.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
|
|
13837
13818
|
] });
|
|
13838
13819
|
if (!anchorProps) {
|
|
13839
13820
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk6NTPY5QAcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
@@ -13861,7 +13842,7 @@ function DataRoomDocCardSkeleton({ className }) {
|
|
|
13861
13842
|
|
|
13862
13843
|
|
|
13863
13844
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
13864
|
-
const goalsCount = _optionalChain([campaign, 'access',
|
|
13845
|
+
const goalsCount = _optionalChain([campaign, 'access', _279 => _279.goals, 'optionalAccess', _280 => _280.length]) || 0;
|
|
13865
13846
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
13866
13847
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6NTPY5QAcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
|
|
13867
13848
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk6NTPY5QAcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -14152,7 +14133,7 @@ function pickFetchedCardHref({
|
|
|
14152
14133
|
itemHref,
|
|
14153
14134
|
allowComposed
|
|
14154
14135
|
}) {
|
|
14155
|
-
if (_optionalChain([composed, 'optionalAccess',
|
|
14136
|
+
if (_optionalChain([composed, 'optionalAccess', _281 => _281.hostOverride])) {
|
|
14156
14137
|
return { source: "hostOverride", href: composed.href, targetPlatform: composed.targetPlatform };
|
|
14157
14138
|
}
|
|
14158
14139
|
if (itemHref) return { source: "item", href: itemHref };
|
|
@@ -14237,7 +14218,7 @@ function byKey(key) {
|
|
|
14237
14218
|
return PLATFORM_DOMAINS.find((e) => e.key === key);
|
|
14238
14219
|
}
|
|
14239
14220
|
function envOverrideFor(key) {
|
|
14240
|
-
const envVar = _optionalChain([byKey, 'call',
|
|
14221
|
+
const envVar = _optionalChain([byKey, 'call', _282 => _282(key), 'optionalAccess', _283 => _283.envVar]);
|
|
14241
14222
|
if (!envVar) return null;
|
|
14242
14223
|
return ENV_OVERRIDES[envVar] || null;
|
|
14243
14224
|
}
|
|
@@ -14247,7 +14228,7 @@ function ensureScheme(url) {
|
|
|
14247
14228
|
return `https://${trimmed.replace(/^\/+/, "")}`;
|
|
14248
14229
|
}
|
|
14249
14230
|
function getPlatformProductionUrl(platform) {
|
|
14250
|
-
const resolved = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(envOverrideFor(platform), () => ( _optionalChain([byKey, 'call',
|
|
14231
|
+
const resolved = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(envOverrideFor(platform), () => ( _optionalChain([byKey, 'call', _284 => _284(platform), 'optionalAccess', _285 => _285.defaultUrl]))), () => ( envOverrideFor("flamingo"))), () => ( "https://www.flamingo.run"));
|
|
14251
14232
|
return ensureScheme(resolved);
|
|
14252
14233
|
}
|
|
14253
14234
|
function getPlatformUrl(platform, options = {}) {
|
|
@@ -14256,7 +14237,7 @@ function getPlatformUrl(platform, options = {}) {
|
|
|
14256
14237
|
}
|
|
14257
14238
|
function getDeploymentUrl(options) {
|
|
14258
14239
|
if (typeof window !== "undefined") return window.location.origin;
|
|
14259
|
-
const configured = _optionalChain([options, 'access',
|
|
14240
|
+
const configured = _optionalChain([options, 'access', _286 => _286.configuredUrl, 'optionalAccess', _287 => _287.trim, 'call', _288 => _288()]);
|
|
14260
14241
|
if (configured) return ensureScheme(configured).replace(/\/+$/, "");
|
|
14261
14242
|
if (process.env.VERCEL_ENV === "preview" && process.env.VERCEL_URL) {
|
|
14262
14243
|
return ensureScheme(process.env.VERCEL_URL).replace(/\/+$/, "");
|
|
@@ -14278,7 +14259,7 @@ function getRequestOrigin(headers, options) {
|
|
|
14278
14259
|
const host = headers.get("host");
|
|
14279
14260
|
if (!host) return getDeploymentUrl(options);
|
|
14280
14261
|
const local = LOCAL_HOSTNAME.test(host.replace(/:\d+$/, ""));
|
|
14281
|
-
const proto = _optionalChain([headers, 'access',
|
|
14262
|
+
const proto = _optionalChain([headers, 'access', _289 => _289.get, 'call', _290 => _290("x-forwarded-proto"), 'optionalAccess', _291 => _291.split, 'call', _292 => _292(","), 'access', _293 => _293[0], 'access', _294 => _294.trim, 'call', _295 => _295()]) || (local ? "http" : "https");
|
|
14282
14263
|
return `${proto}://${host}`;
|
|
14283
14264
|
}
|
|
14284
14265
|
function resolveRedirectTarget(origin, target) {
|
|
@@ -14307,7 +14288,7 @@ function toRegistrableBaseDomain(host) {
|
|
|
14307
14288
|
return void 0;
|
|
14308
14289
|
}
|
|
14309
14290
|
function aliasHostsOf(key) {
|
|
14310
|
-
return _nullishCoalesce(_optionalChain([byKey, 'call',
|
|
14291
|
+
return _nullishCoalesce(_optionalChain([byKey, 'call', _296 => _296(key), 'optionalAccess', _297 => _297.aliasHostnames]), () => ( []));
|
|
14311
14292
|
}
|
|
14312
14293
|
function hostsForEntry(entry, opts) {
|
|
14313
14294
|
const resolved = hostOf(getPlatformProductionUrl(entry.key));
|
|
@@ -14576,13 +14557,13 @@ function recordCountLabel(count) {
|
|
|
14576
14557
|
}
|
|
14577
14558
|
function buildGroupedSource(spec) {
|
|
14578
14559
|
const first = spec.rows[0];
|
|
14579
|
-
const externalUrl = _nullishCoalesce(spec.externalUrl, () => ( _optionalChain([first, 'optionalAccess',
|
|
14580
|
-
const targetPlatform = spec.targetPlatform !== void 0 ? spec.targetPlatform : _optionalChain([first, 'optionalAccess',
|
|
14560
|
+
const externalUrl = _nullishCoalesce(spec.externalUrl, () => ( _optionalChain([first, 'optionalAccess', _298 => _298.externalUrl])));
|
|
14561
|
+
const targetPlatform = spec.targetPlatform !== void 0 ? spec.targetPlatform : _optionalChain([first, 'optionalAccess', _299 => _299.targetPlatform]);
|
|
14581
14562
|
return {
|
|
14582
14563
|
index: spec.index,
|
|
14583
14564
|
name: `${getSourceLabel(spec.sourceRepo)} ${recordCountLabel(spec.rows.length)}`,
|
|
14584
|
-
path: _nullishCoalesce(_optionalChain([first, 'optionalAccess',
|
|
14585
|
-
documentType: _nullishCoalesce(_optionalChain([first, 'optionalAccess',
|
|
14565
|
+
path: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _300 => _300.path]), () => ( "")),
|
|
14566
|
+
documentType: _nullishCoalesce(_optionalChain([first, 'optionalAccess', _301 => _301.documentType]), () => ( "")),
|
|
14586
14567
|
...externalUrl ? { externalUrl } : {},
|
|
14587
14568
|
targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)),
|
|
14588
14569
|
sourceRepo: spec.sourceRepo,
|
|
@@ -14651,7 +14632,7 @@ function groupSourcesByTable(sources2) {
|
|
|
14651
14632
|
index: source.index,
|
|
14652
14633
|
sourceRepo: source.sourceRepo,
|
|
14653
14634
|
rows: uniqueRows(members.flatMap(rowsOf)),
|
|
14654
|
-
..._optionalChain([serverChip, 'optionalAccess',
|
|
14635
|
+
..._optionalChain([serverChip, 'optionalAccess', _302 => _302.externalUrl]) ? { externalUrl: serverChip.externalUrl } : {},
|
|
14655
14636
|
...serverChip && serverChip.targetPlatform !== void 0 ? { targetPlatform: serverChip.targetPlatform } : {}
|
|
14656
14637
|
})
|
|
14657
14638
|
);
|
|
@@ -14701,7 +14682,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
14701
14682
|
if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
|
|
14702
14683
|
const safePath = sanitizePath(row.path);
|
|
14703
14684
|
if (safePath) {
|
|
14704
|
-
const docTarget = row.documentType ? _optionalChain([ctx, 'access',
|
|
14685
|
+
const docTarget = row.documentType ? _optionalChain([ctx, 'access', _303 => _303.docPlatformTargets, 'optionalAccess', _304 => _304[row.documentType]]) : void 0;
|
|
14705
14686
|
if (docTarget) {
|
|
14706
14687
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
14707
14688
|
const base = `${getPlatformUrl(docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
@@ -14770,7 +14751,7 @@ function resolveCardDestination({
|
|
|
14770
14751
|
composeContentUrl,
|
|
14771
14752
|
resolveHref = (href) => href
|
|
14772
14753
|
}) {
|
|
14773
|
-
const refPath = typeof _optionalChain([chatRef, 'access',
|
|
14754
|
+
const refPath = typeof _optionalChain([chatRef, 'access', _305 => _305.metadata, 'optionalAccess', _306 => _306.path]) === "string" && chatRef.metadata.path ? chatRef.metadata.path : null;
|
|
14774
14755
|
const path = _nullishCoalesce(refPath, () => ( (item ? readFetchedCardPath(item) : null)));
|
|
14775
14756
|
const cta = resolveSourceRowCTA(
|
|
14776
14757
|
{
|
|
@@ -14787,7 +14768,7 @@ function resolveCardDestination({
|
|
|
14787
14768
|
const rowUrl = cta.href ? resolveHref(cta.href) : _nullishCoalesce(chatRef.url, () => ( null));
|
|
14788
14769
|
const rowPlatform = _nullishCoalesce(_nullishCoalesce(cta.targetPlatform, () => ( chatRef.targetPlatform)), () => ( null));
|
|
14789
14770
|
if (rowUrl) return { url: rowUrl, targetPlatform: rowPlatform, path, source: "row" };
|
|
14790
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
14771
|
+
if (_optionalChain([entry, 'optionalAccess', _307 => _307.contentRefType]) && item) {
|
|
14791
14772
|
const choice = pickFetchedCardHref({
|
|
14792
14773
|
composed: resolveFetchedCardHref({
|
|
14793
14774
|
contentRefType: entry.contentRefType,
|
|
@@ -14795,7 +14776,7 @@ function resolveCardDestination({
|
|
|
14795
14776
|
item,
|
|
14796
14777
|
composeContentUrl
|
|
14797
14778
|
}),
|
|
14798
|
-
itemHref: _nullishCoalesce(_optionalChain([entry, 'access',
|
|
14779
|
+
itemHref: _nullishCoalesce(_optionalChain([entry, 'access', _308 => _308.fallbackHref, 'optionalCall', _309 => _309(item)]), () => ( null)),
|
|
14799
14780
|
allowComposed: !entry.noComposedHref
|
|
14800
14781
|
});
|
|
14801
14782
|
const url = choice ? _nullishCoalesce(_chunk6NTPY5QAcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
|
|
@@ -14896,8 +14877,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
|
|
|
14896
14877
|
if (href) {
|
|
14897
14878
|
items.push({
|
|
14898
14879
|
id: "open-details",
|
|
14899
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
14900
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
14880
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _310 => _310.label]), () => ( "Open Details")),
|
|
14881
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _311 => _311.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.EyeIcon, { size: 20 }))),
|
|
14901
14882
|
// Main row → open the entity (same tab, soft Link nav).
|
|
14902
14883
|
href,
|
|
14903
14884
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -14957,18 +14938,18 @@ function itemVideoMetadata(item) {
|
|
|
14957
14938
|
for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
|
|
14958
14939
|
return void 0;
|
|
14959
14940
|
};
|
|
14960
|
-
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
14941
|
+
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _312 => _312.metadata]), () => ( {}));
|
|
14961
14942
|
const out = {};
|
|
14962
|
-
const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess',
|
|
14963
|
-
const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess',
|
|
14964
|
-
const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess',
|
|
14943
|
+
const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _313 => _313.custom_video_url]), _optionalChain([item, 'optionalAccess', _314 => _314.main_video_url]));
|
|
14944
|
+
const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _315 => _315.youtube_url]), _optionalChain([item, 'optionalAccess', _316 => _316.testimonial_video_url]));
|
|
14945
|
+
const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _317 => _317.highlight_video_url]));
|
|
14965
14946
|
const videoPoster = pick(
|
|
14966
14947
|
m.videoPoster,
|
|
14967
|
-
_optionalChain([item, 'optionalAccess',
|
|
14968
|
-
_optionalChain([item, 'optionalAccess',
|
|
14969
|
-
_optionalChain([item, 'optionalAccess',
|
|
14948
|
+
_optionalChain([item, 'optionalAccess', _318 => _318.main_video_thumbnail]),
|
|
14949
|
+
_optionalChain([item, 'optionalAccess', _319 => _319.highlight_video_thumbnail]),
|
|
14950
|
+
_optionalChain([item, 'optionalAccess', _320 => _320.featured_image])
|
|
14970
14951
|
);
|
|
14971
|
-
const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess',
|
|
14952
|
+
const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _321 => _321.highlight_video_thumbnail]));
|
|
14972
14953
|
if (videoUrl) out.videoUrl = videoUrl;
|
|
14973
14954
|
if (youtubeUrl) out.youtubeUrl = youtubeUrl;
|
|
14974
14955
|
if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
|
|
@@ -14998,15 +14979,15 @@ function fetchedItemDisplayRef(item, chatRef) {
|
|
|
14998
14979
|
}
|
|
14999
14980
|
function fetchedFaqDisplayRef(item, chatRef) {
|
|
15000
14981
|
const it = item;
|
|
15001
|
-
const answer = typeof _optionalChain([it, 'optionalAccess',
|
|
14982
|
+
const answer = typeof _optionalChain([it, 'optionalAccess', _322 => _322.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
|
|
15002
14983
|
return {
|
|
15003
14984
|
type: "faq",
|
|
15004
14985
|
id: chatRef.id,
|
|
15005
14986
|
sourceRepo: chatRef.sourceRepo,
|
|
15006
|
-
title: typeof _optionalChain([it, 'optionalAccess',
|
|
14987
|
+
title: typeof _optionalChain([it, 'optionalAccess', _323 => _323.question]) === "string" && it.question ? it.question : chatRef.id,
|
|
15007
14988
|
url: _nullishCoalesce(chatRef.url, () => ( null)),
|
|
15008
14989
|
...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
|
|
15009
|
-
metadata: typeof _optionalChain([it, 'optionalAccess',
|
|
14990
|
+
metadata: typeof _optionalChain([it, 'optionalAccess', _324 => _324.section]) === "string" && it.section ? { section: it.section } : {}
|
|
15010
14991
|
};
|
|
15011
14992
|
}
|
|
15012
14993
|
function HubspotTicketChatCard({
|
|
@@ -15014,8 +14995,8 @@ function HubspotTicketChatCard({
|
|
|
15014
14995
|
isNewTab,
|
|
15015
14996
|
discuss
|
|
15016
14997
|
}) {
|
|
15017
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
15018
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
14998
|
+
const status = typeof _optionalChain([chatRef, 'access', _325 => _325.metadata, 'optionalAccess', _326 => _326.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
14999
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _327 => _327.metadata, 'optionalAccess', _328 => _328.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
15019
15000
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
15020
15001
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15021
15002
|
MingoInfoCard,
|
|
@@ -15038,7 +15019,7 @@ function FaqChatCard({
|
|
|
15038
15019
|
isNewTab,
|
|
15039
15020
|
discuss
|
|
15040
15021
|
}) {
|
|
15041
|
-
const section = typeof _optionalChain([chatRef, 'access',
|
|
15022
|
+
const section = typeof _optionalChain([chatRef, 'access', _329 => _329.metadata, 'optionalAccess', _330 => _330.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
|
|
15042
15023
|
const statusLabel = section && section.length > 0 ? section : "FAQ";
|
|
15043
15024
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15044
15025
|
MingoInfoCard,
|
|
@@ -15058,7 +15039,7 @@ function SlackChatCard({
|
|
|
15058
15039
|
isNewTab,
|
|
15059
15040
|
discuss
|
|
15060
15041
|
}) {
|
|
15061
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
15042
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _331 => _331.metadata, 'optionalAccess', _332 => _332.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
15062
15043
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
15063
15044
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
15064
15045
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -15101,7 +15082,7 @@ function TrustCenterChatCard({
|
|
|
15101
15082
|
isNewTab,
|
|
15102
15083
|
discuss
|
|
15103
15084
|
}) {
|
|
15104
|
-
const raw = _optionalChain([item, 'optionalAccess',
|
|
15085
|
+
const raw = _optionalChain([item, 'optionalAccess', _333 => _333.frameworks]);
|
|
15105
15086
|
const frameworks = Array.isArray(raw) ? raw : [];
|
|
15106
15087
|
const summary = _chunk6NTPY5QAcjs.trustFrameworksSummary.call(void 0, frameworks);
|
|
15107
15088
|
const leadFramework = frameworks[0];
|
|
@@ -15150,7 +15131,7 @@ function GenericFinancialChatCard({
|
|
|
15150
15131
|
isNewTab,
|
|
15151
15132
|
discuss
|
|
15152
15133
|
}) {
|
|
15153
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
15134
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _334 => _334.metadata, 'optionalAccess', _335 => _335.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
15154
15135
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15155
15136
|
MingoInfoCard,
|
|
15156
15137
|
{
|
|
@@ -15219,12 +15200,12 @@ function ProductReleaseChatCard({
|
|
|
15219
15200
|
discuss
|
|
15220
15201
|
}) {
|
|
15221
15202
|
const releaseProps = buildProps(item);
|
|
15222
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
15203
|
+
const status = _optionalChain([item, 'optionalAccess', _336 => _336.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
15223
15204
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15224
15205
|
EntityMingoCard,
|
|
15225
15206
|
{
|
|
15226
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15227
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15207
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _337 => _337.title]), () => ( "")),
|
|
15208
|
+
description: _optionalChain([item, 'optionalAccess', _338 => _338.summary]) || releaseProps.formattedDate || void 0,
|
|
15228
15209
|
cover: releaseProps.coverImage || void 0,
|
|
15229
15210
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Rocket02Icon, { size: 24 }),
|
|
15230
15211
|
status,
|
|
@@ -15241,17 +15222,17 @@ function CampaignChatCard({
|
|
|
15241
15222
|
isNewTab,
|
|
15242
15223
|
discuss
|
|
15243
15224
|
}) {
|
|
15244
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
15225
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _339 => _339.goals])) ? item.goals.length : 0;
|
|
15245
15226
|
const meta = [
|
|
15246
|
-
_optionalChain([item, 'optionalAccess',
|
|
15227
|
+
_optionalChain([item, 'optionalAccess', _340 => _340.start_date]) ? _chunk6NTPY5QAcjs.formatDateShort.call(void 0, item.start_date) : null,
|
|
15247
15228
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
15248
15229
|
"Marketing campaign"
|
|
15249
15230
|
].filter(Boolean).join(" \xB7 ");
|
|
15250
15231
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15251
15232
|
EntityMingoCard,
|
|
15252
15233
|
{
|
|
15253
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15254
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
15234
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _341 => _341.name]), () => ( "")),
|
|
15235
|
+
description: meta || _optionalChain([item, 'optionalAccess', _342 => _342.description]) || void 0,
|
|
15255
15236
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.Megaphone01Icon, { size: 24 }),
|
|
15256
15237
|
chatRef,
|
|
15257
15238
|
isNewTab,
|
|
@@ -15306,14 +15287,14 @@ function BlogChatCard({
|
|
|
15306
15287
|
hasEmbeddedVideo,
|
|
15307
15288
|
discuss
|
|
15308
15289
|
}) {
|
|
15309
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
15290
|
+
const category = Array.isArray(_optionalChain([item, 'optionalAccess', _343 => _343.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _344 => _344.categories, 'access', _345 => _345.find, 'call', _346 => _346((c) => _optionalChain([c, 'optionalAccess', _347 => _347.name])), 'optionalAccess', _348 => _348.name]), () => ( void 0)) : void 0;
|
|
15310
15291
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
15311
15292
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15312
15293
|
EntityMingoCard,
|
|
15313
15294
|
{
|
|
15314
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15315
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15316
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15295
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _349 => _349.title]), () => ( "")),
|
|
15296
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _350 => _350.summary]), () => ( void 0)),
|
|
15297
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _351 => _351.featured_image]), ogPlaceholder),
|
|
15317
15298
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.NewspaperIcon, { size: 24 }),
|
|
15318
15299
|
status,
|
|
15319
15300
|
chatRef,
|
|
@@ -15330,13 +15311,13 @@ function CaseStudyChatCard({
|
|
|
15330
15311
|
ogPlaceholder,
|
|
15331
15312
|
discuss
|
|
15332
15313
|
}) {
|
|
15333
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15314
|
+
const meta = [_optionalChain([item, 'optionalAccess', _352 => _352.msp, 'optionalAccess', _353 => _353.name]), _optionalChain([item, 'optionalAccess', _354 => _354.user, 'optionalAccess', _355 => _355.full_name])].filter(Boolean).join(" \xB7 ");
|
|
15334
15315
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15335
15316
|
EntityMingoCard,
|
|
15336
15317
|
{
|
|
15337
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15338
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15339
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15318
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _356 => _356.title]), () => ( "")),
|
|
15319
|
+
description: _optionalChain([item, 'optionalAccess', _357 => _357.summary]) || meta || void 0,
|
|
15320
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _358 => _358.featured_image]), ogPlaceholder),
|
|
15340
15321
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TrophyIcon, { size: 24 }),
|
|
15341
15322
|
status: { label: "Case study", variant: "grey" },
|
|
15342
15323
|
chatRef,
|
|
@@ -15353,13 +15334,13 @@ function CustomerInterviewChatCard({
|
|
|
15353
15334
|
ogPlaceholder,
|
|
15354
15335
|
discuss
|
|
15355
15336
|
}) {
|
|
15356
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
15337
|
+
const meta = [_optionalChain([item, 'optionalAccess', _359 => _359.user, 'optionalAccess', _360 => _360.full_name]), _optionalChain([item, 'optionalAccess', _361 => _361.msp, 'optionalAccess', _362 => _362.name])].filter(Boolean).join(" \xB7 ");
|
|
15357
15338
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15358
15339
|
EntityMingoCard,
|
|
15359
15340
|
{
|
|
15360
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15361
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15362
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15341
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _363 => _363.title]), () => ( "")),
|
|
15342
|
+
description: _optionalChain([item, 'optionalAccess', _364 => _364.video_summary]) || meta || void 0,
|
|
15343
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _365 => _365.featured_image]), ogPlaceholder),
|
|
15363
15344
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.MicrophoneIcon, { size: 24 }),
|
|
15364
15345
|
status: { label: "Interview", variant: "grey" },
|
|
15365
15346
|
chatRef,
|
|
@@ -15376,12 +15357,12 @@ function DesignDocChatCard({
|
|
|
15376
15357
|
discuss
|
|
15377
15358
|
}) {
|
|
15378
15359
|
const displayRef = fetchedItemDisplayRef(item, chatRef);
|
|
15379
|
-
const doc = _optionalChain([item, 'optionalAccess',
|
|
15360
|
+
const doc = _optionalChain([item, 'optionalAccess', _366 => _366.doc]);
|
|
15380
15361
|
const readiness = doc ? DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)] : null;
|
|
15381
15362
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15382
15363
|
MingoInfoCard,
|
|
15383
15364
|
{
|
|
15384
|
-
title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess',
|
|
15365
|
+
title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _367 => _367.title]), () => ( displayRef.title)),
|
|
15385
15366
|
description: doc ? [designDocMetaLine(doc), formatCompletionLabel(doc.completion)].join(" \xB7 ") : _nullishCoalesce(displayRef.preview, () => ( void 0)),
|
|
15386
15367
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.FileContentIcon, { size: 24 }),
|
|
15387
15368
|
status: readiness ? { label: readiness.label, variant: readiness.scheme === "success" ? "success" : "grey" } : { label: "Design doc", variant: "grey" },
|
|
@@ -15398,13 +15379,13 @@ function InvestorUpdateChatCard({
|
|
|
15398
15379
|
ogPlaceholder,
|
|
15399
15380
|
discuss
|
|
15400
15381
|
}) {
|
|
15401
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
15382
|
+
const title = _optionalChain([item, 'optionalAccess', _368 => _368.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _369 => _369.update_number]), () => ( "?"))}`;
|
|
15402
15383
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15403
15384
|
EntityMingoCard,
|
|
15404
15385
|
{
|
|
15405
15386
|
title,
|
|
15406
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
15407
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15387
|
+
description: _optionalChain([item, 'optionalAccess', _370 => _370.strategic_update]) || _optionalChain([item, 'optionalAccess', _371 => _371.content]) || _chunk6NTPY5QAcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _372 => _372.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _373 => _373.period_end]), () => ( null))) || void 0,
|
|
15388
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _374 => _374.featured_image]), ogPlaceholder),
|
|
15408
15389
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.PresentationLineIcon, { size: 24 }),
|
|
15409
15390
|
status: { label: "Investor update", variant: "grey" },
|
|
15410
15391
|
chatRef,
|
|
@@ -15421,12 +15402,12 @@ function OnboardingGuideChatCard({
|
|
|
15421
15402
|
ogPlaceholder,
|
|
15422
15403
|
discuss
|
|
15423
15404
|
}) {
|
|
15424
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
15405
|
+
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _375 => _375.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _376 => _376.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _377 => _377.og_image_url]), ogPlaceholder)));
|
|
15425
15406
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15426
15407
|
EntityMingoCard,
|
|
15427
15408
|
{
|
|
15428
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15429
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15409
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _378 => _378.title]), () => ( "")),
|
|
15410
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _379 => _379.summary]), () => ( _optionalChain([item, 'optionalAccess', _380 => _380.description]))), () => ( void 0)),
|
|
15430
15411
|
cover,
|
|
15431
15412
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CompassIcon, { size: 24 }),
|
|
15432
15413
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -15451,9 +15432,9 @@ function ProgramChatCard({
|
|
|
15451
15432
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15452
15433
|
EntityMingoCard,
|
|
15453
15434
|
{
|
|
15454
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15455
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
15456
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
15435
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _381 => _381.title]), () => ( "")),
|
|
15436
|
+
description: meta || _optionalChain([item, 'optionalAccess', _382 => _382.description]) || void 0,
|
|
15437
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _383 => _383.cover_url]), ogPlaceholder),
|
|
15457
15438
|
fallbackIcon: icon,
|
|
15458
15439
|
status: { label, variant: "grey" },
|
|
15459
15440
|
chatRef,
|
|
@@ -15470,10 +15451,10 @@ function RoadmapChatCard({
|
|
|
15470
15451
|
cardType,
|
|
15471
15452
|
discuss
|
|
15472
15453
|
}) {
|
|
15473
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
15474
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
15454
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _384 => _384.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
15455
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _385 => _385.customItemId]) != null;
|
|
15475
15456
|
const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.MapIcon, { size: 24 });
|
|
15476
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess',
|
|
15457
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _386 => _386.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
15477
15458
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
15478
15459
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
15479
15460
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGHIV4L6cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
|
|
@@ -15484,10 +15465,10 @@ function RoadmapChatCard({
|
|
|
15484
15465
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15485
15466
|
EntityMingoCard,
|
|
15486
15467
|
{
|
|
15487
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15488
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15468
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _387 => _387.title]), () => ( "")),
|
|
15469
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _388 => _388.description]), () => ( void 0)),
|
|
15489
15470
|
fallbackIcon: icon,
|
|
15490
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
15471
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _389 => _389.status])),
|
|
15491
15472
|
chatRef,
|
|
15492
15473
|
isNewTab,
|
|
15493
15474
|
discuss,
|
|
@@ -15503,7 +15484,7 @@ function refHydratedEntry(docType, label, renderRef) {
|
|
|
15503
15484
|
bareInline: true,
|
|
15504
15485
|
contentRefType: docType,
|
|
15505
15486
|
noComposedHref: true,
|
|
15506
|
-
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15487
|
+
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _390 => _390.url]), () => ( null)),
|
|
15507
15488
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15508
15489
|
render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
|
|
15509
15490
|
};
|
|
@@ -15577,8 +15558,8 @@ function refGlyphRegistryEntries() {
|
|
|
15577
15558
|
title: displayRef.title,
|
|
15578
15559
|
description: _nullishCoalesce(displayRef.preview, () => ( void 0)),
|
|
15579
15560
|
cover: entityCover(
|
|
15580
|
-
_optionalChain([displayRef, 'access',
|
|
15581
|
-
_nullishCoalesce(_optionalChain([opts, 'access',
|
|
15561
|
+
_optionalChain([displayRef, 'access', _391 => _391.metadata, 'optionalAccess', _392 => _392.videoPoster]),
|
|
15562
|
+
_nullishCoalesce(_optionalChain([opts, 'access', _393 => _393.extras, 'optionalAccess', _394 => _394.buildOgPlaceholderUrl, 'optionalCall', _395 => _395(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
|
|
15582
15563
|
),
|
|
15583
15564
|
fallbackIcon: cfg.icon(),
|
|
15584
15565
|
status: { label: cfg.label, variant: "grey" },
|
|
@@ -15593,9 +15574,9 @@ function refGlyphRegistryEntries() {
|
|
|
15593
15574
|
}
|
|
15594
15575
|
function fetchedEmployeeEntryDisplayRef(item, chatRef) {
|
|
15595
15576
|
const it = item;
|
|
15596
|
-
const title = typeof _optionalChain([it, 'optionalAccess',
|
|
15597
|
-
const author = typeof _optionalChain([it, 'optionalAccess',
|
|
15598
|
-
const summary = typeof _optionalChain([it, 'optionalAccess',
|
|
15577
|
+
const title = typeof _optionalChain([it, 'optionalAccess', _396 => _396.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
|
|
15578
|
+
const author = typeof _optionalChain([it, 'optionalAccess', _397 => _397.author, 'optionalAccess', _398 => _398.full_name]) === "string" ? it.author.full_name.trim() : "";
|
|
15579
|
+
const summary = typeof _optionalChain([it, 'optionalAccess', _399 => _399.summary]) === "string" ? it.summary.trim() : "";
|
|
15599
15580
|
const preview = [author, summary].filter((x) => x.length > 0).join(" \xB7 ");
|
|
15600
15581
|
return { ...chatRef, title, preview: preview.length > 0 ? preview : chatRef.preview };
|
|
15601
15582
|
}
|
|
@@ -15647,7 +15628,7 @@ function programRegistryEntries() {
|
|
|
15647
15628
|
discuss: opts.discuss,
|
|
15648
15629
|
configKey: cfg.configKey,
|
|
15649
15630
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
15650
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15631
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _400 => _400.extras, 'optionalAccess', _401 => _401.buildOgPlaceholderUrl, 'optionalCall', _402 => _402(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _403 => _403.title]), () => ( "")))]), () => ( null))
|
|
15651
15632
|
}
|
|
15652
15633
|
)
|
|
15653
15634
|
}));
|
|
@@ -15668,7 +15649,7 @@ var ROADMAP_CARD_CONFIGS = {
|
|
|
15668
15649
|
// The card's destination IS the ClickUp deep link, derived from the
|
|
15669
15650
|
// task id post-fetch (the refs frame used to carry it).
|
|
15670
15651
|
noComposedHref: true,
|
|
15671
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15652
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _404 => _404.id]) != null ? clickupTaskUrl(String(item.id)) : null
|
|
15672
15653
|
}
|
|
15673
15654
|
};
|
|
15674
15655
|
function roadmapRegistryEntries() {
|
|
@@ -15710,8 +15691,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15710
15691
|
DeletedDataCard,
|
|
15711
15692
|
{
|
|
15712
15693
|
title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
|
|
15713
|
-
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
15714
|
-
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
15694
|
+
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _405 => _405.metadata, 'optionalAccess', _406 => _406.entity_label]), () => ( null)),
|
|
15695
|
+
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _407 => _407.metadata, 'optionalAccess', _408 => _408.recovery_note]), () => ( null))
|
|
15715
15696
|
}
|
|
15716
15697
|
)
|
|
15717
15698
|
},
|
|
@@ -15728,7 +15709,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15728
15709
|
bareInline: true,
|
|
15729
15710
|
contentRefType: "faq",
|
|
15730
15711
|
noComposedHref: true,
|
|
15731
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15712
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _409 => _409.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
|
|
15732
15713
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15733
15714
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15734
15715
|
},
|
|
@@ -15775,8 +15756,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15775
15756
|
chatRef,
|
|
15776
15757
|
isNewTab: opts.isNewTab,
|
|
15777
15758
|
discuss: opts.discuss,
|
|
15778
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15779
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
15759
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _410 => _410.extras, 'optionalAccess', _411 => _411.buildOgPlaceholderUrl, 'optionalCall', _412 => _412(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _413 => _413.title]), () => ( "")))]), () => ( null)),
|
|
15760
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _414 => _414.metadata, 'optionalAccess', _415 => _415.hasEmbeddedVideo]) === true
|
|
15780
15761
|
}
|
|
15781
15762
|
)
|
|
15782
15763
|
},
|
|
@@ -15792,7 +15773,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15792
15773
|
chatRef,
|
|
15793
15774
|
isNewTab: opts.isNewTab,
|
|
15794
15775
|
discuss: opts.discuss,
|
|
15795
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15776
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _416 => _416.extras, 'optionalAccess', _417 => _417.buildOgPlaceholderUrl, 'optionalCall', _418 => _418(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _419 => _419.title]), () => ( "")))]), () => ( null))
|
|
15796
15777
|
}
|
|
15797
15778
|
)
|
|
15798
15779
|
},
|
|
@@ -15801,7 +15782,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15801
15782
|
contentRefType: "design_doc",
|
|
15802
15783
|
bareInline: true,
|
|
15803
15784
|
noComposedHref: true,
|
|
15804
|
-
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
15785
|
+
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _420 => _420.url]), () => ( null)),
|
|
15805
15786
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
15806
15787
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesignDocChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15807
15788
|
},
|
|
@@ -15817,7 +15798,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15817
15798
|
chatRef,
|
|
15818
15799
|
isNewTab: opts.isNewTab,
|
|
15819
15800
|
discuss: opts.discuss,
|
|
15820
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15801
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _421 => _421.extras, 'optionalAccess', _422 => _422.buildOgPlaceholderUrl, 'optionalCall', _423 => _423(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _424 => _424.title]), () => ( "")))]), () => ( null))
|
|
15821
15802
|
}
|
|
15822
15803
|
)
|
|
15823
15804
|
},
|
|
@@ -15827,7 +15808,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15827
15808
|
bareInline: true,
|
|
15828
15809
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.ProductReleaseCardSkeleton, { size: "sm" }),
|
|
15829
15810
|
render: (item, chatRef, opts) => {
|
|
15830
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15811
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _425 => _425.extras, 'optionalAccess', _426 => _426.buildProductReleaseCardProps]), () => ( _chunk6NTPY5QAcjs.defaultBuildProductReleaseCardProps));
|
|
15831
15812
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15832
15813
|
ProductReleaseChatCard,
|
|
15833
15814
|
{
|
|
@@ -15853,7 +15834,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15853
15834
|
chatRef,
|
|
15854
15835
|
isNewTab: opts.isNewTab,
|
|
15855
15836
|
discuss: opts.discuss,
|
|
15856
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15837
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _427 => _427.extras, 'optionalAccess', _428 => _428.buildOgPlaceholderUrl, 'optionalCall', _429 => _429(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _430 => _430.title]), () => ( "")))]), () => ( null))
|
|
15857
15838
|
}
|
|
15858
15839
|
)
|
|
15859
15840
|
},
|
|
@@ -15871,7 +15852,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15871
15852
|
chatRef,
|
|
15872
15853
|
isNewTab: opts.isNewTab,
|
|
15873
15854
|
discuss: opts.discuss,
|
|
15874
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
15855
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _431 => _431.extras, 'optionalAccess', _432 => _432.buildOgPlaceholderUrl, 'optionalCall', _433 => _433(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _434 => _434.title]), () => ( "")))]), () => ( null))
|
|
15875
15856
|
}
|
|
15876
15857
|
)
|
|
15877
15858
|
},
|
|
@@ -15882,13 +15863,13 @@ var CHAT_CARD_REGISTRY = {
|
|
|
15882
15863
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
15883
15864
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
15884
15865
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
15885
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
15866
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _435 => _435.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
|
|
15886
15867
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
15887
15868
|
},
|
|
15888
15869
|
...roadmapRegistryEntries()
|
|
15889
15870
|
};
|
|
15890
15871
|
function chatCardLabel(docType) {
|
|
15891
|
-
return _optionalChain([CHAT_CARD_REGISTRY, 'access',
|
|
15872
|
+
return _optionalChain([CHAT_CARD_REGISTRY, 'access', _436 => _436[docType], 'optionalAccess', _437 => _437.label]);
|
|
15892
15873
|
}
|
|
15893
15874
|
function ChatCardNavWrap({
|
|
15894
15875
|
href,
|
|
@@ -15904,13 +15885,13 @@ function ChatCardNavWrap({
|
|
|
15904
15885
|
if (!href) return;
|
|
15905
15886
|
const targetEl = e.target;
|
|
15906
15887
|
const host = e.currentTarget;
|
|
15907
|
-
if (!_optionalChain([host, 'optionalAccess',
|
|
15908
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
15909
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
15888
|
+
if (!_optionalChain([host, 'optionalAccess', _438 => _438.contains, 'call', _439 => _439(targetEl)])) return;
|
|
15889
|
+
if (_optionalChain([targetEl, 'optionalAccess', _440 => _440.closest, 'optionalCall', _441 => _441("button")])) return;
|
|
15890
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _442 => _442.closest, 'optionalCall', _443 => _443("a")])) return;
|
|
15910
15891
|
const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
|
|
15911
15892
|
if (!handled) return;
|
|
15912
15893
|
e.stopPropagation();
|
|
15913
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
15894
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _444 => _444.closeChat])) panel.closeChat();
|
|
15914
15895
|
};
|
|
15915
15896
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
15916
15897
|
}
|
|
@@ -15926,7 +15907,7 @@ function ChatCardLoader({
|
|
|
15926
15907
|
const entry = CHAT_CARD_REGISTRY[chatRef.type];
|
|
15927
15908
|
const fetchEntry = entry && entry.contentRefType ? entry : null;
|
|
15928
15909
|
const { item, isLoading, isError, isFetched } = useChatCardItem(
|
|
15929
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
15910
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _445 => _445.contentRefType]), () => ( "")),
|
|
15930
15911
|
fetchEntry ? chatRef.id : ""
|
|
15931
15912
|
);
|
|
15932
15913
|
if (!entry) return null;
|
|
@@ -15970,7 +15951,7 @@ function ChatCardLoader({
|
|
|
15970
15951
|
isNewTab,
|
|
15971
15952
|
discuss
|
|
15972
15953
|
};
|
|
15973
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
15954
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _446 => _446.metadata, 'optionalAccess', _447 => _447.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
15974
15955
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15975
15956
|
ChatCardNavWrap,
|
|
15976
15957
|
{
|
|
@@ -15994,7 +15975,7 @@ function ChatCardLoader({
|
|
|
15994
15975
|
if (!fetchEntry) {
|
|
15995
15976
|
return finish(entry.render(void 0, finalChatRef, renderOpts));
|
|
15996
15977
|
}
|
|
15997
|
-
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access',
|
|
15978
|
+
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _448 => _448.skeleton, 'optionalCall', _449 => _449()]), () => ( null)) });
|
|
15998
15979
|
if (!item) {
|
|
15999
15980
|
if (isError) {
|
|
16000
15981
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
|
|
@@ -16302,7 +16283,7 @@ function useChunkCatchup({
|
|
|
16302
16283
|
if (catchupRun.current === run) {
|
|
16303
16284
|
if (currentDialogId !== dialogIdRef.current) {
|
|
16304
16285
|
catchupRun.current = null;
|
|
16305
|
-
if (_optionalChain([pendingCatchupRef, 'access',
|
|
16286
|
+
if (_optionalChain([pendingCatchupRef, 'access', _450 => _450.current, 'optionalAccess', _451 => _451.dialogId]) === currentDialogId) {
|
|
16306
16287
|
pendingCatchupRef.current = null;
|
|
16307
16288
|
}
|
|
16308
16289
|
} else {
|
|
@@ -16313,7 +16294,7 @@ function useChunkCatchup({
|
|
|
16313
16294
|
if (pending.dialogId === currentDialogId) {
|
|
16314
16295
|
rearmForQueuedCatchup();
|
|
16315
16296
|
try {
|
|
16316
|
-
await _optionalChain([catchUpChunksRef, 'access',
|
|
16297
|
+
await _optionalChain([catchUpChunksRef, 'access', _452 => _452.current, 'optionalCall', _453 => _453(pending.fromSequenceId)]);
|
|
16317
16298
|
} catch (rerunError) {
|
|
16318
16299
|
console.error("Queued catch-up re-run failed:", rerunError);
|
|
16319
16300
|
}
|
|
@@ -16380,7 +16361,7 @@ function useChunkCatchup({
|
|
|
16380
16361
|
|
|
16381
16362
|
var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
|
|
16382
16363
|
function prefersReducedMotion() {
|
|
16383
|
-
return typeof window !== "undefined" && _optionalChain([window, 'access',
|
|
16364
|
+
return typeof window !== "undefined" && _optionalChain([window, 'access', _454 => _454.matchMedia, 'optionalCall', _455 => _455("(prefers-reduced-motion: reduce)"), 'access', _456 => _456.matches]) === true;
|
|
16384
16365
|
}
|
|
16385
16366
|
function useScriptedStream(frames, resetKey, enabled = true) {
|
|
16386
16367
|
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
@@ -16391,7 +16372,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
|
|
|
16391
16372
|
setIndex(0);
|
|
16392
16373
|
}
|
|
16393
16374
|
_react.useEffect.call(void 0, () => {
|
|
16394
|
-
const mq = _optionalChain([window, 'access',
|
|
16375
|
+
const mq = _optionalChain([window, 'access', _457 => _457.matchMedia, 'optionalCall', _458 => _458("(prefers-reduced-motion: reduce)")]);
|
|
16395
16376
|
const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
|
|
16396
16377
|
sync();
|
|
16397
16378
|
if (!mq) return void 0;
|
|
@@ -16534,7 +16515,7 @@ function useJetStreamDialogSubscription({
|
|
|
16534
16515
|
const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
|
|
16535
16516
|
conn: sharedConn,
|
|
16536
16517
|
wsUrl,
|
|
16537
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16518
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _459 => _459.current, 'optionalCall', _460 => _460()]),
|
|
16538
16519
|
backoff: reconnectionBackoffRef.current,
|
|
16539
16520
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16540
16521
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -16549,7 +16530,7 @@ function useJetStreamDialogSubscription({
|
|
|
16549
16530
|
setReconnectionCount((c) => c + 1);
|
|
16550
16531
|
}
|
|
16551
16532
|
hadConnectionBeforeRef.current = true;
|
|
16552
|
-
_optionalChain([onConnectRef, 'access',
|
|
16533
|
+
_optionalChain([onConnectRef, 'access', _461 => _461.current, 'optionalCall', _462 => _462()]);
|
|
16553
16534
|
}
|
|
16554
16535
|
if (status === "error") {
|
|
16555
16536
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -16559,7 +16540,7 @@ function useJetStreamDialogSubscription({
|
|
|
16559
16540
|
setIsConnected(false);
|
|
16560
16541
|
setIsSubscribed(false);
|
|
16561
16542
|
tearDownSubscription();
|
|
16562
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16543
|
+
_optionalChain([onDisconnectRef, 'access', _463 => _463.current, 'optionalCall', _464 => _464()]);
|
|
16563
16544
|
}
|
|
16564
16545
|
}
|
|
16565
16546
|
});
|
|
@@ -16685,7 +16666,7 @@ function useJetStreamDialogSubscription({
|
|
|
16685
16666
|
}
|
|
16686
16667
|
subscriptionRef.current = handle;
|
|
16687
16668
|
setIsSubscribed(true);
|
|
16688
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16669
|
+
_optionalChain([onSubscribedRef, 'access', _465 => _465.current, 'optionalCall', _466 => _466()]);
|
|
16689
16670
|
} catch (e21) {
|
|
16690
16671
|
if (!cancelled) {
|
|
16691
16672
|
setIsSubscribed(false);
|
|
@@ -16801,20 +16782,20 @@ function useNatsDialogSubscription({
|
|
|
16801
16782
|
const tearDownSubscriptions = () => {
|
|
16802
16783
|
subscriptionRefs.current.forEach((sub) => {
|
|
16803
16784
|
try {
|
|
16804
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16785
|
+
_optionalChain([sub, 'optionalAccess', _467 => _467.unsubscribe, 'call', _468 => _468()]);
|
|
16805
16786
|
} catch (e23) {
|
|
16806
16787
|
}
|
|
16807
16788
|
});
|
|
16808
16789
|
subscriptionRefs.current.clear();
|
|
16809
16790
|
lastSubscribedDialogIdRef.current = null;
|
|
16810
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16791
|
+
_optionalChain([abortControllerRef, 'access', _469 => _469.current, 'optionalAccess', _470 => _470.abort, 'call', _471 => _471()]);
|
|
16811
16792
|
abortControllerRef.current = null;
|
|
16812
16793
|
};
|
|
16813
16794
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
|
|
16814
16795
|
const lifecycle = _chunkG7SBHMRRcjs.startConnectionLifecycle.call(void 0, {
|
|
16815
16796
|
conn: sharedConn,
|
|
16816
16797
|
wsUrl,
|
|
16817
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
16798
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _472 => _472.current, 'optionalCall', _473 => _473()]),
|
|
16818
16799
|
backoff: reconnectionBackoffRef.current,
|
|
16819
16800
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
16820
16801
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -16825,7 +16806,7 @@ function useNatsDialogSubscription({
|
|
|
16825
16806
|
setReconnectionCount((c) => c + 1);
|
|
16826
16807
|
}
|
|
16827
16808
|
hadConnectionBeforeRef.current = true;
|
|
16828
|
-
_optionalChain([onConnectRef, 'access',
|
|
16809
|
+
_optionalChain([onConnectRef, 'access', _474 => _474.current, 'optionalCall', _475 => _475()]);
|
|
16829
16810
|
}
|
|
16830
16811
|
if (status === "error") {
|
|
16831
16812
|
console.warn("[NATS] protocol error:", evt.data);
|
|
@@ -16835,7 +16816,7 @@ function useNatsDialogSubscription({
|
|
|
16835
16816
|
setIsConnected(false);
|
|
16836
16817
|
setIsSubscribed(false);
|
|
16837
16818
|
tearDownSubscriptions();
|
|
16838
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
16819
|
+
_optionalChain([onDisconnectRef, 'access', _476 => _476.current, 'optionalCall', _477 => _477()]);
|
|
16839
16820
|
}
|
|
16840
16821
|
}
|
|
16841
16822
|
});
|
|
@@ -16866,13 +16847,13 @@ function useNatsDialogSubscription({
|
|
|
16866
16847
|
setIsSubscribed(false);
|
|
16867
16848
|
subscriptionRefs.current.forEach((sub) => {
|
|
16868
16849
|
try {
|
|
16869
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16850
|
+
_optionalChain([sub, 'optionalAccess', _478 => _478.unsubscribe, 'call', _479 => _479()]);
|
|
16870
16851
|
} catch (e24) {
|
|
16871
16852
|
}
|
|
16872
16853
|
});
|
|
16873
16854
|
subscriptionRefs.current.clear();
|
|
16874
16855
|
lastSubscribedDialogIdRef.current = null;
|
|
16875
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16856
|
+
_optionalChain([abortControllerRef, 'access', _480 => _480.current, 'optionalAccess', _481 => _481.abort, 'call', _482 => _482()]);
|
|
16876
16857
|
abortControllerRef.current = null;
|
|
16877
16858
|
}
|
|
16878
16859
|
return void 0;
|
|
@@ -16884,12 +16865,12 @@ function useNatsDialogSubscription({
|
|
|
16884
16865
|
if (subscriptionRefs.current.size > 0) {
|
|
16885
16866
|
subscriptionRefs.current.forEach((sub) => {
|
|
16886
16867
|
try {
|
|
16887
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16868
|
+
_optionalChain([sub, 'optionalAccess', _483 => _483.unsubscribe, 'call', _484 => _484()]);
|
|
16888
16869
|
} catch (e25) {
|
|
16889
16870
|
}
|
|
16890
16871
|
});
|
|
16891
16872
|
subscriptionRefs.current.clear();
|
|
16892
|
-
_optionalChain([abortControllerRef, 'access',
|
|
16873
|
+
_optionalChain([abortControllerRef, 'access', _485 => _485.current, 'optionalAccess', _486 => _486.abort, 'call', _487 => _487()]);
|
|
16893
16874
|
}
|
|
16894
16875
|
abortControllerRef.current = new AbortController();
|
|
16895
16876
|
const abort = abortControllerRef.current;
|
|
@@ -16919,7 +16900,7 @@ function useNatsDialogSubscription({
|
|
|
16919
16900
|
});
|
|
16920
16901
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
16921
16902
|
setIsSubscribed(true);
|
|
16922
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16903
|
+
_optionalChain([onSubscribedRef, 'access', _488 => _488.current, 'optionalCall', _489 => _489()]);
|
|
16923
16904
|
};
|
|
16924
16905
|
if (isConnectedRef.current) {
|
|
16925
16906
|
createSubscriptions();
|
|
@@ -16930,7 +16911,7 @@ function useNatsDialogSubscription({
|
|
|
16930
16911
|
abort.abort();
|
|
16931
16912
|
subscriptions.forEach((sub) => {
|
|
16932
16913
|
try {
|
|
16933
|
-
_optionalChain([sub, 'optionalAccess',
|
|
16914
|
+
_optionalChain([sub, 'optionalAccess', _490 => _490.unsubscribe, 'call', _491 => _491()]);
|
|
16934
16915
|
} catch (e27) {
|
|
16935
16916
|
}
|
|
16936
16917
|
});
|
|
@@ -16969,7 +16950,7 @@ function useNatsDialogSubscription({
|
|
|
16969
16950
|
});
|
|
16970
16951
|
lastSubscribedDialogIdRef.current = currentDialogId;
|
|
16971
16952
|
setIsSubscribed(true);
|
|
16972
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
16953
|
+
_optionalChain([onSubscribedRef, 'access', _492 => _492.current, 'optionalCall', _493 => _493()]);
|
|
16973
16954
|
} else if (subscriptionRefs.current.size > 0) {
|
|
16974
16955
|
setIsSubscribed(true);
|
|
16975
16956
|
}
|
|
@@ -16977,10 +16958,10 @@ function useNatsDialogSubscription({
|
|
|
16977
16958
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
16978
16959
|
}
|
|
16979
16960
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
16980
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
16961
|
+
const path = _optionalChain([options, 'optionalAccess', _494 => _494.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
16981
16962
|
const u = new URL(path, apiBaseUrl);
|
|
16982
16963
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
16983
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
16964
|
+
if (_optionalChain([options, 'optionalAccess', _495 => _495.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _496 => _496.token])) {
|
|
16984
16965
|
u.searchParams.set("authorization", options.token);
|
|
16985
16966
|
}
|
|
16986
16967
|
return u.toString();
|
|
@@ -16998,7 +16979,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
16998
16979
|
const data = await res.json();
|
|
16999
16980
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
17000
16981
|
} catch (err) {
|
|
17001
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
16982
|
+
if (_optionalChain([err, 'optionalAccess', _497 => _497.name]) === "AbortError") throw err;
|
|
17002
16983
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
17003
16984
|
return [];
|
|
17004
16985
|
}
|
|
@@ -17006,8 +16987,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
17006
16987
|
var NO_COMMANDS = [];
|
|
17007
16988
|
function useSlashCommands(prefix, commandsUrl) {
|
|
17008
16989
|
const [answered, setAnswered] = _react.useState.call(void 0, null);
|
|
17009
|
-
const commands = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
17010
|
-
const loading = prefix != null && _optionalChain([answered, 'optionalAccess',
|
|
16990
|
+
const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _498 => _498.prefix]) === prefix ? answered.commands : NO_COMMANDS;
|
|
16991
|
+
const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _499 => _499.prefix]) !== prefix;
|
|
17011
16992
|
_react.useEffect.call(void 0, () => {
|
|
17012
16993
|
if (prefix == null) return void 0;
|
|
17013
16994
|
let cancelled = false;
|
|
@@ -17017,7 +16998,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
17017
16998
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
17018
16999
|
if (!cancelled) setAnswered({ prefix, commands: next });
|
|
17019
17000
|
} catch (err) {
|
|
17020
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
17001
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _500 => _500.name]) !== "AbortError") {
|
|
17021
17002
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
17022
17003
|
setAnswered({ prefix, commands: NO_COMMANDS });
|
|
17023
17004
|
}
|
|
@@ -17040,7 +17021,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
17040
17021
|
const query = _reactquery.useQuery.call(void 0, {
|
|
17041
17022
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
17042
17023
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
17043
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17024
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _501 => _501.enabled]), () => ( true)),
|
|
17044
17025
|
staleTime: Infinity,
|
|
17045
17026
|
gcTime: Infinity,
|
|
17046
17027
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -17079,21 +17060,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
17079
17060
|
}
|
|
17080
17061
|
const data = await res.json();
|
|
17081
17062
|
return {
|
|
17082
|
-
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17083
|
-
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17084
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17085
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17086
|
-
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17087
|
-
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
17063
|
+
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _502 => _502.name]), () => ( null)),
|
|
17064
|
+
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _503 => _503.icon]), () => ( null)),
|
|
17065
|
+
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _504 => _504.greeting]), () => ( null)),
|
|
17066
|
+
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _505 => _505.enabledRagTableIds]), () => ( [])),
|
|
17067
|
+
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _506 => _506.quickActions]), () => ( [])),
|
|
17068
|
+
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _507 => _507.suggestedQueries]), () => ( []))
|
|
17088
17069
|
};
|
|
17089
17070
|
} catch (err) {
|
|
17090
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
17071
|
+
if (_optionalChain([err, 'optionalAccess', _508 => _508.name]) === "AbortError") throw err;
|
|
17091
17072
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
17092
17073
|
return EMPTY_STATE_FALLBACK;
|
|
17093
17074
|
}
|
|
17094
17075
|
}
|
|
17095
17076
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
17096
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
17077
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _509 => _509.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
17097
17078
|
const query = _reactquery.useQuery.call(void 0, {
|
|
17098
17079
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
17099
17080
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -17122,7 +17103,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
17122
17103
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
17123
17104
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
17124
17105
|
return new Promise((resolve, reject) => {
|
|
17125
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
17106
|
+
if (_optionalChain([signal, 'optionalAccess', _510 => _510.aborted])) {
|
|
17126
17107
|
reject(new Error("Upload cancelled"));
|
|
17127
17108
|
return;
|
|
17128
17109
|
}
|
|
@@ -17164,7 +17145,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
17164
17145
|
const handleSignalAbort = () => {
|
|
17165
17146
|
xhr.abort();
|
|
17166
17147
|
};
|
|
17167
|
-
_optionalChain([signal, 'optionalAccess',
|
|
17148
|
+
_optionalChain([signal, 'optionalAccess', _511 => _511.addEventListener, 'call', _512 => _512("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
|
|
17168
17149
|
xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
|
|
17169
17150
|
xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
|
|
17170
17151
|
xhr.addEventListener("error", handleError, { signal: listeners.signal });
|
|
@@ -17208,10 +17189,10 @@ function useChatAttachments() {
|
|
|
17208
17189
|
try {
|
|
17209
17190
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
17210
17191
|
} catch (err) {
|
|
17211
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17192
|
+
if (_optionalChain([ctrl, 'optionalAccess', _513 => _513.signal, 'access', _514 => _514.aborted])) return;
|
|
17212
17193
|
throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
|
|
17213
17194
|
}
|
|
17214
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17195
|
+
if (_optionalChain([ctrl, 'optionalAccess', _515 => _515.signal, 'access', _516 => _516.aborted])) return;
|
|
17215
17196
|
if (!sniffed) {
|
|
17216
17197
|
throw new Error("Unrecognized file format");
|
|
17217
17198
|
}
|
|
@@ -17225,7 +17206,7 @@ function useChatAttachments() {
|
|
|
17225
17206
|
const urlResp = await _chunkLM7TXMLUcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
17226
17207
|
method: "POST",
|
|
17227
17208
|
headers: { "Content-Type": "application/json" },
|
|
17228
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
17209
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _517 => _517.signal]),
|
|
17229
17210
|
body: JSON.stringify({
|
|
17230
17211
|
fileName: att.file.name,
|
|
17231
17212
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -17254,9 +17235,9 @@ function useChatAttachments() {
|
|
|
17254
17235
|
(pct) => {
|
|
17255
17236
|
updateOne(att.id, { progress: pct });
|
|
17256
17237
|
},
|
|
17257
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
17238
|
+
_optionalChain([ctrl, 'optionalAccess', _518 => _518.signal])
|
|
17258
17239
|
);
|
|
17259
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17240
|
+
if (_optionalChain([ctrl, 'optionalAccess', _519 => _519.signal, 'access', _520 => _520.aborted])) return;
|
|
17260
17241
|
updateOne(att.id, {
|
|
17261
17242
|
status: "ready",
|
|
17262
17243
|
progress: 100,
|
|
@@ -17264,7 +17245,7 @@ function useChatAttachments() {
|
|
|
17264
17245
|
viewToken: mintData.viewToken
|
|
17265
17246
|
});
|
|
17266
17247
|
} catch (err) {
|
|
17267
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
17248
|
+
if (_optionalChain([ctrl, 'optionalAccess', _521 => _521.signal, 'access', _522 => _522.aborted])) return;
|
|
17268
17249
|
const message = err instanceof Error ? err.message : String(err);
|
|
17269
17250
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
|
|
17270
17251
|
} finally {
|
|
@@ -17413,11 +17394,11 @@ var ANON_DEFAULTS = {
|
|
|
17413
17394
|
function useResolveChatIdentity(enabled) {
|
|
17414
17395
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
17415
17396
|
const url = runtime.endpoints.identityUrl;
|
|
17416
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkLM7TXMLUcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
17397
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkLM7TXMLUcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _523 => _523.email]), () => ( null));
|
|
17417
17398
|
const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
|
|
17418
17399
|
const [resolved, setResolved] = _react.useState.call(void 0, null);
|
|
17419
|
-
const data = _optionalChain([resolved, 'optionalAccess',
|
|
17420
|
-
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess',
|
|
17400
|
+
const data = _optionalChain([resolved, 'optionalAccess', _524 => _524.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
|
|
17401
|
+
const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _525 => _525.key]) !== requestKey;
|
|
17421
17402
|
_react.useEffect.call(void 0, () => {
|
|
17422
17403
|
if (requestKey === null) return void 0;
|
|
17423
17404
|
let cancelled = false;
|
|
@@ -17564,7 +17545,7 @@ function useChat({
|
|
|
17564
17545
|
onMessagesChangeRef.current = onMessagesChange;
|
|
17565
17546
|
});
|
|
17566
17547
|
_react.useEffect.call(void 0, () => {
|
|
17567
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
17548
|
+
_optionalChain([onMessagesChangeRef, 'access', _526 => _526.current, 'optionalCall', _527 => _527(messages)]);
|
|
17568
17549
|
}, [messages]);
|
|
17569
17550
|
const {
|
|
17570
17551
|
streamMessage,
|
|
@@ -17601,7 +17582,7 @@ function useChat({
|
|
|
17601
17582
|
name: "You",
|
|
17602
17583
|
content: text2,
|
|
17603
17584
|
timestamp: /* @__PURE__ */ new Date(),
|
|
17604
|
-
..._optionalChain([options, 'optionalAccess',
|
|
17585
|
+
..._optionalChain([options, 'optionalAccess', _528 => _528.hidden]) ? { hidden: true } : {}
|
|
17605
17586
|
};
|
|
17606
17587
|
addMessage(userMessage);
|
|
17607
17588
|
setIsTyping(true);
|
|
@@ -17815,7 +17796,7 @@ function buildConfirmToolBody(request) {
|
|
|
17815
17796
|
async function readServerErrorMessage(response) {
|
|
17816
17797
|
try {
|
|
17817
17798
|
const body = await response.json();
|
|
17818
|
-
if (typeof _optionalChain([body, 'optionalAccess',
|
|
17799
|
+
if (typeof _optionalChain([body, 'optionalAccess', _529 => _529.error]) === "string" && body.error.length > 0) return body.error;
|
|
17819
17800
|
} catch (e29) {
|
|
17820
17801
|
}
|
|
17821
17802
|
return null;
|
|
@@ -18143,7 +18124,7 @@ function youtubeVideoId(value) {
|
|
|
18143
18124
|
const hostname = parsed.hostname.toLowerCase();
|
|
18144
18125
|
const isYoutubeHost = hostname === "youtu.be" || hostname === "youtube.com" || hostname.endsWith(".youtube.com");
|
|
18145
18126
|
if (!isYoutubeHost) return void 0;
|
|
18146
|
-
const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access',
|
|
18127
|
+
const fromPath = hostname === "youtu.be" ? parsed.pathname.split("/").filter(Boolean)[0] : _optionalChain([/^\/(?:embed|v|shorts)\/([A-Za-z0-9_-]{11})(?:\/|$)/, 'access', _530 => _530.exec, 'call', _531 => _531(parsed.pathname), 'optionalAccess', _532 => _532[1]]);
|
|
18147
18128
|
const id = _nullishCoalesce(_nullishCoalesce(fromPath, () => ( parsed.searchParams.get("v"))), () => ( void 0));
|
|
18148
18129
|
return id && YOUTUBE_ID.test(id) ? id : void 0;
|
|
18149
18130
|
}
|
|
@@ -18262,11 +18243,11 @@ function cards(value, decodedSources) {
|
|
|
18262
18243
|
{
|
|
18263
18244
|
type,
|
|
18264
18245
|
id,
|
|
18265
|
-
title: _nullishCoalesce(_optionalChain([source, 'optionalAccess',
|
|
18266
|
-
url: _nullishCoalesce(_optionalChain([source, 'optionalAccess',
|
|
18267
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18268
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18269
|
-
..._optionalChain([source, 'optionalAccess',
|
|
18246
|
+
title: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _533 => _533.name]), () => ( id)),
|
|
18247
|
+
url: _nullishCoalesce(_optionalChain([source, 'optionalAccess', _534 => _534.externalUrl]), () => ( null)),
|
|
18248
|
+
..._optionalChain([source, 'optionalAccess', _535 => _535.sourceRepo]) ? { sourceRepo: source.sourceRepo } : {},
|
|
18249
|
+
..._optionalChain([source, 'optionalAccess', _536 => _536.targetPlatform]) !== void 0 ? { targetPlatform: source.targetPlatform } : {},
|
|
18250
|
+
..._optionalChain([source, 'optionalAccess', _537 => _537.path]) ? { metadata: { path: source.path } } : {}
|
|
18270
18251
|
}
|
|
18271
18252
|
];
|
|
18272
18253
|
});
|
|
@@ -18292,11 +18273,11 @@ function sourceMetadataEvent(payload) {
|
|
|
18292
18273
|
}
|
|
18293
18274
|
function mergeSourceMetadata(previous, event) {
|
|
18294
18275
|
const byIndex = /* @__PURE__ */ new Map();
|
|
18295
|
-
for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess',
|
|
18276
|
+
for (const source of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _538 => _538.sources]), () => ( [])), ..._nullishCoalesce(event.sources, () => ( []))]) {
|
|
18296
18277
|
if (!byIndex.has(source.index)) byIndex.set(source.index, source);
|
|
18297
18278
|
}
|
|
18298
18279
|
const byIdentity = /* @__PURE__ */ new Map();
|
|
18299
|
-
for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess',
|
|
18280
|
+
for (const ref of [..._nullishCoalesce(_optionalChain([previous, 'optionalAccess', _539 => _539.refs]), () => ( [])), ..._nullishCoalesce(event.refs, () => ( []))]) {
|
|
18300
18281
|
const identity = `${ref.type}:${ref.id}`;
|
|
18301
18282
|
if (!byIdentity.has(identity)) byIdentity.set(identity, ref);
|
|
18302
18283
|
}
|
|
@@ -18382,9 +18363,9 @@ function appendToTrailingAssistant(prev, segments) {
|
|
|
18382
18363
|
for (const seg of segments) {
|
|
18383
18364
|
const tail = merged[merged.length - 1];
|
|
18384
18365
|
const key = upsertKey(seg);
|
|
18385
|
-
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess',
|
|
18366
|
+
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _540 => _540.type]) === "text") {
|
|
18386
18367
|
merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
|
|
18387
|
-
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess',
|
|
18368
|
+
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _541 => _541.type]) === "thinking") {
|
|
18388
18369
|
merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
|
|
18389
18370
|
} else if (key) {
|
|
18390
18371
|
let idx = merged.findIndex((m) => upsertKey(m) === key);
|
|
@@ -18425,7 +18406,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18425
18406
|
}
|
|
18426
18407
|
if (s.type !== "approval_batch") return s;
|
|
18427
18408
|
const isAnchor = s.data.approvalRequestId === requestId;
|
|
18428
|
-
const hasRow = _optionalChain([s, 'access',
|
|
18409
|
+
const hasRow = _optionalChain([s, 'access', _542 => _542.data, 'access', _543 => _543.toolCalls, 'optionalAccess', _544 => _544.some, 'call', _545 => _545((c) => c.toolExecutionRequestId === requestId)]);
|
|
18429
18410
|
if (!isAnchor && !hasRow) return s;
|
|
18430
18411
|
const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
|
|
18431
18412
|
const nextExecutions = hasRow ? {
|
|
@@ -18447,8 +18428,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
18447
18428
|
};
|
|
18448
18429
|
}
|
|
18449
18430
|
function nextBatchExecution(prevExec, toolData) {
|
|
18450
|
-
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess',
|
|
18451
|
-
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess',
|
|
18431
|
+
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _546 => _546.status]) === "done") return null;
|
|
18432
|
+
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _547 => _547.result]), success: _optionalChain([prevExec, 'optionalAccess', _548 => _548.success]) };
|
|
18452
18433
|
}
|
|
18453
18434
|
function withBatchExecution(seg, execId, state) {
|
|
18454
18435
|
return {
|
|
@@ -18465,11 +18446,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
|
|
|
18465
18446
|
}
|
|
18466
18447
|
function projectBatchRowFailureToMessages(prev, rowRequestId) {
|
|
18467
18448
|
return mapSegments(prev, (s) => {
|
|
18468
|
-
if (s.type !== "approval_batch" || !_optionalChain([s, 'access',
|
|
18449
|
+
if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _549 => _549.data, 'access', _550 => _550.toolCalls, 'optionalAccess', _551 => _551.some, 'call', _552 => _552((c) => c.toolExecutionRequestId === rowRequestId)])) {
|
|
18469
18450
|
return s;
|
|
18470
18451
|
}
|
|
18471
|
-
const existing = _optionalChain([s, 'access',
|
|
18472
|
-
if (_optionalChain([existing, 'optionalAccess',
|
|
18452
|
+
const existing = _optionalChain([s, 'access', _553 => _553.data, 'access', _554 => _554.executions, 'optionalAccess', _555 => _555[rowRequestId]]);
|
|
18453
|
+
if (_optionalChain([existing, 'optionalAccess', _556 => _556.status]) === "done") return s;
|
|
18473
18454
|
return withBatchExecution(s, rowRequestId, { status: "done", success: false });
|
|
18474
18455
|
});
|
|
18475
18456
|
}
|
|
@@ -18505,7 +18486,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
|
|
|
18505
18486
|
for (let j = message.segments.length - 1; j >= 0; j--) {
|
|
18506
18487
|
const seg = message.segments[j];
|
|
18507
18488
|
if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
|
|
18508
|
-
const prevExec = _optionalChain([seg, 'access',
|
|
18489
|
+
const prevExec = _optionalChain([seg, 'access', _557 => _557.data, 'access', _558 => _558.executions, 'optionalAccess', _559 => _559[execId]]);
|
|
18509
18490
|
const nextExec = nextBatchExecution(prevExec, toolData);
|
|
18510
18491
|
if (nextExec === null) return prev;
|
|
18511
18492
|
if (sameExecutionState(prevExec, nextExec)) return prev;
|
|
@@ -18678,9 +18659,9 @@ var MessageSegmentAccumulator = class {
|
|
|
18678
18659
|
type: "tool_execution",
|
|
18679
18660
|
data: {
|
|
18680
18661
|
...toolData,
|
|
18681
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18682
|
-
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
18683
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
18662
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _560 => _560.data, 'access', _561 => _561.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _562 => _562.toolTitle]))),
|
|
18663
|
+
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _563 => _563.data, 'access', _564 => _564.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _565 => _565.toolExplanation]))),
|
|
18664
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _566 => _566.parameters])
|
|
18684
18665
|
}
|
|
18685
18666
|
};
|
|
18686
18667
|
if (existingIndex !== -1) {
|
|
@@ -18704,7 +18685,7 @@ var MessageSegmentAccumulator = class {
|
|
|
18704
18685
|
if (seg.type !== "approval_batch") return seg;
|
|
18705
18686
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
18706
18687
|
if (!hasCall) return seg;
|
|
18707
|
-
const prev = _optionalChain([seg, 'access',
|
|
18688
|
+
const prev = _optionalChain([seg, 'access', _567 => _567.data, 'access', _568 => _568.executions, 'optionalAccess', _569 => _569[execId]]);
|
|
18708
18689
|
const next = nextBatchExecution(prev, toolData);
|
|
18709
18690
|
matched = true;
|
|
18710
18691
|
if (next === null) return seg;
|
|
@@ -18838,8 +18819,8 @@ var MessageSegmentAccumulator = class {
|
|
|
18838
18819
|
requestId,
|
|
18839
18820
|
{
|
|
18840
18821
|
...pendingApproval,
|
|
18841
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
18842
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
18822
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _570 => _570.command]) || "",
|
|
18823
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _571 => _571.approvalType]) || approvalType
|
|
18843
18824
|
},
|
|
18844
18825
|
status
|
|
18845
18826
|
);
|
|
@@ -18864,9 +18845,9 @@ var MessageSegmentAccumulator = class {
|
|
|
18864
18845
|
type: "escalation_offer",
|
|
18865
18846
|
// The resolved chunk carries no text/origin — a redelivered offer must
|
|
18866
18847
|
// not blank the card the PENDING chunk already painted.
|
|
18867
|
-
data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess',
|
|
18848
|
+
data: { offerId, text: text2 || _optionalChain([existing, 'optionalAccess', _572 => _572.data, 'access', _573 => _573.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _574 => _574.data, 'access', _575 => _575.origin]))) },
|
|
18868
18849
|
status,
|
|
18869
|
-
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess',
|
|
18850
|
+
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _576 => _576.resolvedByName]))),
|
|
18870
18851
|
onApprove: this.callbacks.onEscalationApprove,
|
|
18871
18852
|
onReject: this.callbacks.onEscalationReject
|
|
18872
18853
|
};
|
|
@@ -19192,7 +19173,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19192
19173
|
let stateCache = null;
|
|
19193
19174
|
function invalidate() {
|
|
19194
19175
|
stateCache = null;
|
|
19195
|
-
_optionalChain([onChange, 'optionalCall',
|
|
19176
|
+
_optionalChain([onChange, 'optionalCall', _577 => _577()]);
|
|
19196
19177
|
}
|
|
19197
19178
|
function getState() {
|
|
19198
19179
|
if (!stateCache) {
|
|
@@ -19210,7 +19191,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19210
19191
|
return stateCache;
|
|
19211
19192
|
}
|
|
19212
19193
|
function emit(name, ...args) {
|
|
19213
|
-
_optionalChain([onEffect, 'optionalCall',
|
|
19194
|
+
_optionalChain([onEffect, 'optionalCall', _578 => _578({ name, args })]);
|
|
19214
19195
|
}
|
|
19215
19196
|
function setMessagesInternal(next) {
|
|
19216
19197
|
if (next !== messages) {
|
|
@@ -19253,12 +19234,12 @@ function createChatStreamReducer(options = {}) {
|
|
|
19253
19234
|
return stampTrailingAssistantSourceMetadata(stampTrailingAssistantSeq(next, seq));
|
|
19254
19235
|
}
|
|
19255
19236
|
function applySegmentsToState(segments, meta) {
|
|
19256
|
-
const seq = _optionalChain([meta, 'optionalAccess',
|
|
19257
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
19237
|
+
const seq = _optionalChain([meta, 'optionalAccess', _579 => _579.streamSeq]);
|
|
19238
|
+
if (_optionalChain([meta, 'optionalAccess', _580 => _580.append]) && meta.isCompacting) {
|
|
19258
19239
|
setMessagesInternal(commitTrailingAssistant(upsertTrailingCompaction(messages, segments), seq));
|
|
19259
19240
|
return;
|
|
19260
19241
|
}
|
|
19261
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
19242
|
+
if (_optionalChain([meta, 'optionalAccess', _581 => _581.append])) {
|
|
19262
19243
|
setMessagesInternal(commitTrailingAssistant(appendToTrailingAssistant(messages, segments), seq));
|
|
19263
19244
|
return;
|
|
19264
19245
|
}
|
|
@@ -19270,7 +19251,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19270
19251
|
adoptTrailingAssistant = false;
|
|
19271
19252
|
const last = messages[messages.length - 1];
|
|
19272
19253
|
if (!last || last.role !== "assistant" || adoptTail) return;
|
|
19273
|
-
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access',
|
|
19254
|
+
const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _582 => _582.segments, 'optionalAccess', _583 => _583.length]), () => ( 0))) > 0 || last.content !== "";
|
|
19274
19255
|
if (!hasContent) return;
|
|
19275
19256
|
setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
|
|
19276
19257
|
}
|
|
@@ -19489,13 +19470,13 @@ function createChatStreamReducer(options = {}) {
|
|
|
19489
19470
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
19490
19471
|
pendingEscalated.set(requestId, {
|
|
19491
19472
|
command: summary,
|
|
19492
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19473
|
+
explanation: _optionalChain([required, 'optionalAccess', _584 => _584.toolExplanation]),
|
|
19493
19474
|
approvalType,
|
|
19494
19475
|
toolCalls
|
|
19495
19476
|
});
|
|
19496
19477
|
emit("onEscalatedApproval", requestId, {
|
|
19497
19478
|
command: summary,
|
|
19498
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
19479
|
+
explanation: _optionalChain([required, 'optionalAccess', _585 => _585.toolExplanation]),
|
|
19499
19480
|
approvalType
|
|
19500
19481
|
});
|
|
19501
19482
|
break;
|
|
@@ -19883,7 +19864,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
19883
19864
|
const resolveBatch = (status, confirm) => async () => {
|
|
19884
19865
|
setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
|
|
19885
19866
|
for (const id of ids) {
|
|
19886
|
-
const ok = await _optionalChain([confirm, 'optionalCall',
|
|
19867
|
+
const ok = await _optionalChain([confirm, 'optionalCall', _586 => _586(id)]);
|
|
19887
19868
|
if (ok === false) {
|
|
19888
19869
|
setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
|
|
19889
19870
|
}
|
|
@@ -20019,8 +20000,8 @@ function createChatStreamReducer(options = {}) {
|
|
|
20019
20000
|
}
|
|
20020
20001
|
}
|
|
20021
20002
|
}
|
|
20022
|
-
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess',
|
|
20023
|
-
if (_optionalChain([extras, 'optionalAccess',
|
|
20003
|
+
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _587 => _587.resumed]), () => ( messages.length > 0)));
|
|
20004
|
+
if (_optionalChain([extras, 'optionalAccess', _588 => _588.agentBusy])) agentBusyState();
|
|
20024
20005
|
invalidate();
|
|
20025
20006
|
}
|
|
20026
20007
|
return {
|
|
@@ -20107,7 +20088,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
20107
20088
|
},
|
|
20108
20089
|
endSseTurn() {
|
|
20109
20090
|
const last = messages[messages.length - 1];
|
|
20110
|
-
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access',
|
|
20091
|
+
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _589 => _589.segments, 'optionalAccess', _590 => _590.length]), () => ( 0))) === 0 && last.content === "") {
|
|
20111
20092
|
messages = messages.slice(0, -1);
|
|
20112
20093
|
}
|
|
20113
20094
|
sseCurrentText = "";
|
|
@@ -20261,10 +20242,10 @@ function createChatDialogStore(options = {}) {
|
|
|
20261
20242
|
if (onEvict) {
|
|
20262
20243
|
const sep = key.indexOf(KEY_SEP);
|
|
20263
20244
|
onEvict(key.slice(0, sep), key.slice(sep + 1), {
|
|
20264
|
-
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20265
|
-
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20266
|
-
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20267
|
-
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
20245
|
+
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _591 => _591.state, 'access', _592 => _592.messages]), () => ( EMPTY_STATE.messages)),
|
|
20246
|
+
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _593 => _593.state, 'access', _594 => _594.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
|
|
20247
|
+
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _595 => _595.getLastAppliedSeq, 'call', _596 => _596()]), () => ( Number.NEGATIVE_INFINITY)),
|
|
20248
|
+
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _597 => _597.getPendingEchoes, 'call', _598 => _598()]), () => ( EMPTY_PENDING_ECHOES))
|
|
20268
20249
|
});
|
|
20269
20250
|
}
|
|
20270
20251
|
}
|
|
@@ -20274,12 +20255,12 @@ function createChatDialogStore(options = {}) {
|
|
|
20274
20255
|
const key = keyOf(dialogId, side);
|
|
20275
20256
|
let reducer = reducers.get(key);
|
|
20276
20257
|
if (!reducer) {
|
|
20277
|
-
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall',
|
|
20258
|
+
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _599 => _599(dialogId, side)]), () => ( {}));
|
|
20278
20259
|
const userOnChange = base.onChange;
|
|
20279
20260
|
reducer = createChatStreamReducer({
|
|
20280
20261
|
...base,
|
|
20281
20262
|
onChange: () => {
|
|
20282
|
-
_optionalChain([userOnChange, 'optionalCall',
|
|
20263
|
+
_optionalChain([userOnChange, 'optionalCall', _600 => _600()]);
|
|
20283
20264
|
notify();
|
|
20284
20265
|
}
|
|
20285
20266
|
});
|
|
@@ -20324,7 +20305,7 @@ function createChatDialogStore(options = {}) {
|
|
|
20324
20305
|
};
|
|
20325
20306
|
}
|
|
20326
20307
|
function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
|
|
20327
|
-
return _nullishCoalesce(_optionalChain([reducers, 'access',
|
|
20308
|
+
return _nullishCoalesce(_optionalChain([reducers, 'access', _601 => _601.get, 'call', _602 => _602(keyOf(dialogId, side)), 'optionalAccess', _603 => _603.state]), () => ( EMPTY_STATE));
|
|
20328
20309
|
}
|
|
20329
20310
|
function getServerSnapshot2() {
|
|
20330
20311
|
return EMPTY_STATE;
|
|
@@ -20416,7 +20397,7 @@ function createDeltaBatcher({
|
|
|
20416
20397
|
pending = [];
|
|
20417
20398
|
const key = pendingKey;
|
|
20418
20399
|
for (const delta of batch) applyOne(delta, key);
|
|
20419
|
-
_optionalChain([onFlushed, 'optionalCall',
|
|
20400
|
+
_optionalChain([onFlushed, 'optionalCall', _604 => _604(batch.length)]);
|
|
20420
20401
|
}
|
|
20421
20402
|
function schedule() {
|
|
20422
20403
|
if (raf !== null || timer !== null) return;
|
|
@@ -20440,7 +20421,7 @@ function createDeltaBatcher({
|
|
|
20440
20421
|
}
|
|
20441
20422
|
if (!isDeltaEvent(event)) return false;
|
|
20442
20423
|
const tail = pending[pending.length - 1];
|
|
20443
|
-
const seqAdvances = _optionalChain([tail, 'optionalAccess',
|
|
20424
|
+
const seqAdvances = _optionalChain([tail, 'optionalAccess', _605 => _605.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
|
|
20444
20425
|
if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
|
|
20445
20426
|
pending[pending.length - 1] = {
|
|
20446
20427
|
...tail,
|
|
@@ -20471,7 +20452,7 @@ function useChatStreamReducer({
|
|
|
20471
20452
|
side = DEFAULT_DIALOG_SIDE,
|
|
20472
20453
|
createReducerOptions
|
|
20473
20454
|
}) {
|
|
20474
|
-
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall',
|
|
20455
|
+
const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _606 => _606()]), () => ( {})));
|
|
20475
20456
|
const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
|
|
20476
20457
|
const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
|
|
20477
20458
|
const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
|
|
@@ -20510,7 +20491,7 @@ var STORAGE_KEY = "conversation";
|
|
|
20510
20491
|
var namespaceFor = (source) => {
|
|
20511
20492
|
const base = `mingo-chat-${source}`;
|
|
20512
20493
|
const auth = _chunkLM7TXMLUcjs.getEmbedProxyAuth.call(void 0, );
|
|
20513
|
-
return _optionalChain([auth, 'optionalAccess',
|
|
20494
|
+
return _optionalChain([auth, 'optionalAccess', _607 => _607.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
|
|
20514
20495
|
};
|
|
20515
20496
|
function createChatConversationStorage(source) {
|
|
20516
20497
|
return _chunkLM7TXMLUcjs.createLocalStorageAdapter.call(void 0, {
|
|
@@ -20622,7 +20603,7 @@ function formatSingularLookupInvocation(cmdId, value) {
|
|
|
20622
20603
|
return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
|
|
20623
20604
|
}
|
|
20624
20605
|
function extractEntityIdFilter(override, expectedTableId) {
|
|
20625
|
-
const f = _optionalChain([override, 'optionalAccess',
|
|
20606
|
+
const f = _optionalChain([override, 'optionalAccess', _608 => _608.entityIdFilter]);
|
|
20626
20607
|
if (!f) return null;
|
|
20627
20608
|
const tableId = typeof f.tableId === "string" ? f.tableId : "";
|
|
20628
20609
|
const id = typeof f.id === "string" ? f.id : "";
|
|
@@ -20661,7 +20642,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
|
|
|
20661
20642
|
function buildAutoContinuationDirective(toolName, opts = {}) {
|
|
20662
20643
|
const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
|
|
20663
20644
|
const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
|
|
20664
|
-
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access',
|
|
20645
|
+
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _609 => _609.status, 'optionalAccess', _610 => _610.toUpperCase, 'call', _611 => _611()]) === "CLOSED";
|
|
20665
20646
|
if (toolName === "create_ticket") {
|
|
20666
20647
|
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.`;
|
|
20667
20648
|
}
|
|
@@ -20711,7 +20692,7 @@ function useChatHistoryHydration({
|
|
|
20711
20692
|
if (cancelled) return;
|
|
20712
20693
|
if (rows.length === 0) {
|
|
20713
20694
|
const found = isRecord(body) ? body.found : void 0;
|
|
20714
|
-
if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall',
|
|
20695
|
+
if (found === false) _optionalChain([onOrphanedConversation, 'optionalCall', _612 => _612(conversationId)]);
|
|
20715
20696
|
return;
|
|
20716
20697
|
}
|
|
20717
20698
|
const hydrated = [];
|
|
@@ -20855,7 +20836,7 @@ function useManagedDialogList({
|
|
|
20855
20836
|
try {
|
|
20856
20837
|
await deleteDialogCallback(id);
|
|
20857
20838
|
removeLocal(id);
|
|
20858
|
-
_optionalChain([onDialogRemovedRef, 'access',
|
|
20839
|
+
_optionalChain([onDialogRemovedRef, 'access', _613 => _613.current, 'optionalCall', _614 => _614(id, "deleted")]);
|
|
20859
20840
|
} catch (err) {
|
|
20860
20841
|
console.error(`${logTag} deleteDialog failed:`, err);
|
|
20861
20842
|
throw err;
|
|
@@ -20866,7 +20847,7 @@ function useManagedDialogList({
|
|
|
20866
20847
|
const renameDialog = _react.useCallback.call(void 0,
|
|
20867
20848
|
async (id, title) => {
|
|
20868
20849
|
if (!renameDialogCallback) return;
|
|
20869
|
-
const previous = _optionalChain([dialogsRef, 'access',
|
|
20850
|
+
const previous = _optionalChain([dialogsRef, 'access', _615 => _615.current, 'access', _616 => _616.find, 'call', _617 => _617((d) => d.id === id), 'optionalAccess', _618 => _618.title]);
|
|
20870
20851
|
setDialogs((prev) => prev.map((d) => d.id === id ? { ...d, title } : d));
|
|
20871
20852
|
try {
|
|
20872
20853
|
await renameDialogCallback(id, title);
|
|
@@ -20885,7 +20866,7 @@ function useManagedDialogList({
|
|
|
20885
20866
|
try {
|
|
20886
20867
|
await archiveDialogCallback(id);
|
|
20887
20868
|
removeLocal(id);
|
|
20888
|
-
_optionalChain([onDialogRemovedRef, 'access',
|
|
20869
|
+
_optionalChain([onDialogRemovedRef, 'access', _619 => _619.current, 'optionalCall', _620 => _620(id, "archived")]);
|
|
20889
20870
|
} catch (err) {
|
|
20890
20871
|
console.error(`${logTag} archiveDialog failed:`, err);
|
|
20891
20872
|
throw err;
|
|
@@ -20977,7 +20958,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
20977
20958
|
const { active = true } = runtimeOptions;
|
|
20978
20959
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
20979
20960
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
20980
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
20961
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _621 => _621.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
20981
20962
|
const sendMessageRef = _react.useRef.call(void 0,
|
|
20982
20963
|
() => Promise.resolve(true)
|
|
20983
20964
|
);
|
|
@@ -21013,7 +20994,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21013
20994
|
if (!restoredConversationRef.current) {
|
|
21014
20995
|
restoredConversationRef.current = true;
|
|
21015
20996
|
pruneStaleChatConversationStorage(source);
|
|
21016
|
-
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access',
|
|
20997
|
+
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _622 => _622.load, 'call', _623 => _623(), 'optionalAccess', _624 => _624.conversationId]), () => ( null));
|
|
21017
20998
|
}
|
|
21018
20999
|
const [conversationId, setConversationId] = _react.useState.call(void 0, () => conversationIdRef.current);
|
|
21019
21000
|
const commitConversationId = _react.useCallback.call(void 0,
|
|
@@ -21104,7 +21085,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21104
21085
|
const abortControllerRef = _react.useRef.call(void 0, null);
|
|
21105
21086
|
const switchConversation = _react.useCallback.call(void 0,
|
|
21106
21087
|
(id) => {
|
|
21107
|
-
_optionalChain([abortControllerRef, 'access',
|
|
21088
|
+
_optionalChain([abortControllerRef, 'access', _625 => _625.current, 'optionalAccess', _626 => _626.abort, 'call', _627 => _627()]);
|
|
21108
21089
|
flushDeltas();
|
|
21109
21090
|
mutate((r) => r.reset());
|
|
21110
21091
|
hydrationSendCountRef.current = 0;
|
|
@@ -21141,8 +21122,8 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21141
21122
|
} = useManagedDialogList({
|
|
21142
21123
|
autoLoad: active,
|
|
21143
21124
|
fetchDialogs: fetchActiveDialogs,
|
|
21144
|
-
renameDialog: _optionalChain([conversationsApi, 'optionalAccess',
|
|
21145
|
-
archiveDialog: _optionalChain([conversationsApi, 'optionalAccess',
|
|
21125
|
+
renameDialog: _optionalChain([conversationsApi, 'optionalAccess', _628 => _628.renameDialog]),
|
|
21126
|
+
archiveDialog: _optionalChain([conversationsApi, 'optionalAccess', _629 => _629.archiveDialog]),
|
|
21146
21127
|
pageSize: 20,
|
|
21147
21128
|
search: conversationsApi ? dialogSearch : void 0,
|
|
21148
21129
|
logTag: "[useSseChatAdapter]",
|
|
@@ -21206,7 +21187,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21206
21187
|
const serverMessage = await readServerErrorMessage(response);
|
|
21207
21188
|
throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
|
|
21208
21189
|
}
|
|
21209
|
-
const reader = _optionalChain([response, 'access',
|
|
21190
|
+
const reader = _optionalChain([response, 'access', _630 => _630.body, 'optionalAccess', _631 => _631.getReader, 'call', _632 => _632()]);
|
|
21210
21191
|
if (!reader) throw new Error("No response body");
|
|
21211
21192
|
const frameDecoder = createSseFrameDecoder();
|
|
21212
21193
|
let finished = false;
|
|
@@ -21235,7 +21216,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21235
21216
|
}
|
|
21236
21217
|
return true;
|
|
21237
21218
|
} catch (err) {
|
|
21238
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
21219
|
+
if (_optionalChain([err, 'optionalAccess', _633 => _633.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
21239
21220
|
return true;
|
|
21240
21221
|
}
|
|
21241
21222
|
flushDeltas();
|
|
@@ -21271,7 +21252,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21271
21252
|
);
|
|
21272
21253
|
sendMessageRef.current = sendMessage;
|
|
21273
21254
|
const stopMessage = _react.useCallback.call(void 0, () => {
|
|
21274
|
-
_optionalChain([abortControllerRef, 'access',
|
|
21255
|
+
_optionalChain([abortControllerRef, 'access', _634 => _634.current, 'optionalAccess', _635 => _635.abort, 'call', _636 => _636()]);
|
|
21275
21256
|
flushDeltas();
|
|
21276
21257
|
mutate((r) => r.setPhase("idle"));
|
|
21277
21258
|
}, [mutate, flushDeltas]);
|
|
@@ -21307,7 +21288,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21307
21288
|
let sendIdx = -1;
|
|
21308
21289
|
return state.messages.map((m) => {
|
|
21309
21290
|
const segments = m.segments;
|
|
21310
|
-
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess',
|
|
21291
|
+
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _637 => _637.filter, 'call', _638 => _638((s) => s.type === "text"), 'access', _639 => _639.map, 'call', _640 => _640((s) => s.text), 'access', _641 => _641.join, 'call', _642 => _642("")]), () => ( ""));
|
|
21311
21292
|
let sources2;
|
|
21312
21293
|
let scrollAnchor;
|
|
21313
21294
|
if (m.role === "user" && !m.hidden) {
|
|
@@ -21316,7 +21297,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21316
21297
|
if (m.role === "assistant") {
|
|
21317
21298
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
21318
21299
|
sources2 = sourcesMap.get(lookupIdx);
|
|
21319
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access',
|
|
21300
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _643 => _643.get, 'call', _644 => _644(lookupIdx), 'optionalAccess', _645 => _645.scrollAnchor]), () => ( void 0));
|
|
21320
21301
|
}
|
|
21321
21302
|
return {
|
|
21322
21303
|
id: m.id,
|
|
@@ -21343,7 +21324,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21343
21324
|
);
|
|
21344
21325
|
return;
|
|
21345
21326
|
}
|
|
21346
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
21327
|
+
const refSlug = typeof _optionalChain([reference, 'access', _646 => _646.metadata, 'optionalAccess', _647 => _647.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
21347
21328
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
21348
21329
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
21349
21330
|
const text2 = `/${cmdId} display "${escaped}"`;
|
|
@@ -21391,18 +21372,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
21391
21372
|
/** True while the mount-time rebuild from the server transcript runs. */
|
|
21392
21373
|
isHydratingHistory,
|
|
21393
21374
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
21394
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21395
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21396
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21375
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _648 => _648.provider]), () => ( null)),
|
|
21376
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _649 => _649.modelLabel]), () => ( null)),
|
|
21377
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _650 => _650.contextWindowMaxTokens]), () => ( null)),
|
|
21397
21378
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
21398
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21379
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _651 => _651.inputTokens]), () => ( null)),
|
|
21399
21380
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
21400
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21381
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _652 => _652.outputTokens]), () => ( null)),
|
|
21401
21382
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
21402
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21383
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _653 => _653.cacheHitRatePct]), () => ( null)),
|
|
21403
21384
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
21404
21385
|
* token counts). null until the trailing usage frame lands. */
|
|
21405
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
21386
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _654 => _654.breakdown]), () => ( null)),
|
|
21406
21387
|
// ─── Dialog management ───────────────────────────────────────────────
|
|
21407
21388
|
// With `chatConversationsUrl` the server transcript store IS the dialog
|
|
21408
21389
|
// list (shared `useManagedDialogList`); selecting a row re-hydrates through
|
|
@@ -21657,7 +21638,7 @@ function decodeNatsChunk(chunk) {
|
|
|
21657
21638
|
userId: typeof data.userId === "string" ? data.userId : void 0,
|
|
21658
21639
|
// Wire shape carries no label; fall back to the id (parity with
|
|
21659
21640
|
// the history path in `process-historical-messages.ts`).
|
|
21660
|
-
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess',
|
|
21641
|
+
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _655 => _655.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _656 => _656.id]) === "string").map((it) => ({
|
|
21661
21642
|
type: it.type,
|
|
21662
21643
|
id: it.id,
|
|
21663
21644
|
label: it.id
|
|
@@ -21748,7 +21729,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
21748
21729
|
}
|
|
21749
21730
|
break;
|
|
21750
21731
|
case "approval_batch": {
|
|
21751
|
-
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access',
|
|
21732
|
+
const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _657 => _657.data, 'access', _658 => _658.executions, 'optionalAccess', _659 => _659[c.toolExecutionRequestId], 'optionalAccess', _660 => _660.status]) === "done");
|
|
21752
21733
|
if (segment.status !== "rejected" && !allDone) {
|
|
21753
21734
|
hasIncompleteState = true;
|
|
21754
21735
|
}
|
|
@@ -21810,11 +21791,11 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
21810
21791
|
function extractIncompleteTailState(messages) {
|
|
21811
21792
|
if (!messages || messages.length === 0) return void 0;
|
|
21812
21793
|
let start = messages.length;
|
|
21813
|
-
while (start > 0 && _optionalChain([messages, 'access',
|
|
21794
|
+
while (start > 0 && _optionalChain([messages, 'access', _661 => _661[start - 1], 'optionalAccess', _662 => _662.role]) === "assistant") start -= 1;
|
|
21814
21795
|
if (start === messages.length) return void 0;
|
|
21815
21796
|
const segments = [];
|
|
21816
21797
|
for (let i = start; i < messages.length; i += 1) {
|
|
21817
|
-
const content = _optionalChain([messages, 'access',
|
|
21798
|
+
const content = _optionalChain([messages, 'access', _663 => _663[i], 'optionalAccess', _664 => _664.content]);
|
|
21818
21799
|
if (Array.isArray(content)) segments.push(...content);
|
|
21819
21800
|
}
|
|
21820
21801
|
if (segments.length === 0) return void 0;
|
|
@@ -21827,15 +21808,15 @@ function extractIncompleteTailState(messages) {
|
|
|
21827
21808
|
|
|
21828
21809
|
// src/components/chat/utils/process-historical-messages.ts
|
|
21829
21810
|
function getOwnerDisplayName(owner) {
|
|
21830
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
21811
|
+
if (_optionalChain([owner, 'optionalAccess', _665 => _665.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
21831
21812
|
const { firstName, lastName } = owner.user;
|
|
21832
21813
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
21833
21814
|
if (name) return name;
|
|
21834
21815
|
}
|
|
21835
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
21816
|
+
return _optionalChain([owner, 'optionalAccess', _666 => _666.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
21836
21817
|
}
|
|
21837
21818
|
function getOwnerAvatar(owner) {
|
|
21838
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
21819
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _667 => _667.user, 'optionalAccess', _668 => _668.image, 'optionalAccess', _669 => _669.imageUrl]), () => ( void 0));
|
|
21839
21820
|
}
|
|
21840
21821
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
21841
21822
|
messageDataArray.forEach((data) => {
|
|
@@ -22025,7 +22006,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22025
22006
|
event.offerId,
|
|
22026
22007
|
event.text,
|
|
22027
22008
|
event.origin,
|
|
22028
|
-
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess',
|
|
22009
|
+
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _670 => _670[event.offerId]]), () => ( "pending"))
|
|
22029
22010
|
);
|
|
22030
22011
|
break;
|
|
22031
22012
|
case "ticket-escalated":
|
|
@@ -22059,7 +22040,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22059
22040
|
);
|
|
22060
22041
|
break;
|
|
22061
22042
|
case "escalation-offer-resolved":
|
|
22062
|
-
_optionalChain([offerResolutions, 'optionalAccess',
|
|
22043
|
+
_optionalChain([offerResolutions, 'optionalAccess', _671 => _671.set, 'call', _672 => _672(event.offerId, {
|
|
22063
22044
|
status: event.status,
|
|
22064
22045
|
resolvedByName: event.resolvedByName
|
|
22065
22046
|
})]);
|
|
@@ -22123,7 +22104,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22123
22104
|
}
|
|
22124
22105
|
}
|
|
22125
22106
|
} else {
|
|
22126
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22107
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _673 => _673.set, 'call', _674 => _674(event.requestId, {
|
|
22127
22108
|
command: event.command || "",
|
|
22128
22109
|
explanation: event.explanation,
|
|
22129
22110
|
approvalType,
|
|
@@ -22138,8 +22119,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22138
22119
|
const existingStatus = approvalStatuses[requestId];
|
|
22139
22120
|
const status = existingStatus || event.status;
|
|
22140
22121
|
const resolvedByName = event.resolvedByName;
|
|
22141
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22142
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
22122
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _675 => _675.get, 'call', _676 => _676(requestId)]);
|
|
22123
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _677 => _677.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
22143
22124
|
if (batchApprovalsEnabled) {
|
|
22144
22125
|
accumulator.addApprovalBatch(
|
|
22145
22126
|
requestId,
|
|
@@ -22161,7 +22142,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22161
22142
|
);
|
|
22162
22143
|
}
|
|
22163
22144
|
}
|
|
22164
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22145
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _678 => _678.delete, 'call', _679 => _679(requestId)]);
|
|
22165
22146
|
break;
|
|
22166
22147
|
}
|
|
22167
22148
|
if (escalatedData) {
|
|
@@ -22170,7 +22151,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
22170
22151
|
explanation: escalatedData.explanation,
|
|
22171
22152
|
approvalType: escalatedData.approvalType
|
|
22172
22153
|
});
|
|
22173
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
22154
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _680 => _680.delete, 'call', _681 => _681(requestId)]);
|
|
22174
22155
|
}
|
|
22175
22156
|
const before = accumulator.getSegments();
|
|
22176
22157
|
const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
|
|
@@ -22262,14 +22243,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
22262
22243
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
22263
22244
|
return;
|
|
22264
22245
|
}
|
|
22265
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
22246
|
+
const isUserMessage = _optionalChain([msg, 'access', _682 => _682.owner, 'optionalAccess', _683 => _683.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _684 => _684.owner, 'optionalAccess', _685 => _685.type]) === OWNER_TYPE.ADMIN;
|
|
22266
22247
|
if (isUserMessage) {
|
|
22267
22248
|
flushAssistantMessage();
|
|
22268
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
22249
|
+
const userAuthorType = _optionalChain([msg, 'access', _686 => _686.owner, 'optionalAccess', _687 => _687.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
22269
22250
|
messageDataArray.forEach((data) => {
|
|
22270
22251
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
22271
22252
|
const rawContext = data.contextItems;
|
|
22272
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
22253
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _688 => _688.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _689 => _689.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
22273
22254
|
processedMessages.push({
|
|
22274
22255
|
id: msg.id,
|
|
22275
22256
|
role: "user",
|
|
@@ -22316,7 +22297,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
22316
22297
|
});
|
|
22317
22298
|
const nextMsg = messages[index + 1];
|
|
22318
22299
|
const isLastMessage = index === messages.length - 1;
|
|
22319
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
22300
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _690 => _690.owner, 'optionalAccess', _691 => _691.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _692 => _692.owner, 'optionalAccess', _693 => _693.type]) === OWNER_TYPE.ADMIN);
|
|
22320
22301
|
if (isLastMessage || nextIsFromUser) {
|
|
22321
22302
|
flushAssistantMessage();
|
|
22322
22303
|
}
|
|
@@ -22699,7 +22680,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
22699
22680
|
const connectionState = !active || !dialogId ? "connected" : connectedForDialog === dialogId ? "connected" : "connecting";
|
|
22700
22681
|
const sendMessage = _react.useCallback.call(void 0,
|
|
22701
22682
|
async (text2, sendOptions) => {
|
|
22702
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
22683
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _694 => _694.hidden]), () => ( false));
|
|
22703
22684
|
mutate((r) => r.pushOptimisticSend(text2, hidden));
|
|
22704
22685
|
await publishUserMessage(text2, { hidden, dialogId });
|
|
22705
22686
|
},
|
|
@@ -22792,11 +22773,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
22792
22773
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
22793
22774
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
22794
22775
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
22795
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
22796
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
22797
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
22798
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
22799
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
22776
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _695 => _695.provider]), () => ( modelProvider)), () => ( null)),
|
|
22777
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _696 => _696.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
22778
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _697 => _697.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _698 => _698.contextWindowMaxTokens]))), () => ( null)),
|
|
22779
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _699 => _699.inputTokensSize]), () => ( null)),
|
|
22780
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _700 => _700.outputTokensSize]), () => ( null)),
|
|
22800
22781
|
currentCacheHitRatePct: null,
|
|
22801
22782
|
currentUsageBreakdown: null,
|
|
22802
22783
|
// Dialog management
|
|
@@ -22918,7 +22899,7 @@ function useUnifiedChat(options) {
|
|
|
22918
22899
|
[]
|
|
22919
22900
|
);
|
|
22920
22901
|
const displayRefForward = _react.useCallback.call(void 0,
|
|
22921
|
-
(ref) => _optionalChain([activeStateRef, 'access',
|
|
22902
|
+
(ref) => _optionalChain([activeStateRef, 'access', _701 => _701.current, 'access', _702 => _702.displayRef, 'optionalCall', _703 => _703(ref)]),
|
|
22922
22903
|
[]
|
|
22923
22904
|
);
|
|
22924
22905
|
const displayRef = activeState.displayRef ? displayRefForward : void 0;
|
|
@@ -22928,7 +22909,7 @@ function useUnifiedChat(options) {
|
|
|
22928
22909
|
const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
|
|
22929
22910
|
const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
|
|
22930
22911
|
const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
|
|
22931
|
-
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access',
|
|
22912
|
+
const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _704 => _704.current, 'access', _705 => _705.setDialogScope, 'optionalCall', _706 => _706(scope)]), []);
|
|
22932
22913
|
const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
|
|
22933
22914
|
const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
|
|
22934
22915
|
const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
|
|
@@ -23037,19 +23018,19 @@ function turnRequestKeys(content) {
|
|
|
23037
23018
|
if (!Array.isArray(content)) return keys;
|
|
23038
23019
|
for (const seg of content) {
|
|
23039
23020
|
if (seg.type === "tool_execution") {
|
|
23040
|
-
const id = _optionalChain([seg, 'access',
|
|
23021
|
+
const id = _optionalChain([seg, 'access', _707 => _707.data, 'optionalAccess', _708 => _708.toolExecutionRequestId]);
|
|
23041
23022
|
if (id) keys.add(id);
|
|
23042
23023
|
} else if (seg.type === "approval_request") {
|
|
23043
|
-
const id = _optionalChain([seg, 'access',
|
|
23024
|
+
const id = _optionalChain([seg, 'access', _709 => _709.data, 'optionalAccess', _710 => _710.requestId]);
|
|
23044
23025
|
if (id) keys.add(id);
|
|
23045
23026
|
} else if (seg.type === "escalation_offer") {
|
|
23046
|
-
const id = _optionalChain([seg, 'access',
|
|
23027
|
+
const id = _optionalChain([seg, 'access', _711 => _711.data, 'optionalAccess', _712 => _712.offerId]);
|
|
23047
23028
|
if (id) keys.add(id);
|
|
23048
23029
|
} else if (seg.type === "approval_batch") {
|
|
23049
23030
|
const data = seg.data;
|
|
23050
|
-
if (_optionalChain([data, 'optionalAccess',
|
|
23051
|
-
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
23052
|
-
if (_optionalChain([call, 'optionalAccess',
|
|
23031
|
+
if (_optionalChain([data, 'optionalAccess', _713 => _713.approvalRequestId])) keys.add(data.approvalRequestId);
|
|
23032
|
+
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _714 => _714.toolCalls]), () => ( []))) {
|
|
23033
|
+
if (_optionalChain([call, 'optionalAccess', _715 => _715.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
|
|
23053
23034
|
}
|
|
23054
23035
|
}
|
|
23055
23036
|
}
|
|
@@ -23134,18 +23115,18 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23134
23115
|
}
|
|
23135
23116
|
}
|
|
23136
23117
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
23137
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
23138
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
23118
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _716 => _716.role]) === "assistant" ? trailing : null;
|
|
23119
|
+
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _717 => _717.content, 'access', _718 => _718.find, 'call', _719 => _719((s) => s.type === "approval_batch"), 'optionalAccess', _720 => _720.data, 'optionalAccess', _721 => _721.approvalRequestId]), () => ( null)) : null;
|
|
23139
23120
|
let processedToUse = processedHistory;
|
|
23140
23121
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
23141
23122
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
23142
23123
|
if (historyBatchId) {
|
|
23143
23124
|
const batchTwins = existingMessages.filter(
|
|
23144
|
-
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access',
|
|
23125
|
+
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _722 => _722.data, 'optionalAccess', _723 => _723.approvalRequestId]) === historyBatchId)
|
|
23145
23126
|
);
|
|
23146
23127
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
23147
23128
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
23148
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
23129
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _724 => _724.content])) ? historyTrailingAssistant.content.length : 0;
|
|
23149
23130
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
23150
23131
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
23151
23132
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -23178,9 +23159,9 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23178
23159
|
const trailingAssistantText = lastProcessed && lastProcessed.role === "assistant" ? assistantAnswerText(lastProcessed.content) : "";
|
|
23179
23160
|
const windowSignals = collectTwinSignals(processedToUse);
|
|
23180
23161
|
const seenUserSyntheticByContent = /* @__PURE__ */ new Map();
|
|
23181
|
-
const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
23162
|
+
const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _725 => _725.has, 'call', _726 => _726(m.id)]), () => ( false)));
|
|
23182
23163
|
const firstWindowIndex = existingMessages.findIndex(isInWindow);
|
|
23183
|
-
const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23164
|
+
const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _727 => _727.timestamp, 'optionalAccess', _728 => _728.getTime, 'call', _729 => _729()]), () => ( 0))) <= historyFetchedAt;
|
|
23184
23165
|
let lastOlderPersistedIndex = -1;
|
|
23185
23166
|
if (firstWindowIndex < 0) {
|
|
23186
23167
|
for (const [index, m] of existingMessages.entries()) {
|
|
@@ -23198,7 +23179,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23198
23179
|
} else if (pm.role === "assistant") {
|
|
23199
23180
|
windowHasUnstampedAssistant = true;
|
|
23200
23181
|
}
|
|
23201
|
-
const time = _optionalChain([pm, 'access',
|
|
23182
|
+
const time = _optionalChain([pm, 'access', _730 => _730.timestamp, 'optionalAccess', _731 => _731.getTime, 'call', _732 => _732()]);
|
|
23202
23183
|
if (typeof time === "number" && time < windowMinTime) windowMinTime = time;
|
|
23203
23184
|
}
|
|
23204
23185
|
const threadHasClientMintedRow = existingMessages.some((m) => isClientMintedId(m.id));
|
|
@@ -23216,14 +23197,14 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23216
23197
|
const verdict = twinVerdict(windowSignals, m);
|
|
23217
23198
|
return verdict === "unknown" ? !seqCanMislead(m) : verdict === "distinct";
|
|
23218
23199
|
}
|
|
23219
|
-
const time = _optionalChain([m, 'access',
|
|
23200
|
+
const time = _optionalChain([m, 'access', _733 => _733.timestamp, 'optionalAccess', _734 => _734.getTime, 'call', _735 => _735()]);
|
|
23220
23201
|
if (typeof time !== "number" || time > historyFetchedAt) return false;
|
|
23221
23202
|
if (!Number.isFinite(windowMinTime) || time >= windowMinTime) return false;
|
|
23222
23203
|
return twinVerdict(windowSignals, m) === "distinct";
|
|
23223
23204
|
};
|
|
23224
23205
|
const keepRealtime = (m) => {
|
|
23225
23206
|
if (m.role === "user" && isOptimisticId(m.id) && typeof m.content === "string") {
|
|
23226
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23207
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _736 => _736.timestamp, 'optionalAccess', _737 => _737.getTime, 'call', _738 => _738()]), () => ( 0))) <= historyFetchedAt;
|
|
23227
23208
|
return !(canBeInSnapshot && windowSignals.userContents.has(userTwinKey(m)));
|
|
23228
23209
|
}
|
|
23229
23210
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
@@ -23248,7 +23229,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
23248
23229
|
} else if (typeof m.streamSeq === "number") {
|
|
23249
23230
|
covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
|
|
23250
23231
|
} else {
|
|
23251
|
-
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access',
|
|
23232
|
+
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _739 => _739.timestamp, 'optionalAccess', _740 => _740.getTime, 'call', _741 => _741()]), () => ( 0))) <= historyFetchedAt;
|
|
23252
23233
|
}
|
|
23253
23234
|
if (covered) return false;
|
|
23254
23235
|
}
|
|
@@ -23357,7 +23338,7 @@ function normalizeHistoricalMessageData(md) {
|
|
|
23357
23338
|
function isHistoricalUserTurn(m) {
|
|
23358
23339
|
return !!m.owner;
|
|
23359
23340
|
}
|
|
23360
|
-
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess',
|
|
23341
|
+
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _742 => _742.type]) === "TEXT" && typeof d.text === "string";
|
|
23361
23342
|
var THINK_MS = 550;
|
|
23362
23343
|
var TOKEN_MS = 55;
|
|
23363
23344
|
var USER_MS = 480;
|
|
@@ -23454,8 +23435,8 @@ function useResizablePanelSize({
|
|
|
23454
23435
|
}) : null,
|
|
23455
23436
|
[enabled, storageKey]
|
|
23456
23437
|
);
|
|
23457
|
-
const [held, setChosen] = _react.useState.call(void 0, () => ({ storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess',
|
|
23458
|
-
const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess',
|
|
23438
|
+
const [held, setChosen] = _react.useState.call(void 0, () => ({ storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _743 => _743.load, 'call', _744 => _744(), 'optionalAccess', _745 => _745.size]), () => ( null)) }));
|
|
23439
|
+
const chosen = held.storage === storage ? held : { storage, size: _nullishCoalesce(_optionalChain([storage, 'optionalAccess', _746 => _746.load, 'call', _747 => _747(), 'optionalAccess', _748 => _748.size]), () => ( null)) };
|
|
23459
23440
|
if (chosen !== held) setChosen(chosen);
|
|
23460
23441
|
const chosenSize = chosen.size;
|
|
23461
23442
|
const clampSize = _react.useCallback.call(void 0,
|
|
@@ -23471,7 +23452,7 @@ function useResizablePanelSize({
|
|
|
23471
23452
|
(next) => {
|
|
23472
23453
|
const nextSize = Math.round(clampSize(next));
|
|
23473
23454
|
setChosen({ storage, size: nextSize });
|
|
23474
|
-
_optionalChain([storage, 'optionalAccess',
|
|
23455
|
+
_optionalChain([storage, 'optionalAccess', _749 => _749.save, 'call', _750 => _750({ size: nextSize })]);
|
|
23475
23456
|
},
|
|
23476
23457
|
[clampSize, storage]
|
|
23477
23458
|
);
|
|
@@ -24060,7 +24041,7 @@ function useChatDialogManager({
|
|
|
24060
24041
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
24061
24042
|
if (restoreTarget) {
|
|
24062
24043
|
try {
|
|
24063
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
24044
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _751 => _751(restoreTarget.id)]);
|
|
24064
24045
|
} catch (err) {
|
|
24065
24046
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
24066
24047
|
return;
|
|
@@ -24626,7 +24607,7 @@ function EmbeddableChatInner({
|
|
|
24626
24607
|
}),
|
|
24627
24608
|
[commandsUrl]
|
|
24628
24609
|
);
|
|
24629
|
-
const headerUserName = _optionalChain([identityUser, 'optionalAccess',
|
|
24610
|
+
const headerUserName = _optionalChain([identityUser, 'optionalAccess', _752 => _752.name, 'optionalAccess', _753 => _753.trim, 'call', _754 => _754()]) || [_optionalChain([identityUser, 'optionalAccess', _755 => _755.firstName]), _optionalChain([identityUser, 'optionalAccess', _756 => _756.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _757 => _757.trim, 'call', _758 => _758()]) || void 0;
|
|
24630
24611
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
24631
24612
|
if (modes) return modes;
|
|
24632
24613
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -24641,7 +24622,7 @@ function EmbeddableChatInner({
|
|
|
24641
24622
|
if (controlledActiveMode === void 0) {
|
|
24642
24623
|
setUncontrolledActiveMode(next);
|
|
24643
24624
|
}
|
|
24644
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
24625
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _759 => _759(next)]);
|
|
24645
24626
|
},
|
|
24646
24627
|
[controlledActiveMode, onActiveModeChange]
|
|
24647
24628
|
);
|
|
@@ -24668,7 +24649,7 @@ function EmbeddableChatInner({
|
|
|
24668
24649
|
);
|
|
24669
24650
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
24670
24651
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
24671
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
24652
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _760 => _760.title]) === "string" ? guideWelcome.title : null)));
|
|
24672
24653
|
const {
|
|
24673
24654
|
messages: rawMessages,
|
|
24674
24655
|
isLoading: chatLoading,
|
|
@@ -24724,8 +24705,8 @@ function EmbeddableChatInner({
|
|
|
24724
24705
|
const mingoCaps = _react.useMemo.call(void 0,
|
|
24725
24706
|
() => ({
|
|
24726
24707
|
...dialogCapabilities,
|
|
24727
|
-
canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess',
|
|
24728
|
-
canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess',
|
|
24708
|
+
canRename: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _761 => _761.canRename]), () => ( false)),
|
|
24709
|
+
canArchive: _nullishCoalesce(_optionalChain([dialogCapabilities, 'optionalAccess', _762 => _762.canArchive]), () => ( false))
|
|
24729
24710
|
}),
|
|
24730
24711
|
[dialogCapabilities]
|
|
24731
24712
|
);
|
|
@@ -24740,7 +24721,7 @@ function EmbeddableChatInner({
|
|
|
24740
24721
|
void sendMessage(guidePendingPrompt).catch((err) => {
|
|
24741
24722
|
console.error("[EmbeddableChat] guide launcher prompt failed:", err);
|
|
24742
24723
|
});
|
|
24743
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
24724
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _763 => _763()]);
|
|
24744
24725
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
24745
24726
|
const {
|
|
24746
24727
|
attachments: stagedAttachments,
|
|
@@ -24751,7 +24732,7 @@ function EmbeddableChatInner({
|
|
|
24751
24732
|
clear: clearAttachments
|
|
24752
24733
|
} = useChatAttachments();
|
|
24753
24734
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
24754
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
24735
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _764 => _764.maxItems]), () => ( 10));
|
|
24755
24736
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
24756
24737
|
const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
|
|
24757
24738
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -24780,10 +24761,10 @@ function EmbeddableChatInner({
|
|
|
24780
24761
|
}, [composerKey, clearAttachments]);
|
|
24781
24762
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
24782
24763
|
const m = /* @__PURE__ */ new Map();
|
|
24783
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
24764
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _765 => _765.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
24784
24765
|
return m;
|
|
24785
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
24786
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
24766
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _766 => _766.entityTypes])]);
|
|
24767
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _767 => _767.entityTypes]);
|
|
24787
24768
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
24788
24769
|
const byType = /* @__PURE__ */ new Map();
|
|
24789
24770
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -24795,7 +24776,7 @@ function EmbeddableChatInner({
|
|
|
24795
24776
|
if (mentionActiveRef.current) {
|
|
24796
24777
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
24797
24778
|
if (contextItems.length >= contextMaxItems) return;
|
|
24798
|
-
_optionalChain([chatInputRef, 'access',
|
|
24779
|
+
_optionalChain([chatInputRef, 'access', _768 => _768.current, 'optionalAccess', _769 => _769.commitMention, 'call', _770 => _770(mentionTokenOf(key, mentionMarkerByType), {
|
|
24799
24780
|
label: item.label,
|
|
24800
24781
|
icon: resolveContextIcon(item)
|
|
24801
24782
|
})]);
|
|
@@ -24818,9 +24799,9 @@ function EmbeddableChatInner({
|
|
|
24818
24799
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
24819
24800
|
if (mentionKeysRef.current.has(key)) {
|
|
24820
24801
|
mentionKeysRef.current.delete(key);
|
|
24821
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
24802
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _771 => _771.current, 'optionalAccess', _772 => _772.getValue, 'call', _773 => _773()]), () => ( ""));
|
|
24822
24803
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
24823
|
-
_optionalChain([chatInputRef, 'access',
|
|
24804
|
+
_optionalChain([chatInputRef, 'access', _774 => _774.current, 'optionalAccess', _775 => _775.setValue, 'call', _776 => _776(next)]);
|
|
24824
24805
|
}
|
|
24825
24806
|
},
|
|
24826
24807
|
[mentionMarkerByType]
|
|
@@ -24842,7 +24823,7 @@ function EmbeddableChatInner({
|
|
|
24842
24823
|
}, []);
|
|
24843
24824
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
24844
24825
|
if (mentionActiveRef.current) {
|
|
24845
|
-
_optionalChain([chatInputRef, 'access',
|
|
24826
|
+
_optionalChain([chatInputRef, 'access', _777 => _777.current, 'optionalAccess', _778 => _778.removeMentionTrigger, 'call', _779 => _779()]);
|
|
24846
24827
|
}
|
|
24847
24828
|
setContextPickerOpen(false);
|
|
24848
24829
|
setMentionQuery(null);
|
|
@@ -24879,8 +24860,8 @@ function EmbeddableChatInner({
|
|
|
24879
24860
|
[effectiveAssistantIcon]
|
|
24880
24861
|
);
|
|
24881
24862
|
const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
|
|
24882
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
24883
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
24863
|
+
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _780 => _780.firstName]), _optionalChain([identityUser, 'optionalAccess', _781 => _781.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _782 => _782.name, 'optionalAccess', _783 => _783.trim, 'call', _784 => _784()]) || void 0 : void 0;
|
|
24864
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _785 => _785.avatarUrl, 'optionalAccess', _786 => _786.trim, 'call', _787 => _787()]) || void 0 : void 0;
|
|
24884
24865
|
const messages = _react.useMemo.call(void 0, () => {
|
|
24885
24866
|
const options = { userName: guideUserName, userAvatar: guideUserAvatar, timestampCache };
|
|
24886
24867
|
const mapped = rawMessages.map((m) => mapHostMessage(m, options));
|
|
@@ -25056,7 +25037,7 @@ function EmbeddableChatInner({
|
|
|
25056
25037
|
_react.useEffect.call(void 0, () => {
|
|
25057
25038
|
if (!panelBoundary || typeof ResizeObserver === "undefined") return void 0;
|
|
25058
25039
|
const ro = new ResizeObserver((entries) => {
|
|
25059
|
-
const w = _optionalChain([entries, 'access',
|
|
25040
|
+
const w = _optionalChain([entries, 'access', _788 => _788[0], 'optionalAccess', _789 => _789.contentRect, 'optionalAccess', _790 => _790.width]);
|
|
25060
25041
|
if (typeof w === "number") setCanSplit(w >= splitMinWidth);
|
|
25061
25042
|
});
|
|
25062
25043
|
ro.observe(panelBoundary);
|
|
@@ -25102,18 +25083,18 @@ function EmbeddableChatInner({
|
|
|
25102
25083
|
const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen && !emptyListSkipped;
|
|
25103
25084
|
const headerShowBack = hasConversation || guideCanReturnToMingo;
|
|
25104
25085
|
const freshConversationTitle = isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "New Chat";
|
|
25105
|
-
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
25086
|
+
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _791 => _791.title]) || freshConversationTitle : isGuideEmpty ? freshConversationTitle : "Current Chats";
|
|
25106
25087
|
const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
|
|
25107
25088
|
const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
|
|
25108
25089
|
const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
|
|
25109
25090
|
const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
|
|
25110
25091
|
const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
|
|
25111
|
-
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access',
|
|
25112
|
-
const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access',
|
|
25092
|
+
const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _792 => _792.onCopyLink, 'optionalCall', _793 => _793(activeDialog)]) : void 0;
|
|
25093
|
+
const headerOnCompact = activeDialogId && activeDialog && mingoCaps.compactDialog ? () => _optionalChain([mingoCaps, 'access', _794 => _794.compactDialog, 'optionalCall', _795 => _795(activeDialog)]) : void 0;
|
|
25113
25094
|
const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
|
|
25114
|
-
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
25115
|
-
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess',
|
|
25116
|
-
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access',
|
|
25095
|
+
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _796 => _796.owner]) : void 0;
|
|
25096
|
+
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _797 => _797.name, 'optionalAccess', _798 => _798.trim, 'call', _799 => _799()]) || headerUserName;
|
|
25097
|
+
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _800 => _800.avatarUrl, 'optionalAccess', _801 => _801.trim, 'call', _802 => _802()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _803 => _803.avatarUrl, 'optionalAccess', _804 => _804.trim, 'call', _805 => _805()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _806 => _806.trim, 'call', _807 => _807()]) || void 0;
|
|
25117
25098
|
const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
|
|
25118
25099
|
const handleNewChat = _react.useCallback.call(void 0, () => {
|
|
25119
25100
|
resetToNewChat();
|
|
@@ -25492,7 +25473,7 @@ function EmbeddableChatInner({
|
|
|
25492
25473
|
onNewChat: () => setComposeOpen(true),
|
|
25493
25474
|
onExpand: onExpand && (() => {
|
|
25494
25475
|
const last = lastDialogIdRef.current;
|
|
25495
|
-
const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access',
|
|
25476
|
+
const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access', _808 => _808[0], 'optionalAccess', _809 => _809.id]);
|
|
25496
25477
|
if (archiveOpen) closeArchive();
|
|
25497
25478
|
if (target) handleSelectDialog(target);
|
|
25498
25479
|
else handleNewChat();
|
|
@@ -25599,9 +25580,9 @@ function EmbeddableChatInner({
|
|
|
25599
25580
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
25600
25581
|
subtitleLoading: emptyStateLoading,
|
|
25601
25582
|
...guideWelcome,
|
|
25602
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
25603
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
25604
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
25583
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _810 => _810.title]))),
|
|
25584
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _811 => _811.icon]))),
|
|
25585
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _812 => _812.quickActions]), () => ( guideSuggestedActions)),
|
|
25605
25586
|
onQuickAction: (action) => {
|
|
25606
25587
|
setQuickActionPreview(null);
|
|
25607
25588
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -25676,8 +25657,8 @@ function EmbeddableChatInner({
|
|
|
25676
25657
|
selectedContextItems: contextItems,
|
|
25677
25658
|
onToggleContextItem: toggleContextItem,
|
|
25678
25659
|
onRemoveContextItem: removeContextItem,
|
|
25679
|
-
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess',
|
|
25680
|
-
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess',
|
|
25660
|
+
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _813 => _813.items]),
|
|
25661
|
+
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _814 => _814.onRemove]),
|
|
25681
25662
|
contextPickerOpen,
|
|
25682
25663
|
onOpenContextPicker: openContextPicker,
|
|
25683
25664
|
onCloseContextPicker: closeContextPicker,
|
|
@@ -25890,7 +25871,7 @@ var GROUPS = [
|
|
|
25890
25871
|
}
|
|
25891
25872
|
];
|
|
25892
25873
|
function maskKey(key) {
|
|
25893
|
-
const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access',
|
|
25874
|
+
const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _815 => _815.exec, 'call', _816 => _816(key), 'optionalAccess', _817 => _817[0]]), () => ( ""));
|
|
25894
25875
|
return key.length - prefix.length <= 8 ? `${prefix}\u2022\u2022\u2022\u2022` : `${prefix}\u2026${key.slice(-4)}`;
|
|
25895
25876
|
}
|
|
25896
25877
|
function HeaderName({ children }) {
|
|
@@ -25927,8 +25908,8 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
25927
25908
|
const errors = _react.useMemo.call(void 0, () => {
|
|
25928
25909
|
const out = {};
|
|
25929
25910
|
for (const { field } of _chunkLM7TXMLUcjs.EMBED_PROXY_OPTIONAL_HEADERS) {
|
|
25930
|
-
const value = _optionalChain([optional, 'access',
|
|
25931
|
-
const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access',
|
|
25911
|
+
const value = _optionalChain([optional, 'access', _818 => _818[field], 'optionalAccess', _819 => _819.trim, 'call', _820 => _820()]);
|
|
25912
|
+
const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _821 => _821[field], 'access', _822 => _822.validate, 'optionalCall', _823 => _823(value)]) : null;
|
|
25932
25913
|
if (message) out[field] = message;
|
|
25933
25914
|
}
|
|
25934
25915
|
return out;
|
|
@@ -25940,12 +25921,12 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
25940
25921
|
...keyForPreview ? [["Authorization", `Bearer ${keyForPreview}`]] : [],
|
|
25941
25922
|
...email.trim() ? [["X-Chat-Act-As", email.trim().toLowerCase()]] : [],
|
|
25942
25923
|
..._chunkLM7TXMLUcjs.EMBED_PROXY_OPTIONAL_HEADERS.flatMap(({ field, header }) => {
|
|
25943
|
-
const value = _optionalChain([optional, 'access',
|
|
25924
|
+
const value = _optionalChain([optional, 'access', _824 => _824[field], 'optionalAccess', _825 => _825.trim, 'call', _826 => _826()]);
|
|
25944
25925
|
return value ? [[header, value]] : [];
|
|
25945
25926
|
})
|
|
25946
25927
|
];
|
|
25947
25928
|
const save = () => {
|
|
25948
|
-
const key = secret.trim() || _optionalChain([_chunkLM7TXMLUcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
25929
|
+
const key = secret.trim() || _optionalChain([_chunkLM7TXMLUcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _827 => _827.secret]);
|
|
25949
25930
|
const actAs = email.trim().toLowerCase();
|
|
25950
25931
|
if (!key || !actAs || hasErrors) {
|
|
25951
25932
|
setStatus(hasErrors ? "Fix the highlighted fields first." : "API key and act-as email are required.");
|
|
@@ -26464,5 +26445,4 @@ function ProxyCredentialsForm({ description, saved }) {
|
|
|
26464
26445
|
|
|
26465
26446
|
|
|
26466
26447
|
|
|
26467
|
-
|
|
26468
|
-
exports.InfoHint = InfoHint; exports.Field = Field; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getCurrentPlatform = getCurrentPlatform; exports.switchPlatformTheme = switchPlatformTheme; exports.getSemanticColor = getSemanticColor; exports.getPlatformConfig = getPlatformConfig; exports.usePlatformColors = usePlatformColors; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.useResizablePanelSize = useResizablePanelSize; exports.PanelResizeHandle = PanelResizeHandle; 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.HoverDropdown = HoverDropdown; exports.StatusLine = StatusLine; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalWaitingLine = ApprovalWaitingLine; exports.ApprovalBatchMessage = ApprovalBatchMessage; 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.CHAT_APPEARANCE = CHAT_APPEARANCE; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent; exports.ChatAppearanceContext = ChatAppearanceContext; exports.useChatAppearance = useChatAppearance; 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.SystemEventMessage = SystemEventMessage; 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.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.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.ChatListEmptyState = ChatListEmptyState; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.ChatNavSidebar = ChatNavSidebar; exports.ChatListItem = ChatListItem; exports.MingoArchiveList = MingoArchiveList; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.MingoChatHeader = MingoChatHeader; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.MingoChatRail = MingoChatRail; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; 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.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; 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.useNavLinkViaRuntime = useNavLinkViaRuntime; 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.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; 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.DESIGN_DOC_READINESS = DESIGN_DOC_READINESS; exports.DESIGN_DOC_READINESS_DISPLAY = DESIGN_DOC_READINESS_DISPLAY; exports.designDocReadiness = designDocReadiness; exports.formatCompletionLabel = formatCompletionLabel; exports.formatCompletionLabelWithBlockers = formatCompletionLabelWithBlockers; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.designDocPeople = designDocPeople; exports.designDocMetaLine = designDocMetaLine; exports.DesignDocCardSkeleton = DesignDocCardSkeleton; exports.DesignDocCard = DesignDocCard; 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.readFetchedCardTitle = readFetchedCardTitle; exports.readFetchedCardPath = readFetchedCardPath; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.byKey = byKey; exports.getPlatformProductionUrl = getPlatformProductionUrl; exports.getPlatformUrl = getPlatformUrl; exports.getDeploymentUrl = getDeploymentUrl; exports.isLocalUrl = isLocalUrl; exports.getRequestOrigin = getRequestOrigin; exports.resolveRedirectTarget = resolveRedirectTarget; exports.getAllPlatformBaseDomains = getAllPlatformBaseDomains; 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.DOC_TABLE_TYPES = DOC_TABLE_TYPES; exports.groupsByTable = groupsByTable; exports.recordCountLabel = recordCountLabel; exports.buildGroupedSource = buildGroupedSource; exports.groupSourcesByTable = groupSourcesByTable; exports.formatCitationIndices = formatCitationIndices; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.resolveCardDestination = resolveCardDestination; exports.clickupTaskUrl = clickupTaskUrl; exports.chatCardLabel = chatCardLabel; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.EMPTY_DIALOG_CAPABILITIES = EMPTY_DIALOG_CAPABILITIES; 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.createChatConversationsApi = createChatConversationsApi; 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.useManagedDialogList = useManagedDialogList; 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.useStableShallow = useStableShallow; 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.MINGO_V2_RAIL_WIDTH = MINGO_V2_RAIL_WIDTH; exports.MINGO_V2_SPLIT_WIDTH = MINGO_V2_SPLIT_WIDTH; exports.EmbeddableChat = EmbeddableChat; exports.ProxyCredentialsPanel = ProxyCredentialsPanel;
|
|
26448
|
+
exports.InfoHint = InfoHint; exports.Field = Field; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getCurrentPlatform = getCurrentPlatform; exports.switchPlatformTheme = switchPlatformTheme; exports.getSemanticColor = getSemanticColor; exports.getPlatformConfig = getPlatformConfig; exports.usePlatformColors = usePlatformColors; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.useResizablePanelSize = useResizablePanelSize; exports.PanelResizeHandle = PanelResizeHandle; 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.HoverDropdown = HoverDropdown; exports.StatusLine = StatusLine; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalWaitingLine = ApprovalWaitingLine; exports.ApprovalBatchMessage = ApprovalBatchMessage; 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.CHAT_APPEARANCE = CHAT_APPEARANCE; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent; exports.ChatAppearanceContext = ChatAppearanceContext; exports.useChatAppearance = useChatAppearance; 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.SystemEventMessage = SystemEventMessage; 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.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.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.ChatListEmptyState = ChatListEmptyState; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.ChatNavSidebar = ChatNavSidebar; exports.ChatListItem = ChatListItem; exports.MingoArchiveList = MingoArchiveList; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.MingoChatHeader = MingoChatHeader; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.MingoChatRail = MingoChatRail; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; 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.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; 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.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; 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.DESIGN_DOC_READINESS = DESIGN_DOC_READINESS; exports.DESIGN_DOC_READINESS_DISPLAY = DESIGN_DOC_READINESS_DISPLAY; exports.designDocReadiness = designDocReadiness; exports.formatCompletionLabel = formatCompletionLabel; exports.formatCompletionLabelWithBlockers = formatCompletionLabelWithBlockers; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.designDocPeople = designDocPeople; exports.designDocMetaLine = designDocMetaLine; exports.DesignDocCardSkeleton = DesignDocCardSkeleton; exports.DesignDocCard = DesignDocCard; 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.readFetchedCardTitle = readFetchedCardTitle; exports.readFetchedCardPath = readFetchedCardPath; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.byKey = byKey; exports.getPlatformProductionUrl = getPlatformProductionUrl; exports.getPlatformUrl = getPlatformUrl; exports.getDeploymentUrl = getDeploymentUrl; exports.isLocalUrl = isLocalUrl; exports.getRequestOrigin = getRequestOrigin; exports.resolveRedirectTarget = resolveRedirectTarget; exports.getAllPlatformBaseDomains = getAllPlatformBaseDomains; 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.DOC_TABLE_TYPES = DOC_TABLE_TYPES; exports.groupsByTable = groupsByTable; exports.recordCountLabel = recordCountLabel; exports.buildGroupedSource = buildGroupedSource; exports.groupSourcesByTable = groupSourcesByTable; exports.formatCitationIndices = formatCitationIndices; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.resolveCardDestination = resolveCardDestination; exports.clickupTaskUrl = clickupTaskUrl; exports.chatCardLabel = chatCardLabel; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.EMPTY_DIALOG_CAPABILITIES = EMPTY_DIALOG_CAPABILITIES; 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.createChatConversationsApi = createChatConversationsApi; 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.useManagedDialogList = useManagedDialogList; 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.useStableShallow = useStableShallow; 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.MINGO_V2_RAIL_WIDTH = MINGO_V2_RAIL_WIDTH; exports.MINGO_V2_SPLIT_WIDTH = MINGO_V2_SPLIT_WIDTH; exports.EmbeddableChat = EmbeddableChat; exports.ProxyCredentialsPanel = ProxyCredentialsPanel;
|