@flamingo-stack/openframe-frontend-core 0.0.349 → 0.0.350-snapshot.20260701042600

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 (93) hide show
  1. package/dist/{chunk-NFUMSUOV.cjs → chunk-46Z3O6SN.cjs} +5 -5
  2. package/dist/{chunk-NFUMSUOV.cjs.map → chunk-46Z3O6SN.cjs.map} +1 -1
  3. package/dist/{chunk-2CKA3CCD.js → chunk-4WVVMKMC.js} +4 -4
  4. package/dist/{chunk-CVFEPMED.js → chunk-5F45BY24.js} +2 -2
  5. package/dist/{chunk-26DV5GSP.cjs → chunk-63ISTNQW.cjs} +25 -25
  6. package/dist/{chunk-26DV5GSP.cjs.map → chunk-63ISTNQW.cjs.map} +1 -1
  7. package/dist/{chunk-CWNVR32U.js → chunk-A6YFD2SK.js} +40 -11
  8. package/dist/chunk-A6YFD2SK.js.map +1 -0
  9. package/dist/{chunk-UE4B7KNL.cjs → chunk-BMQ5CBFD.cjs} +62 -62
  10. package/dist/{chunk-UE4B7KNL.cjs.map → chunk-BMQ5CBFD.cjs.map} +1 -1
  11. package/dist/{chunk-UKEJUXQY.js → chunk-DJZ64AF6.js} +2 -2
  12. package/dist/{chunk-G2PUXREK.js → chunk-EKU6D26E.js} +4 -4
  13. package/dist/{chunk-3DMOLXLC.cjs → chunk-GJZL72ON.cjs} +7 -7
  14. package/dist/{chunk-3DMOLXLC.cjs.map → chunk-GJZL72ON.cjs.map} +1 -1
  15. package/dist/{chunk-6GQWIOOD.cjs → chunk-HMUIRZ46.cjs} +140 -111
  16. package/dist/{chunk-6GQWIOOD.cjs.map → chunk-HMUIRZ46.cjs.map} +1 -1
  17. package/dist/{chunk-GPLQR3AR.js → chunk-JBWB3U3P.js} +2 -2
  18. package/dist/{chunk-ETCT2IBA.js → chunk-MLW25MGY.js} +2 -2
  19. package/dist/{chunk-Y2VXGKNP.cjs → chunk-NEIOYJIE.cjs} +15 -15
  20. package/dist/{chunk-Y2VXGKNP.cjs.map → chunk-NEIOYJIE.cjs.map} +1 -1
  21. package/dist/{chunk-PGBKYPM7.cjs → chunk-NIRMBPFP.cjs} +12 -12
  22. package/dist/{chunk-PGBKYPM7.cjs.map → chunk-NIRMBPFP.cjs.map} +1 -1
  23. package/dist/{chunk-O36624LY.js → chunk-Q3VK7WI2.js} +4 -4
  24. package/dist/{chunk-T4GH47TR.cjs → chunk-QGBJKB6V.cjs} +31 -31
  25. package/dist/{chunk-T4GH47TR.cjs.map → chunk-QGBJKB6V.cjs.map} +1 -1
  26. package/dist/{chunk-JENZN2RS.cjs → chunk-TH3HPNMO.cjs} +56 -56
  27. package/dist/{chunk-JENZN2RS.cjs.map → chunk-TH3HPNMO.cjs.map} +1 -1
  28. package/dist/{chunk-TAMJE3SX.cjs → chunk-UQFTSFIF.cjs} +26 -26
  29. package/dist/{chunk-TAMJE3SX.cjs.map → chunk-UQFTSFIF.cjs.map} +1 -1
  30. package/dist/{chunk-63EJ7OVZ.js → chunk-VY6AAUCK.js} +2 -2
  31. package/dist/{chunk-O36BKXM2.cjs → chunk-VZ7TICMR.cjs} +37 -37
  32. package/dist/{chunk-O36BKXM2.cjs.map → chunk-VZ7TICMR.cjs.map} +1 -1
  33. package/dist/{chunk-XKXJB4D4.js → chunk-WB2EWYSF.js} +2 -2
  34. package/dist/{chunk-NBZSABAO.cjs → chunk-XZVVLO4V.cjs} +9 -9
  35. package/dist/{chunk-NBZSABAO.cjs.map → chunk-XZVVLO4V.cjs.map} +1 -1
  36. package/dist/{chunk-H4AQ3DSB.js → chunk-YBL3JURC.js} +4 -4
  37. package/dist/{chunk-WY35YHCG.js → chunk-YIFJJCFB.js} +2 -2
  38. package/dist/components/case-studies/index.cjs +8 -8
  39. package/dist/components/case-studies/index.js +2 -2
  40. package/dist/components/chat/guide-welcome.d.ts +9 -1
  41. package/dist/components/chat/guide-welcome.d.ts.map +1 -1
  42. package/dist/components/chat/hooks/use-empty-state-config.d.ts +36 -3
  43. package/dist/components/chat/hooks/use-empty-state-config.d.ts.map +1 -1
  44. package/dist/components/chat/index.cjs +2 -2
  45. package/dist/components/chat/index.js +1 -1
  46. package/dist/components/contact/index.cjs +3 -3
  47. package/dist/components/contact/index.js +2 -2
  48. package/dist/components/docs/index.cjs +5 -5
  49. package/dist/components/docs/index.js +4 -4
  50. package/dist/components/embeds/index.cjs +3 -3
  51. package/dist/components/embeds/index.js +2 -2
  52. package/dist/components/faq/index.cjs +3 -3
  53. package/dist/components/faq/index.js +2 -2
  54. package/dist/components/features/index.cjs +2 -2
  55. package/dist/components/features/index.js +1 -1
  56. package/dist/components/help-center-pages/index.cjs +20 -20
  57. package/dist/components/help-center-pages/index.js +11 -11
  58. package/dist/components/index.cjs +121 -121
  59. package/dist/components/index.cjs.map +1 -1
  60. package/dist/components/index.js +10 -10
  61. package/dist/components/index.js.map +1 -1
  62. package/dist/components/navigation/index.cjs +2 -2
  63. package/dist/components/navigation/index.js +1 -1
  64. package/dist/components/navigation/sliding-sidebar.d.ts.map +1 -1
  65. package/dist/components/onboarding-guides/index.cjs +5 -5
  66. package/dist/components/onboarding-guides/index.js +4 -4
  67. package/dist/components/related-content/index.cjs +3 -3
  68. package/dist/components/related-content/index.js +2 -2
  69. package/dist/components/tickets/index.cjs +5 -5
  70. package/dist/components/tickets/index.js +4 -4
  71. package/dist/components/ui/index.cjs +2 -2
  72. package/dist/components/ui/index.js +1 -1
  73. package/dist/index.cjs +2 -2
  74. package/dist/index.js +1 -1
  75. package/package.json +1 -1
  76. package/src/ODS_TOKEN_RULES.md +8 -2
  77. package/src/components/chat/embeddable-chat.tsx +45 -5
  78. package/src/components/chat/guide-welcome.tsx +17 -6
  79. package/src/components/chat/hooks/use-empty-state-config.ts +44 -3
  80. package/src/components/footer.tsx +1 -1
  81. package/src/components/navigation/sliding-sidebar.tsx +7 -3
  82. package/dist/chunk-CWNVR32U.js.map +0 -1
  83. /package/dist/{chunk-2CKA3CCD.js.map → chunk-4WVVMKMC.js.map} +0 -0
  84. /package/dist/{chunk-CVFEPMED.js.map → chunk-5F45BY24.js.map} +0 -0
  85. /package/dist/{chunk-UKEJUXQY.js.map → chunk-DJZ64AF6.js.map} +0 -0
  86. /package/dist/{chunk-G2PUXREK.js.map → chunk-EKU6D26E.js.map} +0 -0
  87. /package/dist/{chunk-GPLQR3AR.js.map → chunk-JBWB3U3P.js.map} +0 -0
  88. /package/dist/{chunk-ETCT2IBA.js.map → chunk-MLW25MGY.js.map} +0 -0
  89. /package/dist/{chunk-O36624LY.js.map → chunk-Q3VK7WI2.js.map} +0 -0
  90. /package/dist/{chunk-63EJ7OVZ.js.map → chunk-VY6AAUCK.js.map} +0 -0
  91. /package/dist/{chunk-XKXJB4D4.js.map → chunk-WB2EWYSF.js.map} +0 -0
  92. /package/dist/{chunk-H4AQ3DSB.js.map → chunk-YBL3JURC.js.map} +0 -0
  93. /package/dist/{chunk-WY35YHCG.js.map → chunk-YIFJJCFB.js.map} +0 -0
