@flamingo-stack/openframe-frontend-core 0.0.553 → 0.0.554-1822.4841.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/{chunk-B7TI3RYG.js → chunk-2E63H7SH.js} +2 -2
  2. package/dist/{chunk-BUNDMGAD.js → chunk-2UVCQJVY.js} +5 -5
  3. package/dist/{chunk-ZS7VC5SX.js → chunk-3XOICFFT.js} +34 -9
  4. package/dist/{chunk-ZS7VC5SX.js.map → chunk-3XOICFFT.js.map} +1 -1
  5. package/dist/{chunk-25BXB4SH.js → chunk-4VALLDF7.js} +2 -2
  6. package/dist/{chunk-CGIZ4UGO.js → chunk-6G3HJCLJ.js} +2 -2
  7. package/dist/{chunk-3OBWO6N6.js → chunk-6PH34GDC.js} +2 -2
  8. package/dist/{chunk-PWWMA3EJ.cjs → chunk-6V6J7P75.cjs} +26 -26
  9. package/dist/{chunk-PWWMA3EJ.cjs.map → chunk-6V6J7P75.cjs.map} +1 -1
  10. package/dist/{chunk-B5N2IG4Z.cjs → chunk-7ZMCHZIJ.cjs} +7 -7
  11. package/dist/{chunk-B5N2IG4Z.cjs.map → chunk-7ZMCHZIJ.cjs.map} +1 -1
  12. package/dist/{chunk-N22NG622.js → chunk-AEJ4VSN7.js} +2 -2
  13. package/dist/{chunk-OI56TF4Y.cjs → chunk-CCV3SQ4W.cjs} +39 -39
  14. package/dist/{chunk-OI56TF4Y.cjs.map → chunk-CCV3SQ4W.cjs.map} +1 -1
  15. package/dist/{chunk-MSNTPZJ3.js → chunk-CGDMM2IJ.js} +2 -2
  16. package/dist/{chunk-S7ATADRE.cjs → chunk-CUWKFI7Q.cjs} +14 -14
  17. package/dist/{chunk-S7ATADRE.cjs.map → chunk-CUWKFI7Q.cjs.map} +1 -1
  18. package/dist/{chunk-LL6EPMAD.cjs → chunk-F2W5V5MH.cjs} +31 -31
  19. package/dist/{chunk-LL6EPMAD.cjs.map → chunk-F2W5V5MH.cjs.map} +1 -1
  20. package/dist/{chunk-QOS27D5S.js → chunk-HUGKJGXP.js} +2 -2
  21. package/dist/{chunk-XPRFVYES.cjs → chunk-JCURBCB7.cjs} +9 -9
  22. package/dist/{chunk-XPRFVYES.cjs.map → chunk-JCURBCB7.cjs.map} +1 -1
  23. package/dist/{chunk-T7UUDSDW.cjs → chunk-JS5YP37A.cjs} +3 -3
  24. package/dist/{chunk-T7UUDSDW.cjs.map → chunk-JS5YP37A.cjs.map} +1 -1
  25. package/dist/{chunk-ZGQZLUO6.cjs → chunk-M3SHPHQ7.cjs} +130 -105
  26. package/dist/chunk-M3SHPHQ7.cjs.map +1 -0
  27. package/dist/{chunk-EGPI3SFI.cjs → chunk-MPJ53DQU.cjs} +86 -86
  28. package/dist/{chunk-EGPI3SFI.cjs.map → chunk-MPJ53DQU.cjs.map} +1 -1
  29. package/dist/{chunk-YI2735PG.js → chunk-NENDMVCF.js} +2 -2
  30. package/dist/{chunk-VYVOER73.js → chunk-NJX7WVJB.js} +2 -2
  31. package/dist/{chunk-LZGHXN2E.js → chunk-P4OGKQYQ.js} +4 -4
  32. package/dist/{chunk-UVAB3XAB.js → chunk-ROUWF3PD.js} +4 -4
  33. package/dist/{chunk-V643QZFI.cjs → chunk-SE667HU6.cjs} +4 -4
  34. package/dist/{chunk-V643QZFI.cjs.map → chunk-SE667HU6.cjs.map} +1 -1
  35. package/dist/{chunk-WLQER7GC.js → chunk-T2EHJ4GN.js} +6 -6
  36. package/dist/{chunk-Y2WE2GOL.cjs → chunk-T6UFFK3K.cjs} +62 -62
  37. package/dist/{chunk-Y2WE2GOL.cjs.map → chunk-T6UFFK3K.cjs.map} +1 -1
  38. package/dist/{chunk-6WA3RI55.cjs → chunk-TF4ASBLD.cjs} +11 -11
  39. package/dist/{chunk-6WA3RI55.cjs.map → chunk-TF4ASBLD.cjs.map} +1 -1
  40. package/dist/{chunk-NFQEDT43.cjs → chunk-TMNMJF5F.cjs} +20 -20
  41. package/dist/{chunk-NFQEDT43.cjs.map → chunk-TMNMJF5F.cjs.map} +1 -1
  42. package/dist/{chunk-XBKBBKPR.cjs → chunk-YR3JVBT3.cjs} +5 -5
  43. package/dist/{chunk-XBKBBKPR.cjs.map → chunk-YR3JVBT3.cjs.map} +1 -1
  44. package/dist/components/case-studies/index.cjs +8 -8
  45. package/dist/components/case-studies/index.js +2 -2
  46. package/dist/components/chat/hooks/use-chat-card-item.d.ts.map +1 -1
  47. package/dist/components/chat/index.cjs +2 -2
  48. package/dist/components/chat/index.js +1 -1
  49. package/dist/components/chat/stream/use-chat-stream-reducer.d.ts.map +1 -1
  50. package/dist/components/contact/index.cjs +3 -3
  51. package/dist/components/contact/index.js +2 -2
  52. package/dist/components/docs/index.cjs +5 -5
  53. package/dist/components/docs/index.js +4 -4
  54. package/dist/components/embeds/index.cjs +3 -3
  55. package/dist/components/embeds/index.js +2 -2
  56. package/dist/components/faq/index.cjs +3 -3
  57. package/dist/components/faq/index.js +2 -2
  58. package/dist/components/features/index.cjs +2 -2
  59. package/dist/components/features/index.js +1 -1
  60. package/dist/components/help-center-pages/index.cjs +22 -22
  61. package/dist/components/help-center-pages/index.js +13 -13
  62. package/dist/components/index.cjs +131 -131
  63. package/dist/components/index.js +11 -11
  64. package/dist/components/meeting-scheduler/index.cjs +28 -28
  65. package/dist/components/meeting-scheduler/index.js +3 -3
  66. package/dist/components/navigation/index.cjs +2 -2
  67. package/dist/components/navigation/index.js +1 -1
  68. package/dist/components/onboarding-guides/index.cjs +5 -5
  69. package/dist/components/onboarding-guides/index.js +4 -4
  70. package/dist/components/related-content/index.cjs +3 -3
  71. package/dist/components/related-content/index.js +2 -2
  72. package/dist/components/tickets/index.cjs +6 -6
  73. package/dist/components/tickets/index.js +5 -5
  74. package/dist/components/ui/index.cjs +2 -2
  75. package/dist/components/ui/index.js +1 -1
  76. package/dist/index.cjs +2 -2
  77. package/dist/index.js +1 -1
  78. package/package.json +1 -1
  79. package/src/components/chat/hooks/use-chat-card-item.ts +13 -7
  80. package/src/components/chat/stream/use-chat-stream-reducer.ts +36 -1
  81. package/dist/chunk-ZGQZLUO6.cjs.map +0 -1
  82. /package/dist/{chunk-B7TI3RYG.js.map → chunk-2E63H7SH.js.map} +0 -0
  83. /package/dist/{chunk-BUNDMGAD.js.map → chunk-2UVCQJVY.js.map} +0 -0
  84. /package/dist/{chunk-25BXB4SH.js.map → chunk-4VALLDF7.js.map} +0 -0
  85. /package/dist/{chunk-CGIZ4UGO.js.map → chunk-6G3HJCLJ.js.map} +0 -0
  86. /package/dist/{chunk-3OBWO6N6.js.map → chunk-6PH34GDC.js.map} +0 -0
  87. /package/dist/{chunk-N22NG622.js.map → chunk-AEJ4VSN7.js.map} +0 -0
  88. /package/dist/{chunk-MSNTPZJ3.js.map → chunk-CGDMM2IJ.js.map} +0 -0
  89. /package/dist/{chunk-QOS27D5S.js.map → chunk-HUGKJGXP.js.map} +0 -0
  90. /package/dist/{chunk-YI2735PG.js.map → chunk-NENDMVCF.js.map} +0 -0
  91. /package/dist/{chunk-VYVOER73.js.map → chunk-NJX7WVJB.js.map} +0 -0
  92. /package/dist/{chunk-LZGHXN2E.js.map → chunk-P4OGKQYQ.js.map} +0 -0
  93. /package/dist/{chunk-UVAB3XAB.js.map → chunk-ROUWF3PD.js.map} +0 -0
  94. /package/dist/{chunk-WLQER7GC.js.map → chunk-T2EHJ4GN.js.map} +0 -0
