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