@@ -6866,6 +6866,7 @@ function renderQuickActionIcon(a) {
6866
6866
  var DEFAULT_TITLE = "Guide Mode Chat";
6867
6867
  function GuideWelcome({
6868
6868
  title = DEFAULT_TITLE,
6869
+ icon,
6869
6870
  subtitle,
6870
6871
  subtitleLoading = false,
6871
6872
  quickActions = [],
@@ -6922,7 +6923,11 @@ function GuideWelcome({
6922
6923
  className: "flex flex-1 min-h-0 flex-col gap-[var(--spacing-system-m)] overflow-y-auto",
6923
6924
  children: [
6924
6925
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-center gap-[var(--spacing-system-l)] px-[var(--spacing-system-l)] py-[var(--spacing-system-xxl)] text-center", children: [
6925
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6926
+ icon && (icon.name || icon.url) ? (
6927
+ // Agent-mode identity glyph (chat-config Identity tab). Sized to
6928
+ // match the default Mingo mark (48px).
6929
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityIcon, { icon: { name: icon.name, url: icon.url, props: icon.props }, size: 48 })
6930
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6926
6931
  _chunkLWNPMLIHcjs.MingoIcon,
6927
6932
  {
6928
6933
  className: "h-12 w-12",
@@ -32427,7 +32432,7 @@ function SlidingSidebar({ config }) {
32427
32432
  duration: 0.3,
32428
32433
  ease: [0.4, 0, 0.2, 1]
32429
32434
  },
32430
- className: "fixed inset-0 bg-black/50 z-[40]",
32435
+ className: "fixed inset-0 bg-black/50 z-[45]",
32431
32436
  onClick: () => config.onClose()
32432
32437
  }
32433
32438
  ) }),
@@ -32447,7 +32452,7 @@ function SlidingSidebar({ config }) {
32447
32452
  velocity: config.isOpen ? 5 : -5
32448
32453
  },
32449
32454
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
32450
- "fixed top-0 bottom-0 z-[45] w-72 bg-ods-card border-ods-border flex flex-col shadow-xl",
32455
+ "fixed top-0 bottom-0 z-[46] w-72 bg-ods-card border-ods-border flex flex-col shadow-xl",
32451
32456
  config.position === "right" ? "right-0 border-l" : "left-0 border-r",
32452
32457
  config.className
32453
32458
  ),
@@ -45464,8 +45469,11 @@ function useSlashCommandRegistry(commandsUrl, options) {
45464
45469
  // src/components/chat/hooks/use-empty-state-config.ts
45465
45470
 
45466
45471
  var EMPTY_STATE_FALLBACK = {
45472
+ name: null,
45473
+ icon: null,
45467
45474
  greeting: null,
45468
45475
  enabledRagTableIds: [],
45476
+ quickActions: [],
45469
45477
  suggestedQueries: []
45470
45478
  };
45471
45479
  async function fetchEmptyStateConfig(signal, emptyStateUrl) {
@@ -45480,18 +45488,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
45480
45488
  }
45481
45489
  const data = await res.json();
45482
45490
  return {
45483
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1067 => _1067.greeting]), () => ( null)),
45484
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1068 => _1068.enabledRagTableIds]), () => ( [])),
45485
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1069 => _1069.suggestedQueries]), () => ( []))
45491
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1067 => _1067.name]), () => ( null)),
45492
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1068 => _1068.icon]), () => ( null)),
45493
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1069 => _1069.greeting]), () => ( null)),
45494
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1070 => _1070.enabledRagTableIds]), () => ( [])),
45495
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1071 => _1071.quickActions]), () => ( [])),
45496
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1072 => _1072.suggestedQueries]), () => ( []))
45486
45497
  };
45487
45498
  } catch (err) {
45488
- if (_optionalChain([err, 'optionalAccess', _1070 => _1070.name]) === "AbortError") throw err;
45499
+ if (_optionalChain([err, 'optionalAccess', _1073 => _1073.name]) === "AbortError") throw err;
45489
45500
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
45490
45501
  return EMPTY_STATE_FALLBACK;
45491
45502
  }
45492
45503
  }
