@flamingo-stack/openframe-frontend-core 0.0.706-snapshot.20261006190707 → 0.0.706

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