@@ -52033,13 +52033,19 @@ function useChatCardItem(type, id) {
52033
52033
  // user toggles back to the tab is wasteful (the row's id-keyed
52034
52034
  // payload is effectively immutable).
52035
52035
  refetchOnWindowFocus: false,
52036
- // The id-keyed payload is effectively immutable, and a fetch-mode card
52037
- // inside a STREAMING assistant message re-mounts on every chunk as the
52038
- // surrounding markdown re-parses. Without a staleTime that meant a fresh
52039
- // network fetch + loading-skeleton flash on every single chunk. Treat the
52040
- // row as fresh for 5 min (matches the public pages) and keep it cached
52041
- // long after unmount so remounts resolve synchronously from cache — no
52042
- // refetch, no skeleton flash.
52036
+ // A fetch-mode card inside a STREAMING assistant message re-mounts on
52037
+ // every chunk as the surrounding markdown re-parses. Without a staleTime
52038
+ // that meant a fresh network fetch + loading-skeleton flash on every
52039
+ // single chunk. Treat the row as fresh for 5 min (matches the public
52040
+ // pages) and keep it cached long after unmount so remounts resolve
52041
+ // synchronously from cache — no refetch, no skeleton flash.
52042
+ //
52043
+ // MUTABLE ENTITIES (tickets, tasks): the 5-min freshness is NOT an
52044
+ // immutability claim. When a confirmed tool action mutates an entity,
52045
+ // `use-chat-stream-reducer` invalidates every ['chat-card-item', *, id]
52046
+ // entry for it on the `approval-resolved` event — the receipt card (and
52047
+ // any earlier card of the same entity) refetches the post-mutation row.
52048
+ // Keep that invalidation in sync with this queryKey shape.
52043
52049
  staleTime: 5 * 60 * 1e3,
52044
52050
  gcTime: 30 * 60 * 1e3
52045
52051
  });
@@ -57610,6 +57616,7 @@ function createChatDialogStore(options = {}) {
57610
57616
  // src/components/chat/stream/use-chat-stream-reducer.ts
57611
57617
 
57612
57618
 
57619
+
57613
57620
  // src/components/chat/stream/delta-batcher.ts
57614
57621
  var DELTA_FLUSH_FALLBACK_MS = 50;
57615
57622
  function isDeltaEvent(event) {
@@ -57691,6 +57698,22 @@ function createDeltaBatcher({
57691
57698
  }
57692
57699
 
57693
57700
  // src/components/chat/stream/use-chat-stream-reducer.ts
57701
+ function useOptionalQueryClient() {
57702
+ try {
57703
+ return _reactquery.useQueryClient.call(void 0, );
57704
+ } catch (e104) {
57705
+ return null;
57706
+ }
57707
+ }
57708
+ function invalidateMutatedEntityCards(queryClient, event) {
57709
+ if (!queryClient) return;
57710
+ if (event.type !== "approval-resolved" || event.status !== "approved") return;
57711
+ const mutatedId = _optionalChain([event, 'access', _1559 => _1559.result, 'optionalAccess', _1560 => _1560.ticket_id]);
57712
+ if (!mutatedId) return;
57713
+ void queryClient.invalidateQueries({
57714
+ predicate: (q) => q.queryKey[0] === "chat-card-item" && q.queryKey[2] === mutatedId
57715
+ });
57716
+ }
57694
57717
  function useChatStreamReducer({
57695
57718
  store,
57696
57719
  dialogId,
@@ -57699,7 +57722,7 @@ function useChatStreamReducer({
57699
57722
  }) {
57700
57723
  const optionsRef = _react.useRef.call(void 0, createReducerOptions);
57701
57724
  optionsRef.current = createReducerOptions;
57702
- const reducer2 = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([optionsRef, 'access', _1559 => _1559.current, 'optionalCall', _1560 => _1560()]), () => ( {})));
57725
+ const reducer2 = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([optionsRef, 'access', _1561 => _1561.current, 'optionalCall', _1562 => _1562()]), () => ( {})));
57703
57726
  const getSnapshot = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
57704
57727
  const getServerSnapshot = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
57705
57728
  const subscribe = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
@@ -57721,13 +57744,15 @@ function useChatStreamReducer({
57721
57744
  }
57722
57745
  const batcher = batcherRef.current;
57723
57746
  const flushDeltas = _react.useCallback.call(void 0, () => batcher.flush(), [batcher]);
57747
+ const queryClient = useOptionalQueryClient();
57724
57748
  const applyEvent = _react.useCallback.call(void 0,
57725
57749
  (event) => {
57726
57750
  if (batcher.push(event, keyRef.current)) return;
57727
57751
  batcher.flush();
57728
57752
  store.apply(dialogId, side, event);
57753
+ invalidateMutatedEntityCards(queryClient, event);
57729
57754
  },
57730
- [batcher, store, dialogId, side]
57755
+ [batcher, store, dialogId, side, queryClient]
57731
57756
  );
57732
57757
  _react.useEffect.call(void 0, () => () => batcher.dispose(), [batcher]);
57733
57758
  const mutate = _react.useCallback.call(void 0,
@@ -57759,7 +57784,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57759
57784
  const { active = true } = runtimeOptions;
57760
57785
  const runtime = _chunkCEAAOVCVcjs.useRequiredChatRuntime.call(void 0, );
57761
57786
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
57762
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1561 => _1561.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
57787
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1563 => _1563.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
57763
57788
  const sendMessageRef = _react.useRef.call(void 0, async () => true);
57764
57789
  const cardResolve = _react.useCallback.call(void 0,
57765
57790
  (action) => (reqId) => {
@@ -57794,7 +57819,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57794
57819
  if (!restoredConversationRef.current) {
57795
57820
  restoredConversationRef.current = true;
57796
57821
  pruneStaleChatConversationStorage(source);
57797
- conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1562 => _1562.load, 'call', _1563 => _1563(), 'optionalAccess', _1564 => _1564.conversationId]), () => ( null));
57822
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1564 => _1564.load, 'call', _1565 => _1565(), 'optionalAccess', _1566 => _1566.conversationId]), () => ( null));
57798
57823
  }