45493
45504
  function useEmptyStateConfig(emptyStateUrl, options) {
45494
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1071 => _1071.enabled]), () => ( true))) && !!emptyStateUrl;
45505
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1074 => _1074.enabled]), () => ( true))) && !!emptyStateUrl;
45495
45506
  const query = _reactquery.useQuery.call(void 0, {
45496
45507
  queryKey: ["chat-empty-state", emptyStateUrl],
45497
45508
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -45520,7 +45531,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
45520
45531
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
45521
45532
  function uploadWithProgress(url, file, token, onProgress, signal) {
45522
45533
  return new Promise((resolve, reject) => {
45523
- if (_optionalChain([signal, 'optionalAccess', _1072 => _1072.aborted])) {
45534
+ if (_optionalChain([signal, 'optionalAccess', _1075 => _1075.aborted])) {
45524
45535
  reject(new Error("Upload cancelled"));
45525
45536
  return;
45526
45537
  }
@@ -45534,7 +45545,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
45534
45545
  xhr.removeEventListener("error", handleError);
45535
45546
  xhr.removeEventListener("abort", handleAbort);
45536
45547
  xhr.removeEventListener("timeout", handleTimeout);
45537
- _optionalChain([signal, 'optionalAccess', _1073 => _1073.removeEventListener, 'call', _1074 => _1074("abort", handleSignalAbort)]);
45548
+ _optionalChain([signal, 'optionalAccess', _1076 => _1076.removeEventListener, 'call', _1077 => _1077("abort", handleSignalAbort)]);
45538
45549
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
45539
45550
  };
45540
45551
  const handleProgress = (event) => {
@@ -45570,7 +45581,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
45570
45581
  const handleSignalAbort = () => {
45571
45582
  xhr.abort();
45572
45583
  };
45573
- _optionalChain([signal, 'optionalAccess', _1075 => _1075.addEventListener, 'call', _1076 => _1076("abort", handleSignalAbort, { once: true })]);
45584
+ _optionalChain([signal, 'optionalAccess', _1078 => _1078.addEventListener, 'call', _1079 => _1079("abort", handleSignalAbort, { once: true })]);
45574
45585
  xhr.upload.addEventListener("progress", handleProgress);
45575
45586
  xhr.addEventListener("load", handleLoad);
45576
45587
  xhr.addEventListener("error", handleError);
@@ -45614,12 +45625,12 @@ function useChatAttachments() {
45614
45625
  try {
45615
45626
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
45616
45627
  } catch (err) {
45617
- if (_optionalChain([ctrl, 'optionalAccess', _1077 => _1077.signal, 'access', _1078 => _1078.aborted])) return;
45628
+ if (_optionalChain([ctrl, 'optionalAccess', _1080 => _1080.signal, 'access', _1081 => _1081.aborted])) return;
45618
45629
  throw new Error(
45619
45630
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
45620
45631
  );
45621
45632
  }
45622
- if (_optionalChain([ctrl, 'optionalAccess', _1079 => _1079.signal, 'access', _1080 => _1080.aborted])) return;
45633
+ if (_optionalChain([ctrl, 'optionalAccess', _1082 => _1082.signal, 'access', _1083 => _1083.aborted])) return;
45623
45634
  if (!sniffed) {
45624
45635
  throw new Error("Unrecognized file format");
45625
45636
  }
@@ -45633,7 +45644,7 @@ function useChatAttachments() {
45633
45644
  const urlResp = await _chunkRD3HIB25cjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
45634
45645
  method: "POST",
45635
45646
  headers: { "Content-Type": "application/json" },
45636
- signal: _optionalChain([ctrl, 'optionalAccess', _1081 => _1081.signal]),
45647
+ signal: _optionalChain([ctrl, 'optionalAccess', _1084 => _1084.signal]),
45637
45648
  body: JSON.stringify({
45638
45649
  fileName: att.file.name,
45639
45650
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -45659,9 +45670,9 @@ function useChatAttachments() {
45659
45670
  (pct) => {
45660
45671
  updateOne(att.id, { progress: pct });
45661
45672
  },
45662
- _optionalChain([ctrl, 'optionalAccess', _1082 => _1082.signal])
45673
+ _optionalChain([ctrl, 'optionalAccess', _1085 => _1085.signal])
45663
45674
  );
45664
- if (_optionalChain([ctrl, 'optionalAccess', _1083 => _1083.signal, 'access', _1084 => _1084.aborted])) return;
45675
+ if (_optionalChain([ctrl, 'optionalAccess', _1086 => _1086.signal, 'access', _1087 => _1087.aborted])) return;
45665
45676
  updateOne(att.id, {
45666
45677
  status: "ready",
45667
45678
  progress: 100,
@@ -45669,7 +45680,7 @@ function useChatAttachments() {
45669
45680
  viewToken: mintData.viewToken
45670
45681
  });
45671
45682
  } catch (err) {
45672
- if (_optionalChain([ctrl, 'optionalAccess', _1085 => _1085.signal, 'access', _1086 => _1086.aborted])) return;
45683
+ if (_optionalChain([ctrl, 'optionalAccess', _1088 => _1088.signal, 'access', _1089 => _1089.aborted])) return;
45673
45684
  const message2 = err instanceof Error ? err.message : String(err);
45674
45685
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
45675
45686
  } finally {
@@ -45820,7 +45831,7 @@ var ANON_DEFAULTS = {
45820
45831
  function useResolveChatIdentity(enabled) {
45821
45832
  const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
45822
45833
  const url = runtime.endpoints.identityUrl;
45823
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkRD3HIB25cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1087 => _1087.email]), () => ( null));
45834
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkRD3HIB25cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1090 => _1090.email]), () => ( null));
45824
45835
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
45825
45836
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
45826
45837
  _react.useEffect.call(void 0, () => {
@@ -45911,7 +45922,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
45911
45922
  yield chunk;
45912
45923
  }
45913
45924
  } catch (err) {
45914
- if (_optionalChain([err, 'optionalAccess', _1088 => _1088.name]) === "AbortError" || ctrl.signal.aborted) {
45925
+ if (_optionalChain([err, 'optionalAccess', _1091 => _1091.name]) === "AbortError" || ctrl.signal.aborted) {
45915
45926
  return;
45916
45927
  }
45917
45928
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -45962,7 +45973,7 @@ function useChat({
45962
45973
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
45963
45974
  onMessagesChangeRef.current = onMessagesChange;
45964
45975
  _react.useEffect.call(void 0, () => {
45965
- _optionalChain([onMessagesChangeRef, 'access', _1089 => _1089.current, 'optionalCall', _1090 => _1090(messages)]);
45976
+ _optionalChain([onMessagesChangeRef, 'access', _1092 => _1092.current, 'optionalCall', _1093 => _1093(messages)]);
45966
45977
  }, [messages]);
45967
45978
  const {
45968
45979
  streamMessage,
@@ -45999,7 +46010,7 @@ function useChat({
45999
46010
  name: "You",
46000
46011
  content: text,
46001
46012
  timestamp: /* @__PURE__ */ new Date(),
46002
- ..._optionalChain([options, 'optionalAccess', _1091 => _1091.hidden]) ? { hidden: true } : {}
46013
+ ..._optionalChain([options, 'optionalAccess', _1094 => _1094.hidden]) ? { hidden: true } : {}
46003
46014
  };
46004
46015
  addMessage(userMessage);
46005
46016
  setIsTyping(true);
@@ -46061,7 +46072,7 @@ function useChat({
46061
46072
  currentTextSegment = "";
46062
46073
  }
46063
46074
  const seg = segment;
46064
- const proposalId = _optionalChain([seg, 'access', _1092 => _1092.data, 'optionalAccess', _1093 => _1093.requestId]);
46075
+ const proposalId = _optionalChain([seg, 'access', _1095 => _1095.data, 'optionalAccess', _1096 => _1096.requestId]);
46065
46076
  const updateApprovalMessage = (transform) => {
46066
46077
  setMessages((prev) => {
46067
46078
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -46070,7 +46081,7 @@ function useChat({
46070
46081
  if (!Array.isArray(m.content)) continue;
46071
46082
  const segments = m.content;
46072
46083
  const hasMatch = segments.some(
46073
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1094 => _1094.data, 'optionalAccess', _1095 => _1095.requestId]) === proposalId
46084
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1097 => _1097.data, 'optionalAccess', _1098 => _1098.requestId]) === proposalId
46074
46085
  );
46075
46086
  if (!hasMatch) continue;
46076
46087
  const next = [...prev];
@@ -46112,11 +46123,11 @@ function useChat({
46112
46123
  if (!Array.isArray(m.content)) continue;
46113
46124
  const segments = m.content;
46114
46125
  const hasMatch = segments.some(
46115
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1096 => _1096.data, 'optionalAccess', _1097 => _1097.requestId]) === decision.proposalId
46126
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1099 => _1099.data, 'optionalAccess', _1100 => _1100.requestId]) === decision.proposalId
46116
46127
  );
46117
46128
  if (!hasMatch) continue;
46118
46129
  const flipped = segments.map(
46119
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1098 => _1098.data, 'optionalAccess', _1099 => _1099.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
46130
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1101 => _1101.data, 'optionalAccess', _1102 => _1102.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
46120
46131
  );
46121
46132
  const next = [...prev];
46122
46133
  next[i] = { ...m, content: flipped };
@@ -46278,8 +46289,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46278
46289
  })),
46279
46290
  { role: "user", content: message2 }
46280
46291
  ];
46281
- const targetPath = _optionalChain([extra, 'optionalAccess', _1100 => _1100.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
46282
- const requestBody = _optionalChain([extra, 'optionalAccess', _1101 => _1101.approvalAction]) ? {
46292
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1103 => _1103.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
46293
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1104 => _1104.approvalAction]) ? {
46283
46294
  proposal_id: extra.approvalAction.proposalId,
46284
46295
  action: extra.approvalAction.action,
46285
46296
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -46288,8 +46299,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46288
46299
  }))
46289
46300
  } : {
46290
46301
  messages: apiMessages,
46291
- ..._optionalChain([extra, 'optionalAccess', _1102 => _1102.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
46292
- ..._optionalChain([extra, 'optionalAccess', _1103 => _1103.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
46302
+ ..._optionalChain([extra, 'optionalAccess', _1105 => _1105.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
46303
+ ..._optionalChain([extra, 'optionalAccess', _1106 => _1106.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
46293
46304
  };
46294
46305
  const response = await _chunkRD3HIB25cjs.embedAuthedFetch.call(void 0, targetPath, {
46295
46306
  method: "POST",
@@ -46299,7 +46310,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46299
46310
  if (!response.ok) {
46300
46311
  throw new Error(`Chat request failed: ${response.status}`);
46301
46312
  }
46302
- const reader = _optionalChain([response, 'access', _1104 => _1104.body, 'optionalAccess', _1105 => _1105.getReader, 'call', _1106 => _1106()]);
46313
+ const reader = _optionalChain([response, 'access', _1107 => _1107.body, 'optionalAccess', _1108 => _1108.getReader, 'call', _1109 => _1109()]);
46303
46314
  if (!reader) throw new Error("No response body");
46304
46315
  const decoder = new TextDecoder();
46305
46316
  let buffer = "";
@@ -46382,7 +46393,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46382
46393
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
46383
46394
  const result = _nullishCoalesce(meta.result, () => ( null));
46384
46395
  const card = _nullishCoalesce(meta.card, () => ( null));
46385
- if (_optionalChain([card, 'optionalAccess', _1107 => _1107.ref, 'optionalAccess', _1108 => _1108.id]) && _optionalChain([card, 'optionalAccess', _1109 => _1109.type])) {
46396
+ if (_optionalChain([card, 'optionalAccess', _1110 => _1110.ref, 'optionalAccess', _1111 => _1111.id]) && _optionalChain([card, 'optionalAccess', _1112 => _1112.type])) {
46386
46397
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
46387
46398
  const key = buildChatRefKey(card.type, card.ref.id);
46388
46399
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -46395,8 +46406,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46395
46406
  willAutoContinue: meta.willAutoContinue === true,
46396
46407
  ...toolName ? { toolName } : {},
46397
46408
  ...result ? { result } : {},
46398
- ..._optionalChain([card, 'optionalAccess', _1110 => _1110.marker]) ? { marker: card.marker } : {},
46399
- ..._optionalChain([card, 'optionalAccess', _1111 => _1111.ref]) ? { cardRef: card.ref } : {},
46409
+ ..._optionalChain([card, 'optionalAccess', _1113 => _1113.marker]) ? { marker: card.marker } : {},
46410
+ ..._optionalChain([card, 'optionalAccess', _1114 => _1114.ref]) ? { cardRef: card.ref } : {},
46400
46411
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
46401
46412
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
46402
46413
  };
@@ -46515,7 +46526,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
46515
46526
  var chatStorageKey = (source) => {
46516
46527
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
46517
46528
  const auth = _chunkRD3HIB25cjs.getEmbedProxyAuth.call(void 0, );
46518
- if (_optionalChain([auth, 'optionalAccess', _1112 => _1112.email])) {
46529
+ if (_optionalChain([auth, 'optionalAccess', _1115 => _1115.email])) {
46519
46530
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
46520
46531
  }
46521
46532
  return base;
@@ -46570,7 +46581,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46570
46581
  const { active = true } = runtimeOptions;
46571
46582
  const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
46572
46583
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
46573
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1113 => _1113.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
46584
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1116 => _1116.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
46574
46585
  const persistedRef = _react.useRef.call(void 0, null);
46575
46586
  if (persistedRef.current === null) {
46576
46587
  pruneStaleChatStorage(source);
@@ -46675,7 +46686,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46675
46686
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
46676
46687
  sources = sourcesMapRef.current.get(lookupIdx);
46677
46688
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
46678
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1114 => _1114.current, 'access', _1115 => _1115.get, 'call', _1116 => _1116(lookupIdx), 'optionalAccess', _1117 => _1117.scrollAnchor]), () => ( void 0));
46689
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1117 => _1117.current, 'access', _1118 => _1118.get, 'call', _1119 => _1119(lookupIdx), 'optionalAccess', _1120 => _1120.scrollAnchor]), () => ( void 0));
46679
46690
  }
46680
46691
  return {
46681
46692
  id: m.id,
@@ -46723,7 +46734,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46723
46734
  );
46724
46735
  return;
46725
46736
  }
46726
- const refSlug = typeof _optionalChain([reference, 'access', _1118 => _1118.metadata, 'optionalAccess', _1119 => _1119.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
46737
+ const refSlug = typeof _optionalChain([reference, 'access', _1121 => _1121.metadata, 'optionalAccess', _1122 => _1122.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
46727
46738
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
46728
46739
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
46729
46740
  const text = `/${cmdId} display "${escaped}"`;
@@ -46795,18 +46806,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46795
46806
  clearMessages,
46796
46807
  streamingPhase,
46797
46808
  /** Provider key for the lib's `<ModelDisplay>` icon. */
46798
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1120 => _1120.provider]), () => ( null)),
46799
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1121 => _1121.modelLabel]), () => ( null)),
46800
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1122 => _1122.contextWindowMaxTokens]), () => ( null)),
46809
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1123 => _1123.provider]), () => ( null)),
46810
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1124 => _1124.modelLabel]), () => ( null)),
46811
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1125 => _1125.contextWindowMaxTokens]), () => ( null)),
46801
46812
  /** Input tokens (known after server's message_start frame; null until). */
