@flamingo-stack/openframe-frontend-core 0.0.511 → 0.0.512-1640.4209.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/{chunk-IXCBVJRU.cjs → chunk-4GAVZKHG.cjs} +9 -9
  2. package/dist/{chunk-IXCBVJRU.cjs.map → chunk-4GAVZKHG.cjs.map} +1 -1
  3. package/dist/{chunk-RXFBW2EJ.cjs → chunk-534P3NJ3.cjs} +7 -7
  4. package/dist/{chunk-RXFBW2EJ.cjs.map → chunk-534P3NJ3.cjs.map} +1 -1
  5. package/dist/{chunk-X7AJ3J42.js → chunk-6ETOEANJ.js} +362 -215
  6. package/dist/chunk-6ETOEANJ.js.map +1 -0
  7. package/dist/{chunk-TNZOUHHN.js → chunk-6QPWXKUM.js} +4 -4
  8. package/dist/{chunk-ZSIEM7CL.js → chunk-76ZIKD4J.js} +2 -2
  9. package/dist/{chunk-NNWSGOUP.js → chunk-A7MD5U35.js} +2 -2
  10. package/dist/{chunk-LEWQRAZ4.cjs → chunk-CY7M2OSZ.cjs} +31 -31
  11. package/dist/{chunk-LEWQRAZ4.cjs.map → chunk-CY7M2OSZ.cjs.map} +1 -1
  12. package/dist/{chunk-OMN7A6RP.cjs → chunk-EEGK4TEH.cjs} +26 -26
  13. package/dist/{chunk-OMN7A6RP.cjs.map → chunk-EEGK4TEH.cjs.map} +1 -1
  14. package/dist/{chunk-IUZMWMVX.cjs → chunk-EJIOXYJ2.cjs} +61 -61
  15. package/dist/{chunk-IUZMWMVX.cjs.map → chunk-EJIOXYJ2.cjs.map} +1 -1
  16. package/dist/{chunk-PRMR6WKC.js → chunk-EQRNQWXA.js} +2 -2
  17. package/dist/{chunk-RU3SCECX.js → chunk-FBW47BZ7.js} +2 -2
  18. package/dist/{chunk-PXQQFRUD.cjs → chunk-FOTOJSBJ.cjs} +5 -5
  19. package/dist/{chunk-PXQQFRUD.cjs.map → chunk-FOTOJSBJ.cjs.map} +1 -1
  20. package/dist/{chunk-C4EUXZSA.cjs → chunk-GCPMAP2K.cjs} +3 -3
  21. package/dist/{chunk-C4EUXZSA.cjs.map → chunk-GCPMAP2K.cjs.map} +1 -1
  22. package/dist/{chunk-YGS7BLSN.js → chunk-HJSWBSMO.js} +2 -2
  23. package/dist/{chunk-LVAJK2U2.js → chunk-JIRDHSAM.js} +2 -2
  24. package/dist/{chunk-7YV67K3I.cjs → chunk-LJXROUP3.cjs} +87 -87
  25. package/dist/{chunk-7YV67K3I.cjs.map → chunk-LJXROUP3.cjs.map} +1 -1
  26. package/dist/{chunk-TYVHM67X.js → chunk-LTABGSW6.js} +5 -5
  27. package/dist/{chunk-NKA3O4L6.js → chunk-MO647IKL.js} +2 -2
  28. package/dist/{chunk-ZBQV7WH7.js → chunk-MPAISYAF.js} +2 -2
  29. package/dist/{chunk-U4WPFX5K.cjs → chunk-ONAGMSOD.cjs} +26 -26
  30. package/dist/{chunk-U4WPFX5K.cjs.map → chunk-ONAGMSOD.cjs.map} +1 -1
  31. package/dist/{chunk-TR7AMHGB.js → chunk-PE4CBJUE.js} +6 -6
  32. package/dist/{chunk-A5YZUV6B.cjs → chunk-PSYNV2VB.cjs} +11 -11
  33. package/dist/{chunk-A5YZUV6B.cjs.map → chunk-PSYNV2VB.cjs.map} +1 -1
  34. package/dist/{chunk-J4VB4EHW.js → chunk-U5F5PAWV.js} +4 -4
  35. package/dist/{chunk-GHXTF35X.cjs → chunk-VFFEZ66K.cjs} +353 -206
  36. package/dist/chunk-VFFEZ66K.cjs.map +1 -0
  37. package/dist/{chunk-JXMNLH7F.js → chunk-VQQBYAKR.js} +2 -2
  38. package/dist/{chunk-DPLXHG7H.cjs → chunk-XEBFFFDB.cjs} +37 -37
  39. package/dist/{chunk-DPLXHG7H.cjs.map → chunk-XEBFFFDB.cjs.map} +1 -1
  40. package/dist/{chunk-2CE725NN.cjs → chunk-Y3VWQEFO.cjs} +13 -13
  41. package/dist/{chunk-2CE725NN.cjs.map → chunk-Y3VWQEFO.cjs.map} +1 -1
  42. package/dist/{chunk-4SG55XVA.cjs → chunk-ZMC4WIBZ.cjs} +4 -4
  43. package/dist/{chunk-4SG55XVA.cjs.map → chunk-ZMC4WIBZ.cjs.map} +1 -1
  44. package/dist/components/case-studies/index.cjs +8 -8
  45. package/dist/components/case-studies/index.js +2 -2
  46. package/dist/components/chat/entity-cards/deleted-data-card.d.ts +27 -0
  47. package/dist/components/chat/entity-cards/deleted-data-card.d.ts.map +1 -0
  48. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  49. package/dist/components/chat/hooks/use-chat.d.ts.map +1 -1
  50. package/dist/components/chat/index.cjs +2 -2
  51. package/dist/components/chat/index.js +1 -1
  52. package/dist/components/contact/index.cjs +3 -3
  53. package/dist/components/contact/index.js +2 -2
  54. package/dist/components/docs/index.cjs +5 -5
  55. package/dist/components/docs/index.js +4 -4
  56. package/dist/components/embeds/index.cjs +3 -3
  57. package/dist/components/embeds/index.js +2 -2
  58. package/dist/components/faq/index.cjs +3 -3
  59. package/dist/components/faq/index.js +2 -2
  60. package/dist/components/features/index.cjs +2 -2
  61. package/dist/components/features/index.js +1 -1
  62. package/dist/components/help-center-pages/index.cjs +22 -22
  63. package/dist/components/help-center-pages/index.js +13 -13
  64. package/dist/components/index.cjs +132 -132
  65. package/dist/components/index.js +11 -11
  66. package/dist/components/meeting-scheduler/index.cjs +34 -34
  67. package/dist/components/meeting-scheduler/index.js +3 -3
  68. package/dist/components/navigation/index.cjs +2 -2
  69. package/dist/components/navigation/index.js +1 -1
  70. package/dist/components/onboarding-guides/index.cjs +5 -5
  71. package/dist/components/onboarding-guides/index.js +4 -4
  72. package/dist/components/related-content/index.cjs +3 -3
  73. package/dist/components/related-content/index.js +2 -2
  74. package/dist/components/tickets/index.cjs +6 -6
  75. package/dist/components/tickets/index.js +5 -5
  76. package/dist/components/ui/index.cjs +2 -2
  77. package/dist/components/ui/index.js +1 -1
  78. package/dist/index.cjs +2 -2
  79. package/dist/index.js +1 -1
  80. package/package.json +1 -1
  81. package/src/components/chat/entity-cards/deleted-data-card.tsx +61 -0
  82. package/src/components/chat/entity-cards/dispatch.tsx +17 -0
  83. package/src/components/chat/hooks/use-chat.ts +174 -15
  84. package/dist/chunk-GHXTF35X.cjs.map +0 -1
  85. package/dist/chunk-X7AJ3J42.js.map +0 -1
  86. /package/dist/{chunk-TNZOUHHN.js.map → chunk-6QPWXKUM.js.map} +0 -0
  87. /package/dist/{chunk-ZSIEM7CL.js.map → chunk-76ZIKD4J.js.map} +0 -0
  88. /package/dist/{chunk-NNWSGOUP.js.map → chunk-A7MD5U35.js.map} +0 -0
  89. /package/dist/{chunk-PRMR6WKC.js.map → chunk-EQRNQWXA.js.map} +0 -0
  90. /package/dist/{chunk-RU3SCECX.js.map → chunk-FBW47BZ7.js.map} +0 -0
  91. /package/dist/{chunk-YGS7BLSN.js.map → chunk-HJSWBSMO.js.map} +0 -0
  92. /package/dist/{chunk-LVAJK2U2.js.map → chunk-JIRDHSAM.js.map} +0 -0
  93. /package/dist/{chunk-TYVHM67X.js.map → chunk-LTABGSW6.js.map} +0 -0
  94. /package/dist/{chunk-NKA3O4L6.js.map → chunk-MO647IKL.js.map} +0 -0
  95. /package/dist/{chunk-ZBQV7WH7.js.map → chunk-MPAISYAF.js.map} +0 -0
  96. /package/dist/{chunk-TR7AMHGB.js.map → chunk-PE4CBJUE.js.map} +0 -0
  97. /package/dist/{chunk-J4VB4EHW.js.map → chunk-U5F5PAWV.js.map} +0 -0
  98. /package/dist/{chunk-JXMNLH7F.js.map → chunk-VQQBYAKR.js.map} +0 -0
@@ -50899,6 +50899,24 @@ function resolveFetchedCardHref({
50899
50899
  });
50900
50900
  }
50901
50901
 