57799
57824
  const commandsUrl = runtime.endpoints.commandsUrl;
57800
57825
  const { commands: slashCommands } = useSlashCommandRegistry(commandsUrl, {
@@ -57901,7 +57926,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57901
57926
  const serverMessage = await readServerErrorMessage(response);
57902
57927
  throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
57903
57928
  }
57904
- const reader = _optionalChain([response, 'access', _1565 => _1565.body, 'optionalAccess', _1566 => _1566.getReader, 'call', _1567 => _1567()]);
57929
+ const reader = _optionalChain([response, 'access', _1567 => _1567.body, 'optionalAccess', _1568 => _1568.getReader, 'call', _1569 => _1569()]);
57905
57930
  if (!reader) throw new Error("No response body");
57906
57931
  const frameDecoder = createSseFrameDecoder();
57907
57932
  let finished = false;
@@ -57924,7 +57949,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57924
57949
  }
57925
57950
  return true;
57926
57951
  } catch (err) {
57927
- if (_optionalChain([err, 'optionalAccess', _1568 => _1568.name]) === "AbortError" || ctrl.signal.aborted) {
57952
+ if (_optionalChain([err, 'optionalAccess', _1570 => _1570.name]) === "AbortError" || ctrl.signal.aborted) {
57928
57953
  return true;
57929
57954
  }
57930
57955
  flushDeltas();
@@ -57946,7 +57971,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57946
57971
  );
57947
57972
  sendMessageRef.current = sendMessage;
57948
57973
  const stopMessage = _react.useCallback.call(void 0, () => {
57949
- _optionalChain([abortControllerRef, 'access', _1569 => _1569.current, 'optionalAccess', _1570 => _1570.abort, 'call', _1571 => _1571()]);
57974
+ _optionalChain([abortControllerRef, 'access', _1571 => _1571.current, 'optionalAccess', _1572 => _1572.abort, 'call', _1573 => _1573()]);
57950
57975
  flushDeltas();
57951
57976
  mutate((r) => r.setPhase("idle"));
57952
57977
  }, [mutate, flushDeltas]);
@@ -57962,7 +57987,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57962
57987
  let sendIdx = -1;
57963
57988
  return state.messages.map((m) => {
57964
57989
  const segments = m.segments;
57965
- const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _1572 => _1572.filter, 'call', _1573 => _1573((s) => s.type === "text"), 'access', _1574 => _1574.map, 'call', _1575 => _1575((s) => s.text), 'access', _1576 => _1576.join, 'call', _1577 => _1577("")]), () => ( ""));
57990
+ const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _1574 => _1574.filter, 'call', _1575 => _1575((s) => s.type === "text"), 'access', _1576 => _1576.map, 'call', _1577 => _1577((s) => s.text), 'access', _1578 => _1578.join, 'call', _1579 => _1579("")]), () => ( ""));
57966
57991
  let sources;
57967
57992
  let scrollAnchor;
57968
57993
  if (m.role === "user" && !m.hidden) {
@@ -57971,7 +57996,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57971
57996
  if (m.role === "assistant") {
57972
57997
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
57973
57998
  sources = sourcesMap.get(lookupIdx);
57974
- scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _1578 => _1578.get, 'call', _1579 => _1579(lookupIdx), 'optionalAccess', _1580 => _1580.scrollAnchor]), () => ( void 0));
57999
+ scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _1580 => _1580.get, 'call', _1581 => _1581(lookupIdx), 'optionalAccess', _1582 => _1582.scrollAnchor]), () => ( void 0));
57975
58000
  }
57976
58001
  return {
57977
58002
  id: m.id,
@@ -58000,7 +58025,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
58000
58025
  );
58001
58026
  return;
58002
58027
  }
58003
- const refSlug = typeof _optionalChain([reference, 'access', _1581 => _1581.metadata, 'optionalAccess', _1582 => _1582.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
58028
+ const refSlug = typeof _optionalChain([reference, 'access', _1583 => _1583.metadata, 'optionalAccess', _1584 => _1584.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
58004
58029
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
58005
58030
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
58006
58031
  const text = `/${cmdId} display "${escaped}"`;
@@ -58050,18 +58075,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
58050
58075
  /** True while the mount-time rebuild from the server transcript runs. */
58051
58076
  isHydratingHistory,
58052
58077
  /** Provider key for the lib's `<ModelDisplay>` icon. */
58053
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1583 => _1583.provider]), () => ( null)),
58054
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1584 => _1584.modelLabel]), () => ( null)),
58055
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1585 => _1585.contextWindowMaxTokens]), () => ( null)),
58078
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1585 => _1585.provider]), () => ( null)),
58079
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1586 => _1586.modelLabel]), () => ( null)),
58080
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1587 => _1587.contextWindowMaxTokens]), () => ( null)),
58056
58081
  /** Input tokens (known after server's message_start frame; null until). */
58057
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1586 => _1586.inputTokens]), () => ( null)),
58082
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1588 => _1588.inputTokens]), () => ( null)),
58058
58083
  /** Output tokens (known only after server's trailing usage frame). */
58059
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1587 => _1587.outputTokens]), () => ( null)),
58084
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1589 => _1589.outputTokens]), () => ( null)),
58060
58085
  /** Cache hit % (read / total-input × 100). null during streaming. */
58061
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1588 => _1588.cacheHitRatePct]), () => ( null)),
58086
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1590 => _1590.cacheHitRatePct]), () => ( null)),
58062
58087
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
58063
58088
  * token counts). null until the trailing usage frame lands. */
58064
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1589 => _1589.breakdown]), () => ( null)),
58089
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1591 => _1591.breakdown]), () => ( null)),
58065
58090
  // ─── Dialog management — stubs for v1 ────────────────────────────────
58066
58091
  // Guide mode keeps ONE server-side conversation per stored id
58067
58092
  // (`chat_conversations`, hydrated on mount). Surfacing multiple threads