46802
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1123 => _1123.inputTokens]), () => ( null)),
46813
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1126 => _1126.inputTokens]), () => ( null)),
46803
46814
  /** Output tokens (known only after server's trailing usage frame). */
46804
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1124 => _1124.outputTokens]), () => ( null)),
46815
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1127 => _1127.outputTokens]), () => ( null)),
46805
46816
  /** Cache hit % (read / total-input × 100). null during streaming. */
46806
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1125 => _1125.cacheHitRatePct]), () => ( null)),
46817
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1128 => _1128.cacheHitRatePct]), () => ( null)),
46807
46818
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
46808
46819
  * token counts). null until the trailing usage frame lands. */
46809
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1126 => _1126.breakdown]), () => ( null)),
46820
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1129 => _1129.breakdown]), () => ( null)),
46810
46821
  // ─── Dialog management — stubs for v1 ────────────────────────────────
46811
46822
  // Guide mode currently keeps its history in `localStorage` opaquely
46812
46823
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -46864,15 +46875,15 @@ var noopRejectRequest = async (_id, _reason) => {
46864
46875
 
46865
46876
  // src/components/chat/utils/process-historical-messages.ts
46866
46877
  function getOwnerDisplayName(owner) {
46867
- if (_optionalChain([owner, 'optionalAccess', _1127 => _1127.type]) === OWNER_TYPE.ADMIN && owner.user) {
46878
+ if (_optionalChain([owner, 'optionalAccess', _1130 => _1130.type]) === OWNER_TYPE.ADMIN && owner.user) {
46868
46879
  const { firstName, lastName } = owner.user;
46869
46880
  const name = [firstName, lastName].filter(Boolean).join(" ");
46870
46881
  if (name) return name;
46871
46882
  }
46872
- return _optionalChain([owner, 'optionalAccess', _1128 => _1128.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46883
+ return _optionalChain([owner, 'optionalAccess', _1131 => _1131.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46873
46884
  }
46874
46885
  function getOwnerAvatar(owner) {
46875
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1129 => _1129.user, 'optionalAccess', _1130 => _1130.image, 'optionalAccess', _1131 => _1131.imageUrl]), () => ( void 0));
46886
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1132 => _1132.user, 'optionalAccess', _1133 => _1133.image, 'optionalAccess', _1134 => _1134.imageUrl]), () => ( void 0));
46876
46887
  }