50902
+ // src/components/chat/entity-cards/deleted-data-card.tsx
50903
+
50904
+
50905
+ function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
50906
+ const label = entityLabel || "Item";
50907
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
50908
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
50909
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: COMPACT_CARD_TEXT_COL, children: [
50910
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_TITLE} line-through text-ods-text-secondary`, children: title || `Deleted ${label.toLowerCase()}` }) }),
50911
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
50912
+ label,
50913
+ " deleted",
50914
+ recoveryNote ? ` \xB7 ${recoveryNote}` : ""
50915
+ ] }) })
50916
+ ] })
50917
+ ] });
50918
+ }
50919
+
50902
50920
  // src/components/chat/mingo-info-card.tsx
50903
50921
  _chunkKI4EGKNVcjs.init_cn.call(void 0, );
50904
50922
 
@@ -51631,6 +51649,23 @@ function roadmapRegistryEntries() {
51631
51649
  var CHAT_CARD_REGISTRY = {
51632
51650
  // ───────── no-fetch: ChatRef carries everything ─────────
51633
51651
  ...githubRegistryEntries(),
51652
+ // Generic TOMBSTONE for entities a chat action deleted (ClickUp task
51653
+ // today; any deletable entity tomorrow). No fetch, no navigation —
51654
+ // the entity no longer resolves anywhere; the placeholder keeps the
51655
+ // thread's integrity (Teams/Slack "This message was deleted" pattern).
51656
+ deleted_data: {
51657
+ mode: "no-fetch",
51658
+ label: "Deleted",
51659
+ bareInline: true,
51660
+ render: (chatRef) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51661
+ DeletedDataCard,
51662
+ {
51663
+ title: _nullishCoalesce(chatRef.title, () => ( null)),
51664
+ entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _1306 => _1306.metadata, 'optionalAccess', _1307 => _1307.entity_label]), () => ( null)),
51665
+ recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _1308 => _1308.metadata, 'optionalAccess', _1309 => _1309.recovery_note]), () => ( null))
51666
+ }
51667
+ )
51668
+ },
51634
51669
  slack_message: {
51635
51670
  mode: "no-fetch",
51636
51671
  label: "Slack message",
@@ -51737,8 +51772,8 @@ var CHAT_CARD_REGISTRY = {
51737
51772
  chatRef,
51738
51773
  isNewTab: opts.isNewTab,
51739
51774
  discuss: opts.discuss,
51740
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1306 => _1306.extras, 'optionalAccess', _1307 => _1307.buildOgPlaceholderUrl, 'optionalCall', _1308 => _1308(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1309 => _1309.title]), () => ( "")))]), () => ( null)),
51741
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1310 => _1310.metadata, 'optionalAccess', _1311 => _1311.hasEmbeddedVideo]) === true
51775
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1310 => _1310.extras, 'optionalAccess', _1311 => _1311.buildOgPlaceholderUrl, 'optionalCall', _1312 => _1312(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1313 => _1313.title]), () => ( "")))]), () => ( null)),
51776
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1314 => _1314.metadata, 'optionalAccess', _1315 => _1315.hasEmbeddedVideo]) === true
51742
51777
  }
51743
51778
  )
51744
51779
  },
@@ -51755,7 +51790,7 @@ var CHAT_CARD_REGISTRY = {
51755
51790
  chatRef,
51756
51791
  isNewTab: opts.isNewTab,
51757
51792
  discuss: opts.discuss,
51758
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1312 => _1312.extras, 'optionalAccess', _1313 => _1313.buildOgPlaceholderUrl, 'optionalCall', _1314 => _1314(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1315 => _1315.title]), () => ( "")))]), () => ( null))
51793
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1316 => _1316.extras, 'optionalAccess', _1317 => _1317.buildOgPlaceholderUrl, 'optionalCall', _1318 => _1318(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1319 => _1319.title]), () => ( "")))]), () => ( null))
51759
51794
  }
51760
51795
  )
51761
51796
  },
@@ -51772,7 +51807,7 @@ var CHAT_CARD_REGISTRY = {
51772
51807
  chatRef,
51773
51808
  isNewTab: opts.isNewTab,
51774
51809
  discuss: opts.discuss,
51775
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1316 => _1316.extras, 'optionalAccess', _1317 => _1317.buildOgPlaceholderUrl, 'optionalCall', _1318 => _1318(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1319 => _1319.title]), () => ( "")))]), () => ( null))
51810
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1320 => _1320.extras, 'optionalAccess', _1321 => _1321.buildOgPlaceholderUrl, 'optionalCall', _1322 => _1322(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1323 => _1323.title]), () => ( "")))]), () => ( null))
51776
51811
  }
51777
51812
  )
51778
51813
  },
@@ -51783,7 +51818,7 @@ var CHAT_CARD_REGISTRY = {
51783
51818
  bareInline: true,
51784
51819
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
51785
51820
  render: (item, chatRef, opts) => {
51786
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1320 => _1320.extras, 'optionalAccess', _1321 => _1321.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
51821
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1324 => _1324.extras, 'optionalAccess', _1325 => _1325.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
51787
51822
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51788
51823
  ProductReleaseChatCard,
51789
51824
  {
@@ -51810,7 +51845,7 @@ var CHAT_CARD_REGISTRY = {
51810
51845
  chatRef,
51811
51846
  isNewTab: opts.isNewTab,
51812
51847
  discuss: opts.discuss,
51813
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1322 => _1322.extras, 'optionalAccess', _1323 => _1323.buildOgPlaceholderUrl, 'optionalCall', _1324 => _1324(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1325 => _1325.title]), () => ( "")))]), () => ( null))
51848
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1326 => _1326.extras, 'optionalAccess', _1327 => _1327.buildOgPlaceholderUrl, 'optionalCall', _1328 => _1328(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1329 => _1329.title]), () => ( "")))]), () => ( null))
51814
51849
  }
51815
51850
  )
51816
51851
  },
@@ -51829,7 +51864,7 @@ var CHAT_CARD_REGISTRY = {
51829
51864
  chatRef,
51830
51865
  isNewTab: opts.isNewTab,
51831
51866
  discuss: opts.discuss,
51832
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1326 => _1326.extras, 'optionalAccess', _1327 => _1327.buildOgPlaceholderUrl, 'optionalCall', _1328 => _1328(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1329 => _1329.title]), () => ( "")))]), () => ( null))
51867
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1330 => _1330.extras, 'optionalAccess', _1331 => _1331.buildOgPlaceholderUrl, 'optionalCall', _1332 => _1332(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1333 => _1333.title]), () => ( "")))]), () => ( null))
51833
51868
  }
51834
51869
  )
51835
51870
  },
@@ -51841,7 +51876,7 @@ var CHAT_CARD_REGISTRY = {
51841
51876
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
51842
51877
  // No public viewer — synthesize the hub-internal admin URL post-fetch
51843
51878
  // so the wrapper + isNewTab computation see the actual destination.
51844
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1330 => _1330.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
51879
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1334 => _1334.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
51845
51880
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51846
51881
  CampaignChatCard,
51847
51882
  {
@@ -51868,13 +51903,13 @@ function ChatCardNavWrap({
51868
51903
  if (!href) return;
51869
51904
  const targetEl = e.target;
51870
51905
  const host = e.currentTarget;
51871
- if (!_optionalChain([host, 'optionalAccess', _1331 => _1331.contains, 'call', _1332 => _1332(targetEl)])) return;
51872
- if (_optionalChain([targetEl, 'optionalAccess', _1333 => _1333.closest, 'optionalCall', _1334 => _1334("button")])) return;
51873
- if (!_optionalChain([targetEl, 'optionalAccess', _1335 => _1335.closest, 'optionalCall', _1336 => _1336("a")])) return;
51906
+ if (!_optionalChain([host, 'optionalAccess', _1335 => _1335.contains, 'call', _1336 => _1336(targetEl)])) return;
51907
+ if (_optionalChain([targetEl, 'optionalAccess', _1337 => _1337.closest, 'optionalCall', _1338 => _1338("button")])) return;
51908
+ if (!_optionalChain([targetEl, 'optionalAccess', _1339 => _1339.closest, 'optionalCall', _1340 => _1340("a")])) return;
51874
51909
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
51875
51910
  if (!handled) return;
51876
51911
  e.stopPropagation();
51877
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1337 => _1337.closeChat])) panel.closeChat();
51912
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1341 => _1341.closeChat])) panel.closeChat();
51878
51913
  };
51879
51914
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
51880
51915
  }
@@ -51896,7 +51931,7 @@ function ChatCardLoader({
51896
51931
  title: chatRef.title,
51897
51932
  externalUrl: chatRef.url,
51898
51933
  targetPlatform: chatRef.targetPlatform,
51899
- path: typeof _optionalChain([chatRef, 'access', _1338 => _1338.metadata, 'optionalAccess', _1339 => _1339.path]) === "string" ? chatRef.metadata.path : null
51934
+ path: typeof _optionalChain([chatRef, 'access', _1342 => _1342.metadata, 'optionalAccess', _1343 => _1343.path]) === "string" ? chatRef.metadata.path : null
51900
51935
  },
51901
51936
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
51902
51937
  );
@@ -51910,7 +51945,7 @@ function ChatCardLoader({
51910
51945
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
51911
51946
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
51912
51947
  const { item, isLoading } = useChatCardItem(
51913
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1340 => _1340.contentRefType]), () => ( "")),
51948
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1344 => _1344.contentRefType]), () => ( "")),
51914
51949
  fetchEntry ? resolvedChatRef.id : ""
51915
51950
  );
51916
51951
  if (!entry) return null;
@@ -51953,7 +51988,7 @@ function ChatCardLoader({
51953
51988
  isNewTab,
51954
51989
  discuss
51955
51990
  };
51956
- const path = typeof _optionalChain([finalChatRef, 'access', _1341 => _1341.metadata, 'optionalAccess', _1342 => _1342.path]) === "string" ? finalChatRef.metadata.path : null;
51991
+ const path = typeof _optionalChain([finalChatRef, 'access', _1345 => _1345.metadata, 'optionalAccess', _1346 => _1346.path]) === "string" ? finalChatRef.metadata.path : null;
51957
51992
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51958
51993
  ChatCardNavWrap,
51959
51994
  {
@@ -52223,7 +52258,7 @@ function useChunkCatchup({
52223
52258
  console.error("Error during chunk catchup:", error);
52224
52259
  } finally {
52225
52260
  if (dialogId2 !== dialogIdRef.current) {
52226
- if (_optionalChain([pendingCatchupRef, 'access', _1343 => _1343.current, 'optionalAccess', _1344 => _1344.dialogId]) === dialogId2) {
52261
+ if (_optionalChain([pendingCatchupRef, 'access', _1347 => _1347.current, 'optionalAccess', _1348 => _1348.dialogId]) === dialogId2) {
52227
52262
  pendingCatchupRef.current = null;
52228
52263
  }
52229
52264
  } else {
@@ -52236,7 +52271,7 @@ function useChunkCatchup({
52236
52271
  lastFetchParams.current = null;
52237
52272
  bufferUntilInitialCatchupComplete.current = true;
52238
52273
  try {
52239
- await _optionalChain([catchUpChunksRef, 'access', _1345 => _1345.current, 'optionalCall', _1346 => _1346(pending.fromSequenceId)]);
52274
+ await _optionalChain([catchUpChunksRef, 'access', _1349 => _1349.current, 'optionalCall', _1350 => _1350(pending.fromSequenceId)]);
52240
52275
  } catch (rerunError) {
52241
52276
  console.error("Queued catch-up re-run failed:", rerunError);
52242
52277
  }
@@ -52300,7 +52335,7 @@ function useChunkCatchup({
52300
52335
 
52301
52336
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
52302
52337
  function prefersReducedMotion() {
52303
- return typeof window !== "undefined" && _optionalChain([window, 'access', _1347 => _1347.matchMedia, 'optionalCall', _1348 => _1348("(prefers-reduced-motion: reduce)"), 'access', _1349 => _1349.matches]) === true;
52338
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _1351 => _1351.matchMedia, 'optionalCall', _1352 => _1352("(prefers-reduced-motion: reduce)"), 'access', _1353 => _1353.matches]) === true;
52304
52339
  }
52305
52340
  function useScriptedStream(frames, resetKey, enabled = true) {
52306
52341
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -52312,7 +52347,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
52312
52347
  }
52313
52348
  _react.useEffect.call(void 0, () => {
52314
52349
  setReducedMotion(prefersReducedMotion());
52315
- const mq = _optionalChain([window, 'access', _1350 => _1350.matchMedia, 'optionalCall', _1351 => _1351("(prefers-reduced-motion: reduce)")]);
52350
+ const mq = _optionalChain([window, 'access', _1354 => _1354.matchMedia, 'optionalCall', _1355 => _1355("(prefers-reduced-motion: reduce)")]);
52316
52351
  if (!mq) return;
52317
52352
  const onChange = () => setReducedMotion(mq.matches);
52318
52353
  mq.addEventListener("change", onChange);
@@ -52444,7 +52479,7 @@ function useJetStreamDialogSubscription({
52444
52479
  const lifecycle = _chunkKQKU4VXBcjs.startConnectionLifecycle.call(void 0, {
52445
52480
  conn: sharedConn,
52446
52481
  wsUrl,
52447
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1352 => _1352.current, 'optionalCall', _1353 => _1353()]),
52482
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1356 => _1356.current, 'optionalCall', _1357 => _1357()]),
52448
52483
  backoff: reconnectionBackoffRef.current,
52449
52484
  getFreshUrl: () => getNatsWsUrlRef.current(),
52450
52485
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -52459,7 +52494,7 @@ function useJetStreamDialogSubscription({
52459
52494
  setReconnectionCount((c) => c + 1);
52460
52495
  }
52461
52496
  hadConnectionBeforeRef.current = true;
52462
- _optionalChain([onConnectRef, 'access', _1354 => _1354.current, 'optionalCall', _1355 => _1355()]);
52497
+ _optionalChain([onConnectRef, 'access', _1358 => _1358.current, 'optionalCall', _1359 => _1359()]);
52463
52498
  }
52464
52499
  if (status === "error") {
52465
52500
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -52469,7 +52504,7 @@ function useJetStreamDialogSubscription({
52469
52504
  setIsConnected(false);
52470
52505
  setIsSubscribed(false);
52471
52506
  tearDownSubscription();
52472
- _optionalChain([onDisconnectRef, 'access', _1356 => _1356.current, 'optionalCall', _1357 => _1357()]);
52507
+ _optionalChain([onDisconnectRef, 'access', _1360 => _1360.current, 'optionalCall', _1361 => _1361()]);
52473
52508
  }
52474
52509
  }
52475
52510
  });
@@ -52578,7 +52613,7 @@ function useJetStreamDialogSubscription({
52578
52613
  }
52579
52614
  subscriptionRef.current = handle;
52580
52615
  setIsSubscribed(true);
52581
- _optionalChain([onSubscribedRef, 'access', _1358 => _1358.current, 'optionalCall', _1359 => _1359()]);
52616
+ _optionalChain([onSubscribedRef, 'access', _1362 => _1362.current, 'optionalCall', _1363 => _1363()]);
52582
52617
  } catch (e87) {
52583
52618
  if (!cancelled) {
52584
52619
  setIsSubscribed(false);
@@ -52692,20 +52727,20 @@ function useNatsDialogSubscription({
52692
52727
  const tearDownSubscriptions = () => {
52693
52728
  subscriptionRefs.current.forEach((sub) => {
52694
52729
  try {
52695
- _optionalChain([sub, 'optionalAccess', _1360 => _1360.unsubscribe, 'call', _1361 => _1361()]);
52730
+ _optionalChain([sub, 'optionalAccess', _1364 => _1364.unsubscribe, 'call', _1365 => _1365()]);
52696
52731
  } catch (e89) {
52697
52732
  }
52698
52733
  });
52699
52734
  subscriptionRefs.current.clear();
52700
52735
  lastSubscribedDialogIdRef.current = null;
52701
- _optionalChain([abortControllerRef, 'access', _1362 => _1362.current, 'optionalAccess', _1363 => _1363.abort, 'call', _1364 => _1364()]);
52736
+ _optionalChain([abortControllerRef, 'access', _1366 => _1366.current, 'optionalAccess', _1367 => _1367.abort, 'call', _1368 => _1368()]);
52702
52737
  abortControllerRef.current = null;
52703
52738
  };
52704
52739
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
52705
52740
  const lifecycle = _chunkKQKU4VXBcjs.startConnectionLifecycle.call(void 0, {
52706
52741
  conn: sharedConn,
52707
52742
  wsUrl,
52708
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1365 => _1365.current, 'optionalCall', _1366 => _1366()]),
52743
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1369 => _1369.current, 'optionalCall', _1370 => _1370()]),
52709
52744
  backoff: reconnectionBackoffRef.current,
52710
52745
  getFreshUrl: () => getNatsWsUrlRef.current(),
52711
52746
  shouldRetryOn: isDisconnectStatus,
@@ -52716,7 +52751,7 @@ function useNatsDialogSubscription({
52716
52751
  setReconnectionCount((c) => c + 1);
52717
52752
  }
52718
52753
  hadConnectionBeforeRef.current = true;
52719
- _optionalChain([onConnectRef, 'access', _1367 => _1367.current, 'optionalCall', _1368 => _1368()]);
52754
+ _optionalChain([onConnectRef, 'access', _1371 => _1371.current, 'optionalCall', _1372 => _1372()]);
52720
52755
  }
52721
52756
  if (status === "error") {
52722
52757
  console.warn("[NATS] protocol error:", evt.data);
@@ -52726,7 +52761,7 @@ function useNatsDialogSubscription({
52726
52761
  setIsConnected(false);
52727
52762
  setIsSubscribed(false);
52728
52763
  tearDownSubscriptions();
52729
- _optionalChain([onDisconnectRef, 'access', _1369 => _1369.current, 'optionalCall', _1370 => _1370()]);
52764
+ _optionalChain([onDisconnectRef, 'access', _1373 => _1373.current, 'optionalCall', _1374 => _1374()]);
52730
52765
  }
52731
52766
  }
52732
52767
  });
@@ -52759,13 +52794,13 @@ function useNatsDialogSubscription({
52759
52794
  setIsSubscribed(false);
52760
52795
  subscriptionRefs.current.forEach((sub) => {
52761
52796
  try {
52762
- _optionalChain([sub, 'optionalAccess', _1371 => _1371.unsubscribe, 'call', _1372 => _1372()]);
52797
+ _optionalChain([sub, 'optionalAccess', _1375 => _1375.unsubscribe, 'call', _1376 => _1376()]);
52763
52798
  } catch (e90) {
52764
52799
  }
52765
52800
  });
52766
52801
  subscriptionRefs.current.clear();
52767
52802
  lastSubscribedDialogIdRef.current = null;
52768
- _optionalChain([abortControllerRef, 'access', _1373 => _1373.current, 'optionalAccess', _1374 => _1374.abort, 'call', _1375 => _1375()]);
52803
+ _optionalChain([abortControllerRef, 'access', _1377 => _1377.current, 'optionalAccess', _1378 => _1378.abort, 'call', _1379 => _1379()]);
52769
52804
  abortControllerRef.current = null;
52770
52805
  }
52771
52806
  return;
@@ -52777,12 +52812,12 @@ function useNatsDialogSubscription({
52777
52812
  if (subscriptionRefs.current.size > 0) {
52778
52813
  subscriptionRefs.current.forEach((sub) => {
52779
52814
  try {
52780
- _optionalChain([sub, 'optionalAccess', _1376 => _1376.unsubscribe, 'call', _1377 => _1377()]);
52815
+ _optionalChain([sub, 'optionalAccess', _1380 => _1380.unsubscribe, 'call', _1381 => _1381()]);
52781
52816
  } catch (e91) {
52782
52817
  }
52783
52818
  });
52784
52819
  subscriptionRefs.current.clear();
52785
- _optionalChain([abortControllerRef, 'access', _1378 => _1378.current, 'optionalAccess', _1379 => _1379.abort, 'call', _1380 => _1380()]);
52820
+ _optionalChain([abortControllerRef, 'access', _1382 => _1382.current, 'optionalAccess', _1383 => _1383.abort, 'call', _1384 => _1384()]);
52786
52821
  }
52787
52822
  abortControllerRef.current = new AbortController();
52788
52823
  const abort = abortControllerRef.current;
@@ -52814,7 +52849,7 @@ function useNatsDialogSubscription({
52814
52849
  });
52815
52850
  lastSubscribedDialogIdRef.current = dialogId;
52816
52851
  setIsSubscribed(true);
52817
- _optionalChain([onSubscribedRef, 'access', _1381 => _1381.current, 'optionalCall', _1382 => _1382()]);
52852
+ _optionalChain([onSubscribedRef, 'access', _1385 => _1385.current, 'optionalCall', _1386 => _1386()]);
52818
52853
  };
52819
52854
  if (isConnectedRef.current) {
52820
52855
  createSubscriptions();
@@ -52824,7 +52859,7 @@ function useNatsDialogSubscription({
52824
52859
  abort.abort();
52825
52860
  subscriptionRefs.current.forEach((sub) => {
52826
52861
  try {
52827
- _optionalChain([sub, 'optionalAccess', _1383 => _1383.unsubscribe, 'call', _1384 => _1384()]);
52862
+ _optionalChain([sub, 'optionalAccess', _1387 => _1387.unsubscribe, 'call', _1388 => _1388()]);
52828
52863
  } catch (e93) {
52829
52864
  }
52830
52865
  });
@@ -52865,7 +52900,7 @@ function useNatsDialogSubscription({
52865
52900
  });
52866
52901
  lastSubscribedDialogIdRef.current = dialogId2;
52867
52902
  setIsSubscribed(true);
52868
- _optionalChain([onSubscribedRef, 'access', _1385 => _1385.current, 'optionalCall', _1386 => _1386()]);
52903
+ _optionalChain([onSubscribedRef, 'access', _1389 => _1389.current, 'optionalCall', _1390 => _1390()]);
52869
52904
  } else if (subscriptionRefs.current.size > 0) {
52870
52905
  setIsSubscribed(true);
52871
52906
  }
@@ -52873,10 +52908,10 @@ function useNatsDialogSubscription({
52873
52908
  return { isConnected, isSubscribed, reconnectionCount };
52874
52909
  }
52875
52910
  function buildNatsWsUrl(apiBaseUrl, options) {
52876
- const path = _optionalChain([options, 'optionalAccess', _1387 => _1387.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
52911
+ const path = _optionalChain([options, 'optionalAccess', _1391 => _1391.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
52877
52912
  const u = new URL(path, apiBaseUrl);
52878
52913
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
52879
- if (_optionalChain([options, 'optionalAccess', _1388 => _1388.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1389 => _1389.token])) {
52914
+ if (_optionalChain([options, 'optionalAccess', _1392 => _1392.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1393 => _1393.token])) {
52880
52915
  u.searchParams.set("authorization", options.token);
52881
52916
  }
52882
52917
  return u.toString();
@@ -52894,7 +52929,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
52894
52929
  const data = await res.json();
52895
52930
  return _nullishCoalesce(data.commands, () => ( []));
52896
52931
  } catch (err) {
52897
- if (_optionalChain([err, 'optionalAccess', _1390 => _1390.name]) === "AbortError") throw err;
52932
+ if (_optionalChain([err, 'optionalAccess', _1394 => _1394.name]) === "AbortError") throw err;
52898
52933
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
52899
52934
  return [];
52900
52935
  }
@@ -52915,7 +52950,7 @@ function useSlashCommands(prefix, commandsUrl) {
52915
52950
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
52916
52951
  if (!cancelled) setCommands(next);
52917
52952
  } catch (err) {
52918
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1391 => _1391.name]) !== "AbortError") {
52953
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1395 => _1395.name]) !== "AbortError") {
52919
52954
  console.warn("[use-slash-commands] fetch failed:", err);
52920
52955
  }
52921
52956
  } finally {
@@ -52934,7 +52969,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
52934
52969
  const query = _reactquery.useQuery.call(void 0, {
52935
52970
  queryKey: ["chat-slash-commands", commandsUrl],
52936
52971
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
52937
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1392 => _1392.enabled]), () => ( true)),
52972
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1396 => _1396.enabled]), () => ( true)),
52938
52973
  staleTime: Infinity,
52939
52974
  gcTime: Infinity,
52940
52975
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -52973,21 +53008,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
52973
53008
  }
52974
53009
  const data = await res.json();
52975
53010
  return {
52976
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1393 => _1393.name]), () => ( null)),
52977
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1394 => _1394.icon]), () => ( null)),
52978
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1395 => _1395.greeting]), () => ( null)),
52979
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1396 => _1396.enabledRagTableIds]), () => ( [])),
52980
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1397 => _1397.quickActions]), () => ( [])),
52981
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1398 => _1398.suggestedQueries]), () => ( []))
53011
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1397 => _1397.name]), () => ( null)),
53012
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1398 => _1398.icon]), () => ( null)),
53013
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1399 => _1399.greeting]), () => ( null)),
53014
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1400 => _1400.enabledRagTableIds]), () => ( [])),
53015
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1401 => _1401.quickActions]), () => ( [])),
53016
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1402 => _1402.suggestedQueries]), () => ( []))
52982
53017
  };
52983
53018
  } catch (err) {
52984
- if (_optionalChain([err, 'optionalAccess', _1399 => _1399.name]) === "AbortError") throw err;
53019
+ if (_optionalChain([err, 'optionalAccess', _1403 => _1403.name]) === "AbortError") throw err;
52985
53020
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
52986
53021
  return EMPTY_STATE_FALLBACK;
52987
53022
  }
52988
53023
  }
52989
53024
  function useEmptyStateConfig(emptyStateUrl, options) {
52990
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1400 => _1400.enabled]), () => ( true))) && !!emptyStateUrl;
53025
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1404 => _1404.enabled]), () => ( true))) && !!emptyStateUrl;
52991
53026
  const query = _reactquery.useQuery.call(void 0, {
52992
53027
  queryKey: ["chat-empty-state", emptyStateUrl],
52993
53028
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -53016,7 +53051,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
53016
53051
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
53017
53052
  function uploadWithProgress(url, file, token, onProgress, signal) {
53018
53053
  return new Promise((resolve, reject) => {
53019
- if (_optionalChain([signal, 'optionalAccess', _1401 => _1401.aborted])) {
53054
+ if (_optionalChain([signal, 'optionalAccess', _1405 => _1405.aborted])) {
53020
53055
  reject(new Error("Upload cancelled"));
53021
53056
  return;
53022
53057
  }
@@ -53030,7 +53065,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
53030
53065
  xhr.removeEventListener("error", handleError);
53031
53066
  xhr.removeEventListener("abort", handleAbort);
53032
53067
  xhr.removeEventListener("timeout", handleTimeout);
53033
- _optionalChain([signal, 'optionalAccess', _1402 => _1402.removeEventListener, 'call', _1403 => _1403("abort", handleSignalAbort)]);
53068
+ _optionalChain([signal, 'optionalAccess', _1406 => _1406.removeEventListener, 'call', _1407 => _1407("abort", handleSignalAbort)]);
53034
53069
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
53035
53070
  };
53036
53071
  const handleProgress = (event) => {
@@ -53066,7 +53101,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
53066
53101
  const handleSignalAbort = () => {
53067
53102
  xhr.abort();
53068
53103
  };
53069
- _optionalChain([signal, 'optionalAccess', _1404 => _1404.addEventListener, 'call', _1405 => _1405("abort", handleSignalAbort, { once: true })]);
53104
+ _optionalChain([signal, 'optionalAccess', _1408 => _1408.addEventListener, 'call', _1409 => _1409("abort", handleSignalAbort, { once: true })]);
53070
53105
  xhr.upload.addEventListener("progress", handleProgress);
53071
53106
  xhr.addEventListener("load", handleLoad);
53072
53107
  xhr.addEventListener("error", handleError);
@@ -53110,12 +53145,12 @@ function useChatAttachments() {
53110
53145
  try {
53111
53146
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
53112
53147
  } catch (err) {
53113
- if (_optionalChain([ctrl, 'optionalAccess', _1406 => _1406.signal, 'access', _1407 => _1407.aborted])) return;
53148
+ if (_optionalChain([ctrl, 'optionalAccess', _1410 => _1410.signal, 'access', _1411 => _1411.aborted])) return;
53114
53149
  throw new Error(
53115
53150
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
53116
53151
  );
53117
53152
  }
53118
- if (_optionalChain([ctrl, 'optionalAccess', _1408 => _1408.signal, 'access', _1409 => _1409.aborted])) return;
53153
+ if (_optionalChain([ctrl, 'optionalAccess', _1412 => _1412.signal, 'access', _1413 => _1413.aborted])) return;
53119
53154
  if (!sniffed) {
53120
53155
  throw new Error("Unrecognized file format");
53121
53156
  }
@@ -53129,7 +53164,7 @@ function useChatAttachments() {
53129
53164
  const urlResp = await _chunkOGVIGAMZcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
53130
53165
  method: "POST",
53131
53166
  headers: { "Content-Type": "application/json" },
53132
- signal: _optionalChain([ctrl, 'optionalAccess', _1410 => _1410.signal]),
53167
+ signal: _optionalChain([ctrl, 'optionalAccess', _1414 => _1414.signal]),
53133
53168
  body: JSON.stringify({
53134
53169
  fileName: att.file.name,
53135
53170
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -53155,9 +53190,9 @@ function useChatAttachments() {
53155
53190
  (pct) => {
53156
53191
  updateOne(att.id, { progress: pct });
53157
53192
  },
53158
- _optionalChain([ctrl, 'optionalAccess', _1411 => _1411.signal])
53193
+ _optionalChain([ctrl, 'optionalAccess', _1415 => _1415.signal])
53159
53194
  );
53160
- if (_optionalChain([ctrl, 'optionalAccess', _1412 => _1412.signal, 'access', _1413 => _1413.aborted])) return;
53195
+ if (_optionalChain([ctrl, 'optionalAccess', _1416 => _1416.signal, 'access', _1417 => _1417.aborted])) return;
53161
53196
  updateOne(att.id, {
53162
53197
  status: "ready",
53163
53198
  progress: 100,
@@ -53165,7 +53200,7 @@ function useChatAttachments() {
53165
53200
  viewToken: mintData.viewToken
53166
53201
  });
53167
53202
  } catch (err) {
53168
- if (_optionalChain([ctrl, 'optionalAccess', _1414 => _1414.signal, 'access', _1415 => _1415.aborted])) return;
53203
+ if (_optionalChain([ctrl, 'optionalAccess', _1418 => _1418.signal, 'access', _1419 => _1419.aborted])) return;
53169
53204
  const message2 = err instanceof Error ? err.message : String(err);
53170
53205
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
53171
53206
  } finally {
@@ -53352,7 +53387,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
53352
53387
  yield chunk;
53353
53388
  }
53354
53389
  } catch (err) {
53355
- if (_optionalChain([err, 'optionalAccess', _1416 => _1416.name]) === "AbortError" || ctrl.signal.aborted) {
53390
+ if (_optionalChain([err, 'optionalAccess', _1420 => _1420.name]) === "AbortError" || ctrl.signal.aborted) {
53356
53391
  return;
53357
53392
  }
53358
53393
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -53403,7 +53438,7 @@ function useChat({
53403
53438
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
53404
53439
  onMessagesChangeRef.current = onMessagesChange;
53405
53440
  _react.useEffect.call(void 0, () => {
53406
- _optionalChain([onMessagesChangeRef, 'access', _1417 => _1417.current, 'optionalCall', _1418 => _1418(messages)]);
53441
+ _optionalChain([onMessagesChangeRef, 'access', _1421 => _1421.current, 'optionalCall', _1422 => _1422(messages)]);
53407
53442
  }, [messages]);
53408
53443
  const {
53409
53444
  streamMessage,
@@ -53440,7 +53475,7 @@ function useChat({
53440
53475
  name: "You",
53441
53476
  content: text,
53442
53477
  timestamp: /* @__PURE__ */ new Date(),
53443
- ..._optionalChain([options, 'optionalAccess', _1419 => _1419.hidden]) ? { hidden: true } : {}
53478
+ ..._optionalChain([options, 'optionalAccess', _1423 => _1423.hidden]) ? { hidden: true } : {}
53444
53479
  };
53445
53480
  addMessage(userMessage);
53446
53481
  setIsTyping(true);
@@ -53502,7 +53537,7 @@ function useChat({
53502
53537
  currentTextSegment = "";
53503
53538
  }
53504
53539
  const seg = segment;
53505
- const proposalId = _optionalChain([seg, 'access', _1420 => _1420.data, 'optionalAccess', _1421 => _1421.requestId]);
53540
+ const proposalId = _optionalChain([seg, 'access', _1424 => _1424.data, 'optionalAccess', _1425 => _1425.requestId]);
53506
53541
  const updateApprovalMessage = (transform) => {
53507
53542
  setMessages((prev) => {
53508
53543
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -53511,7 +53546,7 @@ function useChat({
53511
53546
  if (!Array.isArray(m.content)) continue;
53512
53547
  const segments = m.content;
53513
53548
  const hasMatch = segments.some(
53514
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1422 => _1422.data, 'optionalAccess', _1423 => _1423.requestId]) === proposalId
53549
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1426 => _1426.data, 'optionalAccess', _1427 => _1427.requestId]) === proposalId
53515
53550
  );
53516
53551
  if (!hasMatch) continue;
53517
53552
  const next = [...prev];
@@ -53537,12 +53572,101 @@ function useChat({
53537
53572
  { hidden: true }
53538
53573
  );
53539
53574
  };
53540
- currentAssistantSegmentsRef.current.push({
53541
- ...seg,
53542
- onApprove: wrappedApprove,
53543
- onReject: wrappedReject
53544
- });
53545
- updateLastAssistantMessage([...currentAssistantSegmentsRef.current]);
53575
+ const toToolCall = (d) => {
53576
+ const fields = Array.isArray(_optionalChain([d, 'optionalAccess', _1428 => _1428.fields])) ? d.fields : [];
53577
+ const detailField = _nullishCoalesce(fields.find((f) => /^(title|subject|task|name)$/i.test(f.label)), () => ( fields[0]));
53578
+ const base = typeof _optionalChain([d, 'optionalAccess', _1429 => _1429.command]) === "string" && d.command ? d.command : "Tool call";
53579
+ return {
53580
+ toolExecutionRequestId: String(_nullishCoalesce(_optionalChain([d, 'optionalAccess', _1430 => _1430.requestId]), () => ( ""))),
53581
+ toolName: String(_nullishCoalesce(_optionalChain([d, 'optionalAccess', _1431 => _1431.approvalType]), () => ( "tool"))),
53582
+ toolTitle: detailField ? `${base} \u2014 ${detailField.value}` : base,
53583
+ requiresApproval: true,
53584
+ // Field rows become the expandable args block so the
53585
+ // per-proposal detail from the single-card view stays
53586
+ // reachable inside the batch.
53587
+ toolCallArguments: fields.length > 0 ? Object.fromEntries(fields.map((f) => [f.label, f.value])) : null
53588
+ };
53589
+ };
53590
+ const makeBatchHandlers = (anchorId) => {
53591
+ const findBatch = (segments) => segments.find(
53592
+ (s) => s.type === "approval_batch" && s.data.approvalRequestId === anchorId
53593
+ );
53594
+ const setBatchStatus = (status) => {
53595
+ setMessages((prev) => {
53596
+ for (let i = prev.length - 1; i >= 0; i--) {
53597
+ const m = prev[i];
53598
+ if (m.role !== "assistant" || !Array.isArray(m.content)) continue;
53599
+ const segments = m.content;
53600
+ if (!findBatch(segments)) continue;
53601
+ const next = [...prev];
53602
+ next[i] = {
53603
+ ...m,
53604
+ content: segments.map(
53605
+ (s) => s.type === "approval_batch" && s.data.approvalRequestId === anchorId ? { ...s, status } : s
53606
+ )
53607
+ };
53608
+ return next;
53609
+ }
53610
+ return prev;
53611
+ });
53612
+ };
53613
+ const act = (action) => async () => {
53614
+ let ids = [];
53615
+ setMessages((prev) => {
53616
+ for (let i = prev.length - 1; i >= 0; i--) {
53617
+ const m = prev[i];
53618
+ if (m.role !== "assistant" || !Array.isArray(m.content)) continue;
53619
+ const batch = findBatch(m.content);
53620
+ if (batch) {
53621
+ ids = batch.data.toolCalls.map((c) => c.toolExecutionRequestId);
53622
+ break;
53623
+ }
53624
+ }
53625
+ return prev;
53626
+ });
53627
+ setBatchStatus(action === "approve" ? "approved" : "rejected");
53628
+ for (const id of ids) {
53629
+ await sendMessage(
53630
+ "",
53631
+ { approvalAction: { proposalId: id, action } },
53632
+ { hidden: true }
53633
+ );
53634
+ }
53635
+ };
53636
+ return { onApprove: act("approve"), onReject: act("reject") };
53637
+ };
53638
+ const liveSegments = [...currentAssistantSegmentsRef.current];
53639
+ const lastSeg = liveSegments[liveSegments.length - 1];
53640
+ if (lastSeg && lastSeg.type === "approval_batch" && (_nullishCoalesce(lastSeg.status, () => ( "pending"))) === "pending") {
53641
+ liveSegments[liveSegments.length - 1] = {
53642
+ ...lastSeg,
53643
+ data: {
53644
+ ...lastSeg.data,
53645
+ toolCalls: [...lastSeg.data.toolCalls, toToolCall(seg.data)]
53646
+ }
53647
+ };
53648
+ } else if (lastSeg && lastSeg.type === "approval_request" && (_nullishCoalesce(lastSeg.status, () => ( "pending"))) === "pending") {
53649
+ const anchorId = String(_nullishCoalesce(_optionalChain([lastSeg, 'access', _1432 => _1432.data, 'optionalAccess', _1433 => _1433.requestId]), () => ( proposalId)));
53650
+ liveSegments[liveSegments.length - 1] = {
53651
+ type: "approval_batch",
53652
+ status: "pending",
53653
+ data: {
53654
+ approvalRequestId: anchorId,
53655
+ approvalType: "chat",
53656
+ toolCalls: [toToolCall(lastSeg.data), toToolCall(seg.data)],
53657
+ executions: {}
53658
+ },
53659
+ ...makeBatchHandlers(anchorId)
53660
+ };
53661
+ } else {
53662
+ liveSegments.push({
53663
+ ...seg,
53664
+ onApprove: wrappedApprove,
53665
+ onReject: wrappedReject
53666
+ });
53667
+ }
53668
+ currentAssistantSegmentsRef.current = liveSegments;
53669
+ updateLastAssistantMessage([...liveSegments]);
53546
53670
  } else if (segment.type === "decision_resolved") {
53547
53671
  const decision = segment;
53548
53672
  if (!decision.proposalId) continue;
@@ -53553,12 +53677,35 @@ function useChat({
53553
53677
  if (!Array.isArray(m.content)) continue;
53554
53678
  const segments = m.content;
53555
53679
  const hasMatch = segments.some(
53556
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1424 => _1424.data, 'optionalAccess', _1425 => _1425.requestId]) === decision.proposalId
53680
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1434 => _1434.data, 'optionalAccess', _1435 => _1435.requestId]) === decision.proposalId || s.type === "approval_batch" && _optionalChain([s, 'access', _1436 => _1436.data, 'optionalAccess', _1437 => _1437.toolCalls, 'optionalAccess', _1438 => _1438.some, 'call', _1439 => _1439(
53681
+ (c) => _optionalChain([c, 'optionalAccess', _1440 => _1440.toolExecutionRequestId]) === decision.proposalId
53682
+ )])
53557
53683
  );
53558
53684
  if (!hasMatch) continue;
53559
- const flipped = segments.map(
53560
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1426 => _1426.data, 'optionalAccess', _1427 => _1427.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
53561
- );
53685
+ const flipped = segments.map((s) => {
53686
+ if (s.type === "approval_request" && _optionalChain([s, 'access', _1441 => _1441.data, 'optionalAccess', _1442 => _1442.requestId]) === decision.proposalId) {
53687
+ return { ...s, status: decision.action };
53688
+ }
53689
+ if (s.type === "approval_batch" && _optionalChain([s, 'access', _1443 => _1443.data, 'optionalAccess', _1444 => _1444.toolCalls, 'optionalAccess', _1445 => _1445.some, 'call', _1446 => _1446(
53690
+ (c) => _optionalChain([c, 'optionalAccess', _1447 => _1447.toolExecutionRequestId]) === decision.proposalId
53691
+ )])) {
53692
+ const batch = s;
53693
+ return {
53694
+ ...batch,
53695
+ data: {
53696
+ ...batch.data,
53697
+ executions: {
53698
+ ..._nullishCoalesce(batch.data.executions, () => ( {})),
53699
+ [decision.proposalId]: {
53700
+ status: "done",
53701
+ success: decision.action === "approved" ? decision.ok : false
53702
+ }
53703
+ }
53704
+ }
53705
+ };
53706
+ }
53707
+ return s;
53708
+ });
53562
53709
  const next = [...prev];
53563
53710
  next[i] = { ...m, content: flipped };
53564
53711
  return next;
@@ -53731,9 +53878,9 @@ function mapLeadingFrame(meta, out) {
53731
53878
  willAutoContinue: meta.willAutoContinue === true,
53732
53879
  ...toolName ? { toolName } : {},
53733
53880
  ...result ? { result } : {},
53734
- ..._optionalChain([card, 'optionalAccess', _1428 => _1428.marker]) ? { marker: card.marker } : {},
53735
- ..._optionalChain([card, 'optionalAccess', _1429 => _1429.ref]) ? { cardRef: card.ref } : {},
53736
- ..._optionalChain([card, 'optionalAccess', _1430 => _1430.type]) ? { cardType: card.type } : {},
53881
+ ..._optionalChain([card, 'optionalAccess', _1448 => _1448.marker]) ? { marker: card.marker } : {},
53882
+ ..._optionalChain([card, 'optionalAccess', _1449 => _1449.ref]) ? { cardRef: card.ref } : {},
53883
+ ..._optionalChain([card, 'optionalAccess', _1450 => _1450.type]) ? { cardType: card.type } : {},
53737
53884
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
53738
53885
  requestId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
53739
53886
  });
@@ -53891,7 +54038,7 @@ var STORAGE_KEY2 = "conversation";
53891
54038
  var namespaceFor = (source) => {
53892
54039
  const base = `mingo-chat-${source}`;
53893
54040
  const auth = _chunkOGVIGAMZcjs.getEmbedProxyAuth.call(void 0, );
53894
- return _optionalChain([auth, 'optionalAccess', _1431 => _1431.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
54041
+ return _optionalChain([auth, 'optionalAccess', _1451 => _1451.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
53895
54042
  };
53896
54043
  function createChatConversationStorage(source) {
53897
54044
  return _chunkOGVIGAMZcjs.createLocalStorageAdapter.call(void 0, {
@@ -53954,8 +54101,8 @@ function useChatHistoryHydration({
53954
54101
  );
53955
54102
  if (!res.ok) return;
53956
54103
  const payload = await res.json().catch(() => null);
53957
- const body = _nullishCoalesce(_optionalChain([payload, 'optionalAccess', _1432 => _1432.data]), () => ( payload));
53958
- const rows = Array.isArray(_optionalChain([body, 'optionalAccess', _1433 => _1433.messages])) ? body.messages : [];
54104
+ const body = _nullishCoalesce(_optionalChain([payload, 'optionalAccess', _1452 => _1452.data]), () => ( payload));
54105
+ const rows = Array.isArray(_optionalChain([body, 'optionalAccess', _1453 => _1453.messages])) ? body.messages : [];
53959
54106
  if (cancelled || rows.length === 0) return;
53960
54107
  const hydrated = [];
53961
54108
  let userTurns = 0;
@@ -54146,9 +54293,9 @@ var MessageSegmentAccumulator = class {
54146
54293
  type: "tool_execution",
54147
54294
  data: {
54148
54295
  ...toolData,
54149
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1434 => _1434.data, 'access', _1435 => _1435.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1436 => _1436.toolTitle]))),
54150
- toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1437 => _1437.data, 'access', _1438 => _1438.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1439 => _1439.toolExplanation]))),
54151
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1440 => _1440.parameters])
54296
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1454 => _1454.data, 'access', _1455 => _1455.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1456 => _1456.toolTitle]))),
54297
+ toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1457 => _1457.data, 'access', _1458 => _1458.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1459 => _1459.toolExplanation]))),
54298
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1460 => _1460.parameters])
54152
54299
  }
54153
54300
  };
54154
54301
  if (existingIndex !== -1) {
@@ -54172,12 +54319,12 @@ var MessageSegmentAccumulator = class {
54172
54319
  if (seg.type !== "approval_batch") return seg;
54173
54320
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
54174
54321
  if (!hasCall) return seg;
54175
- const prev = _optionalChain([seg, 'access', _1441 => _1441.data, 'access', _1442 => _1442.executions, 'optionalAccess', _1443 => _1443[execId]]);
54176
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prev, 'optionalAccess', _1444 => _1444.status]) === "done") {
54322
+ const prev = _optionalChain([seg, 'access', _1461 => _1461.data, 'access', _1462 => _1462.executions, 'optionalAccess', _1463 => _1463[execId]]);
54323
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prev, 'optionalAccess', _1464 => _1464.status]) === "done") {
54177
54324
  matched = true;
54178
54325
  return seg;
54179
54326
  }
54180
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1445 => _1445.result]), success: _optionalChain([prev, 'optionalAccess', _1446 => _1446.success]) };
54327
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1465 => _1465.result]), success: _optionalChain([prev, 'optionalAccess', _1466 => _1466.success]) };
54181
54328
  matched = true;
54182
54329
  return {
54183
54330
  ...seg,
@@ -54299,10 +54446,10 @@ var MessageSegmentAccumulator = class {
54299
54446
  const segment = {
54300
54447
  type: "approval_request",
54301
54448
  data: {
54302
- command: _optionalChain([pendingApproval, 'optionalAccess', _1447 => _1447.command]) || "",
54303
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1448 => _1448.explanation]),
54449
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1467 => _1467.command]) || "",
54450
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1468 => _1468.explanation]),
54304
54451
  requestId,
54305
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1449 => _1449.approvalType]) || approvalType
54452
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1469 => _1469.approvalType]) || approvalType
54306
54453
  },
54307
54454
  status,
54308
54455
  onApprove: this.callbacks.onApprove,
@@ -54513,11 +54660,11 @@ function appendToTrailingAssistant(prev, segments) {
54513
54660
  const merged = [..._nullishCoalesce(last.segments, () => ( []))];
54514
54661
  for (const seg of segments) {
54515
54662
  const tail = merged[merged.length - 1];
54516
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1450 => _1450.type]) === "text") {
54663
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1470 => _1470.type]) === "text") {
54517
54664
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
54518
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1451 => _1451.type]) === "thinking") {
54665
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1471 => _1471.type]) === "thinking") {
54519
54666
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
54520
- } else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _1452 => _1452.type]) === "guide") {
54667
+ } else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _1472 => _1472.type]) === "guide") {
54521
54668
  merged[merged.length - 1] = { type: "guide", text: tail.text + seg.text };
54522
54669
  } else if (seg.type === "approval_batch") {
54523
54670
  const idx = merged.findIndex(
@@ -54572,11 +54719,11 @@ function mergeToolExecutionIfPresent(prev, segment) {
54572
54719
  for (let j = message2.segments.length - 1; j >= 0; j--) {
54573
54720
  const seg = message2.segments[j];
54574
54721
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
54575
- const prevExec = _optionalChain([seg, 'access', _1453 => _1453.data, 'access', _1454 => _1454.executions, 'optionalAccess', _1455 => _1455[execId]]);
54576
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1456 => _1456.status]) === "done") {
54722
+ const prevExec = _optionalChain([seg, 'access', _1473 => _1473.data, 'access', _1474 => _1474.executions, 'optionalAccess', _1475 => _1475[execId]]);
54723
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1476 => _1476.status]) === "done") {
54577
54724
  return prev;
54578
54725
  }
54579
- const nextExec = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1457 => _1457.result]), success: _optionalChain([prevExec, 'optionalAccess', _1458 => _1458.success]) };
54726
+ const nextExec = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1477 => _1477.result]), success: _optionalChain([prevExec, 'optionalAccess', _1478 => _1478.success]) };
54580
54727
  if (sameExecutionState(prevExec, nextExec)) return prev;
54581
54728
  const nextSegments = [...message2.segments];
54582
54729
  nextSegments[j] = {
@@ -54719,7 +54866,7 @@ function createChatStreamReducer(options = {}) {
54719
54866
  let stateCache = null;
54720
54867
  function invalidate() {
54721
54868
  stateCache = null;
54722
- _optionalChain([onChange, 'optionalCall', _1459 => _1459()]);
54869
+ _optionalChain([onChange, 'optionalCall', _1479 => _1479()]);
54723
54870
  }
54724
54871
  function getState() {
54725
54872
  if (!stateCache) {
@@ -54735,7 +54882,7 @@ function createChatStreamReducer(options = {}) {
54735
54882
  return stateCache;
54736
54883
  }
54737
54884
  function emit(name, ...args) {
54738
- _optionalChain([onEffect, 'optionalCall', _1460 => _1460({ name, args })]);
54885
+ _optionalChain([onEffect, 'optionalCall', _1480 => _1480({ name, args })]);
54739
54886
  }
54740
54887
  function setMessagesInternal(next) {
54741
54888
  if (next !== messages) {
@@ -54766,12 +54913,12 @@ function createChatStreamReducer(options = {}) {
54766
54913
  return [...next.slice(0, -1), { ...last, streamSeq: seq }];
54767
54914
  }
54768
54915
  function applySegmentsToState(segments, meta) {
54769
- const seq = _optionalChain([meta, 'optionalAccess', _1461 => _1461.streamSeq]);
54770
- if (_optionalChain([meta, 'optionalAccess', _1462 => _1462.append]) && meta.isCompacting) {
54916
+ const seq = _optionalChain([meta, 'optionalAccess', _1481 => _1481.streamSeq]);
54917
+ if (_optionalChain([meta, 'optionalAccess', _1482 => _1482.append]) && meta.isCompacting) {
54771
54918
  setMessagesInternal(stampTrailingAssistantSeq(upsertTrailingCompaction(messages, segments), seq));
54772
54919
  return;
54773
54920
  }
54774
- if (_optionalChain([meta, 'optionalAccess', _1463 => _1463.append])) {
54921
+ if (_optionalChain([meta, 'optionalAccess', _1483 => _1483.append])) {
54775
54922
  setMessagesInternal(stampTrailingAssistantSeq(appendToTrailingAssistant(messages, segments), seq));
54776
54923
  return;
54777
54924
  }
@@ -54783,7 +54930,7 @@ function createChatStreamReducer(options = {}) {
54783
54930
  adoptTrailingAssistant = false;
54784
54931
  const last = messages[messages.length - 1];
54785
54932
  if (!last || last.role !== "assistant" || adoptTail) return;
54786
- const hasContent2 = (_nullishCoalesce(_optionalChain([last, 'access', _1464 => _1464.segments, 'optionalAccess', _1465 => _1465.length]), () => ( 0))) > 0 || last.content !== "";
54933
+ const hasContent2 = (_nullishCoalesce(_optionalChain([last, 'access', _1484 => _1484.segments, 'optionalAccess', _1485 => _1485.length]), () => ( 0))) > 0 || last.content !== "";
54787
54934
  if (!hasContent2) return;
54788
54935
  setMessagesInternal([
54789
54936
  ...messages,
@@ -54981,13 +55128,13 @@ function createChatStreamReducer(options = {}) {
54981
55128
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
54982
55129
  pendingEscalated.set(requestId, {
54983
55130
  command: summary,
54984
- explanation: _optionalChain([required, 'optionalAccess', _1466 => _1466.toolExplanation]),
55131
+ explanation: _optionalChain([required, 'optionalAccess', _1486 => _1486.toolExplanation]),
54985
55132
  approvalType,
54986
55133
  toolCalls
54987
55134
  });
54988
55135
  emit("onEscalatedApproval", requestId, {
54989
55136
  command: summary,
54990
- explanation: _optionalChain([required, 'optionalAccess', _1467 => _1467.toolExplanation]),
55137
+ explanation: _optionalChain([required, 'optionalAccess', _1487 => _1487.toolExplanation]),
54991
55138
  approvalType
54992
55139
  });
54993
55140
  break;
@@ -55114,7 +55261,7 @@ function createChatStreamReducer(options = {}) {
55114
55261
  let message2;
55115
55262
  if (event.details) {
55116
55263
  try {
55117
- message2 = _optionalChain([JSON, 'access', _1468 => _1468.parse, 'call', _1469 => _1469(event.details), 'optionalAccess', _1470 => _1470.error, 'optionalAccess', _1471 => _1471.message]);
55264
+ message2 = _optionalChain([JSON, 'access', _1488 => _1488.parse, 'call', _1489 => _1489(event.details), 'optionalAccess', _1490 => _1490.error, 'optionalAccess', _1491 => _1491.message]);
55118
55265
  } catch (e99) {
55119
55266
  message2 = event.details;
55120
55267
  }
@@ -55217,7 +55364,7 @@ function createChatStreamReducer(options = {}) {
55217
55364
  }
55218
55365
  function applySseApprovalResolved(event, sendIdx) {
55219
55366
  const cardRef = event.cardRef;
55220
- if (_optionalChain([cardRef, 'optionalAccess', _1472 => _1472.id]) && event.cardType) {
55367
+ if (_optionalChain([cardRef, 'optionalAccess', _1492 => _1492.id]) && event.cardType) {
55221
55368
  const existing = _nullishCoalesce(refsMap.get(sendIdx), () => ( {}));
55222
55369
  const key = buildChatRefKey(event.cardType, cardRef.id);
55223
55370
  refsMap.set(sendIdx, { ...existing, [key]: cardRef });
@@ -55455,8 +55602,8 @@ function createChatStreamReducer(options = {}) {
55455
55602
  }
55456
55603
  }
55457
55604
  }
55458
- hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _1473 => _1473.resumed]), () => ( messages.length > 0)));
55459
- if (_optionalChain([extras, 'optionalAccess', _1474 => _1474.agentBusy])) agentBusyState();
55605
+ hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _1493 => _1493.resumed]), () => ( messages.length > 0)));
55606
+ if (_optionalChain([extras, 'optionalAccess', _1494 => _1494.agentBusy])) agentBusyState();
55460
55607
  invalidate();
55461
55608
  }
55462
55609
  return {
@@ -55541,7 +55688,7 @@ function createChatStreamReducer(options = {}) {
55541
55688
  },
55542
55689
  endSseTurn() {
55543
55690
  const last = messages[messages.length - 1];
55544
- if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _1475 => _1475.segments, 'optionalAccess', _1476 => _1476.length]), () => ( 0))) === 0 && last.content === "") {
55691
+ if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _1495 => _1495.segments, 'optionalAccess', _1496 => _1496.length]), () => ( 0))) === 0 && last.content === "") {
55545
55692
  messages = messages.slice(0, -1);
55546
55693
  }
55547
55694
  sseCurrentText = "";
@@ -55696,10 +55843,10 @@ function createChatDialogStore(options = {}) {
55696
55843
  if (onEvict) {
55697
55844
  const sep = key.indexOf(KEY_SEP);
55698
55845
  onEvict(key.slice(0, sep), key.slice(sep + 1), {
55699
- messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1477 => _1477.state, 'access', _1478 => _1478.messages]), () => ( EMPTY_STATE.messages)),
55700
- approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1479 => _1479.state, 'access', _1480 => _1480.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
55701
- lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1481 => _1481.getLastAppliedSeq, 'call', _1482 => _1482()]), () => ( Number.NEGATIVE_INFINITY)),
55702
- pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1483 => _1483.getPendingEchoes, 'call', _1484 => _1484()]), () => ( EMPTY_PENDING_ECHOES))
55846
+ messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1497 => _1497.state, 'access', _1498 => _1498.messages]), () => ( EMPTY_STATE.messages)),
55847
+ approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1499 => _1499.state, 'access', _1500 => _1500.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
55848
+ lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1501 => _1501.getLastAppliedSeq, 'call', _1502 => _1502()]), () => ( Number.NEGATIVE_INFINITY)),
55849
+ pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1503 => _1503.getPendingEchoes, 'call', _1504 => _1504()]), () => ( EMPTY_PENDING_ECHOES))
55703
55850
  });
55704
55851
  }
55705
55852
  }
@@ -55709,12 +55856,12 @@ function createChatDialogStore(options = {}) {
55709
55856
  const key = keyOf(dialogId, side);
55710
55857
  let reducer2 = reducers.get(key);
55711
55858
  if (!reducer2) {
55712
- const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _1485 => _1485(dialogId, side)]), () => ( {}));
55859
+ const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _1505 => _1505(dialogId, side)]), () => ( {}));
55713
55860
  const userOnChange = base.onChange;
55714
55861
  reducer2 = createChatStreamReducer({
55715
55862
  ...base,
55716
55863
  onChange: () => {
55717
- _optionalChain([userOnChange, 'optionalCall', _1486 => _1486()]);
55864
+ _optionalChain([userOnChange, 'optionalCall', _1506 => _1506()]);
55718
55865
  notify();
55719
55866
  }
55720
55867
  });
@@ -55759,7 +55906,7 @@ function createChatDialogStore(options = {}) {
55759
55906
  };
55760
55907
  }
55761
55908
  function getSnapshot(dialogId, side = DEFAULT_DIALOG_SIDE) {
55762
- return _nullishCoalesce(_optionalChain([reducers, 'access', _1487 => _1487.get, 'call', _1488 => _1488(keyOf(dialogId, side)), 'optionalAccess', _1489 => _1489.state]), () => ( EMPTY_STATE));
55909
+ return _nullishCoalesce(_optionalChain([reducers, 'access', _1507 => _1507.get, 'call', _1508 => _1508(keyOf(dialogId, side)), 'optionalAccess', _1509 => _1509.state]), () => ( EMPTY_STATE));
55763
55910
  }
55764
55911
  function getServerSnapshot() {
55765
55912
  return EMPTY_STATE;
@@ -55851,7 +55998,7 @@ function createDeltaBatcher({
55851
55998
  pending = [];
55852
55999
  const key = pendingKey;
55853
56000
  for (const delta of batch) applyOne(delta, key);
55854
- _optionalChain([onFlushed, 'optionalCall', _1490 => _1490(batch.length)]);
56001
+ _optionalChain([onFlushed, 'optionalCall', _1510 => _1510(batch.length)]);
55855
56002
  }
55856
56003
  function schedule() {
55857
56004
  if (raf !== null || timer !== null) return;
@@ -55875,7 +56022,7 @@ function createDeltaBatcher({
55875
56022
  }
55876
56023
  if (!isDeltaEvent(event)) return false;
55877
56024
  const tail = pending[pending.length - 1];
55878
- const seqAdvances = _optionalChain([tail, 'optionalAccess', _1491 => _1491.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
56025
+ const seqAdvances = _optionalChain([tail, 'optionalAccess', _1511 => _1511.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
55879
56026
  if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
55880
56027
  pending[pending.length - 1] = {
55881
56028
  ...tail,
@@ -55908,7 +56055,7 @@ function useChatStreamReducer({
55908
56055
  }) {
55909
56056
  const optionsRef = _react.useRef.call(void 0, createReducerOptions);
55910
56057
  optionsRef.current = createReducerOptions;
55911
- const reducer2 = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([optionsRef, 'access', _1492 => _1492.current, 'optionalCall', _1493 => _1493()]), () => ( {})));
56058
+ const reducer2 = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([optionsRef, 'access', _1512 => _1512.current, 'optionalCall', _1513 => _1513()]), () => ( {})));
55912
56059
  const getSnapshot = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
55913
56060
  const getServerSnapshot = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
55914
56061
  const subscribe = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
@@ -55969,7 +56116,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
55969
56116
  const { active = true } = runtimeOptions;
55970
56117
  const runtime = _chunk7OPWSWEJcjs.useRequiredChatRuntime.call(void 0, );
55971
56118
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
55972
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1494 => _1494.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
56119
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1514 => _1514.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
55973
56120
  const sendMessageRef = _react.useRef.call(void 0, async () => {
55974
56121
  });
55975
56122
  const cardApprove = _react.useCallback.call(void 0, (reqId) => {
@@ -56007,7 +56154,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56007
56154
  if (!restoredConversationRef.current) {
56008
56155
  restoredConversationRef.current = true;
56009
56156
  pruneStaleChatConversationStorage(source);
56010
- conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1495 => _1495.load, 'call', _1496 => _1496(), 'optionalAccess', _1497 => _1497.conversationId]), () => ( null));
56157
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1515 => _1515.load, 'call', _1516 => _1516(), 'optionalAccess', _1517 => _1517.conversationId]), () => ( null));
56011
56158
  }
56012
56159
  const commandsUrl = runtime.endpoints.commandsUrl;
56013
56160
  const { commands: slashCommands } = useSlashCommandRegistry(commandsUrl, {
@@ -56110,7 +56257,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56110
56257
  if (!response.ok) {
56111
56258
  throw new Error(`Chat request failed: ${response.status}`);
56112
56259
  }
56113
- const reader = _optionalChain([response, 'access', _1498 => _1498.body, 'optionalAccess', _1499 => _1499.getReader, 'call', _1500 => _1500()]);
56260
+ const reader = _optionalChain([response, 'access', _1518 => _1518.body, 'optionalAccess', _1519 => _1519.getReader, 'call', _1520 => _1520()]);
56114
56261
  if (!reader) throw new Error("No response body");
56115
56262
  const frameDecoder = createSseFrameDecoder();
56116
56263
  let finished = false;
@@ -56132,7 +56279,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56132
56279
  }
56133
56280
  }
56134
56281
  } catch (err) {
56135
- if (_optionalChain([err, 'optionalAccess', _1501 => _1501.name]) !== "AbortError" && !ctrl.signal.aborted) {
56282
+ if (_optionalChain([err, 'optionalAccess', _1521 => _1521.name]) !== "AbortError" && !ctrl.signal.aborted) {
56136
56283
  flushDeltas();
56137
56284
  mutate(
56138
56285
  (r) => r.failSseTurn(
@@ -56152,7 +56299,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56152
56299
  );
56153
56300
  sendMessageRef.current = sendMessage;
56154
56301
  const stopMessage = _react.useCallback.call(void 0, () => {
56155
- _optionalChain([abortControllerRef, 'access', _1502 => _1502.current, 'optionalAccess', _1503 => _1503.abort, 'call', _1504 => _1504()]);
56302
+ _optionalChain([abortControllerRef, 'access', _1522 => _1522.current, 'optionalAccess', _1523 => _1523.abort, 'call', _1524 => _1524()]);
56156
56303
  flushDeltas();
56157
56304
  mutate((r) => r.setPhase("idle"));
56158
56305
  }, [mutate, flushDeltas]);
@@ -56169,7 +56316,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56169
56316
  let sendIdx = -1;
56170
56317
  return state.messages.map((m) => {
56171
56318
  const segments = m.segments;
56172
- const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _1505 => _1505.filter, 'call', _1506 => _1506((s) => s.type === "text"), 'access', _1507 => _1507.map, 'call', _1508 => _1508((s) => s.text), 'access', _1509 => _1509.join, 'call', _1510 => _1510("")]), () => ( ""));
56319
+ const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _1525 => _1525.filter, 'call', _1526 => _1526((s) => s.type === "text"), 'access', _1527 => _1527.map, 'call', _1528 => _1528((s) => s.text), 'access', _1529 => _1529.join, 'call', _1530 => _1530("")]), () => ( ""));
56173
56320
  let sources;
56174
56321
  let chatRefs;
56175
56322
  let scrollAnchor;
@@ -56180,7 +56327,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56180
56327
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
56181
56328
  sources = sourcesMap.get(lookupIdx);
56182
56329
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMap.get(lookupIdx)));
56183
- scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _1511 => _1511.get, 'call', _1512 => _1512(lookupIdx), 'optionalAccess', _1513 => _1513.scrollAnchor]), () => ( void 0));
56330
+ scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _1531 => _1531.get, 'call', _1532 => _1532(lookupIdx), 'optionalAccess', _1533 => _1533.scrollAnchor]), () => ( void 0));
56184
56331
  }
56185
56332
  return {
56186
56333
  id: m.id,
@@ -56210,7 +56357,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56210
56357
  );
56211
56358
  return;
56212
56359
  }
56213
- const refSlug = typeof _optionalChain([reference, 'access', _1514 => _1514.metadata, 'optionalAccess', _1515 => _1515.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
56360
+ const refSlug = typeof _optionalChain([reference, 'access', _1534 => _1534.metadata, 'optionalAccess', _1535 => _1535.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
56214
56361
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
56215
56362
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
56216
56363
  const text = `/${cmdId} display "${escaped}"`;
@@ -56260,18 +56407,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56260
56407
  /** True while the mount-time rebuild from the server transcript runs. */
56261
56408
  isHydratingHistory,
56262
56409
  /** Provider key for the lib's `<ModelDisplay>` icon. */
56263
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1516 => _1516.provider]), () => ( null)),
56264
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1517 => _1517.modelLabel]), () => ( null)),
56265
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1518 => _1518.contextWindowMaxTokens]), () => ( null)),
56410
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1536 => _1536.provider]), () => ( null)),
56411
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1537 => _1537.modelLabel]), () => ( null)),
56412
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1538 => _1538.contextWindowMaxTokens]), () => ( null)),
56266
56413
  /** Input tokens (known after server's message_start frame; null until). */
56267
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1519 => _1519.inputTokens]), () => ( null)),
56414
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1539 => _1539.inputTokens]), () => ( null)),
56268
56415
  /** Output tokens (known only after server's trailing usage frame). */
56269
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1520 => _1520.outputTokens]), () => ( null)),
56416
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1540 => _1540.outputTokens]), () => ( null)),
56270
56417
  /** Cache hit % (read / total-input × 100). null during streaming. */
56271
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1521 => _1521.cacheHitRatePct]), () => ( null)),
56418
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1541 => _1541.cacheHitRatePct]), () => ( null)),
56272
56419
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
56273
56420
  * token counts). null until the trailing usage frame lands. */
56274
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1522 => _1522.breakdown]), () => ( null)),
56421
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1542 => _1542.breakdown]), () => ( null)),
56275
56422
  // ─── Dialog management — stubs for v1 ────────────────────────────────
56276
56423
  // Guide mode keeps ONE server-side conversation per stored id
56277
56424
  // (`chat_conversations`, hydrated on mount). Surfacing multiple threads
@@ -56453,7 +56600,7 @@ function decodeNatsChunk(chunk) {
56453
56600
  userId: typeof data.userId === "string" ? data.userId : void 0,
56454
56601
  // Wire shape carries no label; fall back to the id (parity with
56455
56602
  // the history path in `process-historical-messages.ts`).
56456
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1523 => _1523.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1524 => _1524.id]) === "string").map((it) => ({
56603
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1543 => _1543.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1544 => _1544.id]) === "string").map((it) => ({
56457
56604
  type: it.type,
56458
56605
  id: it.id,
56459
56606
  label: it.id
@@ -56505,15 +56652,15 @@ function decodeNatsChunk(chunk) {
56505
56652
 
56506
56653
  // src/components/chat/utils/process-historical-messages.ts
56507
56654
  function getOwnerDisplayName(owner) {
56508
- if (_optionalChain([owner, 'optionalAccess', _1525 => _1525.type]) === OWNER_TYPE.ADMIN && owner.user) {
56655
+ if (_optionalChain([owner, 'optionalAccess', _1545 => _1545.type]) === OWNER_TYPE.ADMIN && owner.user) {
56509
56656
  const { firstName, lastName } = owner.user;
56510
56657
  const name = [firstName, lastName].filter(Boolean).join(" ");
56511
56658
  if (name) return name;
56512
56659
  }
56513
- return _optionalChain([owner, 'optionalAccess', _1526 => _1526.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
56660
+ return _optionalChain([owner, 'optionalAccess', _1546 => _1546.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
56514
56661
  }
56515
56662
  function getOwnerAvatar(owner) {
56516
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1527 => _1527.user, 'optionalAccess', _1528 => _1528.image, 'optionalAccess', _1529 => _1529.imageUrl]), () => ( void 0));
56663
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1547 => _1547.user, 'optionalAccess', _1548 => _1548.image, 'optionalAccess', _1549 => _1549.imageUrl]), () => ( void 0));
56517
56664
  }
56518
56665
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
56519
56666
  messageDataArray.forEach((data) => {
@@ -56687,7 +56834,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
56687
56834
  }
56688
56835
  }
56689
56836
  } else {
56690
- _optionalChain([escalatedApprovals, 'optionalAccess', _1530 => _1530.set, 'call', _1531 => _1531(event.requestId, {
56837
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1550 => _1550.set, 'call', _1551 => _1551(event.requestId, {
56691
56838
  command: event.command || "",
56692
56839
  explanation: event.explanation,
56693
56840
  approvalType,
@@ -56702,8 +56849,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
56702
56849
  const existingStatus = approvalStatuses[requestId];
56703
56850
  const status = existingStatus || event.status;
56704
56851
  const resolvedByName = event.resolvedByName;
56705
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1532 => _1532.get, 'call', _1533 => _1533(requestId)]);
56706
- if (_optionalChain([escalatedData, 'optionalAccess', _1534 => _1534.toolCalls]) && escalatedData.toolCalls.length > 0) {
56852
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1552 => _1552.get, 'call', _1553 => _1553(requestId)]);
56853
+ if (_optionalChain([escalatedData, 'optionalAccess', _1554 => _1554.toolCalls]) && escalatedData.toolCalls.length > 0) {
56707
56854
  if (batchApprovalsEnabled) {
56708
56855
  accumulator.addApprovalBatch(
56709
56856
  requestId,
@@ -56725,7 +56872,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
56725
56872
  );
56726
56873
  }
56727
56874
  }
56728
- _optionalChain([escalatedApprovals, 'optionalAccess', _1535 => _1535.delete, 'call', _1536 => _1536(requestId)]);
56875
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1555 => _1555.delete, 'call', _1556 => _1556(requestId)]);
56729
56876
  break;
56730
56877
  }
56731
56878
  if (escalatedData) {
@@ -56734,7 +56881,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
56734
56881
  explanation: escalatedData.explanation,
56735
56882
  approvalType: escalatedData.approvalType
56736
56883
  });
56737
- _optionalChain([escalatedApprovals, 'optionalAccess', _1537 => _1537.delete, 'call', _1538 => _1538(requestId)]);
56884
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1557 => _1557.delete, 'call', _1558 => _1558(requestId)]);
56738
56885
  }
56739
56886
  const before = accumulator.getSegments();
56740
56887
  const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
@@ -56751,7 +56898,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
56751
56898
  let message2;
56752
56899
  if (event.details) {
56753
56900
  try {
56754
- message2 = _optionalChain([JSON, 'access', _1539 => _1539.parse, 'call', _1540 => _1540(event.details), 'optionalAccess', _1541 => _1541.error, 'optionalAccess', _1542 => _1542.message]);
56901
+ message2 = _optionalChain([JSON, 'access', _1559 => _1559.parse, 'call', _1560 => _1560(event.details), 'optionalAccess', _1561 => _1561.error, 'optionalAccess', _1562 => _1562.message]);
56755
56902
  } catch (e100) {
56756
56903
  message2 = event.details;
56757
56904
  }
@@ -56828,14 +56975,14 @@ function processHistoricalMessages(messages, options = {}) {
56828
56975
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
56829
56976
  return;
56830
56977
  }
56831
- const isUserMessage = _optionalChain([msg, 'access', _1543 => _1543.owner, 'optionalAccess', _1544 => _1544.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1545 => _1545.owner, 'optionalAccess', _1546 => _1546.type]) === OWNER_TYPE.ADMIN;
56978
+ const isUserMessage = _optionalChain([msg, 'access', _1563 => _1563.owner, 'optionalAccess', _1564 => _1564.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1565 => _1565.owner, 'optionalAccess', _1566 => _1566.type]) === OWNER_TYPE.ADMIN;
56832
56979
  if (isUserMessage) {
56833
56980
  flushAssistantMessage();
56834
- const userAuthorType = _optionalChain([msg, 'access', _1547 => _1547.owner, 'optionalAccess', _1548 => _1548.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
56981
+ const userAuthorType = _optionalChain([msg, 'access', _1567 => _1567.owner, 'optionalAccess', _1568 => _1568.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
56835
56982
  messageDataArray.forEach((data) => {
56836
56983
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
56837
56984
  const rawContext = data.contextItems;
56838
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1549 => _1549.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1550 => _1550.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
56985
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1569 => _1569.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1570 => _1570.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
56839
56986
  processedMessages.push({
56840
56987
  id: msg.id,
56841
56988
  role: "user",
@@ -56871,7 +57018,7 @@ function processHistoricalMessages(messages, options = {}) {
56871
57018
  });
56872
57019
  const nextMsg = messages[index + 1];
56873
57020
  const isLastMessage = index === messages.length - 1;
56874
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1551 => _1551.owner, 'optionalAccess', _1552 => _1552.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1553 => _1553.owner, 'optionalAccess', _1554 => _1554.type]) === OWNER_TYPE.ADMIN);
57021
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1571 => _1571.owner, 'optionalAccess', _1572 => _1572.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1573 => _1573.owner, 'optionalAccess', _1574 => _1574.type]) === OWNER_TYPE.ADMIN);
56875
57022
  if (isLastMessage || nextIsFromUser) {
56876
57023
  flushAssistantMessage();
56877
57024
  }
@@ -56961,7 +57108,7 @@ function extractIncompleteMessageState(lastMessage) {
56961
57108
  break;
56962
57109
  case "approval_batch": {
56963
57110
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
56964
- (c) => _optionalChain([segment, 'access', _1555 => _1555.data, 'access', _1556 => _1556.executions, 'optionalAccess', _1557 => _1557[c.toolExecutionRequestId], 'optionalAccess', _1558 => _1558.status]) === "done"
57111
+ (c) => _optionalChain([segment, 'access', _1575 => _1575.data, 'access', _1576 => _1576.executions, 'optionalAccess', _1577 => _1577[c.toolExecutionRequestId], 'optionalAccess', _1578 => _1578.status]) === "done"
56965
57112
  );
56966
57113
  if (segment.status !== "rejected" && !allDone) {
56967
57114
  hasIncompleteState = true;
@@ -56992,11 +57139,11 @@ function extractIncompleteMessageState(lastMessage) {
56992
57139
  function extractIncompleteTailState(messages) {
56993
57140
  if (!messages || messages.length === 0) return void 0;
56994
57141
  let start = messages.length;
56995
- while (start > 0 && _optionalChain([messages, 'access', _1559 => _1559[start - 1], 'optionalAccess', _1560 => _1560.role]) === "assistant") start -= 1;
57142
+ while (start > 0 && _optionalChain([messages, 'access', _1579 => _1579[start - 1], 'optionalAccess', _1580 => _1580.role]) === "assistant") start -= 1;
56996
57143
  if (start === messages.length) return void 0;
56997
57144
  const segments = [];
56998
57145
  for (let i = start; i < messages.length; i += 1) {
56999
- const content = _optionalChain([messages, 'access', _1561 => _1561[i], 'optionalAccess', _1562 => _1562.content]);
57146
+ const content = _optionalChain([messages, 'access', _1581 => _1581[i], 'optionalAccess', _1582 => _1582.content]);
57000
57147
  if (Array.isArray(content)) segments.push(...content);
57001
57148
  }
57002
57149
  if (segments.length === 0) return void 0;
@@ -57350,7 +57497,7 @@ function useNatsChatAdapter(config, options = {}) {
57350
57497
  }, [active, fetchDialogs, loadDialogsPage]);
57351
57498
  const sendMessage = _react.useCallback.call(void 0,
57352
57499
  async (text, sendOptions) => {
57353
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1563 => _1563.hidden]), () => ( false));
57500
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1583 => _1583.hidden]), () => ( false));
57354
57501
  mutate((r) => r.pushOptimisticSend(text, hidden));
57355
57502
  await publishUserMessage(text, { hidden, dialogId });
57356
57503
  },
@@ -57506,11 +57653,11 @@ function useNatsChatAdapter(config, options = {}) {
57506
57653
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
57507
57654
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
57508
57655
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
57509
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1564 => _1564.provider]), () => ( modelProvider)), () => ( null)),
57510
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1565 => _1565.modelLabel]), () => ( modelLabel)), () => ( null)),
57511
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1566 => _1566.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1567 => _1567.contextWindowMaxTokens]))), () => ( null)),
57512
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1568 => _1568.inputTokensSize]), () => ( null)),
57513
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1569 => _1569.outputTokensSize]), () => ( null)),
57656
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1584 => _1584.provider]), () => ( modelProvider)), () => ( null)),
57657
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1585 => _1585.modelLabel]), () => ( modelLabel)), () => ( null)),
57658
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1586 => _1586.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1587 => _1587.contextWindowMaxTokens]))), () => ( null)),
57659
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1588 => _1588.inputTokensSize]), () => ( null)),
57660
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1589 => _1589.outputTokensSize]), () => ( null)),
57514
57661
  currentCacheHitRatePct: null,
57515
57662
  currentUsageBreakdown: null,
57516
57663
  // Dialog management
@@ -57647,7 +57794,7 @@ function useUnifiedChat(options) {
57647
57794
  []
57648
57795
  );
57649
57796
  const setDialogScope = _react.useCallback.call(void 0,
57650
- (scope) => _optionalChain([activeStateRef, 'access', _1570 => _1570.current, 'access', _1571 => _1571.setDialogScope, 'optionalCall', _1572 => _1572(scope)]),
57797
+ (scope) => _optionalChain([activeStateRef, 'access', _1590 => _1590.current, 'access', _1591 => _1591.setDialogScope, 'optionalCall', _1592 => _1592(scope)]),
57651
57798
  []
57652
57799
  );
57653
57800
  const reloadDialogs = _react.useCallback.call(void 0,
@@ -57751,16 +57898,16 @@ function turnRequestKeys(content) {
57751
57898
  if (!Array.isArray(content)) return keys;
57752
57899
  for (const seg of content) {
57753
57900
  if (seg.type === "tool_execution") {
57754
- const id = _optionalChain([seg, 'access', _1573 => _1573.data, 'optionalAccess', _1574 => _1574.toolExecutionRequestId]);
57901
+ const id = _optionalChain([seg, 'access', _1593 => _1593.data, 'optionalAccess', _1594 => _1594.toolExecutionRequestId]);
57755
57902
  if (id) keys.add(id);
57756
57903
  } else if (seg.type === "approval_request") {
57757
- const id = _optionalChain([seg, 'access', _1575 => _1575.data, 'optionalAccess', _1576 => _1576.requestId]);
57904
+ const id = _optionalChain([seg, 'access', _1595 => _1595.data, 'optionalAccess', _1596 => _1596.requestId]);
57758
57905
  if (id) keys.add(id);
57759
57906
  } else if (seg.type === "approval_batch") {
57760
57907
  const data = seg.data;
57761
- if (_optionalChain([data, 'optionalAccess', _1577 => _1577.approvalRequestId])) keys.add(data.approvalRequestId);
57762
- for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1578 => _1578.toolCalls]), () => ( []))) {
57763
- if (_optionalChain([call, 'optionalAccess', _1579 => _1579.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
57908
+ if (_optionalChain([data, 'optionalAccess', _1597 => _1597.approvalRequestId])) keys.add(data.approvalRequestId);
57909
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1598 => _1598.toolCalls]), () => ( []))) {
57910
+ if (_optionalChain([call, 'optionalAccess', _1599 => _1599.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
57764
57911
  }
57765
57912
  }
57766
57913
  }
@@ -57812,20 +57959,20 @@ function mergeHistoryWithRealtime(input) {
57812
57959
  }
57813
57960
  }
57814
57961
  const trailing = processedHistory[processedHistory.length - 1];
57815
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1580 => _1580.role]) === "assistant" ? trailing : null;
57816
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1581 => _1581.content, 'access', _1582 => _1582.find, 'call', _1583 => _1583((s) => s.type === "approval_batch"), 'optionalAccess', _1584 => _1584.data, 'optionalAccess', _1585 => _1585.approvalRequestId]), () => ( null)) : null;
57962
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1600 => _1600.role]) === "assistant" ? trailing : null;
57963
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1601 => _1601.content, 'access', _1602 => _1602.find, 'call', _1603 => _1603((s) => s.type === "approval_batch"), 'optionalAccess', _1604 => _1604.data, 'optionalAccess', _1605 => _1605.approvalRequestId]), () => ( null)) : null;
57817
57964
  let processedToUse = processedHistory;
57818
57965
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
57819
57966
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
57820
57967
  if (historyBatchId) {
57821
57968
  const batchTwins = existingMessages.filter(
57822
57969
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
57823
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1586 => _1586.data, 'optionalAccess', _1587 => _1587.approvalRequestId]) === historyBatchId
57970
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1606 => _1606.data, 'optionalAccess', _1607 => _1607.approvalRequestId]) === historyBatchId
57824
57971
  )
57825
57972
  );
57826
57973
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
57827
57974
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
57828
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1588 => _1588.content])) ? historyTrailingAssistant.content.length : 0;
57975
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1608 => _1608.content])) ? historyTrailingAssistant.content.length : 0;
57829
57976
  const realtimeSize = existingWithSameBatch.content.length;
57830
57977
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
57831
57978
  processedToUse = processedHistory.slice(0, -1);
@@ -57867,9 +58014,9 @@ function mergeHistoryWithRealtime(input) {
57867
58014
  if (pinnedSyntheticIds.has(m.id)) return true;
57868
58015
  if (droppedSyntheticIds.has(m.id)) return false;
57869
58016
  if (processedIds.has(m.id)) return false;
57870
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1589 => _1589.has, 'call', _1590 => _1590(m.id)])) return false;
58017
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1609 => _1609.has, 'call', _1610 => _1610(m.id)])) return false;
57871
58018
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
57872
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1591 => _1591.timestamp, 'optionalAccess', _1592 => _1592.getTime, 'call', _1593 => _1593()]), () => ( 0))) <= historyFetchedAt;
58019
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1611 => _1611.timestamp, 'optionalAccess', _1612 => _1612.getTime, 'call', _1613 => _1613()]), () => ( 0))) <= historyFetchedAt;
57873
58020
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
57874
58021
  }
57875
58022
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -57893,7 +58040,7 @@ function mergeHistoryWithRealtime(input) {
57893
58040
  } else if (typeof m.streamSeq === "number") {
57894
58041
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
57895
58042
  } else {
57896
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1594 => _1594.timestamp, 'optionalAccess', _1595 => _1595.getTime, 'call', _1596 => _1596()]), () => ( 0))) <= historyFetchedAt;
58043
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1614 => _1614.timestamp, 'optionalAccess', _1615 => _1615.getTime, 'call', _1616 => _1616()]), () => ( 0))) <= historyFetchedAt;
57897
58044
  }
57898
58045
  if (covered) return false;
57899
58046
  }
@@ -57949,7 +58096,7 @@ function normalizeHistoricalMessageData(md) {
57949
58096
  function isHistoricalUserTurn(m) {
57950
58097
  return !!m.owner;
57951
58098
  }
57952
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1597 => _1597.type]) === "TEXT" && typeof d.text === "string";
58099
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1617 => _1617.type]) === "TEXT" && typeof d.text === "string";
57953
58100
  var THINK_MS = 550;
57954
58101
  var TOKEN_MS = 55;
57955
58102
  var USER_MS = 480;
@@ -58196,7 +58343,7 @@ function useChatDialogManager({
58196
58343
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
58197
58344
  if (restoreTarget) {
58198
58345
  try {
58199
- await _optionalChain([unarchiveDialog, 'optionalCall', _1598 => _1598(restoreTarget.id)]);
58346
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1618 => _1618(restoreTarget.id)]);
58200
58347
  } catch (err) {
58201
58348
  console.error("[useChatDialogManager] unarchive failed:", err);
58202
58349
  return;
@@ -58677,7 +58824,7 @@ function EmbeddableChatInner({
58677
58824
  }),
58678
58825
  [commandsUrl]
58679
58826
  );
58680
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1599 => _1599.name, 'optionalAccess', _1600 => _1600.trim, 'call', _1601 => _1601()]) || [_optionalChain([identityUser, 'optionalAccess', _1602 => _1602.firstName]), _optionalChain([identityUser, 'optionalAccess', _1603 => _1603.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1604 => _1604.trim, 'call', _1605 => _1605()]) || void 0;
58827
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1619 => _1619.name, 'optionalAccess', _1620 => _1620.trim, 'call', _1621 => _1621()]) || [_optionalChain([identityUser, 'optionalAccess', _1622 => _1622.firstName]), _optionalChain([identityUser, 'optionalAccess', _1623 => _1623.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1624 => _1624.trim, 'call', _1625 => _1625()]) || void 0;
58681
58828
  const effectiveModes = _react.useMemo.call(void 0, () => {
58682
58829
  if (modes) return modes;
58683
58830
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -58686,19 +58833,19 @@ function EmbeddableChatInner({
58686
58833
  const mingoCaps = _react.useMemo.call(void 0, () => {
58687
58834
  if (mingoState) {
58688
58835
  return {
58689
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1606 => _1606.canRename]), () => ( false)),
58690
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1607 => _1607.canArchive]), () => ( false)),
58691
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1608 => _1608.fetchArchivedDialogs]),
58692
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1609 => _1609.unarchiveDialog]),
58693
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1610 => _1610.searchQuery]),
58694
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1611 => _1611.onSearchChange])
58836
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1626 => _1626.canRename]), () => ( false)),
58837
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1627 => _1627.canArchive]), () => ( false)),
58838
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1628 => _1628.fetchArchivedDialogs]),
58839
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1629 => _1629.unarchiveDialog]),
58840
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1630 => _1630.searchQuery]),
58841
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1631 => _1631.onSearchChange])
58695
58842
  };
58696
58843
  }
58697
58844
  return {
58698
- canRename: !!_optionalChain([effectiveModes, 'access', _1612 => _1612.mingo, 'optionalAccess', _1613 => _1613.renameDialog]),
58699
- canArchive: !!_optionalChain([effectiveModes, 'access', _1614 => _1614.mingo, 'optionalAccess', _1615 => _1615.archiveDialog]),
58700
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1616 => _1616.mingo, 'optionalAccess', _1617 => _1617.fetchArchivedDialogs]),
58701
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1618 => _1618.mingo, 'optionalAccess', _1619 => _1619.unarchiveDialog]),
58845
+ canRename: !!_optionalChain([effectiveModes, 'access', _1632 => _1632.mingo, 'optionalAccess', _1633 => _1633.renameDialog]),
58846
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1634 => _1634.mingo, 'optionalAccess', _1635 => _1635.archiveDialog]),
58847
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1636 => _1636.mingo, 'optionalAccess', _1637 => _1637.fetchArchivedDialogs]),
58848
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1638 => _1638.mingo, 'optionalAccess', _1639 => _1639.unarchiveDialog]),
58702
58849
  searchQuery: void 0,
58703
58850
  onSearchChange: void 0
58704
58851
  };
@@ -58712,7 +58859,7 @@ function EmbeddableChatInner({
58712
58859
  if (controlledActiveMode === void 0) {
58713
58860
  setUncontrolledActiveMode(next);
58714
58861
  }
58715
- _optionalChain([onActiveModeChange, 'optionalCall', _1620 => _1620(next)]);
58862
+ _optionalChain([onActiveModeChange, 'optionalCall', _1640 => _1640(next)]);
58716
58863
  },
58717
58864
  [controlledActiveMode, onActiveModeChange]
58718
58865
  );
@@ -58734,7 +58881,7 @@ function EmbeddableChatInner({
58734
58881
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
58735
58882
  const effectiveAssistantName = emptyStateConfig.name;
58736
58883
  const effectiveAssistantIcon = emptyStateConfig.icon;
58737
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1621 => _1621.title]) === "string" ? guideWelcome.title : null)));
58884
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1641 => _1641.title]) === "string" ? guideWelcome.title : null)));
58738
58885
  const {
58739
58886
  messages: rawMessages,
58740
58887
  isLoading: chatLoading,
@@ -58776,7 +58923,7 @@ function EmbeddableChatInner({
58776
58923
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
58777
58924
  guidePromptSentRef.current = true;
58778
58925
  void sendMessage(guidePendingPrompt);
58779
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1622 => _1622()]);
58926
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1642 => _1642()]);
58780
58927
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
58781
58928
  const {
58782
58929
  attachments: stagedAttachments,
@@ -58787,7 +58934,7 @@ function EmbeddableChatInner({
58787
58934
  clear: clearAttachments
58788
58935
  } = useChatAttachments();
58789
58936
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
58790
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1623 => _1623.maxItems]), () => ( 10));
58937
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1643 => _1643.maxItems]), () => ( 10));
58791
58938
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
58792
58939
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
58793
58940
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -58804,10 +58951,10 @@ function EmbeddableChatInner({
58804
58951
  }, [activeDialogId, activeMode]);
58805
58952
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
58806
58953
  const m = /* @__PURE__ */ new Map();
58807
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1624 => _1624.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
58954
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1644 => _1644.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
58808
58955
  return m;
58809
- }, [_optionalChain([contextPicker, 'optionalAccess', _1625 => _1625.entityTypes])]);
58810
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1626 => _1626.entityTypes]);
58956
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1645 => _1645.entityTypes])]);
58957
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1646 => _1646.entityTypes]);
58811
58958
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
58812
58959
  const byType = /* @__PURE__ */ new Map();
58813
58960
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -58819,7 +58966,7 @@ function EmbeddableChatInner({
58819
58966
  if (mentionActiveRef.current) {
58820
58967
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
58821
58968
  if (contextItems.length >= contextMaxItems) return;
58822
- _optionalChain([chatInputRef, 'access', _1627 => _1627.current, 'optionalAccess', _1628 => _1628.commitMention, 'call', _1629 => _1629(mentionTokenOf(key, mentionMarkerByType), {
58969
+ _optionalChain([chatInputRef, 'access', _1647 => _1647.current, 'optionalAccess', _1648 => _1648.commitMention, 'call', _1649 => _1649(mentionTokenOf(key, mentionMarkerByType), {
58823
58970
  label: item.label,
58824
58971
  icon: resolveContextIcon(item)
58825
58972
  })]);
@@ -58841,9 +58988,9 @@ function EmbeddableChatInner({
58841
58988
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
58842
58989
  if (mentionKeysRef.current.has(key)) {
58843
58990
  mentionKeysRef.current.delete(key);
58844
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1630 => _1630.current, 'optionalAccess', _1631 => _1631.getValue, 'call', _1632 => _1632()]), () => ( ""));
58991
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1650 => _1650.current, 'optionalAccess', _1651 => _1651.getValue, 'call', _1652 => _1652()]), () => ( ""));
58845
58992
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
58846
- _optionalChain([chatInputRef, 'access', _1633 => _1633.current, 'optionalAccess', _1634 => _1634.setValue, 'call', _1635 => _1635(next)]);
58993
+ _optionalChain([chatInputRef, 'access', _1653 => _1653.current, 'optionalAccess', _1654 => _1654.setValue, 'call', _1655 => _1655(next)]);
58847
58994
  }
58848
58995
  }, [mentionMarkerByType]);
58849
58996
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -58860,7 +59007,7 @@ function EmbeddableChatInner({
58860
59007
  }, []);
58861
59008
  const closeContextPicker = _react.useCallback.call(void 0, () => {
58862
59009
  if (mentionActiveRef.current) {
58863
- _optionalChain([chatInputRef, 'access', _1636 => _1636.current, 'optionalAccess', _1637 => _1637.removeMentionTrigger, 'call', _1638 => _1638()]);
59010
+ _optionalChain([chatInputRef, 'access', _1656 => _1656.current, 'optionalAccess', _1657 => _1657.removeMentionTrigger, 'call', _1658 => _1658()]);
58864
59011
  }
58865
59012
  setContextPickerOpen(false);
58866
59013
  setMentionQuery(null);
@@ -58894,8 +59041,8 @@ function EmbeddableChatInner({
58894
59041
  [effectiveAssistantIcon]
58895
59042
  );
58896
59043
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
58897
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1639 => _1639.firstName]), _optionalChain([identityUser, 'optionalAccess', _1640 => _1640.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1641 => _1641.name, 'optionalAccess', _1642 => _1642.trim, 'call', _1643 => _1643()]) || void 0 : void 0;
58898
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1644 => _1644.avatarUrl, 'optionalAccess', _1645 => _1645.trim, 'call', _1646 => _1646()]) || void 0 : void 0;
59044
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1659 => _1659.firstName]), _optionalChain([identityUser, 'optionalAccess', _1660 => _1660.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1661 => _1661.name, 'optionalAccess', _1662 => _1662.trim, 'call', _1663 => _1663()]) || void 0 : void 0;
59045
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1664 => _1664.avatarUrl, 'optionalAccess', _1665 => _1665.trim, 'call', _1666 => _1666()]) || void 0 : void 0;
58899
59046
  const messages = _react.useMemo.call(void 0, () => {
58900
59047
  const cache = timestampCacheRef.current;
58901
59048
  const seenIds = /* @__PURE__ */ new Set();
@@ -59081,9 +59228,9 @@ function EmbeddableChatInner({
59081
59228
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
59082
59229
  const lastSources = _react.useMemo.call(void 0, () => {
59083
59230
  if (chatLoading) return void 0;
59084
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1647 => _1647.sources]);
59231
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1667 => _1667.sources]);
59085
59232
  if (!sources || sources.length === 0) return void 0;
59086
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1648 => _1648.content]) || "";
59233
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1668 => _1668.content]) || "";
59087
59234
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
59088
59235
  (m) => parseInt(m[1], 10)
59089
59236
  );
@@ -59103,7 +59250,7 @@ function EmbeddableChatInner({
59103
59250
  const el = panelMeasureRef.current;
59104
59251
  if (!el || typeof ResizeObserver === "undefined") return;
59105
59252
  const ro = new ResizeObserver((entries) => {
59106
- const w = _optionalChain([entries, 'access', _1649 => _1649[0], 'optionalAccess', _1650 => _1650.contentRect, 'optionalAccess', _1651 => _1651.width]);
59253
+ const w = _optionalChain([entries, 'access', _1669 => _1669[0], 'optionalAccess', _1670 => _1670.contentRect, 'optionalAccess', _1671 => _1671.width]);
59107
59254
  if (typeof w === "number") setPanelWidth(w);
59108
59255
  });
59109
59256
  ro.observe(el);
@@ -59146,16 +59293,16 @@ function EmbeddableChatInner({
59146
59293
  const isMingoMode = activeMode === "mingo";
59147
59294
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
59148
59295
  const headerShowBack = hasConversation || guideCanReturnToMingo;
59149
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1652 => _1652.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
59296
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1672 => _1672.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
59150
59297
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
59151
59298
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
59152
59299
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
59153
59300
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
59154
59301
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
59155
59302
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
59156
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1653 => _1653.owner]) : void 0;
59157
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1654 => _1654.name, 'optionalAccess', _1655 => _1655.trim, 'call', _1656 => _1656()]) || headerUserName;
59158
- const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1657 => _1657.avatarUrl, 'optionalAccess', _1658 => _1658.trim, 'call', _1659 => _1659()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1660 => _1660.avatarUrl, 'optionalAccess', _1661 => _1661.trim, 'call', _1662 => _1662()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1663 => _1663.trim, 'call', _1664 => _1664()]) || void 0;
59303
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1673 => _1673.owner]) : void 0;
59304
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1674 => _1674.name, 'optionalAccess', _1675 => _1675.trim, 'call', _1676 => _1676()]) || headerUserName;
59305
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1677 => _1677.avatarUrl, 'optionalAccess', _1678 => _1678.trim, 'call', _1679 => _1679()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1680 => _1680.avatarUrl, 'optionalAccess', _1681 => _1681.trim, 'call', _1682 => _1682()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1683 => _1683.trim, 'call', _1684 => _1684()]) || void 0;
59159
59306
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
59160
59307
  const handleNewChat = _react.useCallback.call(void 0, () => {
59161
59308
  resetToNewChat();
@@ -59514,9 +59661,9 @@ function EmbeddableChatInner({
59514
59661
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
59515
59662
  subtitleLoading: emptyStateLoading,
59516
59663
  ...guideWelcome,
59517
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1665 => _1665.title]))),
59518
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1666 => _1666.icon]))),
59519
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1667 => _1667.quickActions]), () => ( guideSuggestedActions)),
59664
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1685 => _1685.title]))),
59665
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1686 => _1686.icon]))),
59666
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1687 => _1687.quickActions]), () => ( guideSuggestedActions)),
59520
59667
  onQuickAction: (action) => {
59521
59668
  setQuickActionPreview(null);
59522
59669
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -59596,8 +59743,8 @@ function EmbeddableChatInner({
59596
59743
  selectedContextItems: contextItems,
59597
59744
  onToggleContextItem: toggleContextItem,
59598
59745
  onRemoveContextItem: removeContextItem,
59599
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1668 => _1668.items]),
59600
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1669 => _1669.onRemove]),
59746
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1688 => _1688.items]),
59747
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1689 => _1689.onRemove]),
59601
59748
  contextPickerOpen,
59602
59749
  onOpenContextPicker: openContextPicker,
59603
59750
  onCloseContextPicker: closeContextPicker,
@@ -60770,4 +60917,4 @@ function EmbeddableChatInner({
60770
60917
 
60771
60918
 
60772
60919
  exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.FloatingTooltip = FloatingTooltip; exports.TruncateText = TruncateText; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.titleCaseFromSlug = titleCaseFromSlug; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; 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.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; 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.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.MermaidDiagram = MermaidDiagram; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.GuideDisplay = GuideDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.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.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; 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.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; 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.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.CardHitLayer = CardHitLayer; 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.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; 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.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; 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.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; 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.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; 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.useSseChatAdapter = useSseChatAdapter; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.clickupTaskUrl = clickupTaskUrl; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.BackButton = BackButton; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.AvatarStack = AvatarStack; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.useTestRunState = useTestRunState; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.MingoAiButton = MingoAiButton; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.useOptionalTicketLive = useOptionalTicketLive; exports.useTicketLive = useTicketLive; exports.TicketLiveProvider = TicketLiveProvider; exports.isOptimistic = isOptimistic; exports.TICKET_TEXT_MAX_CHARS = TICKET_TEXT_MAX_CHARS; exports.TICKET_MARK_READ_DEBOUNCE_MS = TICKET_MARK_READ_DEBOUNCE_MS; exports.TOAST_COPY = TOAST_COPY; exports.TicketAlertsButton = TicketAlertsButton; exports.TopNavigation = TopNavigation; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
60773
- //# sourceMappingURL=chunk-GHXTF35X.cjs.map
60920
+ //# sourceMappingURL=chunk-VFFEZ66K.cjs.map