@@ -58356,7 +58381,7 @@ function decodeNatsChunk(chunk) {
58356
58381
  userId: typeof data.userId === "string" ? data.userId : void 0,
58357
58382
  // Wire shape carries no label; fall back to the id (parity with
58358
58383
  // the history path in `process-historical-messages.ts`).
58359
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1590 => _1590.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1591 => _1591.id]) === "string").map((it) => ({
58384
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1592 => _1592.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1593 => _1593.id]) === "string").map((it) => ({
58360
58385
  type: it.type,
58361
58386
  id: it.id,
58362
58387
  label: it.id
@@ -58408,15 +58433,15 @@ function decodeNatsChunk(chunk) {
58408
58433
 
58409
58434
  // src/components/chat/utils/process-historical-messages.ts
58410
58435
  function getOwnerDisplayName(owner) {
58411
- if (_optionalChain([owner, 'optionalAccess', _1592 => _1592.type]) === OWNER_TYPE.ADMIN && owner.user) {
58436
+ if (_optionalChain([owner, 'optionalAccess', _1594 => _1594.type]) === OWNER_TYPE.ADMIN && owner.user) {
58412
58437
  const { firstName, lastName } = owner.user;
58413
58438
  const name = [firstName, lastName].filter(Boolean).join(" ");
58414
58439
  if (name) return name;
58415
58440
  }
58416
- return _optionalChain([owner, 'optionalAccess', _1593 => _1593.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
58441
+ return _optionalChain([owner, 'optionalAccess', _1595 => _1595.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
58417
58442
  }
58418
58443
  function getOwnerAvatar(owner) {
58419
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1594 => _1594.user, 'optionalAccess', _1595 => _1595.image, 'optionalAccess', _1596 => _1596.imageUrl]), () => ( void 0));
58444
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1596 => _1596.user, 'optionalAccess', _1597 => _1597.image, 'optionalAccess', _1598 => _1598.imageUrl]), () => ( void 0));
58420
58445
  }
58421
58446
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
58422
58447
  messageDataArray.forEach((data) => {
@@ -58615,7 +58640,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58615
58640
  event.offerId,
58616
58641
  event.text,
58617
58642
  event.origin,
58618
- _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _1597 => _1597[event.offerId]]), () => ( "pending"))
58643
+ _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _1599 => _1599[event.offerId]]), () => ( "pending"))
58619
58644
  );
58620
58645
  break;
58621
58646
  case "ticket-escalated":
@@ -58641,7 +58666,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58641
58666
  });
58642
58667
  break;
58643
58668
  case "escalation-offer-resolved":
58644
- _optionalChain([offerResolutions, 'optionalAccess', _1598 => _1598.set, 'call', _1599 => _1599(event.offerId, {
58669
+ _optionalChain([offerResolutions, 'optionalAccess', _1600 => _1600.set, 'call', _1601 => _1601(event.offerId, {
58645
58670
  status: event.status,
58646
58671
  resolvedByName: event.resolvedByName
58647
58672
  })]);
@@ -58719,7 +58744,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58719
58744
  }
58720
58745
  }
58721
58746
  } else {
58722
- _optionalChain([escalatedApprovals, 'optionalAccess', _1600 => _1600.set, 'call', _1601 => _1601(event.requestId, {
58747
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1602 => _1602.set, 'call', _1603 => _1603(event.requestId, {
58723
58748
  command: event.command || "",
58724
58749
  explanation: event.explanation,
58725
58750
  approvalType,
@@ -58734,8 +58759,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58734
58759
  const existingStatus = approvalStatuses[requestId];
58735
58760
  const status = existingStatus || event.status;
58736
58761
  const resolvedByName = event.resolvedByName;
58737
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1602 => _1602.get, 'call', _1603 => _1603(requestId)]);
58738
- if (_optionalChain([escalatedData, 'optionalAccess', _1604 => _1604.toolCalls]) && escalatedData.toolCalls.length > 0) {
58762
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1604 => _1604.get, 'call', _1605 => _1605(requestId)]);
58763
+ if (_optionalChain([escalatedData, 'optionalAccess', _1606 => _1606.toolCalls]) && escalatedData.toolCalls.length > 0) {
58739
58764
  if (batchApprovalsEnabled) {
58740
58765
  accumulator.addApprovalBatch(
58741
58766
  requestId,
@@ -58757,7 +58782,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58757
58782
  );
58758
58783
  }
58759
58784
  }
58760
- _optionalChain([escalatedApprovals, 'optionalAccess', _1605 => _1605.delete, 'call', _1606 => _1606(requestId)]);
58785
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1607 => _1607.delete, 'call', _1608 => _1608(requestId)]);
58761
58786
  break;
58762
58787
  }
58763
58788
  if (escalatedData) {
@@ -58766,7 +58791,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58766
58791
  explanation: escalatedData.explanation,
58767
58792
  approvalType: escalatedData.approvalType
58768
58793
  });
58769
- _optionalChain([escalatedApprovals, 'optionalAccess', _1607 => _1607.delete, 'call', _1608 => _1608(requestId)]);
58794
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1609 => _1609.delete, 'call', _1610 => _1610(requestId)]);
58770
58795
  }
58771
58796
  const before = accumulator.getSegments();
58772
58797
  const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
@@ -58783,8 +58808,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58783
58808
  let message2;
58784
58809
  if (event.details) {
58785
58810
  try {
58786
- message2 = _optionalChain([JSON, 'access', _1609 => _1609.parse, 'call', _1610 => _1610(event.details), 'optionalAccess', _1611 => _1611.error, 'optionalAccess', _1612 => _1612.message]);
58787
- } catch (e104) {
58811
+ message2 = _optionalChain([JSON, 'access', _1611 => _1611.parse, 'call', _1612 => _1612(event.details), 'optionalAccess', _1613 => _1613.error, 'optionalAccess', _1614 => _1614.message]);
58812
+ } catch (e105) {
58788
58813
  message2 = event.details;
58789
58814
  }
58790
58815
  }
@@ -58869,14 +58894,14 @@ function processHistoricalMessages(messages, options = {}) {
58869
58894
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
58870
58895
  return;
58871
58896
  }