46877
46888
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
46878
46889
  messageDataArray.forEach((data) => {
@@ -46935,14 +46946,14 @@ function processHistoricalMessages(messages, options = {}) {
46935
46946
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
46936
46947
  return;
46937
46948
  }
46938
- const isUserMessage = _optionalChain([msg, 'access', _1132 => _1132.owner, 'optionalAccess', _1133 => _1133.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1134 => _1134.owner, 'optionalAccess', _1135 => _1135.type]) === OWNER_TYPE.ADMIN;
46949
+ const isUserMessage = _optionalChain([msg, 'access', _1135 => _1135.owner, 'optionalAccess', _1136 => _1136.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1137 => _1137.owner, 'optionalAccess', _1138 => _1138.type]) === OWNER_TYPE.ADMIN;
46939
46950
  if (isUserMessage) {
46940
46951
  flushAssistantMessage();
46941
- const userAuthorType = _optionalChain([msg, 'access', _1136 => _1136.owner, 'optionalAccess', _1137 => _1137.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46952
+ const userAuthorType = _optionalChain([msg, 'access', _1139 => _1139.owner, 'optionalAccess', _1140 => _1140.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46942
46953
  messageDataArray.forEach((data) => {
46943
46954
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
46944
46955
  const rawContext = data.contextItems;
46945
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1138 => _1138.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1139 => _1139.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46956
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1141 => _1141.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1142 => _1142.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46946
46957
  processedMessages.push({
46947
46958
  id: msg.id,
46948
46959
  role: "user",
@@ -46966,7 +46977,7 @@ function processHistoricalMessages(messages, options = {}) {
46966
46977
  });
46967
46978
  const nextMsg = messages[index + 1];
46968
46979
  const isLastMessage = index === messages.length - 1;
46969
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1140 => _1140.owner, 'optionalAccess', _1141 => _1141.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1142 => _1142.owner, 'optionalAccess', _1143 => _1143.type]) === OWNER_TYPE.ADMIN);
46980
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1143 => _1143.owner, 'optionalAccess', _1144 => _1144.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1145 => _1145.owner, 'optionalAccess', _1146 => _1146.type]) === OWNER_TYPE.ADMIN);
46970
46981
  if (isLastMessage || nextIsFromUser) {
46971
46982
  flushAssistantMessage();
46972
46983
  }
@@ -47076,7 +47087,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47076
47087
  }
47077
47088
  }
47078
47089
  } else {
47079
- _optionalChain([escalatedApprovals, 'optionalAccess', _1144 => _1144.set, 'call', _1145 => _1145(data.approvalRequestId, {
47090
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1147 => _1147.set, 'call', _1148 => _1148(data.approvalRequestId, {
47080
47091
  command: data.command || "",
47081
47092
  explanation: data.explanation,
47082
47093
  approvalType,
@@ -47090,8 +47101,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47090
47101
  const existingStatus = approvalStatuses[data.approvalRequestId];
47091
47102
  const status = existingStatus || (data.approved ? "approved" : "rejected");
47092
47103
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
47093
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1146 => _1146.get, 'call', _1147 => _1147(data.approvalRequestId)]);
47094
- if (_optionalChain([escalatedData, 'optionalAccess', _1148 => _1148.toolCalls]) && escalatedData.toolCalls.length > 0) {
47104
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1149 => _1149.get, 'call', _1150 => _1150(data.approvalRequestId)]);
47105
+ if (_optionalChain([escalatedData, 'optionalAccess', _1151 => _1151.toolCalls]) && escalatedData.toolCalls.length > 0) {
47095
47106
  if (batchApprovalsEnabled) {
47096
47107
  accumulator.addApprovalBatch(
47097
47108
  data.approvalRequestId,
@@ -47113,7 +47124,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47113
47124
  );
47114
47125
  }
47115
47126
  }
47116
- _optionalChain([escalatedApprovals, 'optionalAccess', _1149 => _1149.delete, 'call', _1150 => _1150(data.approvalRequestId)]);
47127
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1152 => _1152.delete, 'call', _1153 => _1153(data.approvalRequestId)]);
47117
47128
  break;
47118
47129
  }
47119
47130
  if (escalatedData) {
@@ -47122,7 +47133,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47122
47133
  explanation: escalatedData.explanation,
47123
47134
  approvalType: escalatedData.approvalType
47124
47135
  });
47125
- _optionalChain([escalatedApprovals, 'optionalAccess', _1151 => _1151.delete, 'call', _1152 => _1152(data.approvalRequestId)]);
47136
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1154 => _1154.delete, 'call', _1155 => _1155(data.approvalRequestId)]);
47126
47137
  }
47127
47138
  const before = accumulator.getSegments();
47128
47139
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -47138,9 +47149,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47138
47149
  case MESSAGE_TYPE.ERROR:
47139
47150
  if ("error" in data) {
47140
47151
  let message2;
47141
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1153 => _1153.details])) {
47152
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1156 => _1156.details])) {
47142
47153
  try {
47143
- message2 = _optionalChain([JSON, 'access', _1154 => _1154.parse, 'call', _1155 => _1155(data.details), 'optionalAccess', _1156 => _1156.error, 'optionalAccess', _1157 => _1157.message]);
47154
+ message2 = _optionalChain([JSON, 'access', _1157 => _1157.parse, 'call', _1158 => _1158(data.details), 'optionalAccess', _1159 => _1159.error, 'optionalAccess', _1160 => _1160.message]);
47144
47155
  } catch (e59) {
47145
47156
  message2 = data.details;
47146
47157
  }
@@ -47223,14 +47234,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
47223
47234
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
47224
47235
  return;
47225
47236
  }