58872
- const isUserMessage = _optionalChain([msg, 'access', _1613 => _1613.owner, 'optionalAccess', _1614 => _1614.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1615 => _1615.owner, 'optionalAccess', _1616 => _1616.type]) === OWNER_TYPE.ADMIN;
58897
+ const isUserMessage = _optionalChain([msg, 'access', _1615 => _1615.owner, 'optionalAccess', _1616 => _1616.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1617 => _1617.owner, 'optionalAccess', _1618 => _1618.type]) === OWNER_TYPE.ADMIN;
58873
58898
  if (isUserMessage) {
58874
58899
  flushAssistantMessage();
58875
- const userAuthorType = _optionalChain([msg, 'access', _1617 => _1617.owner, 'optionalAccess', _1618 => _1618.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
58900
+ const userAuthorType = _optionalChain([msg, 'access', _1619 => _1619.owner, 'optionalAccess', _1620 => _1620.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
58876
58901
  messageDataArray.forEach((data) => {
58877
58902
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
58878
58903
  const rawContext = data.contextItems;
58879
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1619 => _1619.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1620 => _1620.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
58904
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1621 => _1621.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1622 => _1622.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
58880
58905
  processedMessages.push({
58881
58906
  id: msg.id,
58882
58907
  role: "user",
@@ -58913,7 +58938,7 @@ function processHistoricalMessages(messages, options = {}) {
58913
58938
  });
58914
58939
  const nextMsg = messages[index + 1];
58915
58940
  const isLastMessage = index === messages.length - 1;
58916
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1621 => _1621.owner, 'optionalAccess', _1622 => _1622.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1623 => _1623.owner, 'optionalAccess', _1624 => _1624.type]) === OWNER_TYPE.ADMIN);
58941
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1623 => _1623.owner, 'optionalAccess', _1624 => _1624.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1625 => _1625.owner, 'optionalAccess', _1626 => _1626.type]) === OWNER_TYPE.ADMIN);
58917
58942
  if (isLastMessage || nextIsFromUser) {
58918
58943
  flushAssistantMessage();
58919
58944
  }
@@ -59025,7 +59050,7 @@ function extractIncompleteMessageState(lastMessage) {
59025
59050
  break;
59026
59051
  case "approval_batch": {
59027
59052
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
59028
- (c) => _optionalChain([segment, 'access', _1625 => _1625.data, 'access', _1626 => _1626.executions, 'optionalAccess', _1627 => _1627[c.toolExecutionRequestId], 'optionalAccess', _1628 => _1628.status]) === "done"
59053
+ (c) => _optionalChain([segment, 'access', _1627 => _1627.data, 'access', _1628 => _1628.executions, 'optionalAccess', _1629 => _1629[c.toolExecutionRequestId], 'optionalAccess', _1630 => _1630.status]) === "done"
59029
59054
  );
59030
59055
  if (segment.status !== "rejected" && !allDone) {
59031
59056
  hasIncompleteState = true;
@@ -59061,11 +59086,11 @@ function extractIncompleteMessageState(lastMessage) {
59061
59086
  function extractIncompleteTailState(messages) {
59062
59087
  if (!messages || messages.length === 0) return void 0;
59063
59088
  let start = messages.length;
59064
- while (start > 0 && _optionalChain([messages, 'access', _1629 => _1629[start - 1], 'optionalAccess', _1630 => _1630.role]) === "assistant") start -= 1;
59089
+ while (start > 0 && _optionalChain([messages, 'access', _1631 => _1631[start - 1], 'optionalAccess', _1632 => _1632.role]) === "assistant") start -= 1;
59065
59090
  if (start === messages.length) return void 0;
59066
59091
  const segments = [];
59067
59092
  for (let i = start; i < messages.length; i += 1) {
59068
- const content = _optionalChain([messages, 'access', _1631 => _1631[i], 'optionalAccess', _1632 => _1632.content]);
59093
+ const content = _optionalChain([messages, 'access', _1633 => _1633[i], 'optionalAccess', _1634 => _1634.content]);
59069
59094
  if (Array.isArray(content)) segments.push(...content);
59070
59095
  }
59071
59096
  if (segments.length === 0) return void 0;
@@ -59419,7 +59444,7 @@ function useNatsChatAdapter(config, options = {}) {
59419
59444
  }, [active, fetchDialogs, loadDialogsPage]);
59420
59445
  const sendMessage = _react.useCallback.call(void 0,
59421
59446
  async (text, sendOptions) => {
59422
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1633 => _1633.hidden]), () => ( false));
59447
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1635 => _1635.hidden]), () => ( false));
59423
59448
  mutate((r) => r.pushOptimisticSend(text, hidden));
59424
59449
  await publishUserMessage(text, { hidden, dialogId });
59425
59450
  },
@@ -59575,11 +59600,11 @@ function useNatsChatAdapter(config, options = {}) {
59575
59600
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
59576
59601
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
59577
59602
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
59578
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1634 => _1634.provider]), () => ( modelProvider)), () => ( null)),
59579
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1635 => _1635.modelLabel]), () => ( modelLabel)), () => ( null)),
59580
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1636 => _1636.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1637 => _1637.contextWindowMaxTokens]))), () => ( null)),
59581
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1638 => _1638.inputTokensSize]), () => ( null)),
59582
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1639 => _1639.outputTokensSize]), () => ( null)),
59603
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1636 => _1636.provider]), () => ( modelProvider)), () => ( null)),
59604
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1637 => _1637.modelLabel]), () => ( modelLabel)), () => ( null)),
59605
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1638 => _1638.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1639 => _1639.contextWindowMaxTokens]))), () => ( null)),
59606
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1640 => _1640.inputTokensSize]), () => ( null)),
59607
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1641 => _1641.outputTokensSize]), () => ( null)),
59583
59608
  currentCacheHitRatePct: null,
59584
59609
  currentUsageBreakdown: null,
59585
59610
  // Dialog management
@@ -59716,7 +59741,7 @@ function useUnifiedChat(options) {
59716
59741
  []
59717
59742
  );
59718
59743
  const setDialogScope = _react.useCallback.call(void 0,
59719
- (scope) => _optionalChain([activeStateRef, 'access', _1640 => _1640.current, 'access', _1641 => _1641.setDialogScope, 'optionalCall', _1642 => _1642(scope)]),
59744
+ (scope) => _optionalChain([activeStateRef, 'access', _1642 => _1642.current, 'access', _1643 => _1643.setDialogScope, 'optionalCall', _1644 => _1644(scope)]),
59720
59745
  []
59721
59746
  );
59722
59747
  const reloadDialogs = _react.useCallback.call(void 0,
@@ -59820,19 +59845,19 @@ function turnRequestKeys(content) {
59820
59845
  if (!Array.isArray(content)) return keys;
59821
59846
  for (const seg of content) {
59822
59847
  if (seg.type === "tool_execution") {
59823
- const id = _optionalChain([seg, 'access', _1643 => _1643.data, 'optionalAccess', _1644 => _1644.toolExecutionRequestId]);
59848
+ const id = _optionalChain([seg, 'access', _1645 => _1645.data, 'optionalAccess', _1646 => _1646.toolExecutionRequestId]);
59824
59849
  if (id) keys.add(id);
59825
59850
  } else if (seg.type === "approval_request") {
59826
- const id = _optionalChain([seg, 'access', _1645 => _1645.data, 'optionalAccess', _1646 => _1646.requestId]);
59851
+ const id = _optionalChain([seg, 'access', _1647 => _1647.data, 'optionalAccess', _1648 => _1648.requestId]);
59827
59852
  if (id) keys.add(id);
59828
59853
  } else if (seg.type === "escalation_offer") {
59829
- const id = _optionalChain([seg, 'access', _1647 => _1647.data, 'optionalAccess', _1648 => _1648.offerId]);
59854
+ const id = _optionalChain([seg, 'access', _1649 => _1649.data, 'optionalAccess', _1650 => _1650.offerId]);
59830
59855
  if (id) keys.add(id);
59831
59856
  } else if (seg.type === "approval_batch") {
59832
59857
  const data = seg.data;
59833
- if (_optionalChain([data, 'optionalAccess', _1649 => _1649.approvalRequestId])) keys.add(data.approvalRequestId);
59834
- for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1650 => _1650.toolCalls]), () => ( []))) {
59835
- if (_optionalChain([call, 'optionalAccess', _1651 => _1651.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
59858
+ if (_optionalChain([data, 'optionalAccess', _1651 => _1651.approvalRequestId])) keys.add(data.approvalRequestId);
59859
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1652 => _1652.toolCalls]), () => ( []))) {
59860
+ if (_optionalChain([call, 'optionalAccess', _1653 => _1653.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
59836
59861
  }
59837
59862
  }
59838
59863
  }
@@ -59884,20 +59909,20 @@ function mergeHistoryWithRealtime(input) {
59884
59909
  }
59885
59910
  }
59886
59911
  const trailing = processedHistory[processedHistory.length - 1];
59887
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1652 => _1652.role]) === "assistant" ? trailing : null;
59888
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1653 => _1653.content, 'access', _1654 => _1654.find, 'call', _1655 => _1655((s) => s.type === "approval_batch"), 'optionalAccess', _1656 => _1656.data, 'optionalAccess', _1657 => _1657.approvalRequestId]), () => ( null)) : null;
59912
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1654 => _1654.role]) === "assistant" ? trailing : null;
59913
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1655 => _1655.content, 'access', _1656 => _1656.find, 'call', _1657 => _1657((s) => s.type === "approval_batch"), 'optionalAccess', _1658 => _1658.data, 'optionalAccess', _1659 => _1659.approvalRequestId]), () => ( null)) : null;
59889
59914
  let processedToUse = processedHistory;
59890
59915
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
59891
59916
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
59892
59917
  if (historyBatchId) {
59893
59918
  const batchTwins = existingMessages.filter(
59894
59919
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
59895
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1658 => _1658.data, 'optionalAccess', _1659 => _1659.approvalRequestId]) === historyBatchId
59920
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1660 => _1660.data, 'optionalAccess', _1661 => _1661.approvalRequestId]) === historyBatchId
59896
59921
  )
59897
59922
  );
59898
59923
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
59899
59924
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
59900
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1660 => _1660.content])) ? historyTrailingAssistant.content.length : 0;
59925
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1662 => _1662.content])) ? historyTrailingAssistant.content.length : 0;
59901
59926
  const realtimeSize = existingWithSameBatch.content.length;
59902
59927
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
59903
59928
  processedToUse = processedHistory.slice(0, -1);
@@ -59939,9 +59964,9 @@ function mergeHistoryWithRealtime(input) {
59939
59964
  if (pinnedSyntheticIds.has(m.id)) return true;
59940
59965
  if (droppedSyntheticIds.has(m.id)) return false;
59941
59966
  if (processedIds.has(m.id)) return false;
59942
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1661 => _1661.has, 'call', _1662 => _1662(m.id)])) return false;
59967
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1663 => _1663.has, 'call', _1664 => _1664(m.id)])) return false;
59943
59968
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
59944
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1663 => _1663.timestamp, 'optionalAccess', _1664 => _1664.getTime, 'call', _1665 => _1665()]), () => ( 0))) <= historyFetchedAt;
59969
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1665 => _1665.timestamp, 'optionalAccess', _1666 => _1666.getTime, 'call', _1667 => _1667()]), () => ( 0))) <= historyFetchedAt;
59945
59970
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
59946
59971
  }
59947
59972
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -59965,7 +59990,7 @@ function mergeHistoryWithRealtime(input) {
59965
59990
  } else if (typeof m.streamSeq === "number") {
59966
59991
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
59967
59992
  } else {
59968
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1666 => _1666.timestamp, 'optionalAccess', _1667 => _1667.getTime, 'call', _1668 => _1668()]), () => ( 0))) <= historyFetchedAt;
59993
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1668 => _1668.timestamp, 'optionalAccess', _1669 => _1669.getTime, 'call', _1670 => _1670()]), () => ( 0))) <= historyFetchedAt;
59969
59994
  }
59970
59995
  if (covered) return false;
59971
59996
  }
@@ -60021,7 +60046,7 @@ function normalizeHistoricalMessageData(md) {
60021
60046
  function isHistoricalUserTurn(m) {
60022
60047
  return !!m.owner;
60023
60048
  }
60024
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1669 => _1669.type]) === "TEXT" && typeof d.text === "string";
60049
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1671 => _1671.type]) === "TEXT" && typeof d.text === "string";
60025
60050
  var THINK_MS = 550;
60026
60051
  var TOKEN_MS = 55;
60027
60052
  var USER_MS = 480;
@@ -60268,7 +60293,7 @@ function useChatDialogManager({
60268
60293
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
60269
60294
  if (restoreTarget) {
60270
60295
  try {
60271
- await _optionalChain([unarchiveDialog, 'optionalCall', _1670 => _1670(restoreTarget.id)]);
60296
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1672 => _1672(restoreTarget.id)]);
60272
60297
  } catch (err) {
60273
60298
  console.error("[useChatDialogManager] unarchive failed:", err);
60274
60299
  return;
@@ -60750,7 +60775,7 @@ function EmbeddableChatInner({
60750
60775
  }),
60751
60776
  [commandsUrl]
60752
60777
  );
60753
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1671 => _1671.name, 'optionalAccess', _1672 => _1672.trim, 'call', _1673 => _1673()]) || [_optionalChain([identityUser, 'optionalAccess', _1674 => _1674.firstName]), _optionalChain([identityUser, 'optionalAccess', _1675 => _1675.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1676 => _1676.trim, 'call', _1677 => _1677()]) || void 0;
60778
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1673 => _1673.name, 'optionalAccess', _1674 => _1674.trim, 'call', _1675 => _1675()]) || [_optionalChain([identityUser, 'optionalAccess', _1676 => _1676.firstName]), _optionalChain([identityUser, 'optionalAccess', _1677 => _1677.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1678 => _1678.trim, 'call', _1679 => _1679()]) || void 0;
60754
60779
  const effectiveModes = _react.useMemo.call(void 0, () => {
60755
60780
  if (modes) return modes;
60756
60781
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -60759,19 +60784,19 @@ function EmbeddableChatInner({
60759
60784
  const mingoCaps = _react.useMemo.call(void 0, () => {
60760
60785
  if (mingoState) {
60761
60786
  return {
60762
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1678 => _1678.canRename]), () => ( false)),
60763
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1679 => _1679.canArchive]), () => ( false)),
60764
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1680 => _1680.fetchArchivedDialogs]),
60765
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1681 => _1681.unarchiveDialog]),
60766
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1682 => _1682.searchQuery]),
60767
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1683 => _1683.onSearchChange])
60787
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1680 => _1680.canRename]), () => ( false)),
60788
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1681 => _1681.canArchive]), () => ( false)),
60789
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1682 => _1682.fetchArchivedDialogs]),
60790
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1683 => _1683.unarchiveDialog]),
60791
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1684 => _1684.searchQuery]),
60792
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1685 => _1685.onSearchChange])
60768
60793
  };
60769
60794
  }