47226
- const isUserMessage = _optionalChain([msg, 'access', _1158 => _1158.owner, 'optionalAccess', _1159 => _1159.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1160 => _1160.owner, 'optionalAccess', _1161 => _1161.type]) === OWNER_TYPE.ADMIN;
47237
+ const isUserMessage = _optionalChain([msg, 'access', _1161 => _1161.owner, 'optionalAccess', _1162 => _1162.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1163 => _1163.owner, 'optionalAccess', _1164 => _1164.type]) === OWNER_TYPE.ADMIN;
47227
47238
  if (isUserMessage) {
47228
47239
  flushAssistantMessage();
47229
- const userAuthorType = _optionalChain([msg, 'access', _1162 => _1162.owner, 'optionalAccess', _1163 => _1163.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47240
+ const userAuthorType = _optionalChain([msg, 'access', _1165 => _1165.owner, 'optionalAccess', _1166 => _1166.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47230
47241
  messageDataArray.forEach((data) => {
47231
47242
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
47232
47243
  const rawContext = data.contextItems;
47233
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1164 => _1164.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1165 => _1165.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47244
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1167 => _1167.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1168 => _1168.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47234
47245
  processedMessages.push({
47235
47246
  id: msg.id,
47236
47247
  role: "user",
@@ -47254,7 +47265,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
47254
47265
  });
47255
47266
  const nextMsg = messages[index + 1];
47256
47267
  const isLastMessage = index === messages.length - 1;
47257
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1166 => _1166.owner, 'optionalAccess', _1167 => _1167.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1168 => _1168.owner, 'optionalAccess', _1169 => _1169.type]) === OWNER_TYPE.ADMIN);
47268
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1169 => _1169.owner, 'optionalAccess', _1170 => _1170.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1171 => _1171.owner, 'optionalAccess', _1172 => _1172.type]) === OWNER_TYPE.ADMIN);
47258
47269
  if (isLastMessage || nextIsFromUser) {
47259
47270
  flushAssistantMessage();
47260
47271
  }
@@ -47590,7 +47601,7 @@ function useNatsChatAdapter(config, options = {}) {
47590
47601
  }, [active, fetchDialogs, loadDialogsPage]);
47591
47602
  const sendMessage = _react.useCallback.call(void 0,
47592
47603
  async (text, sendOptions) => {
47593
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1170 => _1170.hidden]), () => ( false));
47604
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1173 => _1173.hidden]), () => ( false));
47594
47605
  setMessages((prev) => [
47595
47606
  ...prev,
47596
47607
  {
@@ -47754,11 +47765,11 @@ function useNatsChatAdapter(config, options = {}) {
47754
47765
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
47755
47766
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
47756
47767
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
47757
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1171 => _1171.provider]), () => ( modelProvider)), () => ( null)),
47758
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1172 => _1172.modelLabel]), () => ( modelLabel)), () => ( null)),
47759
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1173 => _1173.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1174 => _1174.contextWindowMaxTokens]))), () => ( null)),
47760
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1175 => _1175.inputTokensSize]), () => ( null)),
47761
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1176 => _1176.outputTokensSize]), () => ( null)),
47768
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1174 => _1174.provider]), () => ( modelProvider)), () => ( null)),
47769
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1175 => _1175.modelLabel]), () => ( modelLabel)), () => ( null)),
47770
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1176 => _1176.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1177 => _1177.contextWindowMaxTokens]))), () => ( null)),
47771
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1178 => _1178.inputTokensSize]), () => ( null)),
47772
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1179 => _1179.outputTokensSize]), () => ( null)),
47762
47773
  currentCacheHitRatePct: null,
47763
47774
  currentUsageBreakdown: null,
47764
47775
  // Dialog management
@@ -48006,7 +48017,7 @@ function extractIncompleteMessageState(lastMessage) {
48006
48017
  break;
48007
48018
  case "approval_batch": {
48008
48019
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
48009
- (c) => _optionalChain([segment, 'access', _1177 => _1177.data, 'access', _1178 => _1178.executions, 'optionalAccess', _1179 => _1179[c.toolExecutionRequestId], 'optionalAccess', _1180 => _1180.status]) === "done"
48020
+ (c) => _optionalChain([segment, 'access', _1180 => _1180.data, 'access', _1181 => _1181.executions, 'optionalAccess', _1182 => _1182[c.toolExecutionRequestId], 'optionalAccess', _1183 => _1183.status]) === "done"
48010
48021
  );
48011
48022
  if (segment.status !== "rejected" && !allDone) {
48012
48023
  hasIncompleteState = true;
@@ -48074,20 +48085,20 @@ function mergeHistoryWithRealtime(input) {
48074
48085
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
48075
48086
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
48076
48087
  const trailing = processedHistory[processedHistory.length - 1];
48077
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1181 => _1181.role]) === "assistant" ? trailing : null;
48078
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1182 => _1182.content, 'access', _1183 => _1183.find, 'call', _1184 => _1184((s) => s.type === "approval_batch"), 'optionalAccess', _1185 => _1185.data, 'optionalAccess', _1186 => _1186.approvalRequestId]), () => ( null)) : null;
48088
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1184 => _1184.role]) === "assistant" ? trailing : null;
48089
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1185 => _1185.content, 'access', _1186 => _1186.find, 'call', _1187 => _1187((s) => s.type === "approval_batch"), 'optionalAccess', _1188 => _1188.data, 'optionalAccess', _1189 => _1189.approvalRequestId]), () => ( null)) : null;
48079
48090
  let processedToUse = processedHistory;
48080
48091
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
48081
48092
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
48082
48093
  if (historyBatchId) {
48083
48094
  const batchTwins = existingMessages.filter(
48084
48095
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
48085
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1187 => _1187.data, 'optionalAccess', _1188 => _1188.approvalRequestId]) === historyBatchId
48096
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1190 => _1190.data, 'optionalAccess', _1191 => _1191.approvalRequestId]) === historyBatchId
48086
48097
  )
48087
48098
  );
48088
48099
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
48089
48100
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
48090
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1189 => _1189.content])) ? historyTrailingAssistant.content.length : 0;
48101
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1192 => _1192.content])) ? historyTrailingAssistant.content.length : 0;
48091
48102
  const realtimeSize = existingWithSameBatch.content.length;
48092
48103
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
48093
48104
  processedToUse = processedHistory.slice(0, -1);
@@ -48103,16 +48114,16 @@ function mergeHistoryWithRealtime(input) {
48103
48114
  if (pinnedSyntheticIds.has(m.id)) return true;
48104
48115
  if (droppedSyntheticIds.has(m.id)) return false;
48105
48116
  if (processedIds.has(m.id)) return false;
48106
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1190 => _1190.has, 'call', _1191 => _1191(m.id)])) return false;
48117
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1193 => _1193.has, 'call', _1194 => _1194(m.id)])) return false;
48107
48118
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
48108
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1192 => _1192.timestamp, 'optionalAccess', _1193 => _1193.getTime, 'call', _1194 => _1194()]), () => ( 0))) <= historyFetchedAt;
48119
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1195 => _1195.timestamp, 'optionalAccess', _1196 => _1196.getTime, 'call', _1197 => _1197()]), () => ( 0))) <= historyFetchedAt;
48109
48120
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
48110
48121
  }
48111
48122
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
48112
48123
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
48113
48124
  return false;
48114
48125
  }