60770
60795
  return {
60771
- canRename: !!_optionalChain([effectiveModes, 'access', _1684 => _1684.mingo, 'optionalAccess', _1685 => _1685.renameDialog]),
60772
- canArchive: !!_optionalChain([effectiveModes, 'access', _1686 => _1686.mingo, 'optionalAccess', _1687 => _1687.archiveDialog]),
60773
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1688 => _1688.mingo, 'optionalAccess', _1689 => _1689.fetchArchivedDialogs]),
60774
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1690 => _1690.mingo, 'optionalAccess', _1691 => _1691.unarchiveDialog]),
60796
+ canRename: !!_optionalChain([effectiveModes, 'access', _1686 => _1686.mingo, 'optionalAccess', _1687 => _1687.renameDialog]),
60797
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1688 => _1688.mingo, 'optionalAccess', _1689 => _1689.archiveDialog]),
60798
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1690 => _1690.mingo, 'optionalAccess', _1691 => _1691.fetchArchivedDialogs]),
60799
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1692 => _1692.mingo, 'optionalAccess', _1693 => _1693.unarchiveDialog]),
60775
60800
  searchQuery: void 0,
60776
60801
  onSearchChange: void 0
60777
60802
  };
@@ -60785,7 +60810,7 @@ function EmbeddableChatInner({
60785
60810
  if (controlledActiveMode === void 0) {
60786
60811
  setUncontrolledActiveMode(next);
60787
60812
  }
60788
- _optionalChain([onActiveModeChange, 'optionalCall', _1692 => _1692(next)]);
60813
+ _optionalChain([onActiveModeChange, 'optionalCall', _1694 => _1694(next)]);
60789
60814
  },
60790
60815
  [controlledActiveMode, onActiveModeChange]
60791
60816
  );
@@ -60807,7 +60832,7 @@ function EmbeddableChatInner({
60807
60832
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
60808
60833
  const effectiveAssistantName = emptyStateConfig.name;
60809
60834
  const effectiveAssistantIcon = emptyStateConfig.icon;
60810
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1693 => _1693.title]) === "string" ? guideWelcome.title : null)));
60835
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1695 => _1695.title]) === "string" ? guideWelcome.title : null)));
60811
60836
  const {
60812
60837
  messages: rawMessages,
60813
60838
  isLoading: chatLoading,
@@ -60849,7 +60874,7 @@ function EmbeddableChatInner({
60849
60874
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
60850
60875
  guidePromptSentRef.current = true;
60851
60876
  void sendMessage(guidePendingPrompt);
60852
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1694 => _1694()]);
60877
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1696 => _1696()]);
60853
60878
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
60854
60879
  const {
60855
60880
  attachments: stagedAttachments,
@@ -60860,7 +60885,7 @@ function EmbeddableChatInner({
60860
60885
  clear: clearAttachments
60861
60886
  } = useChatAttachments();
60862
60887
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
60863
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1695 => _1695.maxItems]), () => ( 10));
60888
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1697 => _1697.maxItems]), () => ( 10));
60864
60889
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
60865
60890
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
60866
60891
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -60877,10 +60902,10 @@ function EmbeddableChatInner({
60877
60902
  }, [activeDialogId, activeMode]);
60878
60903
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
60879
60904
  const m = /* @__PURE__ */ new Map();
60880
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1696 => _1696.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
60905
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1698 => _1698.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
60881
60906
  return m;
60882
- }, [_optionalChain([contextPicker, 'optionalAccess', _1697 => _1697.entityTypes])]);
60883
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1698 => _1698.entityTypes]);
60907
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1699 => _1699.entityTypes])]);
60908
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1700 => _1700.entityTypes]);
60884
60909
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
60885
60910
  const byType = /* @__PURE__ */ new Map();
60886
60911
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -60892,7 +60917,7 @@ function EmbeddableChatInner({
60892
60917
  if (mentionActiveRef.current) {
60893
60918
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
60894
60919
  if (contextItems.length >= contextMaxItems) return;
60895
- _optionalChain([chatInputRef, 'access', _1699 => _1699.current, 'optionalAccess', _1700 => _1700.commitMention, 'call', _1701 => _1701(mentionTokenOf(key, mentionMarkerByType), {
60920
+ _optionalChain([chatInputRef, 'access', _1701 => _1701.current, 'optionalAccess', _1702 => _1702.commitMention, 'call', _1703 => _1703(mentionTokenOf(key, mentionMarkerByType), {
60896
60921
  label: item.label,
60897
60922
  icon: resolveContextIcon(item)
60898
60923
  })]);
@@ -60914,9 +60939,9 @@ function EmbeddableChatInner({
60914
60939
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
60915
60940
  if (mentionKeysRef.current.has(key)) {
60916
60941
  mentionKeysRef.current.delete(key);
60917
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1702 => _1702.current, 'optionalAccess', _1703 => _1703.getValue, 'call', _1704 => _1704()]), () => ( ""));
60942
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1704 => _1704.current, 'optionalAccess', _1705 => _1705.getValue, 'call', _1706 => _1706()]), () => ( ""));
60918
60943
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
60919
- _optionalChain([chatInputRef, 'access', _1705 => _1705.current, 'optionalAccess', _1706 => _1706.setValue, 'call', _1707 => _1707(next)]);
60944
+ _optionalChain([chatInputRef, 'access', _1707 => _1707.current, 'optionalAccess', _1708 => _1708.setValue, 'call', _1709 => _1709(next)]);
60920
60945
  }
60921
60946
  }, [mentionMarkerByType]);
60922
60947
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -60933,7 +60958,7 @@ function EmbeddableChatInner({
60933
60958
  }, []);
60934
60959
  const closeContextPicker = _react.useCallback.call(void 0, () => {
60935
60960
  if (mentionActiveRef.current) {
60936
- _optionalChain([chatInputRef, 'access', _1708 => _1708.current, 'optionalAccess', _1709 => _1709.removeMentionTrigger, 'call', _1710 => _1710()]);
60961
+ _optionalChain([chatInputRef, 'access', _1710 => _1710.current, 'optionalAccess', _1711 => _1711.removeMentionTrigger, 'call', _1712 => _1712()]);
60937
60962
  }
60938
60963
  setContextPickerOpen(false);
60939
60964
  setMentionQuery(null);
@@ -60967,8 +60992,8 @@ function EmbeddableChatInner({
60967
60992
  [effectiveAssistantIcon]
60968
60993
  );
60969
60994
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
60970
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1711 => _1711.firstName]), _optionalChain([identityUser, 'optionalAccess', _1712 => _1712.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1713 => _1713.name, 'optionalAccess', _1714 => _1714.trim, 'call', _1715 => _1715()]) || void 0 : void 0;
60971
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1716 => _1716.avatarUrl, 'optionalAccess', _1717 => _1717.trim, 'call', _1718 => _1718()]) || void 0 : void 0;
60995
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1713 => _1713.firstName]), _optionalChain([identityUser, 'optionalAccess', _1714 => _1714.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1715 => _1715.name, 'optionalAccess', _1716 => _1716.trim, 'call', _1717 => _1717()]) || void 0 : void 0;
60996
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1718 => _1718.avatarUrl, 'optionalAccess', _1719 => _1719.trim, 'call', _1720 => _1720()]) || void 0 : void 0;
60972
60997
  const messages = _react.useMemo.call(void 0, () => {
60973
60998
  const cache = timestampCacheRef.current;
60974
60999
  const seenIds = /* @__PURE__ */ new Set();
@@ -61159,9 +61184,9 @@ function EmbeddableChatInner({
61159
61184
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
61160
61185
  const lastSources = _react.useMemo.call(void 0, () => {
61161
61186
  if (chatLoading) return void 0;
61162
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1719 => _1719.sources]);
61187
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1721 => _1721.sources]);
61163
61188
  if (!sources || sources.length === 0) return void 0;
61164
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1720 => _1720.content]) || "";
61189
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1722 => _1722.content]) || "";
61165
61190
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
61166
61191
  (m) => parseInt(m[1], 10)
61167
61192
  );
@@ -61181,7 +61206,7 @@ function EmbeddableChatInner({
61181
61206
  const el = panelMeasureRef.current;
61182
61207
  if (!el || typeof ResizeObserver === "undefined") return;
61183
61208
  const ro = new ResizeObserver((entries) => {
61184
- const w = _optionalChain([entries, 'access', _1721 => _1721[0], 'optionalAccess', _1722 => _1722.contentRect, 'optionalAccess', _1723 => _1723.width]);
61209
+ const w = _optionalChain([entries, 'access', _1723 => _1723[0], 'optionalAccess', _1724 => _1724.contentRect, 'optionalAccess', _1725 => _1725.width]);
61185
61210
  if (typeof w === "number") setPanelWidth(w);
61186
61211
  });
61187
61212
  ro.observe(el);
@@ -61197,7 +61222,7 @@ function EmbeddableChatInner({
61197
61222
  try {
61198
61223
  if (window.localStorage.getItem(RAIL_COLLAPSED_STORAGE_KEY) === "1")
61199
61224
  setRailCollapsed(true);
61200
- } catch (e105) {
61225
+ } catch (e106) {
61201
61226
  }
61202
61227
  }, []);
61203
61228
  const toggleRailCollapsed = _react.useCallback.call(void 0, () => {
@@ -61205,7 +61230,7 @@ function EmbeddableChatInner({
61205
61230
  const next = !prev;
61206
61231
  try {
61207
61232
  window.localStorage.setItem(RAIL_COLLAPSED_STORAGE_KEY, next ? "1" : "0");
61208
- } catch (e106) {
61233
+ } catch (e107) {
61209
61234
  }
61210
61235
  return next;
61211
61236
  });
@@ -61224,16 +61249,16 @@ function EmbeddableChatInner({
61224
61249
  const isMingoMode = activeMode === "mingo";
61225
61250
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
61226
61251
  const headerShowBack = hasConversation || guideCanReturnToMingo;
61227
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1724 => _1724.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
61252
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1726 => _1726.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
61228
61253
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
61229
61254
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
61230
61255
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
61231
61256
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
61232
61257
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
61233
61258
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
61234
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1725 => _1725.owner]) : void 0;
61235
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1726 => _1726.name, 'optionalAccess', _1727 => _1727.trim, 'call', _1728 => _1728()]) || headerUserName;
61236
- const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1729 => _1729.avatarUrl, 'optionalAccess', _1730 => _1730.trim, 'call', _1731 => _1731()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1732 => _1732.avatarUrl, 'optionalAccess', _1733 => _1733.trim, 'call', _1734 => _1734()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1735 => _1735.trim, 'call', _1736 => _1736()]) || void 0;
61259
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1727 => _1727.owner]) : void 0;
61260
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1728 => _1728.name, 'optionalAccess', _1729 => _1729.trim, 'call', _1730 => _1730()]) || headerUserName;
61261
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1731 => _1731.avatarUrl, 'optionalAccess', _1732 => _1732.trim, 'call', _1733 => _1733()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1734 => _1734.avatarUrl, 'optionalAccess', _1735 => _1735.trim, 'call', _1736 => _1736()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1737 => _1737.trim, 'call', _1738 => _1738()]) || void 0;
61237
61262
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
61238
61263
  const handleNewChat = _react.useCallback.call(void 0, () => {
61239
61264
  resetToNewChat();
@@ -61594,9 +61619,9 @@ function EmbeddableChatInner({
61594
61619
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
61595
61620
  subtitleLoading: emptyStateLoading,
61596
61621
  ...guideWelcome,
61597
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1737 => _1737.title]))),
61598
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1738 => _1738.icon]))),
61599
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1739 => _1739.quickActions]), () => ( guideSuggestedActions)),
61622
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1739 => _1739.title]))),
61623
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1740 => _1740.icon]))),
61624
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1741 => _1741.quickActions]), () => ( guideSuggestedActions)),
61600
61625
  onQuickAction: (action) => {
61601
61626
  setQuickActionPreview(null);
61602
61627
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -61676,8 +61701,8 @@ function EmbeddableChatInner({
61676
61701
  selectedContextItems: contextItems,
61677
61702
  onToggleContextItem: toggleContextItem,
61678
61703
  onRemoveContextItem: removeContextItem,
61679
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1740 => _1740.items]),
61680
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1741 => _1741.onRemove]),
61704
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1742 => _1742.items]),
61705
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1743 => _1743.onRemove]),
61681
61706
  contextPickerOpen,
61682
61707
  onOpenContextPicker: openContextPicker,
61683
61708
  onCloseContextPicker: closeContextPicker,
@@ -62888,4 +62913,4 @@ function EmbeddableChatInner({
62888
62913
 
62889
62914
 
62890
62915
  exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.FloatingTooltip = FloatingTooltip; exports.TruncateText = TruncateText; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; 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.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.formatDate = formatDate2; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.titleCaseFromSlug = titleCaseFromSlug; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.MermaidDiagram = MermaidDiagram; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.GuideDisplay = GuideDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.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.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.EmployeeEntryBadge = EmployeeEntryBadge; exports.EmployeeEntryCard = EmployeeEntryCard; exports.EmployeeEntryCardSkeleton = EmployeeEntryCardSkeleton; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.HowIWorkCard = HowIWorkCard; exports.HowIWorkCardSkeleton = HowIWorkCardSkeleton; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.useCaptions = useCaptions; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.CardHitLayer = CardHitLayer; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.AvatarStack = AvatarStack; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.clickupTaskUrl = clickupTaskUrl; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.isGuideApproval = isGuideApproval; exports.guideApprovalOrigin = guideApprovalOrigin; exports.approvalDisplaysInline = approvalDisplaysInline; exports.isGuideApprovalSegment = isGuideApprovalSegment; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.useSseChatAdapter = useSseChatAdapter; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.BackButton = BackButton; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; 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.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow; exports.MingoAiButton = MingoAiButton; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.useOptionalTicketLive = useOptionalTicketLive; exports.useTicketLive = useTicketLive; exports.TicketLiveProvider = TicketLiveProvider; exports.isOptimistic = isOptimistic; exports.TICKET_TEXT_MAX_CHARS = TICKET_TEXT_MAX_CHARS; exports.TICKET_MARK_READ_DEBOUNCE_MS = TICKET_MARK_READ_DEBOUNCE_MS; exports.TOAST_COPY = TOAST_COPY; exports.TicketAlertsButton = TicketAlertsButton; exports.TopNavigation = TopNavigation; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
62891
- //# sourceMappingURL=chunk-ZGQZLUO6.cjs.map
62916
+ //# sourceMappingURL=chunk-M3SHPHQ7.cjs.map