48115
- const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1195 => _1195.timestamp, 'optionalAccess', _1196 => _1196.getTime, 'call', _1197 => _1197()]), () => ( 0))) <= historyFetchedAt;
48126
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1198 => _1198.timestamp, 'optionalAccess', _1199 => _1199.getTime, 'call', _1200 => _1200()]), () => ( 0))) <= historyFetchedAt;
48116
48127
  if (covered) return false;
48117
48128
  }
48118
48129
  return true;
@@ -48332,7 +48343,7 @@ function useChatDialogManager({
48332
48343
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
48333
48344
  if (restoreTarget) {
48334
48345
  try {
48335
- await _optionalChain([unarchiveDialog, 'optionalCall', _1198 => _1198(restoreTarget.id)]);
48346
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1201 => _1201(restoreTarget.id)]);
48336
48347
  } catch (err) {
48337
48348
  console.error("[useChatDialogManager] unarchive failed:", err);
48338
48349
  return;
@@ -48749,7 +48760,7 @@ function EmbeddableChatInner({
48749
48760
  }),
48750
48761
  [commandsUrl]
48751
48762
  );
48752
- const userName = _optionalChain([identityUser, 'optionalAccess', _1199 => _1199.firstName, 'optionalAccess', _1200 => _1200.trim, 'call', _1201 => _1201()]) || _optionalChain([identityUser, 'optionalAccess', _1202 => _1202.name, 'optionalAccess', _1203 => _1203.split, 'call', _1204 => _1204(" "), 'access', _1205 => _1205[0], 'optionalAccess', _1206 => _1206.trim, 'call', _1207 => _1207()]) || void 0;
48763
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1202 => _1202.firstName, 'optionalAccess', _1203 => _1203.trim, 'call', _1204 => _1204()]) || _optionalChain([identityUser, 'optionalAccess', _1205 => _1205.name, 'optionalAccess', _1206 => _1206.split, 'call', _1207 => _1207(" "), 'access', _1208 => _1208[0], 'optionalAccess', _1209 => _1209.trim, 'call', _1210 => _1210()]) || void 0;
48753
48764
  const effectiveModes = _react.useMemo.call(void 0, () => {
48754
48765
  if (modes) return modes;
48755
48766
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -48758,19 +48769,19 @@ function EmbeddableChatInner({
48758
48769
  const mingoCaps = _react.useMemo.call(void 0, () => {
48759
48770
  if (mingoState) {
48760
48771
  return {
48761
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1208 => _1208.canRename]), () => ( false)),
48762
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1209 => _1209.canArchive]), () => ( false)),
48763
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1210 => _1210.fetchArchivedDialogs]),
48764
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1211 => _1211.unarchiveDialog]),
48765
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1212 => _1212.searchQuery]),
48766
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1213 => _1213.onSearchChange])
48772
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1211 => _1211.canRename]), () => ( false)),
48773
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1212 => _1212.canArchive]), () => ( false)),
48774
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1213 => _1213.fetchArchivedDialogs]),
48775
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1214 => _1214.unarchiveDialog]),
48776
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1215 => _1215.searchQuery]),
48777
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1216 => _1216.onSearchChange])
48767
48778
  };
48768
48779
  }
48769
48780
  return {
48770
- canRename: !!_optionalChain([effectiveModes, 'access', _1214 => _1214.mingo, 'optionalAccess', _1215 => _1215.renameDialog]),
48771
- canArchive: !!_optionalChain([effectiveModes, 'access', _1216 => _1216.mingo, 'optionalAccess', _1217 => _1217.archiveDialog]),
48772
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1218 => _1218.mingo, 'optionalAccess', _1219 => _1219.fetchArchivedDialogs]),
48773
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1220 => _1220.mingo, 'optionalAccess', _1221 => _1221.unarchiveDialog]),
48781
+ canRename: !!_optionalChain([effectiveModes, 'access', _1217 => _1217.mingo, 'optionalAccess', _1218 => _1218.renameDialog]),
48782
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1219 => _1219.mingo, 'optionalAccess', _1220 => _1220.archiveDialog]),
48783
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1221 => _1221.mingo, 'optionalAccess', _1222 => _1222.fetchArchivedDialogs]),
48784
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1223 => _1223.mingo, 'optionalAccess', _1224 => _1224.unarchiveDialog]),
48774
48785
  searchQuery: void 0,
48775
48786
  onSearchChange: void 0
48776
48787
  };
@@ -48784,7 +48795,7 @@ function EmbeddableChatInner({
48784
48795
  if (controlledActiveMode === void 0) {
48785
48796
  setUncontrolledActiveMode(next);
48786
48797
  }
48787
- _optionalChain([onActiveModeChange, 'optionalCall', _1222 => _1222(next)]);
48798
+ _optionalChain([onActiveModeChange, 'optionalCall', _1225 => _1225(next)]);
48788
48799
  },
48789
48800
  [controlledActiveMode, onActiveModeChange]
48790
48801
  );
@@ -48803,6 +48814,10 @@ function EmbeddableChatInner({
48803
48814
  const effectiveGreeting = _nullishCoalesce(emptyStateConfig.greeting, () => ( emptyStateGreeting));
48804
48815
  const effectiveEnabledRagTableIds = emptyStateUrl ? emptyStateConfig.enabledRagTableIds : enabledRagTableIds;
48805
48816
  const effectiveSuggestedQueries = emptyStateUrl ? emptyStateConfig.suggestedQueries : suggestedQueries;
48817
+ const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
48818
+ const effectiveAssistantName = emptyStateConfig.name;
48819
+ const effectiveAssistantIcon = emptyStateConfig.icon;
48820
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1226 => _1226.title]) === "string" ? guideWelcome.title : null)));
48806
48821
  const {
48807
48822
  messages: rawMessages,
48808
48823
  isLoading: chatLoading,
@@ -48842,7 +48857,7 @@ function EmbeddableChatInner({
48842
48857
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
48843
48858
  guidePromptSentRef.current = true;
48844
48859
  void sendMessage(guidePendingPrompt);
48845
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1223 => _1223()]);
48860
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1227 => _1227()]);
48846
48861
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
48847
48862
  const {
48848
48863
  attachments: stagedAttachments,
@@ -48853,7 +48868,7 @@ function EmbeddableChatInner({
48853
48868
  clear: clearAttachments
48854
48869
  } = useChatAttachments();
48855
48870
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
48856
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1224 => _1224.maxItems]), () => ( 10));
48871
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1228 => _1228.maxItems]), () => ( 10));
48857
48872
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
48858
48873
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
48859
48874
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -48870,10 +48885,10 @@ function EmbeddableChatInner({
48870
48885
  }, [activeDialogId, activeMode]);
48871
48886
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
48872
48887
  const m = /* @__PURE__ */ new Map();
48873
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1225 => _1225.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
48888
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1229 => _1229.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
48874
48889
  return m;
48875
- }, [_optionalChain([contextPicker, 'optionalAccess', _1226 => _1226.entityTypes])]);
48876
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1227 => _1227.entityTypes]);
48890
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1230 => _1230.entityTypes])]);
48891
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1231 => _1231.entityTypes]);
48877
48892
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
48878
48893
  const byType = /* @__PURE__ */ new Map();
48879
48894
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -48885,7 +48900,7 @@ function EmbeddableChatInner({
48885
48900
  if (mentionActiveRef.current) {
48886
48901
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
48887
48902
  if (contextItems.length >= contextMaxItems) return;
48888
- _optionalChain([chatInputRef, 'access', _1228 => _1228.current, 'optionalAccess', _1229 => _1229.commitMention, 'call', _1230 => _1230(mentionTokenOf(key, mentionMarkerByType), {
48903
+ _optionalChain([chatInputRef, 'access', _1232 => _1232.current, 'optionalAccess', _1233 => _1233.commitMention, 'call', _1234 => _1234(mentionTokenOf(key, mentionMarkerByType), {
48889
48904
  label: item.label,
48890
48905
  icon: resolveContextIcon(item)
48891
48906
  })]);
@@ -48907,9 +48922,9 @@ function EmbeddableChatInner({
48907
48922
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
48908
48923
  if (mentionKeysRef.current.has(key)) {
48909
48924
  mentionKeysRef.current.delete(key);
48910
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1231 => _1231.current, 'optionalAccess', _1232 => _1232.getValue, 'call', _1233 => _1233()]), () => ( ""));
48925
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1235 => _1235.current, 'optionalAccess', _1236 => _1236.getValue, 'call', _1237 => _1237()]), () => ( ""));
48911
48926
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
48912
- _optionalChain([chatInputRef, 'access', _1234 => _1234.current, 'optionalAccess', _1235 => _1235.setValue, 'call', _1236 => _1236(next)]);
48927
+ _optionalChain([chatInputRef, 'access', _1238 => _1238.current, 'optionalAccess', _1239 => _1239.setValue, 'call', _1240 => _1240(next)]);
48913
48928
  }
48914
48929
  }, [mentionMarkerByType]);
48915
48930
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -48926,7 +48941,7 @@ function EmbeddableChatInner({
48926
48941
  }, []);
48927
48942
  const closeContextPicker = _react.useCallback.call(void 0, () => {
48928
48943
  if (mentionActiveRef.current) {
48929
- _optionalChain([chatInputRef, 'access', _1237 => _1237.current, 'optionalAccess', _1238 => _1238.removeMentionTrigger, 'call', _1239 => _1239()]);
48944
+ _optionalChain([chatInputRef, 'access', _1241 => _1241.current, 'optionalAccess', _1242 => _1242.removeMentionTrigger, 'call', _1243 => _1243()]);
48930
48945
  }
48931
48946
  setContextPickerOpen(false);
48932
48947
  setMentionQuery(null);
@@ -48960,8 +48975,8 @@ function EmbeddableChatInner({
48960
48975
  []
48961
48976
  );
48962
48977
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
48963
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1240 => _1240.firstName]), _optionalChain([identityUser, 'optionalAccess', _1241 => _1241.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1242 => _1242.name, 'optionalAccess', _1243 => _1243.trim, 'call', _1244 => _1244()]) || void 0 : void 0;
48964
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1245 => _1245.avatarUrl, 'optionalAccess', _1246 => _1246.trim, 'call', _1247 => _1247()]) || void 0 : void 0;
48978
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1244 => _1244.firstName]), _optionalChain([identityUser, 'optionalAccess', _1245 => _1245.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1246 => _1246.name, 'optionalAccess', _1247 => _1247.trim, 'call', _1248 => _1248()]) || void 0 : void 0;
48979
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1249 => _1249.avatarUrl, 'optionalAccess', _1250 => _1250.trim, 'call', _1251 => _1251()]) || void 0 : void 0;
48965
48980
  const messages = _react.useMemo.call(void 0, () => {
48966
48981
  const cache = timestampCacheRef.current;
48967
48982
  const seenIds = /* @__PURE__ */ new Set();
@@ -49023,12 +49038,24 @@ function EmbeddableChatInner({
49023
49038
  [sendMessage, readyAttachments, viewUrlPrefix, clearAttachments, contextItems]
49024
49039
  );
49025
49040
  const guideSuggestedActions = _react.useMemo.call(void 0,
49026
- () => (_nullishCoalesce(effectiveSuggestedQueries, () => ( []))).map((q, i) => ({
49027
- id: `suggested-${i}`,
49028
- label: q,
49029
- prompt: q
49030
- })),
49031
- [effectiveSuggestedQueries]
49041
+ () => {
49042
+ if (effectiveQuickActions.length > 0) {
49043
+ return effectiveQuickActions.map((qa) => ({
49044
+ id: qa.id,
49045
+ label: qa.label,
49046
+ prompt: qa.prompt,
49047
+ iconName: qa.iconName,
49048
+ iconUrl: qa.iconUrl,
49049
+ iconProps: qa.iconProps
49050
+ }));
49051
+ }
49052
+ return (_nullishCoalesce(effectiveSuggestedQueries, () => ( []))).map((q, i) => ({
49053
+ id: `suggested-${i}`,
49054
+ label: q,
49055
+ prompt: q
49056
+ }));
49057
+ },
49058
+ [effectiveQuickActions, effectiveSuggestedQueries]
49032
49059
  );
49033
49060
  const {
49034
49061
  fetchArchivedDialogs,
@@ -49112,9 +49139,9 @@ function EmbeddableChatInner({
49112
49139
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
49113
49140
  const lastSources = _react.useMemo.call(void 0, () => {
49114
49141
  if (chatLoading) return void 0;
49115
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1248 => _1248.sources]);
49142
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1252 => _1252.sources]);
49116
49143
  if (!sources || sources.length === 0) return void 0;
49117
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1249 => _1249.content]) || "";
49144
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1253 => _1253.content]) || "";
49118
49145
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
49119
49146
  (m) => parseInt(m[1], 10)
49120
49147
  );
@@ -49161,7 +49188,7 @@ function EmbeddableChatInner({
49161
49188
  ChatPanelHeader,
49162
49189
  {
49163
49190
  showBack: hasConversation || guideCanReturnToMingo,
49164
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1250 => _1250.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
49191
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1254 => _1254.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
49165
49192
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
49166
49193
  isArchivedView: isViewingArchived,
49167
49194
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -49280,7 +49307,9 @@ function EmbeddableChatInner({
49280
49307
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
49281
49308
  subtitleLoading: emptyStateLoading,
49282
49309
  ...guideWelcome,
49283
- quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1251 => _1251.quickActions]), () => ( guideSuggestedActions)),
49310
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1255 => _1255.title]))),
49311
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1256 => _1256.icon]))),
49312
+ quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1257 => _1257.quickActions]), () => ( guideSuggestedActions)),
49284
49313
  onQuickAction: (action) => {
49285
49314
  setQuickActionPreview(null);
49286
49315
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -50363,4 +50392,4 @@ function EmbeddableChatInner({
50363
50392
 
50364
50393
 
50365
50394
  exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; 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.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; 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.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.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; 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.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.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.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.Progress = Progress; exports.fetchPriorityProp = fetchPriorityProp; 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.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; 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.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; 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.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.ChatQuickAction = ChatQuickAction; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.GuideWelcome = GuideWelcome; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; 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.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.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; 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.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.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; 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.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; 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.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; 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.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.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.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.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; 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.readLeadingDecisionFrame = readLeadingDecisionFrame; 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.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; 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.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; 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.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; 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.TabSelector = TabSelector; 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.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.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; 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.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.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; 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.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.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; 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.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;
50366
- //# sourceMappingURL=chunk-6GQWIOOD.cjs.map
50395
+ //# sourceMappingURL=chunk-HMUIRZ46.cjs.map